CN107666397B - Pe路由器之间传送多播组离开请求的方法和pe路由器 - Google Patents

Pe路由器之间传送多播组离开请求的方法和pe路由器 Download PDF

Info

Publication number
CN107666397B
CN107666397B CN201710624701.6A CN201710624701A CN107666397B CN 107666397 B CN107666397 B CN 107666397B CN 201710624701 A CN201710624701 A CN 201710624701A CN 107666397 B CN107666397 B CN 107666397B
Authority
CN
China
Prior art keywords
router
bgp
route
routers
leave
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710624701.6A
Other languages
English (en)
Other versions
CN107666397A (zh
Inventor
维克拉姆·纳加拉詹
罗伯特·W·基布勒
埃里克·C·罗森
普林西·T·伊丽莎白
卡皮尔·阿罗拉
Original Assignee
Jungle Network
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jungle Network filed Critical Jungle Network
Publication of CN107666397A publication Critical patent/CN107666397A/zh
Application granted granted Critical
Publication of CN107666397B publication Critical patent/CN107666397B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/033Topology update or discovery by updating distance vector protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1038Load balancing arrangements to avoid a single path through a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/325Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the network layer [OSI layer 3], e.g. X.25
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0079Receiver details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/66Layer 2 routing, e.g. in Ethernet based MAN's

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及PE路由器之间传送多播组离开请求的方法和PE路由器。一般而言,本公开内容记载了用于在以太网虚拟专用网络(EVPN)中包括的两个以上负载均衡的多宿主PE路由器之间传送多播组离开请求的技术。本公开内容的技术使得两个以上PE路由器能够在彼此之间使IGMP状态和路由信息同步以确保即使多个多宿主PE路由器中的被选举为指定转发器(DF)的一个PE路由器不是接收IGMP离开请求的PE路由器,该一个PE路由器也能中止向CE路由器转发多播组流量。

Description

PE路由器之间传送多播组离开请求的方法和PE路由器
本申请要求于2016年7月29日提交的印度临时专利申请第201641026020号以及于2016年9月30日提交的题为“COMMUNICATING IGMP LEAVE REQUESTS BETWEEN LOAD-BALANCED,MULTI-HOMED PROVIDER-EDGE ROUTERS IN AN ETHERNET VIRTUAL PRIVATENETWORK”的Nagarajan的美国专利申请第15/281,362号的权益,通过引证将它们各自的全部内容结合于此。
技术领域
本公开内容一般地涉及计算机网络。
背景技术
计算机网络是可以交换数据和共享资源的互连计算设备的集合。示例网络设备包括在开放系统互连(OSI)参考模型的第二层(L2)(即数据链路层)内操作的第二层设备以及在OSI参考模型的第三层(L3)(即网络层)内操作的第三层设备。计算机网络内的网络设备通常包括为网络设备提供控制平面功能的控制单元和用于路由或交换数据单位的转发组件。
以太网虚拟专用网络(EVPN)可用来通过中间第三层(L3)网络(通常称为供应商网络)以透明的方式,即好像中间L3网络不存在一样来扩展两个以上远程第二层(L2)客户网络。具体地,EVPN经由中间网络在客户网络之间传输L2通信,诸如,以太网分组或“帧”。在典型的配置中,与客户网络中的CE网络设备耦接的PE网络设备(例如,路由器和/或交换机)在供应商网络内定义标签交换路径(LSP)以承载封装的L2通信,好像这些客户网络直接附接至同一局域网(LAN)一样。在一些配置中,PE网络设备也可通过互联网协议(IP)基础设施而连接,在这种情况下,在网络设备之间可使用IP/通用路由封装(GRE)隧道或其他IP隧道。
数据中心可以通过由一个或多个PE网络设备提供的以太网段连接至中间EVPN。也就是说,一个或多个PE网络设备通过逻辑地操作为以太网段的接入链路耦接至数据中心,并因此为本地数据中心内的一个或多个客户网络提供EVPN的连接性。
发明内容
一般而言,本公开描述了用于在以太网虚拟专用网络(EVPN)中包含的两个以上负载均衡的多宿主供应商边缘(PE)路由器之间传送多播组离开请求的技术。在EVPN中,将客户边缘(CE)路由器经由以太网段(ES)多宿主到多个PE路由器,ES表现为CE路由器的链路聚合组(LAG)。CE路由器在ES上执行流量的负载均衡,包括对多播组进行互联网组管理协议(IGMP)加入和离开请求的负载均衡。由于流量负载均衡,未被指定为指定转发器(DF)的PE路由器可以接收IGMP离开请求。在这种情况下,PE路由器更新其状态和转发信息,以便中止转发属于由IGMP离开请求指定的多播组的多播流量。然而,如果PE路由器没有将IGMP离开请求通知其他多宿主PE路由器,其他多宿主PE路由器具有过时的状态信息。
在以上情形中,由于被指定为DF的PE路由器没有接收IGMP离开请求,其继续从指定的多播组转发多播流量至多120秒,滞后时间称为“离开延迟”。在这期间,CE路由器继续接收其要丢弃的不需要的多播流量。因为可以丢弃网络流量而不到达其目的地或者告知起始点目的地是不可到达,这是不期望的,这对终端用户的网络性能造成消极影响。此外,CE路由器浪费了接收不期望的流量,确定流量是不期望的和丢弃不期望的流量的宝贵的网络资源。边界网关协议(BGP)没有为PE路由器提供将其收到IGMP离开请求通知其他多宿主PE路由器的架构。
根据本公开的技术,描述了通过多个负载均衡的多宿主PE路由器传送被用来在多个PE路由器之间使由ES上的非-DF PE路由器收到的IGMP离开消息同步的BGP离开同步路由的方法、设备以及系统。这种BGP离开同步路由允许多个PE路由器使针对多播组的IGMP状态信息同步以确保即使多宿主PE路由器中的被选举为指定转发器(DF)的一个PE路由器不是接收IGMP离开请求的PE路由器,该一个PE路由器也中止向CE路由器转发多播组流量。
在一个实例中,本公开的技术包括:一种方法,包括:由以太网虚拟专用网络(EVPN)的以太网段中包括的多个PE路由器的第一供应商边缘(PE)路由器从多宿主至多个PE路由器并对以太网段执行负载均衡的第一客户边缘(CE)路由器中接收多播组离开请求;以及响应于接收离开多播组的请求:由第一PE路由器确定第一PE路由器的路由信息库(RIB)表是否包含边界网关协议(BGP)加入同步路由,边界网关协议(BGP)加入同步路由用于使指定以太网段中包括的多个PE路由器中的一个的多播组加入请求同步;并且当确定第一PE路由器的RIB表包含BGP加入同步路由时,由第一PE路由器向以太网段包括的多个PE路由器的其他PE路由器发布用于使多播组离开请求同步的BGP离开同步路由。
在另一实例中,本公开的技术包括:一种方法,包括:由以太网虚拟专用网络(EVPN)的以太网段中包括的多个PE路由器的第二供应商边缘(PE)路由器从以太网段包括的多个PE路由器的第一PE路由器中接收用于使多播组离开请求同步的边界网关协议(BGP)离开同步路由,其中,多个PE路由器被多宿主到第一客户边缘(CE)路由器;并且响应于接收BGP离开同步路由:由第二PE路由器启动多播组的最后成员查询(LMQ)计时器;以及由第二PE路由器向第二PE路由器的路由信息库(RIB)表添加BGP离开同步路由。
在另一实例中,本公开的技术包括:一种以太网虚拟专用网络(EVPN)的以太网段包括的多个PE路由器的第一供应商边缘(PE)路由器,被配置为:从多宿主到多个PE路由器并且对以太网段执行负载均衡的第一客户边缘(CE)路由器接收离开多播组的请求;并且响应于接收离开多播组的请求:确定第一PE路由器的路由信息库(RIB)表是否包含边界网关协议(BGP)加入同步路由,边界网关协议(BGP)加入同步路由用于使指定以太网段包括的多个PE路由器中的一个PE路由器的多播组加入请求同步;并且当确定第一PE路由器的RIB表包含BGP加入同步路由时,向以太网段包括的多个PE路由器的其他PE路由器发布用于使多播组离开请求同步的BGP离开同步路由。
在另一实例中,本公开的技术包括:一种以太网虚拟专用网络(EVPN)的以太网段包括的多个PE路由器中的第二供应商边缘(PE)路由器,被配置为:从以太网段包括的多个PE路由器的第一PE路由器接收边界网关协议(BGP)离开同步路由,边界网关协议(BGP)离开同步路由用于使多播组离开请求同步,其中,多个PE路由器被多宿主到第一客户边缘(CE)路由器;并且响应于接收BGP离开同步路由:启动针对多播组的最后成员查询(LMQ)计时器;并且向第二PE路由器的路由信息库(RIB)表添加BGP离开同步路由。
在另一实例中,本公开的技术包括:一种包括指令的非暂时性计算机可读介质,当指令被执行时使以太网虚拟专用网络(EVPN)的以太网段包括的多个PE路由器的第一供应商边缘(PE)路由器:从多宿主到多个PE路由器并且对以太网段执行负载均衡的第一客户边缘(CE)路由器接收离开多播组的请求;并且响应于接收离开多播组的请求:确定第一PE路由器的路由信息库(RIB)表是否包括边界网关协议(BGP)加入同步路由,边界网关协议(BGP)加入同步路由用于使以太网段包括的多个PE路由器中的一个PE路由器的多播组加入请求同步;并且当确定第一PE路由器的RIB表包含BGP加入同步路由时,向以太网段包括的多个PE路由器的其他PE路由器发布用于使多播组离开请求同步的BGP离开同步路由。
在另一实例中,本公开的技术包括:一种包括指令的非暂时性计算机可读介质,当指令被执行时使以太网虚拟专用网络(EVPN)的以太网段包括的多个PE路由器的第二供应商边缘(PE)路由器:从以太网段包括的多个PE路由器的第一PE路由器接收边界网关协议(BGP)离开同步路由,边界网关协议(BGP)离开同步路由用于使多播组离开请求同步,其中,多个PE路由器被多宿主到第一客户边缘(CE)路由器;并且响应于接收BGP离开同步路由:开始针对多播组的最后成员查询(LMQ)计时器;并且向第二PE路由器的路由信息库(RIB)表添加BGP离开同步路由。
在附图和下面的描述中阐述了本公开的一个或多个技术实例的细节。
附图说明
图1是示出根据本公开的技术的示例性EVPN的框图。
图2是示出根据本公开的技术的EVPN内的示例性供应商边缘路由器的框图。
图3是示出根据本公开的技术的用于发布用于在以太网段的PE路由器之间协调多播组离开请求的BGP离开同步路由的示例性操作的流程图。
图4是示出根据本公开的技术的用于接收用于在以太网段的PE路由器之间协调多播组离开请求的BGP离开同步路由的示例性操作的流程图。
图5是示出根据本公开技术的BGP加入同步路由的示例性位图的框图。
图6是示出根据本公开技术的BGP离开同步路由的示例性位图的框图。
具体实施方式
图1是示出根据本公开的技术的示例性EVPN的框图。在图1的示例中,计算机系统2包括被配置为主持(host)EVPN连接不同的客户网络6A-6C(“客户网络6”)的服务供应商网络12。服务供应商网络12的PE路由器10A-10E(“PE路由器10”)经由CE路由器8A-8C(“CE路由器8”)为与客户网络6相关联的客户设备4A-4F(“客户设备4”)提供对服务供应商网络12的接入。通信链路16A-16L可以是以太网、ATM或任何其它合适的网络连接。
PE路由器10和CE路由器8作为路由器在图1的示例中示出。然而,可以使用参与第二层(L2)虚拟专用网络服务(诸如,EVPN)的交换机或其他合适的网络设备来实施本公开的技术。客户网络6可以是用于企业的地理上分离的地点的网络。客户网络6中的每一个可以包括额外的客户设备4A-4F,诸如,一个或多个非边缘交换机、路由器、集线器、网关、安全设备(诸如,防火墙、入侵检测和/或入侵防护设备)、服务器、计算机终端、膝上型计算机、打印机、数据库、诸如蜂窝电话或个人数字助理的无线移动设备、无线接入点、网桥、电缆调制解调器、应用加速器或其它网络设备。图1中示出的网络配置2仅是示例。例如,企业可包括任意数量的客户网络6。但是为了便于说明,在图1中仅示出了客户网络6A-6C。
服务供应商网络12表示服务供应商所拥有和运营的公共可接入的计算机网络,服务供应商通常为大型电信实体或公司。服务供应商网络12通常是大型第三层(L3)计算机网络,其中对后面跟有数字的层的引用是指开放系统互联(OSI)模型中的对应层。服务供应商网络12在其原生支持如在OSI模型中所描述的L3操作的意义上来说是L3网络。普通L3操作包括根据L3协议(诸如,互联网协议(IP))执行的那些操作。L3在OSI模型中也称为“网络层”,并且贯穿本公开,术语L3可以与短语“网络层”互换使用。
虽然未示出,但是服务供应商网络12可以耦接至由其他供应商管理的一个或多个网络,并且因此可以形成大规模公共网络基础设施(例如互联网)的一部分。结果,客户网络6可以被看作为互联网的边缘网络。服务供应商网络12可以向客户网络6内的计算设备提供对互联网的接入,并且可以允许客户网络内的计算设备彼此通信。
尽管为了便于说明,没有示出额外的网络设备,但应当理解的是,系统2可以包括额外的网络和/或计算设备,诸如,一个或多个额外的交换机、路由器、集线器、网关、安全设备(诸如,防火墙、入侵检测和/或入侵防护设备)、服务器、计算机终端、膝上型计算机、打印机、数据库、诸如蜂窝电话或个人数字助理的无线移动设备、无线接入点、网桥、电缆调制解调器、应用加速器或其它网络设备。此外,虽然系统2中的元件示为直接耦接,但是应当理解,可以沿网络链路16中的任一个包括一个或多个额外的网络元件,使得系统2的网络元件不直接耦接。
服务供应商网络12通常提供多种住宅和商业服务,包括住宅和商业类数据服务(其通常称为“互联网服务”,因为这些数据服务允许接入到被称为互联网的公共可接入网络的集合)、住宅和商业类电话服务和/或语音服务、以及住宅和商业类电视服务。通过服务供应商网络12提供的一种这样的商业类数据服务包括EVPN服务。例如,EVPN是提供一种形式的跨越中间L3网络(诸如,服务供应商网络12)的L2连接性以使通常位于两个不同的地理区域内的两个L2客户网络(诸如,客户网络6)互联的服务。通常,对于客户网络来说,EVPN是透明的,因为这些客户网络并未意识到介入的中间服务供应商网络,并且反而表现且操作为好像这两个客户网络直接连接并形成单个L2网络一样。在某种程度上,EVPN支持各运营L2网络的两个地理上较远的客户地点之间的透明LAN连接的形式,并且因此,EVPN还可称为“透明的LAN服务”。在“BGP MPLS-Based Ethernet VPN”,RFC7432,Internet EngineeringTask Force(IETF),2015年2月(可在https://tools.ietf.org/html/rfc7432获得)中描述了关于EVPN协议的额外示例信息,通过引证将其全部内容结合于此。
为了配置EVPN,服务供应商的网络操作员配置在服务供应商网络12内包括的与客户网络6接口连接的各种设备。EVPN配置可包括EVPN实例(EVI),其包括一个或多个广播域。通常,EVI可指的是PE路由器(诸如,PE路由器10A-10E)上的路由和转发实例。因此,如本文中进一步描述的,可以在用于以太网段(ES)的PE路由器10上配置多个EVI,每个EVI提供单独的逻辑第二层(L2)转发域。以这种方式,可配置多个EVI,使得每个EVI包括以太网段的一个或多个PE路由器。例如,以太网段18A可以包括包括PE路由器10A、10B以及10E的第一EVI和仅包括PE路由器10A、10B的第一EVI。在一些实例中,以太网标签(EthernetTag)则被用来标识EVI中的具体广播域(例如,VLAN)。PE路由器可以每个<ESI,Ethernet Tag>组合通告唯一的EVPN标签。这种标签分配方法称为每<ESI,Ethernet Tag>标签分配。可替换地,PE路由器可以每个MAC地址通告唯一的EVPN标签。在又一实例中,PE路由器可以对给定EVI中的所有MAC地址通告相同的单个EVPN标签。该标签分配方法称为每EVI标签分配。
为了在活动-活动以太网段(例如,以太网段18A)中操作,在PE路由器10A、10B、以及10E上执行的EVPN协议触发用于以太网段18A的EVPN指定转发器(DF)选举。例如,这可以通过在参与以太网段18A的PE路由器10A、10B、以及10E中的每一个上执行的、引导路由器输出通告在所有EVPN实例(EVI)上通常是唯一的以太网段标识符(ESI)的EVPN协议来完成。
图1示出了包括以太网段18A和18B的EVPN环境。在典型的操作中,PE路由器10A-10E使用BGP进行通信。PE路由器10可以根据在如以上引用的“BGP MPLS-Based EthernetVPN”,RFC7432中描述的技术,使用BGP进行互操作。
在图1的实例中,当向客户网络6提供EVPN服务时,PE路由器10和CE路由器8通常执行MAC地址学习以在系统2中有效地转发L2网络通信。即,PE路由器10和CE路由器8转发以太网帧时,路由器学习L2网络的L2状态信息,包括用于网络内的客户设备4的MAC地址信息和客户设备4是可到达的所穿过的物理端口。PE路由器10和CE路由器8通常将MAC地址信息存储在与各个接口相关联的MAC表中。当转发在一个接口上接收的各个以太网帧时,除非路由器先前已经学习了可到达以太网帧中指定的目的地MAC地址所穿过的特定接口,否则路由器通常将该以太网帧广播到与EVPN相关联的所有其他接口。在这种情况下,路由器将以太网帧的单个副本转发出相关接口。
此外,PE路由器10学习通过本地附接电路(local attachment circuit)可到达的客户设备4的MAC地址时,PE路由器10利用第三层(L3)路由协议(即,在本实例中是BGP)中的MAC地址路由通告来共享所学习的MAC地址并且提供通过正在发布路由通告的具体PE路由器可到达MAC地址的指示。在使用针对给定EVI的PE路由器10实施的EVPN中,PE路由器10中的每一个使用BGP路由通告(本文中还称为“MAC路由”或“MAC通告路由”)将本地已学习的MAC地址通告给其他PE路由器10。如以下进一步描述的,MAC路由通常连同额外转发信息,诸如,路由描述符、路由目标、第2层段标识符、MPLS标签等一起指定客户设备4的个别MAC地址。以这种方式,PE路由器10使用BGP来通告和共享在转发与EVPN相关联的第二层通信时所学习的MAC地址。因此,PE路由器10可以执行MAC地址的本地学习和远程学习。
来自EVPN核心的网络流量可以与(源,组),即(S,G)标签相关联,以指定流量源和流量所属的多播组。以太网段的PE路由器可以使用从CE网络设备接收的IGMP加入和离开消息来建立用于路由目的的多播组状态。
例如,ES的PE路由器(诸如,架顶(TOR)交换机)可以使用IGMP协议从主机或虚拟机(VM)接收组成员信息。当从主机或VM接收特定组的成员的订阅通知时,一个或多个PE路由器使用以太网多播源组路由NLRI(网络层可达性信息)将该请求转发至BGP EVPN。NLRI还追踪接收者的IGMP协议版本以及给定组成员的任何源过滤。在一个实例中,使用ES引入路由目标扩展社区通告所有的以太网多播源组路由。
因此,以太网段的PE路由器可以基于多播流量的(S、G)标签将多播网络流量路由至CE设备。
在“Host Extensions for IP Multicasting”,RFC 1112,Internet EngineeringTask Force(IETF),1989年8月(可在https://tools.ietf.org/html/rfc1112获得);“Internet Group Messaging Protocol,Version 2,”RFC2236,Internet EngineeringTask Force(IETF),1997年11月(可在https://tools.ietf.org/html/rfc2236获得);“Internet Group Management Protocol,Version 3,”RFC3376,Internet EngineeringTask Force(IETF),2002年10月(可在https://tools.ietf.org/html/rfc3376获得);以及“Using Internet Group Management Protocol Version 3(IGMPv3)and MulticastListener Discovery Protocol Version 2(MLDv2)for Source-Specific Multicast,”RFC4604,Internet Engineering Task Force(IETF),2006年8月(可在https:// tools.ietf.org/html/rfc4604获得)中提供了IGMP的额外细节,通过引证将其全部内容结合于此。
由于在全活动冗余模式中,CE路由器的LAG流散列算法是未知的,PE路由器的拓扑的实施必须假定CE路由器可将给定的IGMP消息发送至多宿主PE路由器中的任一个,包括DF或非DF的PE路由器。因此,对于该ES上的每个[EVI,广播域(BD)],附接到给定ES的PE路由器中的每一个必须协调IGMP加入和离开组(x,G)状态,其中x可以是‘*’或特定源S。这允许该[ES,EVI,BD]的DF在跨所有的ES(对这些ES其是DF)的该[EVI,BD]中正确地通告或撤消该(x,G)组中的选择性多播以太网标签(SMET)路由。
EVPN中的PE路由器可以通过根据BGP阐述的路由类型交换路由和转发信息,传送这种IGMP指令。如以上所引用的,由RFC7432提供BGP的额外细节。在RFC7432中阐述的标准阐述了以下类型的BGP路由。这些路由可以仅用于产生满足RFC7432记载的唯一性要求的ESI。
第0类。第0类路由表示由运营商管理和配置的任意9个八位组的ESI值。
第1类。当在PE与CE之间使用IEEE 802.1AX LACP时,第1类路由表示根据包括CELACP系统MAC地址和CE LACP端口密钥的LACP确定的自动生成的ESI值。CE将CE多宿主到的数个PE视为同一交换机。因此,第1类路由允许CE将附接至不同PE的链路聚集到同束(bundle)中。
第2类。在经由CE与PE之间的桥接LAN间接连接主机的情况下使用第2类路由。ESI值是基于第二层桥接协议来自动生成的并且是确定的。如果在桥接LAN中使用多生成树协议(MSTP),则通过侦听以太网段上的桥接PDU(BPDU)来导出ESI的值。为了实现这一点,PE路由器不需要运行MSTP。然而,PE必须通过侦听BPDU来学习内部生成树(IST)的根网桥MAC地址和根的网桥优先级。第2类路由包括根网桥MAC地址和根网桥优先级。
第3类。第3类路由表示可由运营商自动生成或配置的基于MAC的ESI值。ESI值包括系统MAC地址和本地鉴别器值。
第4类。第4类路由表示可由操作者自动生成或配置的路由器-ID ESI值。ESI值包括路由器ID和本地鉴别器值。
第5类。第5类路由表示可由运营商自动生成或配置的基于自治系统(AS)的ESI值。ESI值包括系统拥有的AS号和本地鉴别器值。
另外,在本文论述几个附加BGP路由:
第6类。第6类路由表示PE路由器支持特定扩展社区。PE路由器可以发布第6类路由以通告PE路由器支持特定社区。在一些实例中,第6类路由包括识别支持的特定扩展社区的子类型,诸如,IGMP代理或选择性多播。每个子类型可以是互联网分配号码管理结构(IANA)从EVPN扩展社区子类型注册表中分配的唯一标识符。第6类路由可以被编码为8个八位组的值,其中,第一字段将BGP路由类型定义为第6类BGP路由并且第二字段定义第6类路由的子类型。其余位保留。
例如,PE路由器可以实施IGMP代理扩展社区。当通告特定ES的ES路由时,支持ES上的IGMP代理的PE路由器将第6类路由附接至ES路由以通告其支持IGMP代理扩展社区。由于附接于给定ES的所有的PE路由器必须协调IGMP加入(x,G)状态,在ES可以激活IGMP代理之前,附接于给定ES的所有的PE路由器必须支持IGMP代理。RFC7432兼容PE路由器不通告第6类路由。因此,在ES路由通告中不存在第6类路由表示通告PE路由器不支持IGMP代理。
作为另一个实例,PE路由器可以实施选择性多播扩展社区。支持给定[EVI,BD]上的选择性多播的PE路由器必须将该扩展社区附接于PE路由器通告给该[EVI,BD]的包含性多播以太网标签路由。RFC7432兼容PE路由器不通告第6类路由。因此,在ES路由通告中不存在第6类路由表示通告PE路由器不支持选择性多播。
第7类。第7类BGP路由(也称为BGP加入同步路由)用于在ES的PE路由器之间协调或同步多播组加入请求。换言之,EVPN可以使用第7类路由在附接至操作在单主动冗余模式或全主动冗余模式中的给定ES的各个PE路由器之间对给定[EVI,BD]的IGMP加入(x,G)状态进行协调。第7类路由表示PE路由器已接收用以加入ES上的多播组的IGMP加入请求。当PE路由器中的一个从CE路由器接收以太网段(ES)的IGMP加入报告时,其将具有ESI值的第7类BGP路由发送出去。以太网段上的每个额外多宿主PE路由器输入第7类路由并基于第7类路由使其IGMP状态同步。作为指定转发器(DF)的PE路由器从EVPN核心将多播流量转发至CE路由器,而不是DF的其他PE路由器丢弃流量。由于PE路由器的状态经由第7类路由同步,如果DF离线,另一PE路由器可以立即作为DF接管并继续将流量转发至CE设备。
第8类。根据本公开的技术,提出第8类BGP路由(还称为BGP离开同步路由)用于指示PE路由器已接收IGMP离开请求以离开ES上的多播组。接收PE路由器使用该EVPN路由类型在附接至操作在单主动冗余模式或全主动冗余模式中的给定ES的PE路由器之间,协调或同步给定[EVI,BD]的IGMP离开组(x,G)状态。
PE路由器10中的每一个(例如,PE路由器10D)利用指定被其他PE路由器学习的MAC地址的MAC路由,来确定如何将L2通信转发至MAC地址,该MAC地址属于连接至其他PE(即,远程CE路由器)的客户设备4和/或可操作地耦接至PE路由器的CE路由器之后的客户设备。即,PE路由器10中的每一个基于从其他PE路由器接收的MAC地址学习信息,确定是否可以将以太网帧直接发送到其他PE路由器10中的具体一个,或者是否将该以太网帧视为要在EVPN内洪泛的所谓的“BUM”流量(广播、未识别的单播或多播流量)。
如图1所示,CE路由器8可以多宿主和/或单宿主至一个或多个PE路由器10。在EVPN中,当多个PE路由器驻留于相同的物理以太网段上时,当CE路由器耦接至相同的EVI上的两个物理上不同的PE路由器时,该CE路由器可以被说成是多宿主的。作为一个实例,CE路由器8C分别经由链路16D-16F耦接至PE路由器10A、10B、以及10E,其中,10A、10B以及10E能够经由CE路由器8C为L2客户网络6C提供对EVPN的接入。在给定的客户网络(诸如,客户网络6C)可以经由两个不同的并且在某种程度上冗余的链路而耦接至服务供应商网络12的情况中,客户网络可以称为“多宿主的”。在该实例中,由于CE路由器8C经由单独的并且在某种程度上冗余的链路16D-16F而耦接至两个不同的PE路由器10A、10B以及10E,因此CE路由器8C可被多宿主至PE路由器10A、10B、以及10E,其中PE路由器10A、10B以及10E各自能够为L2客户网络6C提供对EVPN的接入。多宿主网络常被网络运营商所采用,以改进在链路16D、16E、以及16F中的一个发生故障时对由服务供应商网络12提供的EVPN的接入。在典型的EVPN配置中,仅多宿主PE10A、10B、以及10E参与针对每个ESI的DF选择。CE路由器8B经由通信链路16C单宿主至PE路由器10A。
EVPN可以在多协议标签交换(MPLS)配置的网络上操作并且使用MPLS标签相应地转发网络流量。MPLS是用于根据由网络中的路由器维护的路由信息,设计互联网协议(IP)网络内的流量模式的机制。通过利用MPLS协议(诸如,标签分发协议(LDP)或具有流量工程扩展的资源预留协议(RSVP-TE),源设备可以请求通过网络到达目的地设备的路径,即标签交换路径(LSP)。LSP定义通过网络将MPLS分组从源设备携带到目的地设备的不同路径。使用MPLS协议,沿着LSP的每个路由器分配标签并且将该标签传播到沿路径最近的上游路由器。沿路径的路由器添加标签或移除(remote,向远延伸)标签,并执行其他MPLS操作以沿所建立的路径转发MPLS分组。
如在图1的实例中所示,PE路由器10A-10E和供应商路由器18可以提供MPLS核心用于将网络分组从客户网络6A发送至客户网络6C和从客户网络6C中发送出网络分组。PE路由器10A-10E中的每一个实现MPLS协议,并且根据在每个相应的PE路由器处配置的路由和转发信息将一个或多个MPLS标签(即标签栈)应用于网络分组。如上所述,PE路由器10C可以将由PE路由器10A通告的MPLS标签附接于PE路由器10C正转发至PE路由器10A的分组,使得通过服务供应商网络12将该分组转发至PE路由器10C。
在启动期间,连接至相同的以太网段(例如,如在多宿主配置中一般)的每个PE路由器可以自动发现相同的段上的其他PE路由器。这些PE路由器中的每一个可以选举负责将流量从核心转发至CE路由器的指定转发器(DF)。此外,每个PE路由器可以使用EVPN BGPMAC通告路由以分配针对与其所属的本地以太网段相关联的B-MAC的可达性信息。
如上所述,为了允许支持选择性多播的入口PE路由器,将接收PE路由器适当分配至其包含性和选择性P隧道(inclusive and selectiveP-Tunnels),支持选择性多播的PE使用如上所述的第6类路由表示在其包含性多播以太网标签路由的通告中的这种能力。
如果入口PE路由器使用入口复制,那么对于给定[EVI,BD]中的给定(x,G)组,第一,PE路由器将(x,G)流量发送至不支持选择性多播的PE路由器的集合。该集合由已通告[EVI,BD]的包含性多播标签路由而没有例如经由如上所述的相应第6类BGP路由通告对选择性多播扩展社区支持的任何PE路由器组成。
第二,PE路由器将(x,G)流量发送至支持选择性多播并且具有针对该[EVI,BD]中的该(x,G)组的侦听器的PE路由器的集合。该集合由已通告针对[EVI,BD]的包含性多播标签路由以及表示支持选择性多播扩展社区的第6类BGP路由两者并通告针对该[EVI,BD]中的该(x,G)组的SMET路由的任何PE路由器组成。
如果给定[EVI,BD]的入口PE路由器的包含性P-隧道使用点对多点(P2MP)通信,并且如果[EVI,BD]中的所有PE路由器支持选择性多播,那么对于给定[EVI,BD]中的给定(x,G)组,入口PE路由器使用入口PE路由器的针对该[EVI,BD]中的(x,G)组的选择性P隧道发送(x,G)流量。该隧道包括已对该[EVI,BD]上的(x,G)组通告SMET路由的PE路由器,但可以进一步包括ES的其他PE路由器。如果给定[EVI,BD]的入口PE路由器的包含性P-隧道使用P2MP通信,并且如果[EVI,BD]中的至少一个PE路由器不支持选择性多播,那么入口PE路由器使用[EVI,BD]的PE路由器的包含性P隧道发送(x,G)流量。
在图1的实例中,PE路由器10A、10B以及10E属于ES 18A,并且已选举PE路由器10B作为DF。例如,如果PE路由器10A从CE路由器8C接收ES上的IGMP加入报告,则其将具有以太网段标识符(ESI)值的第7类BGP路由发送出去。以太网段上的每个额外多宿主PE路由器(例如,PE路由器10B和10E)输入该第7类路由并基于第7类路由创建IGMP状态。PE路由器10B(作为指定转发器(DF))将流量从EVPN核心12转发至CE路由器8C,而不是DF的其他PE路由器(例如,PE路由器10A和10E)丢弃流量。由于经由第7类路由使PE路由器的状态同步,如果DF离线,另一PE路由器(诸如,PE路由器10A或10E)可以立即作为DF进行接管并继续将流量转发至CE路由器8C。
在CE路由器8C对PE路由器10A、10B以及10E中的每一个进行流量负载均衡的情况下,未被指定为DF的PE路由器(诸如,PE路由器10A)可以接收IGMP离开请求。在这种情况下,PE路由器10A更新其状态和转发信息,以便停止转发属于由IGMP离开请求指定的多播组的多播流量。
然而,如果PE路由器10A没有将IGMP离开请求通知给其他多宿主PE路由器,则其他多宿主PE路由器具有过时的状态信息。具体地,由于被指定为DF的PE路由器10B没有接收IGMP离开请求,其继续从指定的多播组转发多播流量至多120秒,滞后时间称为“离开延迟”。在这期间,CE路由器8C继续从PE路由器10B接收CE路由器8C丢弃的不需要的多播流量。这是不期望的,因为可以在没有到达其目的地或者通知起始点不能到达目的地而丢弃网络流量,从而对终端用户的网络性能造成消极影响。此外,CE路由器8C浪费了接收不期望流量、确定流量是不期望的并丢弃不期望流量的宝贵的网络资源。
根据本公开的技术,描述了第8类BGP路由,其将由ES上的另一PE路由器接收的IGMP离开消息通知给一个或多个PE路由器并使一个或多个PE路由器能够更新它们的状态信息以防止将不期望流量转发至CE路由器。例如,当从CE路由器8C接收IGMP离开请求时,PE路由器10A发布用于表示IGMP离开请求的第8类BGP ADD通信至ES上的其他PE路由器(例如,PE路由器10B和PE路由器10E)。此外,PE路由器10A向以太网段18A上的属于相同多播组的其他PE路由器(例如,PE路由器10B和PE路由器10E)发布最后成员查询(LMQ)消息。此外,PE路由器10A、10B、以及10E中的每一个开始LMQ计时器。
在一个实例中,当LMQ计时器在运行时,PE路由器10A接收IGMP加入消息。响应于该消息,PE路由器10A停止LMQ计时器。如果PE路由器10A目前在其路由信息库(RIB)表中具有指示PE路由器10A离开多播组的第8类BGP ADD通信,则PE路由器10A撤销指令并保留在多播组内。如果指涉PE路由器10A的第7类BGP消息已经不存在,则PE路由器10A向其RIB表中添加一个。
在另一实例中,当LMQ计时器在运行时,PE路由器10A接收第7类BGP ADD通信以将对等PE路由器添加至多播组。如果PE路由器10A目前在其路由信息库(RIB)表中具有指示PE路由器10A从多播组中移除其本身的第8类BGP ADD通信,则PE路由器10A撤销指令并保留在多播组内。
在另一实例中,当LMQ计时器在运行时,PE路由器10E接收提名对等PE路由器(例如,PE路由器10A)的第7类BGP撤销通信。如果PE路由器10E在其RIB表中没有其他的第7类BGP通信,则PE路由器10E删除用于其在第7类BGP撤销通信中识别的PE路由器10A的转发状态信息。此外,如果PE路由器10E在其RIB表中包含识别其自身的第8类BGP通信,那么PE路由器10E删除第8类BGP通信。
在另一实例中,当LMQ计时器在运行时,如果PE路由器10E接收第8类BGP撤销通信,则PE路由器从其RIB表中删除在第8类BGP撤销通信中识别的PE路由器(例如,PE路由器10A)。
在另一实例中,LMQ计时器在PE路由器10E接收IGMP加入请求之前到期。当LMQ计时器到期时,如果PE路由器10E在其RIB表中具有识别该PE路由器的第7类通信,则PE路由器10E撤销第7类通信。如果PE路由器10E在其RIB表中具有识别另一PE路由器(诸如,PE路由器10B)的第7类通信,则PE路由器10E保留针对所识别的PE路由器的转发状态信息。PE路由器10E删除用于未被PE路由器10E的RIB表中的第7类通信识别的PE路由器(即,PE路由器10A)的状态信息。
参照图1描述以下说明本公开的技术的场景。
场景I:PE路由器加入和离开多播组
在该实例中,PE路由器10A从CE路由器8C接收IGMP加入。作为响应,PE路由器10A将第7类BGP路由发送至所有的多宿主PE路由器(例如,PE路由器10B和10E)。多宿主PE路由器中的每一个接收第7类路由并将其安装在它们的RIB中。
当PE路由器10E从CE路由器8C接收IGMP离开时,其发起第8类路由以指示对接入的离开。PE路由器10A和PE路由器10B输入从PE路由器10E接收的第8类路由。当PE路由器10A和PE路由器10B从PE路由器10E接收第8类ADD路由时,每个路由器将PE路由器10E的第8类路由添加到其RIB中。
接收IGMP离开消息的PE路由器(例如,PE路由器10E)发起LMQ消息。此外,输入第8类路由的PE路由器(例如,PE路由器10A、10B、以及10E)中的每一个开始LMQ计时器。针对LMQ计时器选择的值在一定程度上考虑到BGP路由传播延迟。
当计时器到期时,每个PE路由器可以接收报告或不接收报告。如果在计时器到期时没有接收到IGMP加入指令,则发起第7类路由的PE路由器将会撤销其第7类路由。发起第8类路由的PE路由器将会撤销其第8类路由。
PE路由器10A确定其是否具有其他对等第7类路由。如果其在其RIB中具有对等第7类路由,PE路由器10A删除指涉本身的第7类路由,但保留其转发状态。如果不存在对等第7类路由,PE路由器10A删除其第7类消息和其转发状态。
当从PE路由器10A接收第7类路由删除时,PE路由器10B和PE路由器10E中的每一个删除其转发状态。当接收第7类路由撤销时,PE路由器10E删除指涉自身的其第8类路由并发布撤销。当从PE路由器10E接收第8类撤销时,PE路由器10A和PE路由器10B中的每一个从其RIB中移除第8类路由。此时此刻,更新PE路由器10A、10B、以及10E的转发和状态信息且不会引发离开延迟。
场景II:PE路由器加入、离开以及加入多播组
在该实例中,PE路由器10A从CE路由器接收IGMP加入。作为响应,PE路由器10A将第7类BGP路由发送至所有的多宿主PE路由器(例如,PE路由器10B和10E)。多宿主PE路由器中的每一个接收第7类路由并将其安装在它们的RIB中。
当PE路由器10E从CE路由器8C接收IGMP离开时,其发起第8类路由以指示对接入的离开。PE路由器10A和PE路由器10B输入从PE路由器10E接收的第8类路由。当PE路由器10A和PE路由器10B从PE路由器10E接收第8类ADD路由时,每个路由器将会将PE路由器10E的第8类路由添加到其RIB中。
接收IGMP离开消息的PE路由器(例如,PE路由器10E)发起LMQ消息。此外,输入第8类路由的PE路由器(例如,PE路由器10A、10B、以及10E)中的每一个开始LMQ计时器。针对LMQ计时器选择的值在一定程度上考虑到BGP路由传播延迟。
如果PE路由器10A在其LMQ计时器运行时接收IGMP报告,PE路由器10A停止LMQ计时器。由于路由已加入其RIB中,PE路由器10A不更新其第7类路由。当PE路由器10B的LMQ计时器到期时,PE路由器10B确定其RIB中具有来自PE路由器10A的第7类路由。因此,PE路由器10B保留其转发状态。相似地,当PE路由器10E的LMQ计时器到期时,PE路由器10E确定其RIB中也具有来自PE路由器10A的第7类路由。因此,PE路由器10E还保留其转发状态。
此外,在PE路由器10E的LMQ计时器到期之后,PE路由器10E确定其RIB中具有自指涉的第8类路由。PE路由器10E删除自指涉的第8类考路由并发布第8类撤销。当从PE路由器10E接收第8类撤销时,PE路由器10A从其RIB中删除指涉PE路由器10E的对等第8类路由。因此,IGMP状态和路由器恢复到它们先前的转发状态,并且没有引发IGMP状态抖动。
场景III:多个PE路由器接收IGMP加入请求
如果PE路由器10A接收IGMP加入指令,其首先将自指涉的第7类路由发送出去。随后,如果PE路由器10B接收IGMP加入指令,则PE路由器10B相似地发布自指涉的第7类路由。
在这种情形中,当PE路由器10E接收IGMP离开指令时,PE路由器10E发布第8类ADD路由。当接收第8类ADD路由时,PE路由器10A和PE路由器10B中的每一个开始LMQ计时器。当计时器到期时,如果PE路由器没有接收IGMP加入,则PE路由器10A和PE路由器10B中的每一个从其伴随的RIB表中撤销其自指涉的第7类路由。
在另一实例中,PE路由器10B在其LMQ计时器到期之前接收IGMP加入指令,而PE路由器10A没有接收到。PE路由器10B停止其LMQ计时器。当其LMQ计时器到期时,PE路由器10A撤销其第7类路由。由于PE路由器10B保留第7类路由,PE路由器10A和10B中的每一个保留它们的转发状态。
场景IV:第一PE路由器加入和离开多播组,并且第二PE路由器加入多播组
在该实例中,PE路由器10A从CE路由器接收IGMP加入。作为响应,PE路由器10A将第7类BGP路由发送至所有的多宿主PE路由器(例如,PE路由器10B和10E)。每个多宿主PE路由器接收第7类路由并将其安装在它们的RIB中。
当PE路由器10E从CE路由器接收IGMP离开时,其发起第8类路由以指示对接入的离开。PE路由器10A和PE路由器10B输入从PE路由器10E接收的第8类路由。当PE路由器10A和PE路由器10B从PE路由器10E接收第8类ADD路由时,每个路由器将会将PE路由器10E的第8类路由添加到其RIB中。
接收IGMP离开消息的PE路由器(例如,PE路由器10E)发起LMQ消息。此外,输入第8类路由的PE路由器(例如,PE路由器10A、10B、以及10E)中的每一个开始LMQ计时器。针对LMQ计时器选择的值在一定程度上考虑到BGP路由传播延迟。
在一个实例中,PE路由器10B接收IGMP报告。PE路由器10B添加自指涉的第7类路由并向其他PE路由器发布第7类路由。PE路由器10B和10E中的每一个从第2个PE路由器输入第7类路由。
当从PE路由器10B接收第7类路由时,PE路由器10E更新其RIB以包括第7类路由。此外,由于PE网络上已出现新的IGMP加入请求,PE路由器10E确定应当移除其自指涉的第8类路由。因此,PE路由器10E删除其自指涉的第8类路由并向其他PE路由器发布撤销第8类路由。
同时,PE路由器10A继续允许其LMQ计时器运行以确定其是否接收IGMP加入请求。当PE路由器10A的LMQ计时器到期时,PE路由器10A移除其第7类路由。PE路由器10A确定是否存在任何对等第7类路由。由于存在针对PE路由器10B的对等第7类路由,PE路由器10A保留其转发状态。PE路由器10B和PE路由器10E删除它们的针对PE路由器10A的第7类路由。由于每个路由器在它们相应的RIB中包含PE路由器10B的对等第7类路由,各自保留其转发状态。当其LMQ计时器到期时,PE路由器10B从其RIB中删除其自指涉的第8类路由并发布撤销其第8类路由。当接收该撤销时,PE路由器10A和PE路由器10B从它们的RIB表中删除针对PE路由器10E的第8类路由。因此,PE路由器10B现在是第7类路由的发起者。
以下实例可以进一步说明本公开的各种技术:
例程-A:
Figure BDA0001362540420000231
例程-B:
Figure BDA0001362540420000232
例程-C:
Figure BDA0001362540420000241
例程-D:
Figure BDA0001362540420000242
例程-E:
Figure BDA0001362540420000251
例程-F:
Figure BDA0001362540420000252
因此,描述了通过多个负载均衡的多宿主PE路由器传送第八种BGP路由类型的技术,第八种BGP路由类型用于通知多个PE路由器由ES上的非-DF PE路由器接收的IGMP离开消息。这种第八种BGP路由允许多个PE路由器将IGMP状态信息同步,以确保多宿主PE路由器中的被选举为指定转发器(DF)的一个停止向CE路由器转发多播组流量,即使其不是接收IGMP离开请求的PE路由器。
作为示例示出了图1中示出的系统2的架构。可以在图1的示例性系统2中实现如在本公开内容中阐述的技术,并且在本文中对其他类型的系统不进行具体描述。本说明书中的任何内容都不应理解为将本公开内容的技术限于图1示出的示例性结构。
图2是示出了根据本公开的技术的在EVPN中的示例性PE路由器10的框图。通常,PE路由器10可以基本上类似于图1的PE 10A-E进行操作。在该实例中,PE路由器10包括接口卡226A-226N(“IFC 226”),它们经由进入链路228A-228N(“进入链路228”)接收分组并经由外出链路230A-230N(“外出链路230”)发送分组。IFC 226通常经由多个接口端口耦接至链路228、230。PE路由器10还包括控制单元202,该控制单元确定所接收分组的路由并且经由IFC226相应地转发分组。
控制单元202可包括路由引擎204和分组转发引擎222。路由引擎204作为路由器200的控制平面操作并且包括提供用于执行大量并发进程的多任务操作环境的操作系统。例如,路由引擎204执行软件指令以实现一个或多个控制平面网络协议212。例如,协议212可以包括一个或多个路由协议,诸如,用于与其他路由设备交换路由信息并用于更新路由信息库(RIB)表206的BGP 220、多协议标签交换(MPLS)协议214、以及互联网组管理协议(IGMP)221。
此外,路由引擎204与其他路由器通信以建立并且维持EVPN,诸如,图1的EVPN,用于通过中间网络传输L2通信从而通过中间网络逻辑地扩展以太网网络。当实现EVPN时,可以通过与远程PE设备交换包含MAC地址的BGP消息而在控制平面中执行L2MAC学习。BGP协议220将在转发信息库(FIB)224中记录的信息传送至转发引擎222。如上所述,在“基于MPLS的以太网VPN”,RFC 7432中描述了关于EVPN和BGP协议的额外示例性信息,通过引证将其全部内容结合于此。
FIB 224还可以包括查找结构。给出一个密钥(诸如,地址),查找结构可以提供一个或多个值。在一些实例中,一个或多个值可以是一个或多个下一跳。下一跳可以实现为微代码,当该微代码被执行时执行一个或多个操作。一个或多个下一跳可以是“成链的”使得一组成链的下一跳在被执行时执行针对各自不同的下一跳的一组操作。这种操作的实例可以包括将一个或多个服务应用于分组,丢弃分组和/或使用接口和/或由一个或多个下一跳识别的接口转发分组。
在一个实例中,BGP 220根据在本文中描述的技术操作从而公告和/或接收每个EVI路由的以太网A-D,其已扩展为携带本文中描述的EVPNMH PE状态扩展的社区数据结构。即,BGP协议220生成用于输出指定每个{ESI,EVI}的主要PE DF和备份DF的每EVI路由的BGP以太网A-D。此外,BGP 220可以类似地被配置为接收指定这样的信息的每EVI路由的BGP以太网A-D(BGP Ethernet A-D per EVI route),并且可以提取这样的信息并传送选举至EVPN 216。
RIB表206可以描述PE路由器200驻留的计算机网络的拓扑,并且还可以包括穿过计算机网络中的共享树的路由。RIB表206描述计算机网络内的各种路由,以及每个路由的合适的下一跳,即,沿着每个路由的相邻路由设备。路由引擎204分析存储在RIB表206中的信息并且生成存储在FIB 224中的用于转发引擎222的转发信息。例如,FIB 224可以将针对某些多播组的网络目的地与特定下一跳和针对输出链路230的对应的IFC 226以及物理输出端口相关联。FIB 224可为编程到专用转发芯片中的基数树、一系列表、复杂数据库、链路列表、基数树、数据库、平面文件或者各种其他数据结构。
如果PE路由器10(DF或非-DF PE路由器)在全主动冗余模式中操作的给定的多宿主ES上,接收针对(x,G)的IGMP成员报告,则其确定IGMP成员报告所属的[EVI,BD]。如果PE路由器10在PE路由器10的RIB表206中还不具有针对该ES上的该[EVI,BD]的本地IGMP加入(x,G)状态,则PE路由器10例示本地IGMP加入(x,G)状态并对该[ES,EVI,BD]通告第7类BGP路由(例如,BGP离开同步路由)。在该实例中,(本地IGMP加入(x,G)状态指的是作为处理(x,G)的IGMP成员报告的结果而创造的IGMP加入(x,G)状态)。
BGP加入同步路由携带其上接收IGMP成员报告的ES的ES输入路由目标(RT)。PE路由器向附接于该ES的所有的PE路由器发布BGP加入同步路由。因此,附接于ES的所有的PE路由器接收BGP加入同步路由,但是没有附接于该ES的PE路由器不接收BGP加入同步路由。
如果PE路由器10(DF或非-DF PE路由器)接收BGP加入同步路由,PE路由器10在其RIB表中安装该路由。如果PE路由器10还不具有针对该ES上的该[EVI,BD]的IGMP加入(x,G)状态,PE路由器例示该IGMP加入(x,G)状态。换言之,IGMP加入(x,G)状态是PE路由器10的本地IGMP加入(x,G)状态与所安装的BGP加入同步路由的结合。如果DF目前没有通告(发起)针对该[EVI,BD]中的该(x,G)组的SMET路由,则DF现在这样做。
如果PE路由器10(DF或非-DF PE路由器)删除了针对在该ES上的该[EVI,BD]的其本地IGMP加入(x,G)状态,则PE路由器10向ES上的其他PE路由器发布撤销其针对该[ES,EVI,BD]的BGP加入同步路由。
如果PE路由器10(DF或非-DF PE路由器)从另一PE路由器接收撤销BGP加入同步路由,接收PE路由器10移除该BGP路由。如果PE路由器10没有本地IGMP加入(x,G)状态并且其没安装BGP加入同步路由,则PE路由器删除针对该ES上的该{EVI,BD]的转发状态信息(诸如,其IGMP加入(x,G)状态)。如果DF不再有用于其作为DF所针对的任何ES上的该[EVI,BD]的IGMP加入(x,G)状态,则其撤销其针对该[EVI,BD]中的该(x,G)组的SMET路由。换言之,只要PE路由器10具有用于其作为DF所针对的任何ES的[EVI,BD]的至少一个IGMP加入(x,G)状态,PE路由器才通告针对该[EVI,BD]中的(x,G)组的SMET路由。否则,如果PE路由器10不具有用于其作为DF所针对的任何ES的[EVI,BD]的任何IGMP加入(x,G)状态,则PE路由器10撤销SMET路由。
如果PE路由器10(DF或非-DF PE路由器)在全主动冗余模式中操作的给定的多宿主ES上,从所附接的CE路由器接收针对(x,G)的IGMP离开组消息,则其确定IGMPv2离开组消息所属的[EVI,BD]。无论其是否具有针对该ES上的该[EVI,BD]的IGMP加入(x,G)状态,其启动(x,G)离开组同步过程,该过程包括以下步骤。
第一,PE路由器10的控制单元202计算最大响应时间,该最大响应时间是(x,G)离开组同步过程的持续时间。这是两个局部配置的值(最后成员查询计数和最后成员查询间隔(在上述RFC2236的章节3中描述的))的乘积加上增量(BGP路由通告在附接于多宿主ES的各个PE路由器之间传播所花费的时间)。增量是附接于多宿主ES的所有的PE路由器上一致配置的值。
第二,PE路由器10的控制单元202开始最大响应时间计时器。应注意,接收后续IGMP离开组消息或该(x,G)的BGP离开同步路由不会改变当前运行的最大响应时间计时器的值。
第三,PE路由器10发起在上述的RFC2236的章节3中描述的最后成员查询过程;例如,其向所附接CE路由器以固定间隔(最后成员查询间隔)发送多个(最后成员查询计数)组特定的查询(x,G)消息。
第四,PE路由器10通告该[ES,EVI,BD]的第8类BGP路由,例如,BGP离开同步路由。该路由将PE路由器已发起(x,G)离开组同步过程通知附接于给定多宿主ES的其他多宿主PE路由器中的每一个。换言之,第8类BGP路由携带其上接收IGMP离开组消息的ES的ES输入RT。第8类BGP路由还包含最大响应时间和离开组同步过程序列号。后者识别由通告PE路由器发起的具体(x,G)离开组同步过程,每当其发起一过程就递增该值。应注意,如果PE路由器在发起了(x,G)离开组同步过程之后接收(x,G)的后续BGP离开同步路由,则PE路由器忽略之。
如果PE路由器10(DF或非-DF PE路由器)接收BGP离开同步路由,则PE路由器10安装BGP路由并起动针对指定[ES,EVI,BD]上的(x,G)的计时器,其中,计时器的值被设为所接收的BGP离开同步路由中的最大响应时间。应注意,接收该(x,G)的后续IGMPv2离开组消息或BGP离开同步路由不会改变当前运行的最大响应时间计时器的值。
如果PE路由器10附接于多宿主ES并在最大响应时间计时器到期之前接收(x,G)的IGMP成员报告,并且如果PE路由器10还没有该ES上的该[EVI,BD]的本地IGMP加入(x,G)状态,则PE路由器10例示本地IGMP加入(x,G)状态。此外,PE路由器通告该[ES,EVI,BD]的BGP加入同步路由。如果DF目前没有通告(发起)该[EVI,BD]中的该(x,G)组的SMET路由,则DF现在这样做。
如果PE路由器10附接于多宿主ES并在最大响应时间计时器到期之前接收(x,G)的BGP离开同步路由,则PE路由器在其RIB表中安装该路由。如果PE路由器10还不具有该ES上的该[EVI,BD]的IGMP加入(x,G)状态,PE路由器例示该IGMP加入(x,G)状态。如果DF目前没有通告(发起)该[EVI,BD]中的该(x,G)组的SMET路由,则PE路由器现在这样做。
当最大响应计时器到期时,已通告BGP离开同步路由的PE路由器10发布撤销BGP离开同步路由。如果PE路由器10没有本地IGMP加入(x,G)状态并且没安装BGP加入同步路由,则PE路由器10移除针对在该ES上的该[EVI,BD]的IGMP加入(x,G)状态。如果DF不再具有用于其作为DF所针对的任何ES上的该[EVI,BD]的IGMP加入(x,G)状态,则DF发布撤销其针对该[EVI,BD]中的该(x,G)组的SMET路由。
如上所述,为了便于在容错之后进行状态同步,附接于在单主动冗余模式中操作的多宿主ES的各个PE路由器,也协调IGMP加入(x,G)状态。在这种情况下,DF接收所有的IGMP加入消息并经由BGP加入同步路由利用上述过程将IGMP加入消息分配至非-DF PE。
根据本公开的技术,PE路由器10向一个或多个PE路由器发布BGP离开同步路由,以通知一个或多个PE路由器:ES上的PE路由器接收了IGMP离开消息。这种BGP路由允许ES的PE路由器更新它们的状态信息以防止不期望的流量转发至CE路由器。在一个实例中,PE路由器10的控制单元202经由IFC 226的进入链路228从CE路由器8C接收IGMP离开请求。响应于该请求,控制单元202经由IFC 226的外出链路230发布第8类BGP ADD通信以向ES上的其他PE路由器指示IGMP离开请求。此外,控制单元202经由IFC 226的外出链路230向ES上属于相同的多播组的其他PE路由器发布最后成员查询(LMQ)消息。此外,控制单元202开始LMQ计时器210。
在另一实例中,当LMQ计时器210在运行时,控制单元202经由IFS226的进入链路228从CE路由器8C接收IGMP加入消息。响应于该消息,控制单元202停止LMQ计时器210。如果PEFIB 224目前在其路由信息库(RIB)表中具有指示PE路由器10离开多播组的第8类BGPADD通信,则控制单元202撤销指令并且PE路由器10保留在多播组内。如果FIB 224还没有指涉PE路由器10的第7类BGP消息,则控制单元202向其RIB表中添加一个。
在另一实例中,当LMQ计时器210在运行时,控制单元202经由IFC226的进入链路228接收第7类BGP ADD通信以向多播组添加对等PE路由器。如果PEFIB 224目前在其RIB表中具有指示控制单元202从多播组移除PE路由器10的第8类BGP ADD通信,则控制单元202撤销指令并且保留在多播组内。
在另一实例中,当LMQ计时器210在运行时,控制单元202经由IFC226的进入链路228接收提名对等PE路由器的第7类BGP撤销通信。如果FIB 224在其RIB表中没有其他第7类BGP通信,则控制单元202删除针对第7类BGP撤销通信中识别的对等PE路由器的转发状态信息。此外,如果FIB 224在其RIB表中包含识别PE路由器10的第8类BGP通信,那么控制单元202删除第8类BGP通信。
在另一实例中,当LMQ计时器210在运行时,如果控制单元202经由IFC 226的进入链路228从CE路由器8C接收第8类BGP撤销通信,则控制单元202从其RIB表中删除在第8类BGP撤销通信中识别的对等PE路由器。
在另一实例中,LMQ计时器210在控制单元202接收IGMP加入请求之前到期。当LMQ计时器210到期时,如果FIB 224在其RIB表中具有识别该PE路由器10的第7类通信,则控制单元202撤销第7类通信。如果FIB 224在其RIB表中具有识别对等PE路由器的第7类通信,则控制单元202保留针对所识别的对等PE路由器的转发状态信息。控制单元202在FIB 224的RIB表中删除针对第7类通信未识别的PE路由器的状态信息。
因此,描述了通过多个负载均衡的多宿主PE路由器传送第八种BGP路由类型的技术,第八种BGP路由类型用于通知多个PE路由器:由ES上的非-DF PE路由器接收的IGMP离开消息。这种第八BGP路由允许多个PE路由器使IGMP状态信息同步,以确保多宿主PE路由器中被选择为指定转发器(DF)的一个停止向CE路由器转发多播组流量,即使其不是接收IGMP离开请求的PE路由器。
图2中示出的PE路由器10的架构被示为示例。可以在图2的示例性PE路由器10中实现如在本公开内容中阐述的技术,并且在本文中对其他类型的系统不进行具体描述。本说明书中的任何内容都不应理解为将本公开内容的技术限于图2示出的示例性结构。
图3是示出了根据本公开的技术的用于发布BGP离开同步路由以在太网段的PE路由器之间协调多播组离开请求的示例性操作的流程图。为了方便,参照图1对图3进行描述。在一些实例中,多播组加入请求和多播组离开请求是IGMP组加入和组离开请求。
在图3的实例中,PE路由器10A从CE路由器8C接收离开多播组的请求(302)。响应于接收离开多播组的请求,PE路由器10A确定PE路由器10A的RIB表是否包含指定以太网段中的一个PE路由器(即,PE路由器10A、10B以及10E中的一个)的BGP加入同步路由,诸如,如上所述的第7类BGP路由(304)。当确定PE路由器10A的RIB表包含BGP加入同步路由(304的是分支)时,PE路由器10A向PE路由器10B和10E发布BGP离开同步路由,诸如,如上所述的第8类BGP路由(306)。此外,PE路由器10A向PE路由器10A的RIB表中添加指定PE路由器10A的BGP离开同步路由(305)。另外,PE路由器10A开始LMQ计时器(308)并向ES上的每个PE路由器(即,PE路由器10B和10E)发布LMQ消息(310)。当确定PE路由器10A的RIB表不包含BGP加入同步路由(304的否分支)时,PE路由器10A不会进一步采取行动并结束算法(312)。
在一些实例中,当LMQ计时器到期时,PE路由器10A从PE路由器10A的RIB表中删除指定PE路由器10A的BGP离开同步路由。此外,PE路由器10A向ES的其他PE路由器(即,PE路由器10B和10E)发布指定PE路由器10A的BGP离开同步路由的撤销。
此外,当确定PE路由器10A的RIB表包含指定第一PE路由器的BGP加入同步路由时,PE路由器10A删除BGP加入同步路由。当确定PE路由器10A的RIB表不包含指定ES的其他PE路由器(例如,指定PE路由器10B和10E中的一个)的任何BGP加入同步路由时,PE路由器10A删除其转发状态。
图4是示出了根据本公开的技术的用于接收在以太网段的PE路由器之间协调多播组离开请求的BGP离开同步路由的示例性操作的流程图。图4是相对于图1进行描述的。在一些实例中,多播组加入请求和多播组离开请求是IGMP组加入和组离开请求。
在图4的实例中,PE路由器10B从PE路由器10A接收BGP离开同步路由,诸如如上所述的第8类BGP路由(402)。响应于接收BGP离开同步路由,PE路由器10B开始针对多播组的LMQ计时器(404)。PE路由器10B向PE路由器10B的RIB表中添加指定PE路由器10A的BGP离开同步路由(406)。在一些实例中,PE路由器10B添加指定ES的其他PE路由器的BGP离开同步路由,诸如,PE路由器10E。
在一些实例中,PE路由器10B从CE路由器8C接收加入多播组的请求。响应于接收加入请求,PE路由器10B停止针对多播组的LMQ计时器。当确定PE路由器10B的RIB表具有BGP离开同步路由时,PE路由器10向ES的其他PE路由器(即,PE路由器10A和10E)发布撤销BGP离开同步路由。当确定PE路由器10B的RIB表没有指定PE路由器10B的BGP加入同步路由时,PE路由器10B向PE路由器10B的RIB表添加指定PE路由器10B的这种BGP加入同步路由。
在一些实例中,PE路由器10B从PE路由器10A接收指定PE路由器10A的BGP加入同步路由。响应于BGP路由,PE路由器10B向PE路由器10B的RIB表添加指定PE路由器10A的BGP加入同步路由。当确定PE路由器10B的RIB表具有BGP离开同步路由时,PE路由器10从PE路由器10B的RIB表中删除BGP离开同步路由并向ES的其他PE路由器(即,PE路由器10A和10E)发布撤销BGP离开同步路由。
在一些实例中,PE路由器10B从PE路由器10A接收指定PE路由器10A的BGP加入同步路由的撤销。响应于BGP路由,PE路由器10B从PE路由器10B的RIB表中删除指定PE路由器10A的BGP加入同步路由。当确定PE路由器10B的RIB表没有指定以太网段的PE路由器(例如,PE路由器10A或10E)的至少一个BGP加入同步路由时,PE路由器10B删除其转发状态。当确定PE路由器10B的RIB表具有BGP离开同步路由时,PE路由器10B从第二PE路由器的RIB表中删除BGP离开同步路由。
在一些实例中,PE路由器10B从PE路由器10A接收BGP离开同步路由的撤销。响应于撤销,PE路由器10B从PE路由器10B的RIB表中删除BGP离开同步路由。
在一些实例中,PE路由器10B的LMQ计时器在接收任何附加BGP路由之前到期。当确定PE路由器10B的RIB表具有指定PE路由器10B的BGP加入同步路由时,PE路由器10B删除指定PE路由器10B的BGP路由并向ES的其他PE路由器(例如,PE路由器10A和10E)发布撤销BGP路由。当确定PE路由器10B的RIB表具有指定PE路由器10A的BGP加入同步路由时,PE路由器10B保留其转发状态。否则,如果PE路由器10B确定其没有指定以太网段的另一PE路由器(例如,PE路由器10A或10E)的至少一个BGP加入同步路由时,PE路由器10B删除其转发状态。
图5是示出了根据本公开技术的BGP加入同步路由的示例性位图的框图。在图5的实例中,BGP加入同步路由包括:8个八位组的路由区分符(RD)字段502、10个八位(10-octet)组的ESI字段504、4个八位组的EVI标识符字段506、4个八位组的以太网标签ID字段508、1个八位组的多播源长度字段510、可变长度多播源地址字段512、1个八位组的多播组长度字段514、可变长度多播组地址字段516、1个八位组的发起者路由器长度字段518、可变长度发起者路由器地址字段520、以及1个八位组的标记字段522。
通常,PE路由器利用其值被设为其上接收IGMP加入的ES的ESI的ES输入路由目标扩展社区来通告BGP加入同步路由。根据“BGP/MPLSIP Virtual Private Networks(VPNs),”,RFC4364,Internet Engineering TaskForce(IETF),2006年2月(可在https://tools.ietf.org/html/rfc4364获得),路由区分符(RD)502字段通常是第1类RD,通过引证将其全部内容结合于此。
RD字段502的值包括PE路由器的IP地址(其通常是回调地址)和对PE路由器唯一的数字。PE路由器将以太网段标识符(ESI)字段504设为针对ES定义的10个八位组的值。PE路由器将EVI标识符字段506设为客户VID或表示ES上的EVI的配置标签。如果使用配置标签,其具有与客户VID相同的特性;即,其在附接于ES的所有的PE路由器上具有相同的值,并且值对于在ES上配置的所有的EVI是唯一的。PE路由器将以太网标签ID字段508设置如下:如果EVI是基于VLAN的或VLAN捆绑服务,则以太网标签ID字段508被设为0;如果EVI是没有转换(without translation)的VLAN感知捆绑服务,则以太网标签ID字段508被设为[EVI,BD]的客户VID;并且如果EVI是具有转换的VLAN感知捆绑服务,则以太网ID标签字段508被设为[EVI,BD]的标准化以太网标签ID。PE路由器将多播源长度字段510设为多播源地址按位来说的长度。在(*,G)加入的情况下,PE路由器将多播源长度字段510设为0。多播源地址字段512是IGMP成员报告的源IP地址。在(*,G)加入的情况下,该字段不存在。PE路由器将多播组长度字段514设为多播组地址按位来说的长度。多播组地址字段516是IGMP成员报告的组地址。发起者路由器长度字段518是发起者路由器地址按位来说的长度。发起者路由器地址字段520是源于前缀的路由器的IP地址。标记字段522指示从中接收成员报告的IGMP协议的版本。其还指示多播组是否具有包含或排出位设置。
为了BGP路由密钥处理的目的,除了一个八位组的标记字段522之外,上述字段中的每一个被认为是NLRI中的前缀的一部分。对于标记字段522,最低有效位(位7)表示支持IGMP版本1。第二最低有效位(位6)表示支持IGMP版本2。第三最低有效位(位5)表示支持IGMP版本3。第四最低有效位(位4)表示在路由类型中携带的(S,G)信息是包含组类型(位值0)还是排出组类型(位值1)。如果不设置位5,则忽视排出组类型位。标记字段522帮助为给定多播路由分配给定主机或VM的IGMP成员利益。版本位帮助关联在EVPN域中参与的接收器的IGMP版本。包含/排除位帮助创建给定多播路由的过滤器。
图6是示出了根据本公开技术的BGP离开同步路由的示例性位图的框图。在图6的实例中,BGP离开同步路由包括8个八位组的路由区分符(RD)字段602、10个八位组的以太网段标识符字段604、4个八位组的EVI标识符字段606、4个八位组的以太网标签ID字段608、1个八位组的多播源长度字段610、可变长度多播源地址字段612、1个八位组的多播组长度字段614、可变长度多播组地址字段616、1个八位组的发起者路由器长度字段618、可变长度发起者路由器地址字段620、4个八位组的离开组同步&同步数字字段624;1个八位组的最大响应时间字段626;以及1个八位组的标记字段622。
通常,PE路由器利用值被设为其上接收IGMP加入的ES的ESI的ES输入路由目标扩展社区来通告BGP离开同步路由。通常,如上所述,根据RFC4364,PE路由器将RD字段602设置第1类的RD。RD字段602的值包括PE路由器的IP地址(通常,回调地址),后面是PE路由器唯一的数字。PE路由器将以太网段标识符(ESI)字段604设为针对ES定义的10个八位组的值。PE路由器将EVI标识符字段606设为客户VID或表示ES上的EVI的配置标签。如果PE路由器使用配置标签,配置标签应当具有与客户VID相同的特性,即,对附接于ES的所有的PE路由器具有相同的值并且该值对于在ES上配置的所有的EVI都是唯一的。PE路由器将以太网标签ID字段608设置如下:如果EVI是基于VLAN的或VLAN捆绑服务,则PE路由器将以太网标签ID字段608设为0;如果EVI是没有转换的VLAN感知捆绑服务,则PE路由器将以太网标签ID字段608设为[EVI,BD]的客户VID;并且如果EVI是具有转换的VLAN感知捆绑服务,则PE路由器将以太网标签ID字段608设为[EVI,BD]的标准化以太网标签ID。PE路由器将多播源长度字段610设为多播源地址按位来数的长度。在(*,G)加入的情况下,PE路由器将多播源长度字段610设为0。多播源地址字段612是IGMP成员报告的源IP地址。在(*,G)加入的情况下,该字段不存在。PE路由器将多播组长度字段614设为多播组地址按位来数的长度。多播组地址字段616是IGMP成员报告的组地址。发起者路由器长度字段618是发起者路由器地址按位来数的长度。发起者路由器地址字段620是源于前缀的路由器的IP地址。标记字段622表示从中接收成员报告的IGMP协议的版本。其还表示多播组是否具有包含或排除位设置。
为了BGP路由密钥处理的目的,除了最大响应时间字段626和一个八位组的标记字段622之外,上述字段中的每一个被认为是NLRI中的前缀的一部分。对于标记字段622,最低有效位(位7)表示支持IGMP版本1。第二最低有效位(位6)表示支持IGMP版本2。第三最低有效位(位5)表示支持IGMP版本3。第四最低有效位(位4)表示在路由类型中携带的(S,G)信息是包含组类型(位值0)还是排除组类型(位值1)。如果不设置位5,则忽视排除组类型位。标记字段622帮助对给定多播路由分配给定主机或VM的IGMP成员利益。版本位帮助关联在EVPN域中参与的接收器的IGMP版本。包含/排除位帮助创建给定多播路由的过滤器。
离开组同步&同步数字字段624和最大响应时间字段626用于确保接收第8类BGP离开同步路由的PE路由器接收有关IGMP离开消息的最新信息。如果PE路由器接收具有X的同步数字(X表示任何整数)的第一个第8类BGP离开同步路由,并且随后,PE路由器接收具有X+1的同步数字的第二个相同的第8类BGP离开同步路由,则PE路由器丢弃第一个第8类BGP离开同步路由并且处理第二个第8类BGP离开同步路由以确保一致性。
以下实例示出本文中描述的一个或多个技术:
实施例1.一种方法,包括:由以太网虚拟专用网络(EVPN)的以太网段中包括的多个PE路由器的第一供应商边缘(PE)路由器从对多个PE路由器多宿主并对以太网段执行负载均衡的第一客户边缘(CE)路由器接收多播组离开请求;以及响应于接收离开多播组的请求:由第一PE路由器确定第一PE路由器的路由信息库(RIB)表是否包括边界网关协议(BGP)加入同步路由,边界网关协议(BGP)加入同步路由用于使指定以太网段中包括的多个PE路由器中的一个的多播组加入请求同步;并且当确定第一PE路由器的RIB表包含BGP加入同步路由时,由第一PE路由器向以太网段包括的多个PE路由器的其他PE路由器发布用于使多播组离开请求同步的BGP离开同步路由。
实施例2.根据实施例1所述的方法,进一步包括由第一PE路由器向第一PE路由器的RIB表添加指定第一PE路由器的BGP离开同步路由。
实施例3.根据实施例1和2中任一项所述的方法,进一步包括,响应于接收离开多播组的请求:由第一PE路由器启动最后成员查询(LMQ)计时器;以及由第一PE路由器向以太网段包括的多个PE路由器的其他PE路由器发布LMQ消息。
实施例4.根据实施例3所述的方法,进一步包括:当LMQ计时器到期时:由第一PE路由器从第一PE路由器的RIB表中删除指定第一PE路由器的BGP离开同步路由;由第一PE路由器向以太网段包括的其他PE路由器发布撤销BGP离开同步路由;当确定第一PE路由器的RIB表包含指定第一PE路由器的BGP加入同步时,由第一PE路由器从第一PE路由器的RIB表中删除指定第一PE路由器的BGP加入同步路由;并且当确定第一PE路由器的RIB表不包含指定多个PE路由器的其他PE路由器的BGP加入同步路由时,由第一PE路由器从第一PE路由器的RIB表中删除针对多播组的转发状态。
实施例5.根据实施例1-4中任一项所述的方法,其中,离开多播组的请求是互联网组管理协议(IGMP)离开请求。
实施例6.一种方法,包括:由以太网虚拟专用网络(EVPN)的以太网段包括的多个PE路由器的第二供应商边缘(PE)路由器从以太网段包括的多个PE路由器的第一PE路由器中接收用于使多播组离开请求同步的边界网关协议(BGP)离开同步路由,其中,多个PE路由器被多宿主至第一客户边缘(CE)路由器;并且响应于接收BGP离开同步路由:由第二PE路由器启动针对多播组的最后成员查询(LMQ)计时器;以及由第二PE路由器向第二PE路由器的路由信息库(RIB)表添加BGP离开同步路由。
实施例7.根据实施例6所述的方法,其中,启动针对多播组的LMQ计时器包括当确定第二PE路由器的RIB表包含BGP加入同步路由时启动针对多播组的LMQ计时器。
实施例8.根据实施例6和7中任一项所述的方法,进一步包括:由第二PE路由器从对多个PE路由器多宿主并且对以太网段执行负载均衡的第一CE路由器接收加入多播组的请求;响应于加入请求,由第二PE路由器停止针对多播组的LMQ计时器;当确定第二PE路由器的RIB表具有BGP离开同步路由时,由第二PE路由器向以太网段包括的其他PE路由器发布撤销BGP离开同步路由;并且当确定第二PE路由器的RIB表没有指定第二PE路由器的BGP加入同步路由时,由第二PE路由器向RIB表添加指定第二PE路由器的BGP加入同步路由。
实施例9.根据实施例6-8中任一项所述的方法,进一步包括:由第二PE路由器从以太网段包括的多个PE路由器的第一PE路由器接收指定第一PE路由器的BGP加入同步路由;由第二PE路由器向第二PE路由器的RIB表中添加指定第一PE路由器的BGP加入同步路由;并且当确定第二PE路由器的RIB表具有BGP离开同步路由时:由第二PE路由器删除BGP离开同步路由;并且由第二PE路由器向以太网段包括的其他PE路由器发布撤销BGP离开同步路由。
实施例10.根据实施例6-9中任一项所述的方法,进一步包括:由第二PE路由器从第一PE路由器接收指定第一PE路由器的BGP加入同步路由的撤销;由第二PE路由器从第二PE路由器的RIB表中删除指定第一PE路由器的BGP加入同步路由;当确定第二PE路由器的RIB表没有指定以太网段包括的多个PE路由器的PE路由器的至少一个BGP加入同步路由时,由第二PE路由器从第二PE路由器的RIB表中删除针对第二PE路由器的转发状态;并且当确定第二PE路由器的RIB表具有BGP离开同步路由时,由第二PE路由器从第二PE路由器的RIB表中删除BGP离开同步路由。
实施例11.根据实施例6-10中的任一项所述的方法,进一步包括:由第二PE路由器从第一PE路由器接收BGP离开同步路由的撤销;以及由第二PE路由器从第二PE路由器的RIB表中删除BGP离开同步路由。
实施例12.根据实施例6-11中任一项所述的方法,进一步包括,当LMQ计时器到期时:当确定第二PE路由器的RIB表具有指定第二PE路由器的第一BGP加入同步路由时:由第二PE路由器删除第一BGP加入同步路由;并且由第二PE路由器向以太网段包括的多个PE路由器的其他PE路由器发布撤销第一BGP加入同步路由;当确定第二PE路由器的RIB表具有指定第一PE路由器的第二BGP加入同步路由时,由第二PE路由器将第二PE路由器的转发状态保留在第二PE路由器的RIB表中;并且当确定第二PE路由器的RIB表没有指定以太网段包括的多个PE路由器的PE路由器的至少一个BGP加入同步路由时,由第二PE路由器从第二PE路由器的RIB表中删除针对多播组的转发状态。
实施例13.一种以太网虚拟专用网络(EVPN)的以太网段包括的多个PE路由器的第一供应商边缘(PE)路由器,被配置为:从对多个PE路由器是多宿主的第一客户边缘(CE)路由器接收离开多播组的请求并且对以太网段执行负载均衡;并且响应于接收离开多播组的请求:确定第一PE路由器的路由信息库(RIB)表是否包括边界网关协议(BGP)加入同步路由,边界网关协议(BGP)加入同步路由用于使以太网段包括的多个PE路由器中的一个PE路由器的多播组加入请求同步;并且当确定第一PE路由器的RIB表包含BGP加入同步路由时,向以太网段包括的多个PE路由器的其他PE路由器发布用于使多播组离开请求同步的BGP离开同步路由。
实施例14.根据实施例13所述的第一PE路由器,其中,第一PE路由器进一步被配置为向第一PE路由器的RIB表添加指定第一PE路由器的BGP离开同步路由。
实施例15.根据实施例13和14中任一项所述的第一PE路由器,其中,第一PE路由器进一步被配置为响应于接收离开多播组的请求:开始最后成员查询(LMQ)计时器;并且向以太网段包括的多个PE路由器的其他PE路由器发布LMQ消息。
实施例16.根据实施例15所述的方法,其中,第一PE路由器进一步被配置为:当LMQ计时器到期时:从第一PE路由器的RIB表中删除指定第一PE路由器的BGP离开同步路由;向以太网段包括的其他PE路由器发布撤销BGP离开同步路由;当确定第一PE路由器的RIB表包含指定第一PE路由器的BGP加入同步时,从第一PE路由器的RIB表中删除指定第一PE路由器的BGP加入同步路由;并且当确定第一PE路由器的RIB表不包含指定多个PE路由器的其他PE路由器的BGP加入同步路由时,从第一PE路由器的RIB表中删除多播组的转发状态。
实施例17.根据实施例13-16中任一项的方法,其中,离开多播组的请求是互联网组管理协议(IGMP)离开请求。
实施例18.一种以太网虚拟专用网络(EVPN)的以太网段包括的多个PE路由器的第二供应商边缘(PE)路由器,被配置为:从以太网段包括的多个PE路由器的第一PE路由器接收边界网关协议(BGP)离开同步路由,边界网关协议(BGP)离开同步路由用于使多播组离开请求同步,其中,多个PE路由器对第一客户边缘(CE)路由器是多宿主的;并且响应于接收BGP离开同步路由:开始多播组的最后成员查询(LMQ)计时器;并且向第二PE路由器的路由信息库(RIB)表添加BGP离开同步路由。
实施例19.根据实施例18所述的第二PE路由器,其中,被配置为开始多播组的LMQ计时器的第二PE路由器进一步被配置为当确定第二PE路由器的RIB表包含BGP加入同步路由时开始多播组的LMQ计时器。
实施例20.根据实施例18和19中任一项所述的第二PE路由器,其中,第二PE路由器被设置为:从对多个PE路由器是多宿主的第一CE路由器接收加入多播组的请求并且对以太网段执行负载均衡;响应于加入请求,停止多播组的LMQ计时器;当确定第二PE路由器的RIB表具有BGP离开同步路由时,向以太网段包括的其他PE路由器发布撤销BGP离开同步路由;并且当确定第二PE路由器的RIB表没有指定第二PE路由器的BGP加入同步路由时,向RIB表添加指定第二PE路由器的BGP加入同步路由。
实施例21.根据实施例18-20中任一项所述的第二PE路由器,其中,第二PE路由器被设置为:从以太网段包括的多个PE路由器的第一PE路由器接收指定第一PE路由器的BGP加入同步路由;向第二PE路由器的RIB表添加指定第一PE路由器的BGP加入同步路由;并且当确定第二PE路由器的RIB表具有BGP离开同步路由时:删除BGP离开同步路由;并且向以太网段包括的其他PE路由器发布撤销BGP离开同步路由。
实施例22.根据实施例18-21中任一项所述的第二PE路由器,其中,第二PE路由器被设置为:从第一PE路由器接收指定第一PE路由器的BGP加入同步路由的撤销;从第二PE路由器的RIB表中删除指定第一PE路由器的BGP加入同步路由;当确定第二PE路由器的RIB表没有指定以太网段包括的多个PE路由器的PE路由器的至少一个BGP加入同步路由时,从第二PE路由器的RIB表中删除第二PE路由器的转发状态;并且当确定第二PE路由器的RIB表具有BGP离开同步路由时,从第二PE路由器的RIB表中删除BGP离开同步路由。
实施例23.根据实施例18-22中任一项所述的第二PE路由器,其中,第二PE路由器被设置为:从第一PE路由器接收BGP离开同步路由的撤销;并且从第二PE路由器的RIB表中删除BGP离开同步路由。
实施例24.根据实施例18-23中任一项所述的第二PE路由器,其中,第二PE路由器被设置为:当LMQ计时器到期时:当确定第二PE路由器的RIB表具有指定第二PE路由器的第一BGP加入同步路由时:删除第一BGP加入同步路由;并且向以太网段包括的多个PE路由器的其他PE路由器发布撤销第一BGP加入同步路由;当确定第二PE路由器的RIB表具有指定第一PE路由器的第二BGP加入同步路由时,将第二PE路由器的转发状态保留在第二PE路由器的RIB表中;并且当确定第二PE路由器的RIB表没有指定以太网段包括的多个PE路由器的PE路由器的至少一个BGP加入同步路由时,从第二PE路由器的RIB表中删除多播组的转发状态。
实施例25.一种包括指令的非暂时性计算机可读介质,当指令被执行时使以太网虚拟专用网络(EVPN)的以太网段包括的多个PE路由器的第一供应商边缘(PE)路由器:从对多个PE路由器是多宿主的第一客户边缘(CE)路由器接收离开多播组的请求并且对以太网段执行负载均衡;并且响应于接收离开多播组的请求:确定第一PE路由器的路由信息库(RIB)表是否包括边界网关协议(BGP)加入同步路由,边界网关协议(BGP)加入同步路由用于使以太网段包括的多个PE路由器中的一个PE路由器的多播组加入请求同步;并且当确定第一PE路由器的RIB表包含BGP加入同步路由时,向以太网段包括的多个PE路由器的其他PE路由器发布用于使多播组离开请求同步的BGP离开同步路由。
实施例26.一种包括指令的非暂时性计算机可读介质,当指令被执行时使以太网虚拟专用网络(EVPN)的以太网段包括的多个PE路由器的第二供应商边缘(PE)路由器:从以太网段包括的多个PE路由器的第一PE路由器接收边界网关协议(BGP)离开同步路由,边界网关协议(BGP)离开同步路由用于使多播组离开请求同步,其中,多个PE路由器对第一客户边缘(CE)路由器是多宿主的;并且响应于接收BGP离开同步路由:开始多播组的最后成员查询(LMQ)计时器;并且向第二PE路由器的路由信息库(RIB)表添加BGP离开同步路由。
本公开中描述的技术可至少部分地以硬件、软件、固件或其任何组合实现。例如,所描述的技术的各个方面可以在一个或多个处理器内实现,处理器包括一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或任何其它等效集成或分立逻辑电路以及这些组件的任何组合。术语“处理器”或“处理电路”通常可以指代前述逻辑电路中的任一项,单独地或与其他逻辑电路组合或任何其他等效电路。包括硬件的控制单元也可执行本公开的一个或多个技术。
此硬件、软件和固件可以在相同设备内或可以在单独设备内实现以支持本公开中描述的各种操作和功能。另外,所描述的单元、模块或组件中的任一项可以一起或单独实现为分立但是可互操作的逻辑设备。以模块或单元的形式描述不同特征的目的是突出不同功能方面且不一定暗示这些模块或单元必须通过单独硬件或软件组件来实现。确切地说,与一个或多个模块或单元相关联的功能可由单独的硬件或软件组件执行或者集成在共同的或单独的硬件或软件部件内。
本公开中所描述的技术也可在包含指令的计算机可读介质(例如,计算机可读储存介质)内实现或编码。例如,当执行指令时,在计算机可读存储介质中内嵌或编码的指令可以使可编程处理器或其它处理器执行该方法。计算机可读存储介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪存、硬盘、CD-ROM、软盘、盒式磁带、磁性介质、光学介质或其他计算机可读存储介质。

Claims (26)

1.一种用于传送多播组离开请求的方法,包括:
由以太网虚拟专用网络(EVPN)的以太网段中包括的多个供应商边缘PE路由器中的第一PE路由器,从多宿主到所述多个PE路由器并且对所述以太网段进行负载均衡的第一客户边缘(CE)路由器中接收所述多播组离开请求;以及
响应于接收离开多播组的请求:
由所述第一PE路由器确定所述第一PE路由器的路由信息库RIB表是否包含被用来使指定所述以太网段中包括的所述多个PE路由器中的一个PE路由器的多播组加入请求同步的边界网关协议BGP加入同步路由;并且
当确定所述第一PE路由器的所述RIB表包含所述BGP加入同步路由时,由所述第一PE路由器向所述以太网段中包括的所述多个PE路由器中的其他PE路由器发布被用来使所述多播组离开请求同步的BGP离开同步路由。
2.根据权利要求1所述的方法,进一步包括:由所述第一PE路由器将指定所述第一PE路由器的BGP离开同步路由添加到所述第一PE路由器的所述RIB表中。
3.根据权利要求1所述的方法,进一步包括:响应于接收离开所述多播组的请求:
由所述第一PE路由器启动最后成员查询LMQ计时器;以及
由所述第一PE路由器向所述以太网段中包括的所述多个PE路由器中的所述其他PE路由器发布LMQ消息。
4.根据权利要求3所述的方法,进一步包括:
当所述LMQ计时器到期时:
由所述第一PE路由器从所述第一PE路由器的所述RIB表中删除指定所述第一PE路由器的BGP离开同步路由;
由所述第一PE路由器向所述以太网段中包括的所述多个PE路由器中的所述其他PE路由器发布所述BGP离开同步路由的撤销;
当确定所述第一PE路由器的所述RIB表包含指定所述第一PE路由器的BGP加入同步路由时,由所述第一PE路由器从所述第一PE路由器的所述RIB表中删除指定所述第一PE路由器的所述BGP加入同步路由;并且
当确定所述第一PE路由器的所述RIB表不包含指定所述多个PE路由器中的其他PE路由器的BGP加入同步路由时,由所述第一PE路由器从所述第一PE路由器的所述RIB表中删除针对所述多播组的转发状态。
5.根据权利要求1-4中任一项所述的方法,其中,离开所述多播组的请求是互联网组管理协议(IGMP)离开请求。
6.一种用于传送多播组离开请求的方法,包括:
由以太网虚拟专用网络(EVPN)的以太网段中包括的多个供应商边缘PE路由器中的第二PE路由器从所述以太网段中包括的所述多个PE路由器中的第一PE路由器中接收被用来使所述多播组离开请求同步的边界网关协议BGP离开同步路由,其中,所述多个PE路由器被多宿主到第一客户边缘CE路由器;以及
响应于接收所述BGP离开同步路由:
由所述第二PE路由器启动针对多播组的最后成员查询LMQ计时器;以及
由所述第二PE路由器将所述BGP离开同步路由添加到所述第二PE路由器的路由信息库RIB表。
7.根据权利要求6所述的方法,其中,启动针对所述多播组的LMQ计时器包括:当确定所述第二PE路由器的所述RIB表包含BGP加入同步路由时启动针对所述多播组的所述LMQ计时器。
8.根据权利要求6所述的方法,进一步包括:
由所述第二PE路由器从多宿主到所述多个PE路由器并且对所述以太网段执行负载均衡的所述第一CE路由器中接收加入所述多播组的请求;
响应于加入请求,由所述第二PE路由器停止针对所述多播组的所述LMQ计时器;
当确定所述第二PE路由器的所述RIB表具有BGP离开同步路由时,由所述第二PE路由器向所述以太网段中包括的所述多个PE路由器中的其他PE路由器发布所述BGP离开同步路由的撤销;并且
当确定所述第二PE路由器的所述RIB表不具有指定所述第二PE路由器的BGP加入同步路由时,由所述第二PE路由器将指定所述第二PE路由器的所述BGP加入同步路由添加至所述RIB表。
9.根据权利要求6所述的方法,进一步包括:
由所述第二PE路由器从所述以太网段中包括的所述多个PE路由器中的所述第一PE路由器接收指定所述第一PE路由器的BGP加入同步路由;
由所述第二PE路由器将指定所述第一PE路由器的所述BGP加入同步路由添加至所述第二PE路由器的所述RIB表中;并且
当确定所述第二PE路由器的所述RIB表具有BGP离开同步路由时:
由所述第二PE路由器删除所述BGP离开同步路由;并且
由所述第二PE路由器向所述以太网段中包括的所述多个PE路由器中的其他PE路由器发布所述BGP离开同步路由的撤销。
10.根据权利要求6所述的方法,进一步包括:
由所述第二PE路由器从所述第一PE路由器中接收指定所述第一PE路由器的BGP加入同步路由的撤销;
由所述第二PE路由器从所述第二PE路由器的所述RIB表中删除指定所述第一PE路由器的所述BGP加入同步路由;
当确定所述第二PE路由器的所述RIB表不具有指定所述以太网段中包括的所述多个PE路由器中的PE路由器的至少一个BGP加入同步路由时,由所述第二PE路由器从所述第二PE路由器的所述RIB表中删除针对所述第二PE路由器的转发状态;并且
当确定所述第二PE路由器的所述RIB表具有BGP离开同步路由时,由所述第二PE路由器从所述第二PE路由器的所述RIB表中删除所述BGP离开同步路由。
11.根据权利要求6-10中的任一项所述的方法,进一步包括:
由所述第二PE路由器从所述第一PE路由器接收所述BGP离开同步路由的撤销;以及
由所述第二PE路由器从所述第二PE路由器的所述RIB表中删除所述BGP离开同步路由。
12.根据权利要求6所述的方法,进一步包括:当所述LMQ计时器到期时:
当确定所述第二PE路由器的所述RIB表具有指定所述第二PE路由器的第一BGP加入同步路由时:
由所述第二PE路由器删除所述第一BGP加入同步路由;并且
由所述第二PE路由器向所述以太网段中包括的所述多个PE路由器中的其他PE路由器发布所述第一BGP加入同步路由的撤销;
当确定所述第二PE路由器的所述RIB表具有指定所述第一PE路由器的第二BGP加入同步路由时,由所述第二PE路由器将针对所述第二PE路由器的转发状态保留在所述第二PE路由器的所述RIB表中;并且
当确定所述第二PE路由器的所述RIB表不具有指定所述以太网段中包括的所述多个PE路由器的PE路由器的至少一个BGP加入同步路由时,由所述第二PE路由器从所述第二PE路由器的所述RIB表中删除针对所述多播组的转发状态。
13.一种以太网虚拟专用网络(EVPN)的以太网段中包括的多个供应商边缘PE路由器中的第一PE路由器,被配置为:
从多宿主到所述多个PE路由器并且对所述以太网段进行负载均衡的第一客户边缘(CE)路由器中接收离开多播组的请求;以及
响应于接收离开所述多播组的请求:
确定所述第一PE路由器的路由信息库RIB表是否包含被用来使指定所述以太网段中包括的所述多个PE路由器中的一个PE路由器的多播组加入请求同步的边界网关协议BGP加入同步路由;并且
当确定所述第一PE路由器的所述RIB表包含所述BGP加入同步路由时,向所述以太网段中包括的所述多个PE路由器中的其他PE路由器发布被用来使离开所述多播组的请求同步的BGP离开同步路由。
14.根据权利要求13所述的第一PE路由器,其中,所述第一PE路由器进一步被配置为将指定所述第一PE路由器的BGP离开同步路由添加到所述第一PE路由器的所述RIB表中。
15.根据权利要求13所述的第一PE路由器,其中,所述第一PE路由器进一步被配置为:响应于接收离开所述多播组的请求:
启动最后成员查询LMQ计时器;以及
向所述以太网段中包括的所述多个PE路由器中的所述其他PE路由器发布LMQ消息。
16.根据权利要求15所述的第一PE路由器,其中,所述第一PE路由器进一步被配置为:
当所述LMQ计时器到期时:
从所述第一PE路由器的所述RIB表中删除指定所述第一PE路由器的BGP离开同步路由;
向所述以太网段中包括的所述多个PE路由器中的所述其他PE路由器发布所述BGP离开同步路由的撤销;
当确定所述第一PE路由器的所述RIB表包含指定所述第一PE路由器的BGP加入同步路由时,从所述第一PE路由器的所述RIB表中删除指定所述第一PE路由器的所述BGP加入同步路由;并且
当确定所述第一PE路由器的所述RIB表不包含指定所述多个PE路由器中的其他PE路由器的BGP加入同步路由时,
从所述第一PE路由器的所述RIB表中删除针对所述多播组的转发状态。
17.根据权利要求13-16中任一项所述的第一PE路由器,其中,离开所述多播组的请求是互联网组管理协议(IGMP)离开请求。
18.一种以太网虚拟专用网络(EVPN)的以太网段中包括的多个供应商边缘PE路由器中的第二PE路由器,被配置为:
从所述以太网段中包括的所述多个PE路由器中的第一PE路由器中接收被用来使多播组离开请求同步的边界网关协议BGP离开同步路由,其中,所述多个PE路由器被多宿主到第一客户边缘CE路由器;以及
响应于接收所述BGP离开同步路由:
启动针对多播组的最后成员查询LMQ计时器;以及
将所述BGP离开同步路由添加到所述第二PE路由器的路由信息库RIB表。
19.根据权利要求18所述的第二PE路由器,其中,被配置为启动针对所述多播组的所述LMQ计时器的所述第二PE路由器进一步被配置为:当确定所述第二PE路由器的所述RIB表包含BGP加入同步路由时启动针对所述多播组的所述LMQ计时器。
20.根据权利要求18所述的第二PE路由器,其中,所述第二PE路由器被配置为:
从多宿主到所述多个PE路由器并且对所述以太网段执行负载均衡的所述第一CE路由器中接收加入所述多播组的请求;
响应于加入请求,停止针对所述多播组的所述LMQ计时器;
当确定所述第二PE路由器的所述RIB表具有BGP离开同步路由时,向所述以太网段中包括的所述多个PE路由器中的其他PE路由器发布所述BGP离开同步路由的撤销;并且
当确定所述第二PE路由器的所述RIB表不具有指定所述第二PE路由器的BGP加入同步路由时,将指定所述第二PE路由器的所述BGP加入同步路由添加至所述RIB表。
21.根据权利要求18所述的第二PE路由器,其中,所述第二PE路由器被配置为:
从所述以太网段中包括的所述多个PE路由器中的所述第一PE路由器接收指定所述第一PE路由器的BGP加入同步路由;
将指定所述第一PE路由器的所述BGP加入同步路由添加至所述第二PE路由器的所述RIB表中;并且
当确定所述第二PE路由器的所述RIB表具有BGP离开同步路由时:
删除所述BGP离开同步路由;并且
向所述以太网段中包括的所述多个PE路由器中的其他PE路由器发布所述BGP离开同步路由的撤销。
22.根据权利要求18所述的第二PE路由器,其中,所述第二PE路由器被配置为:
从所述第一PE路由器中接收指定所述第一PE路由器的BGP加入同步路由的撤销;
从所述第二PE路由器的所述RIB表中删除指定所述第一PE路由器的所述BGP加入同步路由;
当确定所述第二PE路由器的所述RIB表不具有指定所述以太网段中包括的所述多个PE路由器中的PE路由器的至少一个BGP加入同步路由时,从所述第二PE路由器的所述RIB表中删除针对所述第二PE路由器的转发状态;并且
当确定所述第二PE路由器的所述RIB表具有BGP离开同步路由时,从所述第二PE路由器的所述RIB表中删除所述BGP离开同步路由。
23.根据权利要求18和19中的任一项所述的第二PE路由器,其中,所述第二PE路由器被配置为:
从所述第一PE路由器接收所述BGP离开同步路由的撤销;以及
从所述第二PE路由器的所述RIB表中删除所述BGP离开同步路由。
24.根据权利要求18所述的第二PE路由器,其中,所述第二PE路由器被配置为:当所述LMQ计时器到期时:
当确定所述第二PE路由器的所述RIB表具有指定所述第二PE路由器的第一BGP加入同步路由时:
删除所述第一BGP加入同步路由;并且
向所述以太网段中包括的所述多个PE路由器中的其他PE路由器发布所述第一BGP加入同步路由的撤销;
当确定所述第二PE路由器的所述RIB表具有指定所述第一PE路由器的第二BGP加入同步路由时,将针对所述第二PE路由器的转发状态保留在所述第二PE路由器的所述RIB表中;并且
当确定所述第二PE路由器的所述RIB表不具有指定所述以太网段中包括的所述多个PE路由器中的PE路由器的至少一个BGP加入同步路由时,从所述第二PE路由器的所述RIB表中删除针对所述多播组的转发状态。
25.一种非暂时性计算机可读介质,存储指令,所述指令在被执行时,使以太网虚拟专用网络(EVPN)的以太网段中包括的多个供应商边缘PE路由器中的第一PE路由器:
从多宿主到所述多个PE路由器并且对所述以太网段进行负载均衡的第一客户边缘(CE)路由器中接收离开多播组的请求;以及
响应于接收离开所述多播组的请求:
确定所述第一PE路由器的路由信息库RIB表是否包含被用来使指定所述以太网段中包括的所述多个PE路由器中的一个PE路由器的多播组加入请求同步的边界网关协议BGP加入同步路由;并且
当确定所述第一PE路由器的所述RIB表包含所述BGP加入同步路由时,向所述以太网段中包括的所述多个PE路由器中的其他PE路由器发布用来使离开所述多播组的请求同步的BGP离开同步路由。
26.一种非暂时性计算机可读介质,存储指令,所述指令在被执行时,使以太网虚拟专用网络(EVPN)的以太网段中包括的多个供应商边缘PE路由器中的第二PE路由器:
从所述以太网段中包括的所述多个PE路由器中的第一PE路由器中接收被用来使多播组离开请求同步的边界网关协议BGP离开同步路由,其中,所述多个PE路由器被多宿主到第一客户边缘(CE)路由器;以及
响应于接收所述BGP离开同步路由:
启动针对多播组的最后成员查询(LMQ)计时器;以及
将所述BGP离开同步路由添加到所述第二PE路由器的路由信息库(RIB)表。
CN201710624701.6A 2016-07-29 2017-07-27 Pe路由器之间传送多播组离开请求的方法和pe路由器 Active CN107666397B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
IN201641026020 2016-07-29
IN201641026020 2016-07-29
US15/281,362 US10230535B2 (en) 2016-07-29 2016-09-30 Communicating IGMP leave requests between load-balanced, multi-homed provider-edge routers in an ethernet virtual private network
US15/281,362 2016-09-30

Publications (2)

Publication Number Publication Date
CN107666397A CN107666397A (zh) 2018-02-06
CN107666397B true CN107666397B (zh) 2020-08-28

Family

ID=61009263

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710624701.6A Active CN107666397B (zh) 2016-07-29 2017-07-27 Pe路由器之间传送多播组离开请求的方法和pe路由器

Country Status (2)

Country Link
US (1) US10230535B2 (zh)
CN (1) CN107666397B (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10164876B2 (en) 2016-12-09 2018-12-25 Cisco Technology, Inc. Efficient multicast traffic forwarding in EVPN-based multi-homed networks
US10142239B2 (en) * 2017-02-27 2018-11-27 Juniper Networks, Inc. Synchronizing multicast state between multi-homed routers in an Ethernet virtual private network
US11228869B2 (en) * 2017-03-31 2022-01-18 Intel Corporation Roadway communication system with multicast
US10536370B2 (en) * 2017-08-08 2020-01-14 Dell Products Lp Method and system to avoid temporary traffic loss with BGP ethernet VPN multi-homing with data-plane MAC address learning
US10425325B2 (en) * 2017-10-30 2019-09-24 Dell Products Lp Optimizing traffic paths to orphaned hosts in VXLAN networks using virtual link trunking-based multi-homing
US10536285B2 (en) * 2018-01-25 2020-01-14 Juniper Networks, Inc. Multicast join message processing by multi-homing devices in an ethernet VPN
CN108632125B (zh) * 2018-04-23 2020-12-29 新华三技术有限公司 一种组播表项管理方法、装置、设备及机器可读存储介质
US10728155B2 (en) * 2018-07-13 2020-07-28 Dell Products L.P. Inter-datacenter multicast system
CN111447130B (zh) * 2019-01-16 2021-12-14 华为技术有限公司 一种连通性检测会话的创建方法、网络设备和系统
US11057317B2 (en) * 2019-09-26 2021-07-06 Juniper Networks, Inc. Synchronizing multicast router capability towards ethernet virtual private network (EVPN) multi-homed protocol independent multicast (PIM) device
CN116782336A (zh) * 2019-10-22 2023-09-19 华为技术有限公司 一种通信方法及装置
US11212217B2 (en) * 2019-10-30 2021-12-28 Dell Products L.P. Spanning tree enabled link aggregation system
US11165598B2 (en) * 2019-12-20 2021-11-02 Juniper Networks, Inc. Source-active community for improved multicasting
CN111246430B (zh) * 2020-01-20 2023-08-18 中国铁道科学研究院集团有限公司电子计算技术研究所 面向铁路智能客运车站的网络平台及其构建方法
US11184276B1 (en) * 2020-05-08 2021-11-23 Ciena Corporation EVPN signaling using segment routing
US20220094637A1 (en) * 2020-09-23 2022-03-24 Nokia Solutions And Networks Oy Neighbor discovery for border gateway protocol in a multi-access network
US11552821B2 (en) * 2020-12-15 2023-01-10 Arista Networks, Inc. Spanning tree protocol with ethernet virtual private network all-active multihoming
US11323279B1 (en) * 2021-03-09 2022-05-03 Juniper Networks, Inc. Internet group management protocol host mobility in ethernet virtual private network multicast networks
CN115277302A (zh) * 2021-04-30 2022-11-01 中兴通讯股份有限公司 Df选举模式切换方法、信息发送方法、pe设备、介质
CN113938446B (zh) * 2021-09-23 2024-05-14 浪潮思科网络科技有限公司 一种基于mlag环境的组播表项同步方法及设备
US11528157B1 (en) * 2021-11-19 2022-12-13 Arista Networks, Inc. Fast convergence for multicast traffic on multilink failover
CN115277535B (zh) * 2022-09-30 2022-12-16 紫光恒越技术有限公司 Vpn路由的处理方法、装置、电子设备及可读存储介质
CN115955439B (zh) * 2023-03-13 2023-05-23 苏州浪潮智能科技有限公司 数据报文的传输控制方法、系统、装置及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102801632A (zh) * 2012-08-28 2012-11-28 盛科网络(苏州)有限公司 Pim-sm指定路由器和igmp查询器的统一选举方法
CN103944836A (zh) * 2013-01-18 2014-07-23 国际商业机器公司 在削减的接口上的多播流量转发
CN104202409A (zh) * 2014-09-12 2014-12-10 成都卫士通信息产业股份有限公司 一种负载均衡的ssl vpn设备集群系统及其工作方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120243536A1 (en) * 2011-03-22 2012-09-27 Media Patents, S.L. Method and apparatus for transmitting and receiving multicast data in social networks
WO2013067466A1 (en) * 2011-11-03 2013-05-10 Huawei Technologies Co., Ltd. Border gateway protocol extension for the host joining/leaving a virtual private network
US20150055662A1 (en) 2013-08-20 2015-02-26 International Business Machines Corporation Internet group management protocol (igmp) leave message processing synchronization
US9935783B2 (en) * 2016-01-07 2018-04-03 Juniper Networks, Inc. System for avoiding traffic flooding due to asymmetric MAC learning and achieving predictable convergence for PBB-EVPN active-active redundancy
US10009364B2 (en) * 2016-03-25 2018-06-26 Cisco Technology, Inc. Gathering flow characteristics for anomaly detection systems in presence of asymmetrical routing
US10757121B2 (en) * 2016-03-25 2020-08-25 Cisco Technology, Inc. Distributed anomaly detection management
US10291434B2 (en) * 2016-07-26 2019-05-14 Avago Technologies International Sales Pte. Limited Multi-destination packet forwarding for a multi-homed device in a virtual network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102801632A (zh) * 2012-08-28 2012-11-28 盛科网络(苏州)有限公司 Pim-sm指定路由器和igmp查询器的统一选举方法
CN103944836A (zh) * 2013-01-18 2014-07-23 国际商业机器公司 在削减的接口上的多播流量转发
CN104202409A (zh) * 2014-09-12 2014-12-10 成都卫士通信息产业股份有限公司 一种负载均衡的ssl vpn设备集群系统及其工作方法

Also Published As

Publication number Publication date
CN107666397A (zh) 2018-02-06
US20180034648A1 (en) 2018-02-01
US10230535B2 (en) 2019-03-12

Similar Documents

Publication Publication Date Title
CN107666397B (zh) Pe路由器之间传送多播组离开请求的方法和pe路由器
CN108512739B (zh) 以太网虚拟专用网络中的多宿主路由器之间的组播状态
EP3070877B1 (en) Evpn inter-subnet multicast forwarding
EP3518463B1 (en) Multicast join message processing by multi-homing devices in an ethernet vpn
US10193812B2 (en) Multicast load balancing in multihoming EVPN networks
CN108880970B (zh) 端口扩展器的路由信令和evpn收敛
EP3065342B1 (en) Update of mac routes in evpn single-active topology
US11539619B1 (en) Local-bias forwarding of L2 multicast, unknown unicast, and broadcast traffic for an ethernet VPN
EP3264694A1 (en) Signaling ip address mobility in ethernet virtual private networks
EP3264690A1 (en) Bridge for connecting layer 2 and layer 3 virtual networks
US9860169B1 (en) Neighbor resolution for remote EVPN hosts in IPV6 EVPN environment
US10033539B1 (en) Replicating multicast state information between multi-homed EVPN routing devices
EP3276895B1 (en) Communicating igmp leave requests between load-balanced, multi-homed provider-edge routers in an ethernet virtual private network
CN111064596A (zh) 对于用于多宿主节点故障的bum流量的节点保护
EP3396897B1 (en) Multicast load balancing in multihoming evpn networks
CN115118545B (zh) 以太网虚拟专用网多播网络中的组管理协议主机移动性
EP3151486A1 (en) Fast convergence of evpn networks for multi homing topologies
EP3190752A1 (en) Method, system and medium for avoiding traffic flooding due to asymmetric mac learning and achieving predictable convergence for pbb-evpn active-active redundancy

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: California, USA

Patentee after: Juniper Networks, Inc.

Address before: California, USA

Patentee before: Jungle network

CP01 Change in the name or title of a patent holder