多重归宿EVPN网络中的多播负载均衡的制作方法

文档序号:15743711发布日期:2018-10-23 22:43阅读:323来源:国知局

本申请要求于2017年7月20日提交的美国申请第15/655,210号的权益,这个申请要求于2017年3月31日提交的印度临时专利申请第201741011652号的权益,每个申请的全部内容通过引用并入本文。

技术领域

本发明涉及计算机网络,并且更具体地涉及以太网虚拟专用网络(EVPN)。



背景技术:

计算机网络是可以交换数据和共享资源的互连计算设备的集合。示例计算设备包括在开放系统互连(OSI)参考模型的第二层(即,数据链路层)内操作的路由器、交换机或其他第二层(L2)设备以及在OSI参考模型的第三层(即,网络层)内操作的路由器或其他第三层(L3)设备。计算机网络内的网络设备通常包括为网络设备提供控制平面功能的控制单元和用于路由或切换数据单元的转发组件。

可以使用以太网虚拟专用网络(“EVPN”)以透明方式通过中间L3网络(通常称为“提供者网络”)来扩展两个或更多个远程L2客户网络,即,就好像中间L3网络不存在。具体地,EVPN经由中间L3网络在客户网络之间传输L2通信,诸如以太网分组或“帧”。在典型配置中,耦合到客户网络的客户边缘(“CE”)网络设备的提供者边缘(“PE”)网络设备(例如,路由器和/或交换机)定义提供者网络内的标签交换路径(LSP)用于承载封装的L2通信,就好像这些客户网络直接附接到相同的局域网(LAN)。在一些配置中,PE设备也可以通过IP基础设施连接,在这种情况下,可以在网络设备之间使用IP/GRE隧道或其他IP隧道。



技术实现要素:

一般而言,本公开描述了用于对将多播业务转发到以太网虚拟专用网络(EVPN)中的两个或更多个多重归宿提供者边缘(PE)路由器与客户边缘(CE)路由器之间的主动-主动以太网段(ES)中的责任进行负载均衡的技术。

例如,在EVPN中,CE路由器通常经由ES多重归宿到两个或更多个PE路由器,ES表现为到CE路由器的链路聚合组(LAG)。在这种情况下,PE路由器中的第一PE路由器通常从CE路由器接收对多播组的加入请求,并且向ES上的其他PE路由器发送加入同步路由以同步多播组的多播状态。根据所公开的技术并且与传统技术不同,每个PE路由器可以确定性地确定PE路由器是否被配置为选定多播转发器以将多播组的多播业务转发到CE路由器,而不管哪个PE路由器是以太网段的指定转发器(DF)或非指定转发器(非DF)。被确定为由加入请求的特定多播组的多播转发器的多重归宿PE的PE路由器继续进行以将这个特定组的多播业务转发到主动-主动以太网段中,而不管已经被选定作为特定以太网段的指定转发器的特定PE路由器。

在一个示例中,一种方法包括:由使用以太网虚拟专用网络(EVPN)实例被配置的多个提供者边缘(PE)路由器中的PE路由器接收多播组的因特网组管理协议(IGMP)加入报告,EVPN实例由将多个PE设备连接到客户边缘(CE)路由器的以太网段可达,CE路由器通过以太网段多重归宿到多个PE路由器。该方法还包括由PE路由器向多个PE路由器发送用于跨以太网段同步多播组的IGMP加入报告的一个或多个边界网关协议(BGP)加入同步路由。该方法还包括由PE路由器确定性地确定PE路由器是否被配置为作为多个多播组中的至少一个多播组的选定多播转发器。该方法还包括:响应于确定PE路由器被配置为多个多播组之一的选定多播转发器,由PE路由器配置PE路由器的转发状态以将多个多播组之一的多播业务转发到以太网段中并且忽略以太网段的指定的转发器选定。该方法还包括由PE路由器从多个PE路由器中的入口PE路由器接收多播业务。该方法还包括由PE路由器将多播业务转发到多个多播组之一的以太网段中。

在另一示例中,一种提供者边缘(PE)路由器包括:存储器;以及可操作地耦合到存储器的一个或多个处理器,其中一个或多个处理器和存储器被配置为:接收配置数据,配置数据使用以太网虚拟专用网络(EVPN)实例配置PE路由器,EVPN实例由将包括PE路由器的多个PE设备连接到客户边缘(CE)路由器的以太网段可达,CE路由器通过以太网段多重归宿到多个PE路由器;接收多播组的因特网组管理协议(IGMP)加入报告;向多个PE路由器发送用于跨以太网段同步多播组的IGMP加入报告的一个或多个边界网关协议(BGP)加入同步路由;确定性地确定PE路由器是否被配置为多个多播组之一的选定多播转发器;响应于确定PE路由器被配置为多个多播组之一的选定多播转发器,配置PE路由器的转发状态以将多个多播组之一的多播业务转发到以太网段中并且忽略以太网段的指定的转发器选定;从多个PE路由器中的入口PE路由器接收多播业务;以及将多播业务转发到多个多播组之一的以太网段中。

在另一示例中,一种计算机可读存储介质,包括用于引起一个或多个可编程处理器执行以下操作的指令:接收配置数据,配置数据使用以太网虚拟专用网络(EVPN)实例配置PE路由器,EVPN实例由将包括PE路由器的多个PE设备连接到客户边缘(CE)路由器的以太网段可达,CE路由器通过以太网段多重归宿到多个PE路由器。

接收多播组的因特网组管理协议(IGMP)加入报告;向多个PE路由器发送用于跨以太网段同步多播组的IGMP加入报告的一个或多个边界网关协议(BGP)加入同步路由;确定性地确定PE路由器是否被配置为多个多播组之一的选定多播转发器;响应于确定PE路由器被配置为多个多播组之一的选定多播转发器,配置PE路由器的转发状态以将多个多播组之一的多播业务转发到以太网段中并且忽略以太网段的指定的转发器选定;从多个PE路由器中的入口PE路由器接收多播业务;以及将多播业务转发到多个多播组之一的以太网段中。

在附图和下面的描述中阐述了这些技术的一个或多个方面的细节。本公开的技术的其他特征、目的和优点将从说明书和附图以及权利要求中显而易见。

附图说明

图1是示出根据本公开中描述的技术的用于执行将多播业务转发到以太网虚拟专用网络中的两个或更多个多重归宿提供者边缘路由器之间的主动-主动以太网段中的负载均衡责任的示例网络系统的框图;

图2是示出根据本公开中描述的技术的用于执行将多播业务转发到以太网虚拟专用网络中的两个或更多个多重归宿提供者边缘路由器之间的主动-主动以太网段中的负载均衡责任的另一示例网络系统的框图;

图3是示出根据本公开中描述的技术的提供者边缘路由器的示例的框图;

图4是示出根据本公开中描述的技术的提供者边缘路由器的示例操作的流程图;以及

图5是示出根据本公开中描述的技术的提供者边缘路由器的另一示例操作的流程图。

贯穿附图和文本,相同的附图标记表示相同的元件。

具体实施方式

图1是示出根据本公开中描述的技术的用于执行将多播业务转发到以太网虚拟专用网络(EVPN)中的两个或更多个多重归宿提供者边缘(PE)路由器之间的主动-主动以太网段中的负载均衡责任的示例网络系统2的框图。

如图1所示,网络系统2包括客户网络6和服务提供者网络12(本文中替代地称为“EVPN核12”),服务提供者网络12被配置为托管EVPN核以将客户网络6连接到其他远程客户网络或其他网络资源(在图1中未示出)。服务提供者网络12的PE路由器10A-10C(“PE路由器10”)经由CE路由器8向与客户网络6相关联的客户设备4提供对服务提供者网络12的访问。通信链路16A-16C(“通信链路16”)可以是以太网、异步传输模式(ATM)或任何其他合适的网络连接。图1所示的网络系统2的配置仅仅是一个示例。例如,企业网络系统可以包括多于一个客户网络。尽管如此,为了便于描述,图1中仅示出了单个客户网络6。

在图1的示例中,PE路由器10和CE路由器8每个可以表示路由器。然而,本公开的技术可以使用参与L2虚拟专用网络(“L2VPN”)服务(诸如EVPN)的交换机或其他合适的网络设备来实现。客户网络6可以是企业的地理上分离的站点的网络。客户网络6包括客户设备4,诸如一个或多个非边缘交换机、路由器、集线器、网关、安全设备、诸如防火墙、入侵检测和/或入侵防护设备、服务器、计算机终端、膝上型计算机、打印机、数据库、无线移动设备、诸如蜂窝电话或个人数字助理、无线接入点、网桥、电缆调制解调器、应用加速器或其他网络设备。

虽然为了便于解释而未示出附加的网络设备,但是应当理解,网络系统2可以包括附加的网络和/或计算设备,诸如例如一个或多个附加的交换机、路由器、集线器、网关、安全设备、诸如防火墙、入侵检测和/或入侵防护设备、服务器、计算机终端、膝上型计算机、打印机、数据库、无线移动设备、诸如蜂窝电话或个人数字助理、无线接入点、网桥、电缆调制解调器、应用加速器或其他网络设备。此外,服务提供者网络12可以耦合到图1中未示出的一个或多个计算机网络。此外,虽然网络系统2的元件被示出为直接耦合,但是应当理解,沿着所示出的链路16A-16C中的任一个可以包括一个或多个附加的网络元件,使得系统2的网络元件不直接耦合。

服务提供者网络12表示由服务提供者拥有并且操作的公众可访问的计算机网络,服务提供者通常是大型电信实体或公司。服务提供者网络12可以是L3计算机网络,其中对之后是数字的层的引用是指OSI模型中的对应的层。服务提供者网络12是L3网络,因为它本身支持OSI模型中描述的L3操作。常见的L3操作包括根据诸如因特网协议(IP)等L3协议执行的操作。L3在OSI模型中也被称为“网络层”,并且术语L3在整个本公开中可以与短语“网络层”可互换地使用。

服务提供者网络12通常提供多种住宅和商业服务,包括住宅和商业类数据服务(其通常被称为“因特网服务”,因为这些数据服务允许访问被称为因特网的公众可访问的网络的集合)、住宅和商业类电话和/或语音服务、住宅和商业类电视服务。由服务提供者网络12提供的一种这样的商业数据服务包括EVPN服务。例如,EVPN是提供跨中间L3网络(诸如服务提供者网络12)的一种形式的L2连接以互连通常位于两个不同的地理区域中的两个L2客户网络(诸如客户网络6和另一远程客户网络(未示出))的服务。通常,EVPN对于客户网络是透明的,因为这些客户网络不知道介入的中间服务提供者网络,而是好像这两个客户网络直接连接并且形成单个L2网络地运行和操作。以这种方式,EVPN在两个地理上距离较远的客户站点之间实现一种形式的透明LAN连接(其中每个客户站点操作L2网络),并且因此EVPN也可以被称为“透明LAN服务”。

EVPN可以在多协议标签交换(MPLS)配置的网络上操作并且使用MPLS标签来相应地转发网络业务。MPLS是一种根据由网络中的路由器维持的路由信息来构建IP网络内的业务模式的机制。通过利用诸如标签分发协议(LDP)或具有流量工程扩展的资源预留协议(RSVP-TE)等MPLS协议,源设备可以请求通过网络到目的地设备的路径,即标签交换路径(LSP)。LSP定义用于将MPLS分组从源设备承载到目的地设备的通过网络的不同路径。使用MPLS协议,沿着LSP的每个路由器分配标签,并且将标签沿着路径传播到最近的上游路由器。沿着路径的路由器添加或移除标签并且执行其他MPLS操作以沿着建立的路径转发MPLS分组。关于EVPN协议的附加信息在2015年2月的“因特网工程任务组(IETF)”的RFC 7432的“BGP MPLS-Based Ethernet VPN”中进行了描述,其全部内容通过引用并入本文。

为了配置EVPN,服务提供者网络12的网络操作者经由配置或管理接口来配置被包括在服务提供者网络12内的与L2客户网络6对接的各种设备。EVPN配置可以包括EVPN实例(“EVI”),其包括一个或多个广播域。EVPN实例被配置在客户网络6的服务提供者网络12内,以使得客户网络6内的客户设备4能够经由EVI与其他客户设备通信,就好像客户设备经由L2网络直接连接。在一些示例中,EVI可以与PE路由器(诸如PE路由器10A-10C中的任何一个)上的虚拟路由和转发实例(“VRF”)相关联。因此,可以在以太网段(例如,以太网段14)的PE路由器10A-10C上配置多个EVI,每个EVI提供单独的逻辑L2转发域。这样,可以配置多个EVI,每个EVI包括一个或多个PE路由器10A-10C。

例如,以太网段14可以包含包括PE路由器10A-10C的第一EVI和仅包括PE路由器10A和10B的第二EVI。在一些示例中,然后使用以太网标签来标识EVI中的特定广播域,例如VLAN。PE路由器可以通告每个<以太网段标识符(ESI),以太网标签>组合唯一的EVPN标签。这个标签指派方法被称为每<ESI,以太网标签>标签指派。替代地,PE路由器可以通告每个媒体访问控制(MAC)地址唯一的EVPN标签。在又一示例中,PE路由器可以为给定EVI中的所有MAC地址通告相同的单个EVPN标签。这种标签指派方法被称为每EVI标签指派。

在一个示例中,为了在主动-主动以太网段中操作以太网段14,PE路由器10A-10C为多重归宿以太网段14执行EVPN指定的转发器选定。在EVPN中,CE路由器在耦合到驻留在相同的物理以太网段上并且在同一EVI上的两个或更多个物理上不同的PE路由器时被称为是“多重归宿”。例如,CE路由器8分别经由链路16A-16C耦合到PE路由器10A-10C,其中PE路由器10A-10C能够经由CE路由器8向L2客户网络6提供对EVPN的访问。多重归宿网络通常由网络操作者使用,以便在链路16A-16C之一出现故障时改善对由服务提供者网络12提供的EVPN的访问。当CE路由器被多重归宿到两个或更多个PE路由器时,取决于多重归宿操作模式,使用一个或全部多重归宿PE路由器来到达客户站点。承担向CE路由器转发广播、单播和/或多播(BUM)业务的主要角色的PE路由器被称为指定的转发器(“DF”或“DF路由器”)。在典型的EVPN配置中,多重归宿PE路由器参与以太网段14的每个以太网段标识符(ESI)的DF选定。

在图1的示例中,当向客户网络6提供EVPN服务时,PE路由器10A-10C和CE路由器8通常执行MAC地址获知以高效地转发服务提供者网络12中的L2网络通信。也就是说,由于PE路由器10A-10C和CE路由器8转发以太网帧,所以路由器获知L2网络的L2状态信息,包括网络内的客户设备4的MAC地址信息和客户设备4可达的物理端口。PE路由器10A-10C和CE路由器8通常将MAC寻址信息存储在与相应接口相关联的MAC表中。在转发在一个接口上接收的个体以太网帧时,路由器通常将以太网帧广播到与EVPN相关联的所有其他接口,除非路由器先前已经获知了在以太网帧中指定的目的地MAC地址可达的特定接口。在这种情况下,路由器将以太网帧的单个副本从相关联的接口转发出去。

如下面进一步描述的,由于PE路由器10A-10C获知通过本地附接电路可达的客户设备4的MAC地址,因此PE路由器10A-10C利用L3路由协议的MAC地址路由通告(例如,边界网关协议(BGP))来共享获知的MAC地址,并且提供MAC地址通过发出路由通告的特定PE路由器可达的指示。在针对给定EVI使用PE路由器10A-10C实现的EVPN中,PE路由器10A-10C中的每个使用BGP路由器通告(在本文中也被称为“MAC路由”或“MAC通告路由”)将本地获知的MAC地址通告给其他PE路由器10。MAC通告路由通常指定客户设备4的个体MAC地址以及附加转发信息,诸如路由描述符、路由目标、层2段标识符、MPLS标签等。以这种方式,PE路由器10使用BGP来通告并且共享在转发与EVPN相关联的第二层通信时获知的MAC地址。因此,PE路由器10可以执行MAC地址的本地获知和远程获知。关于BGP的其他示例信息在如上引用的RFC 7432的“BGP MPLS-Based Ethernet VPN”中描述。

在图1的示例中,源设备11作为要通过EVPN传递给客户设备4的多播业务的源24操作。一般来说,多播网络业务与特定多播组相关联。更具体地,多播业务通常由特定多播组和多播组的特定源的唯一组合来指定。例如,诸如特定的多播内容流等多播网络业务24可以用(源,组)(即,(S,G))标签唯一地指定,以指定业务源和业务所属的多播组。以太网段14的PE路由器10A-10C可以使用因特网组管理协议(IGMP)将多播组成员信息传送给相邻路由器以建立用于路由目的的多播组状态。例如,以太网段14的PE路由器10A-10C可以使用IGMP协议来从连接到CE路由器8的主机或接收器(例如,客户设备4)接收加入和离开消息。在从主机接收到订阅特定多播组的成员资格的通知之后,PE路由器10A-10C中的一个使用以太网多播源组路由网络层可达性信息(NLRI)通过EVPN将这个信息转发给以太网段14的其他PE路由器10。NLRI还跟踪接收者的IGMP协议版本以及给定组成员资格的任何源过滤。因此,以太网段14的PE路由器10A-10C可以被通知组成员信息并且基于多播业务的(S,G)标签将所请求的多播组的多播网络业务路由到CE设备8。IGMP的附加细节在以下各项中提供:1989年8月的Internet Engineering Task Force(IETF)的RFC 1112的“Internet Extensions for IP Multicasting”;1997年11月的Internet Engineering Task Force(IETF)的RFC 2236的“Internet Group Messaging Protocol,Version 2”;2002年10月的Internet Engineering Task Force(IETF)的RFC 3376的“Internet Group Management Protocol,Version 3”;以及2006年8月的Internet Engineering Task Force(IETF)的RFC 4604的“Using Internet Group Management Protocol Version 3(IGMPv3)and Multicast Listener Discovery Protocol Version 2(MLDv2)for Source-Specific Multicast”;以及2016年10月28日的draft-saassi-bess-evpn-igmp-mld-proxy-01的“IGMP and MLD Proxy for EVPN”,其全部内容通过引用并入本文。

在图1的示例中,以太网段14被配置为以全活动冗余模式操作。在全活动冗余模式中,附接到以太网段14的PE路由器10A-10C中的每个被配置为转发业务去往和来自客户网络6。当以这种模式操作时,PE路由器10A-10C中的任何一个可以从客户网络6接收业务,并且可以从CE路由器8接收IGMP加入报告20A-20C(统称为“IGMP加入报告20”或“IGMP成员报告20”)中相应的一个。在接收到IGMP加入报告20中的相应的一个之后,附接到以太网段14的PE路由器10A-10C中的每个将多播组成员信息传送到相邻PE路由器,使得相邻PE路由器可以跨以太网段14同步IGMP加入和离开组状态。IGMP加入和离开组状态可以表示为(x,G),其中对于以太网段14上的每个EVI,“x”可以是任何源(*)或特定源(S),并且“G”是多播组。例如,PE路由器10A可以接收IGMP加入报告20A,IGMP加入报告20A向PE路由器10A通知客户设备4正在订阅的成员资格,例如第一多播组。PE路由器10A可以经由IGMP加入同步路由将来自IGMP加入报告20A的信息传送给PE路由器10B和10C,如下面进一步描述的。PE路由器10B和10C可以接收IGMP加入同步路由并且同步IGMP加入组状态,使得PE路由器10A-10C可以将通过EVPN核12接收的多播业务24转发到对应的多播组。通过同步IGMP加入和离开组状态,针对特定以太网段、EVPN实例和桥接域(BD)(在下文中,“[ES,EVI,DB]”)的DF(例如,路由器10B)可以正确地通告或撤销针对这个多播组的多播业务到EVPN核的路由。

PE路由器10使用具有不同路由类型(本文中称为“EVPN路由”)的控制平面信令来实现服务提供者网络12中的EVPN服务。EVPN定义BGP NLRI,并且具体地,定义不同的路由类型。NLRI使用BGP多协议扩展在BGP中承载。EVPN路由类型包括但不限于每个以太网分段路由(类型-1)、MAC通告路由(类型-2)、包括性多播以太网标签(IMET)(类型-3)、以太网段路由(类型-4)和BGP加入同步路由(类型-7)的以太网自动发现(AD)。

PE设备10A-10D可以通告指定用于EVI的以太网段的相关ESI的以太网AD路由(类型-1)。也就是说,PE 10中的每个可以通告每个以太网段的以太网AD路由以通告以太网段的PE设备的可达性。例如,由PE设备10A-10D中的每个通告的以太网AD路由指定路由辨识符(RD)(其可以包括例如始发PE的因特网协议(IP)地址)、ESI、以太网标签标识符和MPLS标签。根据RFC 7432,以太网AD路由通告还可以包括ESI标签扩展团体属性,以实现多重归宿站点的水平分割过程。因为以太网段14中的每个被多重归宿到多个PE10,所以以太网段14的相应ESI非零并且在系统2内是唯一的。

如上所述,每个PE 10可以通告MAC通告路由(类型2)以描述MAC地址状态。也就是说,每个PE 10可以交换描述由PE设备获知的以太网段的MAC地址的可达性的MAC通告路由。例如,由每个PE设备10A-10D通告的MAC通告路由指定RD、ESI、以太网标签标识符、主机设备的MAC地址(和/或主机设备的IP地址)和MPLS标签。

为了使得连接到相同以太网段14的PE 10能够自动发现彼此,并且为了每个ES的指定的转发器选定的目的,PE 10的每个PE通告由PE多重归宿的每个以太网段的以太网段路由(类型4)。例如,PE10A为以太网段14A和14B中的每个通告以太网段路由。例如,以太网段路由指定路由辨识符、以太网段标识符和始发路由器的网络地址。

在一些示例中,PE路由器10A-10C可以通告类型-7BGP路由以描述多播状态。类型-7BGP路由(在本文中也被称为“BGP加入同步路由”)用于在以太网段的PE路由器之间协调或同步多播加入同步请求。换言之,当以单个或全活动冗余模式操作时,EVPN可以使用类型-7路由来在附接到给定ES的每个PE路由器之间协调给定EVI的IGMP加入(x,G)状态。类型-7路由指示PE路由器已经接收到加入ES上的多播组的IGMP加入请求。当PE路由器之一从CE路由器接收到以太网段上的IGMP加入报告时,其发送具有ESI值的BGP类型-7路由。以太网段上的每个附加的多重归宿PE路由器导入类型-7路由,并且基于类型-7路由同步其IGMP状态。

在图1的示例中,PE路由器10可以接收报告具有特定多播组的客户设备4的成员资格的IGMP加入报告20。PE路由器10可以发送具有ESI值的相应的类型-7BGP加入同步路由22A-22C以向以太网段14上的其他PE路由器通知具有特定多播组的用户设备4的成员资格。

在一个示例中,PE路由器10A可以接收报告具有第一多播组的客户设备4的成员资格的IGMP加入报告20A。PE路由器10A可以发送具有ESI值的类型-7BGP加入同步路由22A和22C以分别向PE路由器10B和10C通知具有第一多播组的客户设备4的成员资格。PE路由器10B和10C每个可以导入相应的类型-7BGP加入同步路由,并且创建将客户设备4与第一多播组相关联的IGMP加入状态。

类似地,PE路由器10B和10C每个可以分别接收分别报告具有第二和第三多播组的用户设备4的成员资格的IGMP加入报告20B和20C。PE路由器10B和10C每个可以向以太网段14的其他PE路由器发送类型-7BGP加入同步路由,使得可以向其他PE路由器10通知具有第二和第三多播组的客户设备4的成员资格。响应于交换类型-7BGP加入同步路由,PE路由器10A-10C中的每个可以为第一、第二和第三多播组创建IGMP加入状态。

在图1的示例中,EVPN内的PE路由器10可以利用BGP NLRI(诸如包括性多播以太网标签(IMET)路由(类型-3))来建立通过EVPN核转发和接收多播业务的路径。通过利用IMET,跨越这个EVPN实例中的VLAN的每个PE路由器10可以通过EVPN核12从源PE设备11的入口PE路由器10D接收多播业务24。也就是说,通过利用IMET,入口PE路由器10D可以通过EVPN核12向所有PE路由器10A-10C洪泛多播业务24。关于IMET的附加信息在2014年10月18日的draft-ietf-12vpn-evpn-11的Internet Draft的“BGP MPLS-Based Ethernet VPN”中描述,其全部内容通过引用并入本文。

在图1的示例中,PE路由器10A-10C属于以太网段14。在这个示例中,PE路由器10B已经被选定作为用于将来自EVPN核12的网络业务转发到以太网段14中的DF。因此,PE路由器10B通常是负责将来自EVPN核的多播业务24转发到所有多播组的以太网段14中的唯一的PE路由器。在一个示例中,入口PE路由器10D可以基于IMET配置通过EVPN核来向PE路由器10A-10C中的每个洪泛多播业务24。非指定转发器(例如,PE路由器10A和10C)通常会丢弃通过EVPN核接收的多播业务24,其否则将导致网络12内的EVPN核带宽的浪费利用。

作为DF的PE路由器10B可能由于转发用于所有多播组的多播业务而变得过载。尽管非指定转发器具有可用带宽,但是指定的转发器配置没有充分利用可以为多播业务提供负载均衡的可用带宽。

根据本文中描述的技术,PE路由器10A-10C中的每个可以确定性地确定哪个PE路由器将要被配置为特定多播组的选定多播转发器,而不管哪个PE路由器是以太网段的指定的转发器或非指定转发器。

如上所述,PE路由器10A可以接收客户设备4在其中正在向第一多播组报告其成员资格的IGMP加入报告20A,PE路由器10B可以接收客户设备4在其中正在向第二多播组报告其成员资格的IGMP加入报告20B,并且PE路由器10C可以接收用户设备4在其中正在向第三多播组报告其成员资格的IGMP加入报告20C。PE路由器10A-10C中的每个可以交换类型-7路由,使得PE路由器10A-10C中的每个可以创建IGMP加入状态以同步多播组和IGMP加入报告所属的EVI。

例如,除了交换类型-7BGP加入同步路由之外,根据本文中描述的技术,PE路由器10A-10C中的每个还可以基于多个示例技术来另外确定是否要将PE路由器配置为特定多播组的选定多播转发器。在一些示例中,算法的一个示例实现可以包括将特定多播组的网络地址(例如,因特网协议地址)除以ESI上的多重归宿PE路由器的数目。除法的结果可以为PE路由器10A-10C提供PE路由器可以被选定作为特定多播组的多播转发器的指示。在一些示例中,示例算法可以包括应用模数操作以确定在多播组网络地址除以以太网段14的多重归宿PE路由器(例如,PE路由器10A-10C)的数目之后的余数,并且使用余数作为PE路由器10A-10C中的哪个应当作为特定组的多播转发器操作的指示符。在一些示例中,算法可以通过将散列应用于不同组中的每个组来得到由不同的多重归宿PE路由器10A-10C选定的不同组的加入计数。在任何情况下,这个算法的结果都可以标识PE路由器10A-10C中的哪个负责将多播业务转发到特定多播组。

作为一个示例,PE路由器10A可以应用这个算法,并且可以确定例如PE路由器10A将要被配置为第二多播组的选定多播转发器。类似地,PE路由器10B和10C每个可以应用这个算法,并且可以确定例如PE路由器10B和10C将要被分别配置为第三和第一多播组的选定多播转发器。

响应于确定哪个PE路由器被选定作为特定多播组的多播转发器,PE路由器10A-10C中的每个可以配置其转发状态以转发对应的多播组的多播业务并且忽略指定的转发器选定算法。例如,响应于确定PE路由器10A是第二多播组的选定多播转发器,PE路由器10A可以配置其转发状态以将多播业务26A转发到第二多播组的主动-主动以太网段14中,而不管它是否是非指定转发器。类似地,PE路由器10C可以配置其转发状态以转发第一多播组的多播业务26C,而不管它是否是非指定转发器。

PE路由器10B可以基于这个算法确定PE路由器10B是第三多播组的选定多播转发器。PE路由器10B可以配置其转发状态以忽略指定的转发器选定算法,并且仅转发第三多播业务组的多播业务26B,而不管它是否为PE路由器10A-10C的指定的转发器。对于不是特定多播组的选定多播转发器的PE路由器,PE路由器不会将业务转发到CE路由器8,以避免发送重复的业务。

以这种方式,以太网段14的PE路由器10A-10C中的每个可以被选定作为特定多播组的多播转发器,使得PE路由器可以转发多播业务,而不管哪个PE路由器是指定的转发器或非指定转发器。通过为特定多播组选定多播转发器,可以跨多重归宿环境的多个PE路由器对多播业务进行负载均衡。

在一些示例中,在实现IMET的网络中,PE路由器10可以交换至少包括多播标识符的扩展的IMET路由(类型-3)。入口PE路由器10D可以将多播业务配置为包括多播标识符作为多播标签。一旦接收到扩展的类型-3路由,PE路由器10可以从包括多播标识符的扩展的IMET路由中确定业务被标识为多播业务。在一个示例中,IMET路由可以被扩展为包括默认网关扩展团体,包括可以用于将分组类型指示为多播的多播标识符。关于默认网关扩展团体的附加信息在上面提到的RFC 7432的“BGP MPLS-Based Ethernet VPN”中描述。

在一些示例中,PE路由器10A可以接收附加的多播组的新的IGMP加入报告20D。PE路由器10A可以确定PE路由器10A是否具有转发附加的多播组的业务的能力。如果PE路由器10A确定它不具有发送用于附加的多播组的多播业务的能力,则PE路由器10A可以配置例如扩展的类型-7路由以通知其他PE路由器10排除将PE路由器10A选定作为附加的多播组的多播转发器。在一些示例中,类型-7BGP加入同步路由可以被扩展为包括在2017年3月27日的draft-ieft-bess-evpn-igmp-mld-proxy-00的Internet Draft的Section 7.5的“IGMP and MLD Proxy for EVPN”中描述的EVI-RT扩展团体,以包括关于PE路由器10A将要被排除在多播转发器的选定之外的指示。以这种方式,以太网段14的PE路由器的子集(例如,PE路由器10B和10C)可以接收PE路由器可以为其仅从PE路由器的子集中选定附加的多播组的多播转发器的扩展的类型-7路由。以这种方式,PE路由器10A被排除在多播转发选定之外。

图2是示出根据本公开中描述的技术的用于执行将多播业务转发到以太网虚拟专用网络中的两个或更多个多重归宿提供者边缘路由器之间的主动-主动以太网段中的负载均衡责任的另一示例网络系统2的框图。图2的网络系统2类似于图1的网络系统2,除下面描述的内容。

在图2的示例中,PE路由器10可以使用选择性多播以太网标签(SMET)路由来建立路径以通过EVPN核12选择性地转发和接收多播业务。与入口PE路由器10D向所有PE路由器10A-10C洪泛多播业务的IMET不同,SMET为PE路由器10提供承载解决方案,以通过发送类型-6路由选择性地转发和接收来自入口PE路由器10D的多播业务。类型-6路由指示PE路由器支持SMET路由。在图2的示例中,例如,出口PE路由器(例如,PE路由器10A-10C中的任何一个)可以发送通告多播源地址、多播组地址和出口PE路由器的网络地址的类型-6路由28A-28C(统称为“类型-6路由28”)中的相应的类型-6路由。作为响应,入口PE路由器10D可以将特定多播组的多播业务转发到发送类型-6路由的出口PE路由器。例如,PE路由器10A可以发送类型-6路由28A,以请求入口PE路由器10D转发特定多播组的多播业务。作为响应,因为PE路由器10A已经发送类型-6路由,所以入口PE路由器10D可以将多播业务转发到特定多播组的PE路由器10A。SMET的另外的示例在2015年10月17日的draft-sajassi-bess-evpn-igmp-mld-proxy-00的Internet Draft的“IGMP and MLD Proxy for EVPN”中描述,其全部内容通过引用并入本文。

作为EVPN的指定转发器的PE路由器10B通常向入口PE路由器10D发送多个类型-6路由以请求每个多播组的业务。入口PE路由器10D可以基于SMET配置响应于类型-6路由向PE路由器10B发送多播业务。相比之下,当非指定转发器(例如,PE路由器10A和10C)发送类型-6路由以请求来自入口PE路由器10D的多播业务时,非指定转发器可以接收多播业务,但是可以不转发多播业务,这会不必要地消耗EVPN核带宽。

如图1所示,指定的转发器可能会因为转发所有多播组的业务而过载。尽管非指定转发器具有可用带宽,但是指定的转发器配置没有充分利用可以为多播业务提供负载均衡的可用带宽。

根据本文中描述的技术,PE路由器10A-10C中的每个可以确定性地确定PE路由器是否将要被配置为特定多播组的选定多播转发器,而不管哪个PE路由器是指定的转发器或非指定转发器。除了基于算法确定PE路由器是否将要被选定作为特定多播组的多播转发器之外,PE路由器还可以发送相应的类型-6路由28A-28C以请求来自入口PE路由器10D的特定多播组的多播业务。

例如,如上所述,PE路由器10A-10C可以接收用户设备4在其中正在向特定多播组报告其成员资格的相应的IGMP加入报告20。PE路由器10A-10C可以交换类型-7路由以基于IGMP加入报告20来同步IGMP加入状态,使得PE路由器10A-10C中的每个可以创建包括第一、第二和第三多播组的IGMP加入状态。

PE路由器10A-10C中的每个可以运行用于确定性地确定PE路由器是否可以被配置为特定多播组的选定多播转发器的算法。例如,PE路由器10A可以运行上述算法,并且确定例如PE路由器10A将要被配置为第二多播组的选定多播转发器。PE路由器10B和10C中的每个可以运行这个算法,并且分别确定例如PE路由器10B和10C将要被配置为第三多播组和第一多播组的选定多播转发器。

如果PE路由器10A-10C中的每个确定它是选定多播转发器,则PE路由器10A-10C中的每个可以配置其转发状态以忽略指定的转发器计算,使得PE路由器可以将多播业务转发到特定多播组的活动-活动以太网段14中,而不管哪个PE路由器是指定的转发器或非指定转发器。

在图2的示例中,PE路由器可以另外发送类型-6路由以从入口PE路由器10D请求接收PE路由器已经为其被选定为多播转发器的特定多播业务组的多播业务。例如,如果PE路由器10A被确定为第二多播组的选定多播转发器,则PE路由器10A可以将类型-6路由28A发送到入口PE路由器10D以请求将第二多播组的多播业务发送回到PE路由器10A。以这种方式,特定多播组的选定多播转发器而不是指定的转发器(例如,PE设备10B)可以获取特定多播组的多播业务。以这种方式,指定的转发器不再负责为所有多播组发送类型-6路由和接收多播业务。

在实现SMET的网络中,入口PE路由器10D可以通过EVPN核12将多播业务30A-30C选择性地转发到发送类型-6路由的PE路由器10A-10C中的对应的PE路由器。继续上面的示例,入口PE路由器10D可以响应于由PE路由器10A发送的类型-6路由28A将第二多播组的多播业务30A转发到PE路由器10A。类似地,入口PE路由器10D可以响应于由PE路由器10C发送的类型-6路由28C将第一多播组的多播业务30C转发到PE路由器10C。在接收到第二多播组的多播业务时,PE路由器10A和10C代替作为非指定转发器将多播业务丢弃,可以将第二多播组和第一多播组的多播业务分别转发到以太网段14中。

入口PE路由器10D还可以响应于由PE路由器10B发送的类型-6路由28B将第三多播组的多播业务30B转发到PE路由器10B。PE路由器10B代替作为指定转发器转发所有多播组的多播业务,可以仅将第三多播组的多播业务转发到以太网段14中。以这种方式,通过为特定多播组选定多播转发器,多播业务可以跨多重归宿环境的PE路由器被负载均衡。

图3是示出根据本公开的技术的EVPN内的示例PE路由器200的框图。通常,PE路由器200关于图1-2的PE路由器10A-10C中的任何一个进行描述。在这个示例中,PE路由器200包括经由入站链路228A-228N(“入站链路228”)接收分组并且经由出站链路230A-230N(“出站链路230”)发送分组的接口卡226A-226N(“IFC226”)。IFC 226通常经由多个接口端口(未示出)耦合到链路228、230。PE路由器200还包括控制单元202,控制单元202确定所接收的分组的路由并且相应地经由IFC 226转发分组。

控制单元202包括路由引擎204和转发引擎222。路由引擎204作为用于PE路由器200的控制平面而操作,并且包括为多个并发进程的执行提供多任务操作环境的操作系统。例如,路由引擎204执行软件指令以实现一个或多个控制平面联网协议212。例如,协议212可以包括一个或多个路由协议,诸如用于与其他路由设备交换路由信息并且用于更新路由信息206的BGP 220、多协议标签交换(MPLS)协议214和因特网组管理协议(IGMP)221。路由协议守护进程(RPD)208执行协议212。路由引擎204还包括多播状态表207。多播状态表207维持PE路由器200所属的多个多播组的IGMP状态数据。

另外,路由引擎204与其他路由器通信以建立和维持EVPN,诸如图1的EVPN,以用于通过中间L3网络传输L2通信,以便通过中间L3网络在逻辑上扩展以太网网络。在实现EVPN时,可以通过与远程PE设备交换包含MAC地址的BGP消息来在控制平面在执行L2MAC获知。例如,路由引擎204使用记录在路由信息206中的信息来组成描述路由和可达性的消息,转发引擎222将这些消息发送到EVPN内的其他PE路由器200。在一些示例中,路由引擎204根据诸如BGP协议220等路由协议来组成这样的路由和可达性消息。关于EVPN和BGP协议的附加的示例信息在如上所述的RFC 7432的“BGP MPLS-Based Ethernet VPN”中描述。

被包括在转发引擎222中的转发信息224可以包括查找结构。给定关键字,诸如地址,查找结构可以提供一个或多个值。在一些示例中,一个或多个值可以是一个或多个下一跳。下一跳可以被实现为微码,其在被执行时执行一个或多个操作。一个或多个下一跳可以被“链式连接”,使得一组链式连接的下一跳在被执行时针对相应不同的下一跳执行一组操作。这样的操作的示例可以包括将一个或多个服务应用于分组,丢弃分组,和/或使用由一个或多个下一跳所标识的接口和/或接口来转发分组。

路由信息206可以描述PE路由器200驻留在其中的计算机网络的拓扑,并且还可以包括通过计算机网络中的共享树的路由。路由信息206描述计算机网络内的各种路由以及每个路由的合适的下一跳,即沿着每个路由的相邻的路由设备。路由引擎204分析存储在路由信息206中的信息并且生成转发引擎222的转发信息,其存储在转发信息224中。转发信息224可以将例如某些多播组的网络目的地与特定的下一跳以及输出链路230的对应的IFC 226和物理输出端口相关联。转发信息224可以是被编程到专用转发芯片、一系列表格、复杂数据库、链接列表、基数树、数据库、平面文件或各种其他数据结构中的基数树。

如果PE路由器200(DF或非DF PE路由器)在以全活动冗余模式操作的给定的多重归宿以太网段上接收(x,G)的IGMP加入报告,则它确定IGMP加入报告所属的EVI。如果PE路由器200在PE路由器200的路由信息206中尚未具有这个ES上的这个EVI的本地IGMP加入(x,G)状态,则PE路由器200在多播状态表207中实例化本地IGMP加入(x,G)状态,在路由信息206中安装BGP类型-7路由,例如BGP加入同步路由,并且将这个[ES,EVI,BD]的BGP类型-7路由通告给以太网段上的其他PE路由器。在这个示例中,本地IGMP加入(x,G)状态是指作为处理(x,G)的IGMP加入报告的结果而创建的IGMP加入(x,G)状态。

BGP加入同步路由承载接收IGMP成员资格报告的ES的ES导入路由目标(RT)。PE路由器200向附接到这个ES的所有PE路由器发出BGP加入同步路由。因此,附接到ES的所有PE路由器接收BGP加入同步路由,但是没有附接到ES的PE路由器不接收BGP加入同步路由。

如果PE路由器200(DF或非DF PE路由器)从相同ES上的对等PE路由器接收BGP加入同步路由,则PE路由器200将这个路由安装在路由信息206中。如果PE路由器200尚未具有这个ES上的这个EVI的IGMP加入(x,G)状态,则PE路由器在多播状态表207中实例化这个IGMP加入(x,G)状态。换言之,PE路由器200的IGMP加入(x,G)状态是PE路由器已经发起BGP加入同步路由的多播组以及PE路由器已经接收(和安装)BGP加入同步路由的多播组。如果DF当前没有通告(发起)这个EVI中的这个(x,G)组的BGP加入同步路由,则DF现在可以这样做。

PE路由器200可以在配置和启动时执行指定的转发器选定算法以确定PE路由器(例如,PE路由器10A-10C)中的一个成为以太网段14的一个或多个EVI的指定转发器的顺序(例如,“指定的转发器顺序”)。PE路由器10A-10C中的每个执行相同的指定的转发器算法,以确保PE路由器10A-10C中的每个确定相同的顺序。例如,PE路由器10A的路由引擎204可以向PE路由器10B-10C发送一个或多个控制平面消息。在一些示例中,路由引擎204使用诸如BGP等层3协议来发送控制平面消息。控制平面消息可以请求来自其他PE路由器的信息,诸如与每个PE路由器相关联的网络地址。

路由引擎204可以确定PE路由器10A-10C成为指定的转发器的相应顺序。例如,路由引擎204可以使用散列函数,散列函数将包括给定PE路由器的网络地址和公共VLAN标签的值作为输入。散列函数的输出可以是给定PE路由器的散列码。路由引擎204可以生成一组散列码,每个相应PE路由器一个散列码。在一些示例中,路由引擎204可以按照顺序(例如,上升或下降)对这组散列码进行排序。路由引擎204然后可以确定指定的转发器是例如与对应于顺序的最小索引的散列码相关联的PE路由器。例如,顺序可以具有从0...n的索引。因此,顺序的最小索引可以是0。

根据本公开的技术,PE路由器200可以包括用于确定性地确定PE路由器200是否是特定多播组的选定多播转发器的选定多播转发器模块210。例如,选定多播转发器模块210可以基于算法确定PE路由器200是否将要被选定作为特定多播组的多播转发器,并且可以转发特定多播组的多播业务,而不管哪个PE路由器是以太网段的DF或非DF。

在一些示例中,选定多播转发器模块210可以运行将存储在多播状态表207中的多播组的组网络地址除以以太网段中的多重归宿PE路由器的数目的算法。参考图1,选定多播转发器模块210可以运行将组网络地址除以3(即,以太网段14中的多重归宿PE路由器的数目)的算法。算法的结果可以指示PE路由器10A-10C中的哪个服务特定多播组服务。

在一些示例中,选定多播转发器模块210可以基于模数操作来运行算法。例如,当PE路由器被标识为模数操作的结果时,选定多播转发器模块210可以选定PE路由器200作为以太网段14上的特定多播组的选定多播转发器。例如,选定多播转发器模块210可以确定多播组网络地址除以以太网段14的多重归宿PE路由器(例如,PE路由器10A-10C)的数目之后的余数,并且将余数用作PE路由器200是否应当作为特定组的多播转发器来操作的指示符。

在一些示例中,选定多播转发器模块210可以通过将散列应用于不同组中的每个组来得到由不同的多重归宿PE路由器10A-10C选定的不同组的加入计数。例如,选定多播转发器模块210可以生成一组散列码,每个多播组一个散列码。选定多播转发模块210可以按照顺序(例如,上升或下降)对这组散列码进行排序。然后,选定多播转发器模块210可以确定特定多播组的选定多播转发器是例如与对应于顺序的最小索引的散列码相关联的PE路由器。

响应于确定PE路由器200是否将要被配置为特定多播组的选定多播转发器,选定多播转发器模块210可以例如配置PE路由器200以忽略指定的转发器顺序并且向特定多播组转发多播业务。也就是说,当转发特定多播组的多播业务时,PE路由器200可以依赖于选定多播转发器算法而不是指定的转发器算法。

图4是示出根据本公开中描述的技术的提供者边缘路由器的示例操作的流程图。为了说明的目的,图4关于作为图1的PE路由器10A操作的图3的PE路由器200进行描述。虽然下面描述的示例是关于PE路由器10A来说明的,但是图1中的PE路由器10中的任何一个可以执行所描述的示例。

PE路由器10A可以接收包括用户设备4的特定多播组的成员资格信息的IGMP加入报告(402)。例如,PE路由器10A可以经由任何入站链路228从客户设备4接收IGMP加入报告20A,入站链路228可以包括客户设备4已经加入第一多播组的信息。PE路由器10A可以从IGMP加入报告中确定IGMP加入报告所属的EVI。在接收到IGMP加入报告之后,PE路由器10A可以在其多播状态表207中实例化IGMP加入状态以包括第一多播组。

PE路由器10A可以向其他PE路由器10发送类型-7BGP加入同步路由以同步加入状态(404)。例如,响应于接收到IGMP加入报告,PE路由器10A可以在路由信息206中安装类型-7BGP路由,例如BGP加入同步路由,并且可以经由任何出站链路230向以太网段14上的其他PE路由器10(例如,PE路由器10B和10C)通告类型-7BGP路由。PE路由器10A可以向附接到以太网段14的所有PE路由器发出BGP加入同步路由,使得附接到以太网段14的每个PE可以接收BGP加入同步路由,并且利用被包括在BGP加入同步路由中的信息在其多播状态表中实例化其IGMP加入状态。虽然未示出,但是PE路由器10A也可以从其他PE路由器10接收类型-7BGP加入同步路由,使得PE路由器10A可以利用被包括在所接收的BGP加入同步路由中的信息实例化其IGMP加入状态。

PE路由器10A可以确定性地确定PE路由器10A是否将要被配置为一个或多个特定多播组的选定多播转发器(406)。例如,PE路由器10A可以包括用于运行用于确定性地确定PE路由器10A是否将要被配置为一个或多个特定多播组的选定多播转发器的算法的选定多播转发器模块210。以太网段中的其他远程PE路由器可以运行用于确定远程PE路由器将要转发其多播业务的其他特定多播组的算法。

响应于确定PE路由器10A将要被配置为一个或多个特定多播组的选定多播转发器,PE路由器10A可以配置其转发状态以忽略DF计算并且转发PE路由器10A是其选定多播转发器的一个或多个多播组的多播业务(408)。例如,转发引擎222可以被配置为忽略为以太网段14配置的指定转发器顺序。以这种方式,PE路由器10A可以将多播业务转发到一个或多个特定多播组,而不管PE路由器10A是指定转发器还是非指定转发器。

PE路由器10A可以通过EVPN核12经由入站链路226之一接收多播业务(410)。例如,在IMET配置中,入口PE路由器10D可以通过EVPN核将多播业务洪泛到包括PE路由器10A的所有PE路由器。

PE路由器10A可以基于新配置的转发状态将所接收的多播业务转发到一个或多个特定多播组的以太网段14中(412)。例如,响应于通过EVPN核12接收到多播业务,PE路由器10A可以将多播业务转发到特定多播组的以太网段14中,而不是像非指定转发器通常所需要的那样丢弃多播业务。也就是说,PE路由器10A可以忽略指定的转发器计算,并且继续转发一个或多个特定多播业务组的多播业务。在PE路由器10A是指定的转发器的一些示例中,PE路由器10A可以仅转发其已经被选定作为多播转发器的一个或多个特定多播组的多播业务,而不是转发所有PE路由器10的业务。

在一些示例中,PE路由器10A可以确定它不被配置为选定多播转发器。在这个示例中,PE路由器10A可以基于指定的转发器计算继续转发多播业务(414)。例如,如果PE路由器10A是非指定转发器并且没有被配置为选定多播转发器,则PE路由器10A丢弃通过EVPN核接收的多播业务。

图5是示出根据本公开中描述的技术的提供者边缘路由器的另一示例操作的流程图。为了说明的目的,图5关于作为图2的PE路由器10A操作的图3的PE路由器200进行描述。虽然下面描述的示例是相对于PE路由器10A示出的,但是任何PE路由器10都可以执行所描述的示例。

PE路由器10A可以接收包括用户设备4的特定多播组的成员资格信息的IGMP加入报告(502)。例如,PE路由器10A可以从客户设备4经由任何入站链路228接收IGMP加入报告20A,IGMP加入报告20A可以包括客户设备4已经加入第一多播组的信息。PE路由器10A可以从IGMP加入报告中确定IGMP加入报告所属的EVI。PE路由器10A可以在其多播状态表207中实例化IGMP加入状态以包括第一多播组。

PE路由器10A可以向其他PE路由器10发送类型-7BGP加入同步路由以同步加入状态(504)。例如,响应于接收到IGMP加入报告,PE路由器10A可以在路由信息206中安装类型-7BGP路由(例如BGP加入同步路由),并且可以经由任何出站链路230向以太网段14上的其他PE路由器10(例如,PE路由器10B和10C)通告类型-7BGP路由。PE路由器10A可以向附接到以太网段14的所有PE路由器发出BGP加入同步路由,使得附接到以太网段14的每个PE路由器可以接收BGP加入同步路由,并且利用被包括在BGP加入同步路由中的信息在其多播状态表中实例化其IGMP加入状态。虽然未示出,但是PE路由器10A也可以从其他PE路由器10接收类型-7BGP加入同步路由,使得PE路由器10A可以利用被包括在所接收的BGP加入同步路由中的信息实例化其IGMP加入状态。

PE路由器10A可以确定性地确定PE路由器10A是否将要被配置为一个或多个特定多播组的选定多播转发器(506)。例如,PE路由器10A可以包括用于运行用于确定性地确定PE路由器10A是否将要被配置为一个或多个特定多播组的选定多播转发器的算法的选定多播转发器模块210。以太网段中的其他远程PE路由器可以运行这个算法以确定远程PE路由器将要转发其多播业务的其他特定多播组。

响应于确定PE路由器10A将要被配置为一个或多个特定多播组的选定多播转发器,PE路由器10A可以配置其转发状态以忽略DF计算并且转发PE路由器10A是其选定多播转发器的一个或多个多播组的多播业务(508)。例如,转发引擎222可以被配置为忽略为以太网段14配置的指定的转发器顺序。以这种方式,PE路由器10A可以将多播业务转发到一个或多个特定多播组,而不管PE路由器10A是指定的转发器还是非指定转发器。

PE路由器10A可以发送例如类型-6路由以请求来自入口PE路由器10D的一个或多个特定多播业务组的多播业务被发送到PE路由器10A(510)。例如,在SMET配置中,入口PE路由器10D可以将一个或多个特定多播组的多播业务选择性地转发到发送类型-6路由的PE路由器。作为一个示例,PE路由器10A可以发送请求第一多播业务组的多播业务的类型-6路由。

PE路由器10A可以通过EVPN核12基于类型-6路由经由入境链路226之一接收多播业务(512)。例如,在SMET配置中,入口PE路由器10D可以将第一多播组的多播业务选择性地发送到PE路由器10A,因为PE路由器10A发送请求接收第一多播组的多播业务的类型-6路由。

PE路由器10A可以基于新配置的转发状态将所接收的多播业务转发到一个或多个特定多播组的以太网段14中(514)。在通过EVPN核12接收到多播业务时,PE路由器10A可以将多播业务转发到以太网段14中,而不是像非指定转发器通常所需要的那样丢弃多播业务。也就是说,PE路由器10A可以忽略指定的转发器计算,并且继续转发一个或多个特定多播组的多播业务。在PE路由器10A是指定转发器的一些示例中,PE路由器10A可以仅转发其已经被选定作为多播转发器的一个或多个特定多播组的多播业务,并且丢弃其他多播业务组的业务。

在一些示例中,PE路由器10A可以确定它不被配置为选定多播转发器。在这个示例中,PE路由器10A可以基于指定的转发器计算继续转发多播业务(516)。例如,如果PE路由器10A是非指定转发器并且没有被配置为选定多播转发器,则PE路由器10A丢弃通过EVPN核接收的多播业务。

本公开的技术可以在各种各样的设备或装置中实现,包括网络设备、集成电路(IC)或一组IC(即,芯片组)。已经描述了任何组件、模块或单元以强调功能方面并且不一定需要通过不同的硬件单元来实现。本文中描述的技术也可以用硬件或硬件和软件和/或固件的任何组合来实现。被描述为模块、单元或组件的任何特征可以一起在集成逻辑器件中实现,或单独作为离散但可互操作的逻辑器件来实现。在一些情况下,各种特征可以被实现为集成电路器件,诸如集成电路芯片或芯片组。

如果以软件实现,则这些技术可以至少部分地通过包括指令的计算机可读存储介质来实现,这些指令当在处理器中执行时执行上述方法中的一个或多个。计算机可读存储介质可以是物理结构,并且可以形成计算机程序产品的一部分,计算机程序产品可以包括封装材料。在这个意义上,计算机可读介质可以是非暂态的。计算机可读存储介质可以包括随机存取存储器(RAM),诸如同步动态随机存取存储器(SDRAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、闪存、磁或光学数据存储介质等。

代码或指令可以由一个或多个处理器执行,诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其他等效的集成或离散的逻辑电路。因此,如本文中使用的术语“处理器”可以指代任何前述结构或适合于实现本文中描述的技术的任何其他结构。另外,在一些方面中,本文中描述的功能可以在被配置用于编码和解码的专用软件模块或硬件模块内提供,或者被并入到组合视频编解码器中。而且,这些技术可以完全在一个或多个电路或逻辑元件中实现。

除了上述内容之外或者作为上述内容的替代,描述下面的示例。任何以下示例中描述的特征可以与本文中描述的任何其他示例一起使用。

示例1.一种方法,包括:由使用以太网虚拟专用网络(EVPN)实例配置的多个提供者边缘(PE)路由器中的PE路由器接收多播组的因特网组管理协议(IGMP)加入报告,所述EVPN实例由将所述多个PE设备连接到客户边缘(CE)路由器的以太网段可达,所述CE路由器通过所述以太网段多重归宿到所述多个PE路由器;由所述PE路由器向所述多个PE路由器发送一个或多个边界网关协议(BGP)加入同步路由,所述一个或多个BGP加入同步路由用于跨所述以太网段同步所述多播组的IGMP加入报告;由所述PE路由器确定性地确定所述PE路由器是否被配置为多个多播组中的至少一个多播组的选定多播转发器;响应于确定所述PE路由器被配置为作为所述多个多播组之一的选定多播转发器,由所述PE路由器配置所述PE路由器的转发状态以将所述多个多播组之一的多播业务转发到所述以太网段中并且忽略所述以太网段的指定的转发器选定;由所述PE路由器从所述多个PE路由器中的入口PE路由器接收多播业务;以及由所述PE路由器将所述多播业务转发到所述多个多播组之一的所述以太网段中。

示例2.根据示例1所述的方法,其中确定性地确定所述PE路由器是否被配置为所述多个多播组之一的选定多播转发器包括:从将所述多个多播组之一的网络地址除以被包括在所述以太网段中的所述多个PE路由器的数目来确定结果。

示例3.根据示例1所述的方法,其中确定性地确定所述PE路由器是否被配置为作为所述多个多播组之一的选定多播转发器包括:从模数操作确定余数结果,所述模数操作将所述多个多播组之一的网络地址除以被包括在所述以太网段中的所述多个PE路由器的数目。

示例4.根据示例1所述的方法,其中确定性地确定所述PE路由器是否被配置为所述多个多播组之一的选定多播转发器包括:通过向所述多个多播组中的每个多播组应用散列来确定加入计数。

示例5.根据示例1所述的方法,其中从所述多个PE路由器中的所述入口PE路由器接收所述多播业务包括:由所述PE路由器发送用于从所述入口PE路由器请求所述多个多播组之一的多播业务的选择性多播以太网标签(SMET)路由;以及由所述PE路由器从所述入口PE路由器基于所述SMET路由接收所述多个多播组之一的多播业务。

示例6.根据示例1所述的方法,还包括:响应于确定所述PE路由器没有被配置为所述多个多播组之一的选定多播转发器,由所述PE路由器配置所述PE路由器的转发状态以使用所述指定的转发器计算。

示例7.根据示例1所述的方法,其中从所述入口PE路由器接收所述多播业务包括:由所述PE路由器接收至少包括用于将所述多播业务标识为多播类型的多播标签的扩展的包括性多播以太网标签(IMET)路由。

示例8.根据示例1所述的方法,还包括:由所述PE路由器配置扩展的BGP加入同步路由,所述扩展的BGP加入同步路由包括排除所述PE路由器被选定作为所述多个多播组的多播转发器的指示。

示例9.一种提供者边缘(PE)路由器,包括:存储器;以及可操作地耦合到所述存储器的一个或多个处理器,其中所述一个或多个处理器和所述存储器被配置为:接收配置数据,所述配置数据使用太网虚拟专用网络(EVPN)实例配置所述PE路由器,所述EVPN实例由将包括所述PE路由器的多个PE设备连接到客户边缘(CE)路由器的以太网段可达,所述CE路由器通过所述以太网段多重归宿到所述多个PE路由器;接收多播组的因特网组管理协议(IGMP)加入报告;向所述多个PE路由器发送一个或多个边界网关协议(BGP)加入同步路由,所述一个或多个BGP加入同步路由用于跨所述以太网段同步所述多播组的IGMP加入报告;确定性地确定所述PE路由器是否被配置为多个多播组之一的选定多播转发器;响应于确定所述PE路由器被配置为所述多个多播组之一的选定多播转发器,配置所述PE路由器的转发状态以将所述多个多播组之一的多播业务转发到所述以太网段中并且忽略所述以太网段的指定的转发器选定;从所述多个PE路由器中的入口PE路由器接收多播业务;以及将所述多播业务转发到所述多个多播组之一的所述以太网段中。

示例10.根据示例9所述的PE路由器,其中为了确定性地确定所述PE路由器是否被配置为所述多个多播组之一的选定多播转发器,所述一个或多个处理器和所述存储器还被配置为:从将所述多个多播组之一的网络地址除以被包括在所述以太网段中的所述多个PE路由器的数目来确定结果。

示例11.根据示例9所述的PE路由器,其中为了确定性地确定所述PE路由器是否被配置为所述多个多播组之一的选定多播转发器,所述一个或多个处理器和所述存储器还被配置为:从模数操作确定余数结果,所述模数操作将所述多个多播组之一的网络地址除以被包括在所述以太网段中的所述多个PE路由器的数目。

示例12.根据示例9所述的PE路由器,其中为了确定性地确定所述PE路由器是否被配置为所述多个多播组之一的选定多播转发器,所述一个或多个处理器和所述存储器还被配置为:通过向所述多个多播组中的每个多播组应用散列来确定加入计数。

示例13:根据示例9所述的PE路由器,其中为了从所述多个PE路由器中的所述入口PE路由器接收所述多播业务,所述一个或多个处理器和所述存储器还被配置为:发送用于从所述入口PE路由器请求所述多个多播组之一的多播业务的选择性多播以太网标签(SMET)路由;以及从所述入口PE路由器基于所述SMET路由接收所述多个多播组之一的多播业务。

示例14:根据示例9所述的PE路由器,所述一个或多个处理器和所述存储器还被配置为:响应于确定所述PE路由器没有被配置为所述多个多播组之一的选定多播转发器,配置所述PE路由器的转发状态以使用所述指定的转发器计算。

示例15.根据示例9所述的PE路由器,其中为了从所述多个PE路由器中的所述入口PE路由器接收所述多播业务,所述一个或多个处理器和所述存储器还被配置为:接收至少包括用于将所述多播业务标识为多播类型的多播标签的扩展的包括性多播以太网标签(IMET)路由。

示例16.根据示例9所述的PE路由器,所述一个或多个处理器和所述存储器还被配置为:配置扩展的BGP加入同步路由,所述扩展的BGP加入同步路由包括排除所述PE路由器被选定作为所述多个多播组的多播转发器的指示。

示例17.一种包括指令的计算机可读存储介质,所述指令用于引起一个或多个可编程处理器:接收配置数据,所述配置数据使用以太网虚拟专用网络(EVPN)实例配置所述PE路由器,所述EVPN实例由将包括所述PE路由器的多个PE设备连接到客户边缘(CE)路由器的以太网段可达,所述CE路由器通过所述以太网段多重归宿到所述多个PE路由器;接收多播组的因特网组管理协议(IGMP)加入报告;向所述多个PE路由器发送一个或多个边界网关协议(BGP)加入同步路由,所述一个或多个BGP加入同步路由用于跨所述以太网段同步所述多播组的IGMP加入报告;确定性地确定所述PE路由器是否被配置为多个多播组之一的选定多播转发器;响应于确定所述PE路由器被配置为所述多个多播组之一的选定多播转发器,配置所述PE路由器的转发状态以将所述多个多播组之一的多播业务转发到所述以太网段中并且忽略所述以太网段的指定的转发器选定;从所述多个PE路由器中的入口PE路由器接收多播业务;以及将所述多播业务转发到所述多个多播组之一的所述以太网段中。

示例18.根据示例17所述的计算机可读存储介质,其中为了确定性地确定所述PE路由器是否被配置为所述多个多播组之一的选定多播转发器,还包括用于引起一个或多个可编程处理器执行以下操作的指令:从将所述多个多播组之一的网络地址除以被包括在所述以太网段中的所述多个PE路由器的数目来确定结果。

示例19.根据示例17所述的计算机可读存储介质,其中为了确定性地确定所述PE路由器是否被配置为所述多个多播组之一的选定多播转发器,还包括用于引起一个或多个可编程处理器执行以下操作的指令:通过向所述多个多播组中的每个多播组应用散列来确定加入计数。

示例20.根据示例17所述的计算机可读存储介质,还包括用于引起一个或多个可编程处理器执行以下操作的指令:发送用于从所述入口PE路由器请求所述多个多播组之一的多播业务的选择性多播以太网标签(SMET)路由;以及从所述入口PE路由器基于所述SMET路由接收所述多个多播组之一的多播业务。

此外,上述任何示例中阐述的任何特定特征可以组合成所描述的技术的有益示例。也就是说,任何具体特征通常适用于本公开的所有示例。已经描述了这些技术的各种示例。这些和其他示例在以下权利要求的范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1