对多宿主以太网虚拟专网中的链路故障的快速收敛的制作方法

文档序号:13705666阅读:219来源:国知局
技术领域本公开内容涉及计算机网络,并且更特别地涉及在计算机网络内对分组进行路由。

背景技术:
计算机网络是能够交换数据并且共享资源的相互连接的计算设备的汇集。示例网络设备包括在开发系统互连(OSI)参考模型的第二层(L2)(即,数据链路层)内操作的层二设备和在OSI参考模型的第三层(L3)(即,网络层)内操作的层三设备。计算机网络内的设备常常包括控制单元,该控制单元提供针对网络设备的控制平面功能并且转发用于路由或交换数据单元的部件。以太网虚拟专用网(EVPN)可以用于以透明的方式(即,如同中间中间层三(L3)(通常被称为提供商网络)网络不存在)通过L3网络来扩展两个或更多个远程层二(L2)客户网络。特别地,EVPN经由中间网络在客户网络之间传送L2通信(例如,以太网分组或“帧”)。在典型的配置中,耦合到客户网络的客户边缘(CE)网络设备的提供商边缘(PE)网络设备(例如,路由器和/或交换机)定义用于承载封装的L2通信的提供商网络内的标签交换路径(LSP),如同这些客户网络被直接附接到相同的局域网(LAN)。在一些配置中,PE网络设备还可以通过IP基础设施连接,在这种情况下,能够在网络设备之间使用IP/GRE隧道技术或其他IP隧道技术。当EVPN中的PE网络设备转发以太网帧时,PE网络设备获知针对L2客户网络的L2状态信息。L2状态信息可以包括针对客户网络内的CE网络设备和客户设备的媒体访问控制(MAC)寻址信息和通过其可到达客户设备的PE网络设备的物理端口。PE网络设备通常将MAC寻址信息存储在与其物理接口中的每个物理接口相关联的L2获知表中。当对具有给定目的地MAC地址的单个以太网帧进行交换时,PE网络设备通常将以太网帧广播给其物理端口中的全部物理端口,除非PE网络设备已经获知了可通过其到达目的地MAC地址的具体物理端口。在这种情况下,PE网络设备将以太网帧的单个副本转发出相关联的物理端口。在EVPN中,在PE网络设备之间的MAC获知使用路由协议发生在控制平面中而不是数据平面(如与传统桥接一起发生的那样)中。例如,在EVPN中,PE网络设备通常使用多协议边界网关协议(MP-BGP)来将从PE网络设备连接到的本地客户边缘网络设备获知的MAC地址公告给其他提供商边缘网络设备。PE设备可以使用具有EVPN地址族标识符/后继地址族标识符(AFI/SAFI)的MP-BGP路由公告来通告针对由PE网络设备获知的一个或多个MAC地址的可到达性信息。在被称为全活跃(all-active)模式的EVPN配置中,以太网段包括提供针对一个或多个本地客户网络设备的多宿主连接的多个PE网络设备。在全活跃模式中,允许附接到以太网段的所有PE网络设备将流量转发给以太网段并且转发来自以太网段的流量。此外,多个PE网络设备可以通过中间网络将传送服务提供给远程PE网络设备。当多个PE网络设备中的一个PE网络设备和客户网络设备之间的通信链路故障时,具有故障的通信链路的PE网络设备可以撤回与以太网段对应的EVPN路由。需要从路由表撤回的时间可以是高的,尤其是在PE网络设备具有与以太网段相关的大量MAC地址的情况下。在这一过渡时间期间,目的地在于客户网络设备的任何网络流量将是不能通过具有故障通信的PE网络设备递送的,并且这样的网络流量可能丢失。类似地,如果多宿主全活跃PE网络设备之间的通信链路在其本身和核心网络之间具有故障通信链路,则从目的地在于核心网络的客户网络设备接收到的任何数据流量将是不能被递送的,直到损坏的通信链路被重新配置。再次地,这样的重新配置可能花费许多秒。

技术实现要素:
本文中描述的技术目的在于提供对远程PE网络设备与核心网络之间的链路故障的检测或远程PE网络设备与CE网络设备之间的链路故障的检测的快速收敛。特别地,本公开内容的快速收敛技术可以在两个或更多个PE网络设备连接到层2虚拟桥的段的CE网络设备时被应用。在本公开内容的各种示例中,通过以太网链路集连接到两个或更多个PE网络设备的多宿主CE网络设备构成“以太网段”。以太网段可以对EC网络设备显现为链路聚合组(LAG)。以太网段具有标识符,其被称作“以太网段标识符”。收敛可以是指路由器的集合的状态。路由器的集合可以在所有路由器已经收集了来自彼此的与特定路由协议相关的所有可获得的拓扑信息时被认为是“收敛”的。收敛时间是路由器的组多快地达到收敛的测量。在各种示例中,本公开内容的技术提供更快的收敛。另外,本公开内容的技术可以在由于链路故障的收敛时间期间维持数据流量递送和最大负载平衡。作为一个示例,两个或更多个PE网络设备可以连接到CE网络设备作为全活跃多宿主EVPN拓扑的以太网段。两个或更多个PE网络设备还可以是针对CE网络设备的链路聚合组(LAG)的部分。根据本公开内容的技术,两个或更多个PE网络设备可以对主路由和一个或多个次路由进行预配置,从而使得可以在检测到主路由中的链路故障的情况下使用一个或多个次路由。在PE网络设备检测到其本身与CE网络设备之间的链路故障的情况下,具有链路故障的PE网络设备可以被配置为经由为相同以太网段的部分的其他PE网络设备(即,通过一个或多个次路由)对被寻址到CE网络设备的流量进行重新路由。以这种方式,收敛时间被减少,因为流量能够在到CE网络设备的途中快速地被重新路由到相同EVPN段中的另一PE网络设备。具有链路故障的PE网络设备可以被配置为从与以太网段相对应的路由表撤回MAC路由。在以太网段中的其他路由器从路由表撤回具有链路故障的PE网络设备花费的时间期间,使用本公开内容的技术,具有链路故障的PE网络设备可以响应于检测到链路故障通过将流量重新路由到以太网段中的其他PE网络来继续将流量递送到CE网络设备。可以在检测到链路故障和响应于从针对以太网段的路由表撤回的网络的收敛之间的过渡时间段期间执行用于响应于检测到链路故障对流量进行重新路由的本公开内容的技术。在本公开内容的各种示例中,这样的重新路由可以通过对定义主路由和一个或多个次路由的下一跳列表进行预配置来完成。下一跳列表可以包括指定使用PE网络设备和CE网络设备之间的通信链路的路由的接口下一跳主。下一跳列表还可以包括与一个或多个次路由相对应的一个或多个次下一跳。一个或多个次路由可以包括在相同的以太网段中的PE网络设备和其他PE网络设备之间的通信链路。因为已知连接到CE网络设备的以太网段是全活跃多宿主EVPN,所以已知具有相同的以太网段标识符(ESI)的任何其他PE网络设备将也能够连接到CE网络设备。因此,没有必要确定由其他PE网络设备支持的任何特定MAC地址。列表下一跳可以被配置以使得一个或多个次路由仅仅当在主路由上检测到链路故障的情况下被使用。在本公开内容的另一示例中,PE网络设备可以被配置为当在提供对核心网络的访问的PE网络设备和另一PE网络设备之间检测到链路故障的情况下将消息发送给CE网络设备。再次地,PE网络设备可以是在全活跃多宿主EVPN拓扑中连接到CE网络设备的两个或更多个PE网络设备中的一个,并且可以是LAG的部分。在检测到提供对核心网络的访问的PE网络设备和PE网络设备之间的链路故障时,PE网络设备将消息发送给CE网络设备以向CE网络设备通知链路故障并指令CE网络设备不继续将数据流量发送给具有核心网络链路故障的PE网络设备。在本公开内容的一个示例中,消息可以是链路聚合控制协议(LACP)停用(OOS)消息。代替继续将数据流量发送给具有核心网络链路故障的PE网络设备(这样的流量是不能被递送的),CE网络设备可以将数据流量限制到LAG的其他PE网络设备。本公开内容的消息传送技术可以在其中存在PE网络设备与核心网络的完全隔离的情形中被使用。也就是说,消息传送技术可能在其中诸如瞻博网络快速重新路由(FRR)保护机制的保护机制被用于维持到核心网络的连接的情形中是不必要的。在本公开内容的一个示例中,一种方法包括:在第一PE网络设备处对到CE网络设备的主路由和到CE网络设备的一个或多个次路由进行预配置,主路由使用第一PE网络设备与CE网络设备之间的第一通信链路,并且一个或多个次路由使用第一PE网络设备与一个或多个其他PE网络设备之间的一个或多个其他相应的通信链路,其中第一PE网络设备和一个或多个其他PE网络设备在全活跃模式中被配置为层2虚拟桥的以太网段的部分,并且CE网络设备被多宿主到第一PE网络设备和一个或多个其他PE网络设备,由第一PE网络设备接收被寻址到CE网络设备的数据分组,由第一PE网络设备检测针对主路由的链路故障,以及由第一PE网络设备响应于检测到针对主路由的链路故障来使用一个或多个次路由来转发被寻址到CE网络设备的数据分组。在本公开内容的另一示例中,一种网络设备,其中网络设备是第一PE网络设备,网络设备包括:转发引擎,其被配置为:对到客户边缘(CE)网络设备的主路由和到CE网络设备的一个或多个次路由进行预配置,主路由使用第一PE网络设备与CE网络设备之间的第一通信链路,并且一个或多个次路由使用第一PE网络设备与一个或多个其他PE网络设备之间的一个或多个其他相应的通信链路,其中第一PE网络设备和一个或多个其他PE网络设备在全活跃模式中被配置为层2虚拟桥的段的部分,并且CE网络设备被多宿主到第一PE网络设备和一个或多个其他PE网络设备,接收被寻址到CE网络设备的数据分组,以及响应于检测到针对主路由的链路故障来使用一个或多个次路由来转发被寻址到CE网络设备的数据分组。网络设备还包括路由引擎,路由引擎被配置为检测针对主路由的链路故障。在本公开内容的另一示例中,一种网络系统包括:多个PE网络设备,其连接到CE网络设备并且被配置在层2虚拟桥的段中,其中多个PE网络设备中的每个PE网络设备被配置为:对到CE网络设备的主路由和到CE网络设备的一个或多个次路由进行预配置,主路由是多个PE网络设备中的相应的PE网络设备与CE网络设备之间的第一通信链路,并且一个或多个次路由是多个PE网络设备中的相应的PE网络设备与多个PE网络设备中的其他PE网络设备之间的一个或多个其他相应的通信链路,其中第一PE网络设备和一个或多个其他PE网络设备在全活跃模式中被配置为层2虚拟桥的段的部分,并且CE网络设备被多宿主到第一PE网络设备和一个或多个其他PE网络设备,检测针对主路由的链路故障,接收被寻址到CE网络设备的数据分组,以及响应于检测到针对主路由的链路故障来使用一个或多个次路由来转发被寻址到CE网络设备的数据分组。在本公开内容的另一示例中,一种方法包括:由第一PE网络设备检测提供对核心网络的访问的第一PE网络设备与另一PE网络设备之间的链路故障,其中第一PE网络设备是由CE网络设备使用以转发数据分组的层2虚拟桥的段的部分,以及由第一PE网络设备响应于检测到第一PE网络设备与核心网络之间的链路故障来将指示链路故障并且指示数据分组不应当被发送给第一PE网络设备的消息发送给CE网络设备。在本公开内容的另一示例中,一种网络设备,其中网络设备是第一PE网络设备,网络设备包括:路由引擎,其被配置为检测提供对核心网络的访问的第一PE网络设备与另一PE网络设备之间的链路故障,其中第一PE网络设备是由CE网络设备使用以转发数据分组的层2虚拟桥的段的部分;以及转发引擎,其被配置为响应于路由引擎检测到第一PE网络设备与另一PE网络设备之间的链路故障来将指示链路故障并且指示数据分组不应当被发送给第一PE网络设备的消息发送给CE网络设备。在本公开内容的另一示例中,一种网络系统包括:连接到CE网络设备和核心网络的多个PE网络设备,其中多个PE网络设备是由CE网络设备使用以转发数据分组的层2虚拟桥的段的部分,并且其中多个PE网络设备中的每个PE网络设备被配置为检测提供对核心网络的访问的多个PE网络设备中的相应的PE网络设备与另一PE网络设备之间的链路故障,以及响应于检测到链路故障来将指示链路故障并且指示数据分组不应当被发送给多个PE网络设备中的相应的PE网络设备的消息发送给CE网络设备。在附图和下面的描述中阐述了本公开内容的一个或多个实施例的细节。本公开内容的其他特征、目的和优点将从说明书和附图以及从权利要求书变得显而易见。附图说明图1是图示了其中在通信链路故障的情况下第一提供商边缘(PE)网络设备将数据流量重新路由给层2虚拟桥的段中的其他PE网络设备的示例系统的框图。图2是图示了其中在客户边缘(CE)网络设备的链路故障的情况下第一PE网络设备将数据流量重新路由给其他PE网络设备的示例系统的框图。图3是图示了其中在核心网络的链路故障的情况下第一PE网络设备将停用消息发送给CE网络设备的示例系统的框图。图4是图示了根据本公开内容的技术的更详细的图1的示例PE路由器的框图。图5是图示了根据本公开内容的技术的示例PE路由器的进一步细节的框图。图6是图示了根据本公开内容的技术的多个网络设备的示例操作的流程图。图7是图示了根据本公开内容的技术的PE路由器和CE路由器的示例操作的流程图。具体实施方式图1是图示了根据本公开内容的示例技术的其中在客户边缘(CE)网络设备的通信链路故障的情况下第一提供商边缘(PE)网络设备可以对其转发平面进行预配置以将数据流量转发给一个或多个其他PE网络设备的示例系统的框图。根据本公开内容的其他示例技术,第一PE网络设备还可以被配置为向客户边缘(CE)网络设备通知以太网段中的网络故障。在图1的示例中,PE路由器10A–10D(“PE路由器10”)向与客户网络6A–6B(“客户网络6”)相关联的客户设备4A–4D(“客户设备4”)提供经由CE路由器8A–8B(“CE路由器8”)对服务提供商网络12的访问。应当理解,CE路由器8不仅仅限于路由器,而是还可以是其他网络设备,包括层2交换机。网络链路16A–16N可以是以太网、ATM或任何其他适当的网络连接和路由器。在本公开内容的一个示例中,网络链路16C、16G、16H和16I中的每个网络链路是以太网链路。PE路由器10和CE路由器8被图示为图1的示例中的路由器;然而,可以使用交换机或其他适当的网络设备来实施本公开内容的技术。客户网络6可以是针对企业的地理上分开的站点的网络。客户网络6中的每个客户网络可以包括附加的客户设备4A-4D(“客户设备4”),诸如,一个或多个非边缘交换机、路由器、集线器、网关、诸如防火墙、入侵检测和/或入侵预防设备的安全设备、服务器、计算机终端、膝上型计算机、打印机、数据库、诸如蜂窝电话或个人数字助理的无线移动设备、无线接入点、网桥、线缆调制解调器、应用加速器或其他网络设备。图1中图示的系统2的配置仅仅是示例性的。例如,企业可以包括任何数量的客户网络6。同样地,服务提供商网络12可以包括任何数量的PE路由器10。然而,为便于描述,在图1中仅仅图示了客户网络6A–6B和PE路由器10A-10C。服务提供商网络12表示由服务提供商拥有和操作的公共可访问计算机网络,服务提供商通常是大型电信实体或公司。服务提供商网络12通常是大型层三(L3)计算机网络,其中对跟有数字的层的引用是指在开放系统互连(OSI)模型中的对应层。服务提供商网络12在其本质上支持如在OSI模型中描述的L3操作的意义上是L3网络。常见的L3操作包括根据诸如互联网协议(IP)的L3协议执行的操作。L3也被称为OSI模型中的“网络层”并且在本公开内容中术语L3可以与短语“网络层”可互换地使用。尽管未图示,但是服务提供商网络12可以耦合到由其他提供商管理的一个或多个网络,并且可以因此形成大规模公共网络基础设施(例如,互联网)的部分。因此,客户网络6可以被视为互联网的边缘网络。服务提供商网络12可以向客户网络6内的计算设备提供对互联网的访问,并且可以允许客户网络内的计算设备与彼此通信。服务提供商网络12可以包括除了PE路由器10以外的各种网络设备。尽管为了便于解释未示出附加的网络设备,但是应当理解,系统2可以包括附加的网络和/或计算设备,例如诸如一个或多个附加的交换机、路由器、集线器、网关、诸如防火墙、入侵检测和/或入侵预防设备的安全设备、服务器、计算机终端、膝上型电脑、打印机、数据库、诸如蜂窝电话或个人数字助理的无线移动设备、无线接入点、网桥、线缆调制解调器、应用加速器或其他网络设备。此外,尽管系统2的元件被图示为被直接耦合,但是应当理解,一个或多个附加的网络元件可以沿链路16中的任何链路被包含,从而使得系统2的网络元件不被直接耦合。服务提供商网络12通常提供许多住宅和商业服务,包括住宅和商业类数据服务(其常常被称为“互联网服务”,因为这些数据服务允许对被称为互联网的公共可访问网络的集合的访问)、住宅和商业类电话和/或语音服务以及住宅和商业类电视服务。由服务提供商网络12提供的一个这样的商业类数据服务包括以太网虚拟专网(EVPN)。EVPN是提供在诸如服务提供商网络12的中间网络上的L2连接性的形式(例如,层2虚拟桥)以将通常位于两个不同的地理区域中的诸如L2客户网络6的两个L2客户网络相互连接的服务。通常,EVPN对客户网络是透明的,因为这些客户网络没有意识到介入中间服务提供商网络并且相反用作并且操作为如同这两个客户网络被直接连接。在某种程度上,EVPN实现在均操作L2网络的两个地理上远离的客户站点之间的透明LAN连接的形式,并且出于该原因,EVPN还可以被称为“透明LAN服务”。为了对EVPN进行配置,服务提供商的网络运营商对包含在与L2客户网络6接口连接的服务提供商网络12内的各种设备。EVPN配置可以包括EVPN示例(EVI),其包括一个或多个广播域。一般地,EVI可以是指PE路由器上的路由实例和转发实例。因此,多个EVI可以被配置用于以太网段14,如本文中进一步描述的,每个EVI提供单独的逻辑层二(L2)转发域。以这种方式,多个EVI可以被配置使得每个包括以太网段14的PE路由器10A-10C中的一个或多个PE路由器。当诸如CE路由器/层2交换机8B的CE设备连接到两个或更多个PE路由器(例如,PE路由器10A-10C)时,以太网链路的集合(例如,将CE路由器/层2交换机8B连接到PE路由器10A-10C的16G-16I)构成以太网段。在一些示例中,以太网标记之后被用于标识标识EVI中的特定广播域(例如,VLAN)。PE路由器可以公告每<ESI,以太网标记>组合的独特的EVPN标签。ESI(以太网段标识符)是针对以太网段的独特的非零标识符。这一标签分配方法被称为每<ESI,以太网标记>标签分配。备选地,PE路由器可以公告每个MAC地址的独特的EVPN标签。在另一个示例中,PE路由器可以在给定EVI中公告针对所有MAC地址的相同单个EVPN标签。这一标签分配方法被称为每EVI标签分配。为了对EVI进行配置,多协议标签交换(MPLS)标签交换路径(LSP)或通用路由封装(GRE)隧道的全互联(allmesh)可以被配置以使得提供EVPN以用于由订购实体消耗的PE路由器10中的每个PE路由器通过MPLSLSP或GRE隧道的方式相互连接到提供EVPN以用于由订购实体消耗的PE设备中的每个其他PE设备。在图1的示例中,PE路由器10中的每个PE路由器提供对用于承载与客户网络6相关联的流量的EVPN的访问,并且因此,相同以太网段内的PE路由器10中的每个PE路由器可以经由MPLSLSP或GRE隧道连接到每个其他PE设备10。一旦MPLSLSP或GRE隧道以这种方式被配置,EVPN就可以被实现在PE设备10内以在MPLSLSP或GRE隧道上操作,其可以在本文上下文中用作通过服务提供商网络12的逻辑专用链路。在操作时,EVPN一般涉及将标记和VPN标签头部添加或以其他方式插入到传入L2分组(其也可以被称为L2帧(特别是在以太网的上下文中)上,并将经标记的分组通过经配置的MPLSLSP或GRE隧道中的对应的经配置的MPLSLSP或GRE隧道传输。一旦EVPN被配置在服务提供商网络12内,客户网络6内的客户设备4就可以经由EVPN与彼此通信,如同它们直接连接L2网络。在图1的示例中,当将EVPN服务提供给客户网络6时,PE路由器10和CE路由器8通常执行MAC地址获知以有效地转发系统2中的L2网络通信。即,PE路由器10和CE路由器8转发以太网帧,路由器获知针对L2网络的L2状态信息(包括针对网络内的客户设备4的媒体访问控制(MAC)寻址信息和可通过其到达客户设备4的物理端口)。PE路由器10和CE路由器8通常将MAC寻址信息存储在与相应的接口相关联的MAC表中。当转发在一个接口上接收到的单个以太网帧时,路由器通常将以太网帧广播给与EVPN相关联的所有其他接口,除非路由器先前已经获知了可通过其到达在以太网帧中指定的目的MAC地址的具体接口。在这种情况下,路由器将以太网帧的单个副本转发出相关联的接口。此外,当PE路由器10获知可通过本地附接线路到达的客户设备4的MAC地址时,PE路由器10利用MP-BGP中的EVPNAFI/SAFI的路由公告来共享获知的MAC地址并提供可通过正在发布路由公告的特定PE路由器到达MAC地址的指示。在使用PE路由器10实施的EVPN中,对于给定EVI,PE路由器10中的每个PE路由器使用BGP路由公告将本地获知的MAC地址公告给其他PE路由器10,BGP路由公告在本文中也被称为“MAC路由”或“MAC公告路由”。如下面进一步描述的,MAC路由通常指定客户设备4的单个MAC地址以及附加的转发信息,诸如路由区分符、路由目标、层2段标识符、多协议标签交换(MPLS)标签等。以这种方式,PE路由器10使用BGP来公告并共享在转发与EVPN相关联的层二通信时获知的MAC地址。以这种方式,PE路由器10可以执行对MAC地址的本地获知和远程获知两者。PE路由器10中的每个PE路由器(例如,PE路由器10C)利用指定由其他PE路由器获知的MAC地址的MAC路由来确定如何将L2通信转发给属于连接到其他PE的客户设备4的MAC地址,即,转发给远程CE路由器和/或在操作地耦合到PE路由器的CE路由器后面的客户设备。即,PE路由器10中的每个PE路由器确定是否将以太网帧直接发送给其他PE路由器10中的特定PE路由器(例如,当发送已知的单播流量时)或是否将以太网帧处置为要基于从其他PE路由器接收到的MAC寻址获知信息被淹没(flood)在EVPN内的所谓的“BUM”流量(广播,未标识的单播或多播流量)。如图1中所示,CE路由器8可以被多宿主和/或单宿主到PE路由器10中的一个或多个PE路由器。在EVPN中,CE路由器可以当其在PE路由器驻留在相同的物理以太网段时耦合到相同EVI上的两个物理上不同的PE路由器时被称为多宿主(MH)。作为一个示例,CE路由器/层2交换机8B分别经由链路16G、16H和16I耦合到PE路由器10A、10B、10C,其中PE路由器10A、10B和10C能够提供经由CE路由器/层2交换机8B对针对L2客户网络的EVPN的访问。在给定客户网络(例如,客户网络6B)可以经由两个不同的并且在某种程度上冗余的链路耦合到服务提供商网络12的实例中,客户网络可以被称为是“多宿主”的。在这一示例中,CE路由器/层2交换机8B可以被多宿主到PE路由器10A、10B和10C,因为CE路由器/层2交换机8B经由单独的并且在某种程序上冗余的链路16G、16H和16I耦合到三个不同的PE路由器10A、10B和10C,其中PE路由器10A、10B和10C中的两个能够提供对针对L2客户网络6B的EVPN的访问。多宿主网络常常由网络运营商采用以便在链路16G、16H、16I中的一个链路中发生故障时改进对由服务提供商网络12提供的EVPN的访问。如图1中所示,CE和/或PE网络设备(诸如CE路由器/层2交换机8B或PE路由器10A)可以被多宿主到共同地包括“以太网段”的两个或更多个PE网络设备。例如,在图1的示例中,PE路由器10A-10D被包括在以太网段14中。此外,以太网段14的物理链路16G、16H和16I可以对CE路由器/层2交换机8B内的路由和转发功能显现为链路聚合组(LAG),即,单个逻辑链路。以这种方式,CE路由器/层2交换机8B可以跨LAG的所有PE路由器部分进行负载平衡。以太网段具有被称为“以太网段标识符”(ESI)的标识符,其可以被编码为十个八位位组整数。总体上,以太网段使用(例如,跨所有PE上的所有EVPN)为独特的网宽的非保留ESI。在一些示例中,网络运营商可以通过EVPN管理ESI以确保针对相应的以太网段的独特的网宽ESI。在其他示例中,ESI可以被自动分派。在图1的示例中,以太网段14包括PE路由器10A-10C和CE路由器/层2交换机8B,并且以太网段14可以与独特的ESI相关联。如以上描述的,一个或多个EVI可以被配置用于单个以太网段。即,多个EVI可以被配置用于以太网段14并且每个相应的EVI可以包括PE路由器10A-10C中的一个或多个PE路由器。使用ESI,PE路由器10可以通过发送除了其他信息之外指定获知的MAC地址和对应的ESI的MAC公告路由来共享获知的MAC地址。以这种方式,PE路由器可以维持与对应的ESI相关联的MAC地址的表。因此,接收并维持先前由其他PE路由器获知的MAC地址的PE路由器能够确定可通过与相同的ESI相关联的多个PE路由器访问MAC路由。如以上描述的,PE路由器10可以使用利用不同路由类型进行信号传达的控制平面来提供服务提供商网络12中的EVPN服务。EVPN定义BGP网络层可到达性信息(NLRI),并且特别地定义不同的路由类型。EVPNNLRI使用BGP多协议扩展被承载在BGP中。路由类型包括但不限于:以太网自动发现(AD)路由、MAC公告路由和以太网段路由。AD路由例如指定路由区分符(RD)(例如,MPLS边缘交换机(MES)的IP地址)、ESI、以太网标记标识符和MPLS标签。MAC公告路由包括RD、ESI、以太网标记标识符、MAC地址和MAC地址长度、IP地址和IP地址长度、以及MPLS标签。以太网段路由包括路由区分符和以太网段标识符。PE路由器10可以共享NLRI以对一个或多个以太网段进行配置并共享由相应的设备获知的MAC路由。总体上,连接到相同的以太网段的PE路由器能够通过使用BGP交换以太网段路由来在最小到没有配置的情况下自动地发现彼此。在多宿主环境中,EVPN定义在出现到以太网段的连接的故障后向远程PE路由器信号通知需要更新其转发表的机制。这通过使每个PE路由器公告针对每个本地附接的段的每以太网段(ES)的以太网AD路由来完成。在到附接的段的连接性的故障后,PE路由器通过将AD路由撤回消息发送给其他路由器来撤回对应的以太网AD路由。这触发接收撤回的所有PE路由器以针对与由以太网AD路由指定的以太网段相关联的所有MAC地址更新其下一跳邻接。如果没有其他PE路由器已经公告了针对相同段的以太网AD路由,则接收到撤回的PE路由器简单地使MAC条目针对该段无效。在一些示例中,PE路由器10A-10C可以当在PE路由器10D和CE路由器/层2交换机8B之间转发网络分组时在“全活跃模式”或“单个活跃模式”中操作。在全活跃模式(或“活跃-活跃”模式)中,PE路由器10A-10C中的每个PE路由器并发地操作以针对给定EVI在CE路由器/层2交换机8B和PE路由器10D之间转发流量。在全活跃模式的一个示例中,在这样的冗余组中的PE路由器10A-10C中的全部PE路由器能够针对给定EVI将流量转发给PE路由器10D/转发来自PE路由器10D的流量。与之对比,在单个活跃模式(或“活跃/待机”模式)中,当CE路由器/层2交换机8B被多宿主到两个或更多个PE路由器(例如,PE路由器10A-10C)时,在这样的冗余组中的仅仅单个PE路由器针对给定EVI将针对CE路由器的流量转发给远程PE路由器10D/转发来自远程PE路由器10D的针对CE路由器的流量。在全活跃模式中,EVPN还提供用于“混叠(aliasing)”的配置。混叠是指PE路由器甚至在其已经获知没有来自该段的MAC地址时信号通知其具有到给定的本地附接以太网段的可到达性的能力。包括针对以太网段的ESI的以太网AD路由可以被用于信号通知PE路由器的这一配置。接收具有非保留ESI的MAC公告路由的远程PE路由器可以认为公告的MAC地址是经由已经公告了到有关以太网段的可到达性的所有PE路由器可到达的。远程PE路由器一般可以是指未包含在以太网段和/或EVI中的PE路由器。作为在全活跃模式中的混叠的一个示例,PE路由器10A可以将以太网AD路由公告到PE路由器10D。使用混叠,PE路由器10D将响应于接收到以太网AD路由将流量转发给PE路由器10B-10C以及PE路由器10A,因为PE路由器10B-10C在以太网段14的相同EVI中。在EVPN网络中,数据平面获知发生在访问侧上并且多宿主PE(例如,PE路由器10A)更新BGP控制层中的MAC和MAC+IP路由以使MHPE(例如,PE路由器10B-10C)和远程PE(例如,PE路由器10D)对等。ESI被用于标识用于MAC获知的以太网段。PE路由器10A-10C中的每个PE路由器可以被配置为公告每ES的AD路由。在检测到链路故障(例如,网络链路16G-16I中的一个网络链路的故障)后,为了克服大量MAC撤回的问题,PE路由器10A-10C可以被配置为通过发送每ES(以太网段)的AD路由撤回来从针对以太网14的路由表撤回。每ES的AD路由撤回指示到以太网段14的连接故障,而非在每MAC的基础上信号通知故障。在接收到每ES的AD路由Mac撤回消息之后,任何远程PE(例如,PE路由器10B-10D)通过冲刷(flush)来自故障以太网段的所有MAC来更新其相应的转发状态。在EVPNA/AMH情形中,例如,如图1所示,在全活跃模式中,PE路由器10A-10C中的所有PE路由器能够将流量转发给CE路由器/层2交换机8B。CE路由器/层2交换机8B可以利用LAG并对以太网段中的流量进行负载平衡,PE路由器10A-10C中的每个PE路由器因此可以接收来自CE路由器/层2交换机8B的一些流量并使用核心中的MPLS标签交换路径(LSP)/通用路由封装隧道将其(例如,通过PE路由器10D)转发给目的CE(例如,CE路由器/层2交换机8B)。如果网络链路16G-16I中的一个网络链路在CE路由器/层2交换机8B和访问侧上的PE路由器10A-10C中的一个PE路由器之间故障,或者如果网络链路16D-16F中的一个网络链路在PE路由器10A-10C中的一个PE路由器和核心网络(例如,PE路由器10D)之间故障,则具有故障的通信链路黑洞(blackhole)流量(即,丢弃流量)的MHPE(例如,PE路由器10A-10C中的一个)分别接收远程CE(例如,CE路由器/层2交换机8A)或访问侧(例如,CE路由器/层2交换机8B)的流量。对于CE路由器/层2交换机8B和PE路由器10A-10C中的一个PE路由器之间的链路故障(即,网络链路16G-16I中的一个网络链路的故障),从核心网络(例如,通过PE路由器10D)接收到的分组被掉落在具有故障的网络链路的MHPE上,直到全局修复过程完成。诸如链路摆动的网络事件的收敛和恢复时间是有序的或超过一秒(由BGP更新的传播延迟约束)。因此,在这一时间期间可能丢失相当量的已知单播数据流量。鉴于前述缺陷,本公开内容提出了导致在网络链路故障后的更快收敛和更少数据丢失的数据转发和消息传送技术,而同时仍然保留在全活跃多宿主EVPN中的负载平衡。在本公开内容的一个示例中,MHPE路由器(例如,PE路由器10A-10C)可以被配置为响应于检测到网络链路16G-16I中的一个网络链路的链路故障而使用下一跳列表通过以太网段14中的其他相应ME路由器将流量重新路由到CE路由器/层2交换机8B。这一示例的技术将参考PE路由器10A而被描述,然而,应当理解,这一示例的技术可以由以太网段14中的每个MHPE路由器(即,PE路由器10A-10C中的每个PE路由器)使用。如将在图5中进一步描述的,下一跳列表例如可以指定到目的地计算设备的一个或多个间接路由和到分析共同子网络的目的地计算设备的一个或多个直接路由。下一跳列表可以指定使得PE网络设备的转发引擎使用(一个或多个)间接路由或(一个或多个)直接路由发送目的在于目的地计算设备的网络流量。例如,如果活跃元素被设置到直接路由结构,则PE路由器10A使用直接路由(例如,16G)发送目的在于目的地计算设备(例如,CE路由器/层2交换机8B)的网络流量。如果活跃元素稍后被改变到间接路由,则PE路由器10A使用由下一跳列表指定的间接路由(例如,分别通过PE路由器10B和PE路由器10C的网络链路16L和16M)发送目的在于目的地计算设备的网络流量。在本公开内容的一个示例中,PE路由器10A-10C是被配置为全活跃多宿主EVPN的以太网段14的部分。本公开内容的技术可以适用于与任何类型的数据流量一起使用。然而,本公开内容的技术可以特别有益于与单播流量一起使用,单播流量可以使用单个路径通过以太网段14被发送(例如,与其中数据的冗余副本可以被发送给以太网段14中的PE路由器10A-10C中的每个的BUM流量相反)。PE路由器10可以对下一跳列表进行预配置,从而使得被寻址到CE路由器/层2交换机8B的下一跳列表将通过主路由(例如,通过网络链路16G)被路由,只要主路由可用。主路由可以是指向本地逻辑接口(ifl)的数据平面获知的MHPEMAC路由。在PE路由器10A的情况下,ifl可以是网络链路16G。PE路由器10A可以将具有ifl(网络链路16G)的下一跳列表预配置为主路由(即,主下一跳)。即,只要网络链路16G可用,PE路由器10A就将被配置为使用网络链路16G来转发被寻址到CE路由器/层2交换机8B的数据(或被寻址到由CE路由器/层2交换机8B服务的任何MAC地址的任何数据)。PE路由器10A还可以对具有一个或多个次路由(即,一个或多个次下一跳)的下一跳进行预配置。次路由可以被配置为下一跳列表中的MPLS下一跳或间接下一跳(INH)。具体地,PE路由器10A可以将将次路由配置为到与PE路由器10A相同的以太网段中的任何其他PE路由器(例如,PE路由器10B和PE路由器10C)的数据平面获知的逻辑路由。下一跳列表可以被预配置以使得次路由是仅仅在本地ifl(即,在PE路由器10A的示例中为链路16G)中的链路故障的情况下使用的间接下一跳(INH)。在图1的示例中,PE路由器10B和PE路由器10C在与PE路由器10A相同的以太网段14中。因此,由针对PE路由器10B的下一跳列表指示/指定的次路由将包括逻辑网络链路16L和16M。如图2中所示,在(即,在MHPE路由器10A和CE路由器/层2交换机8B之间的)链路16G中检测到链路故障的情况下,不是使网络降级为使用仅仅全活跃MHEVPN的单腿,而是通过PE路由器10A的目的在于CE路由器/层2交换机8B的数据流量15能够跟随由INH指示/指定的次路由到其他MHPE并且从那里到CE。如图2中所示,在检测到网络链路16G中的链路故障的情况下,数据流量15可以分别被转发为到PE路由器10B和PE路由器10C的数据流量15A和数据流量15B。即,INH可以被配置以使得被重新路由到其他MHPE的数据流量在其他MHPE上得到负载平衡。PE路由器10A可以对具有次路由的INH进行预配置,次路由使用能够将数据路由到位于以太网段14后面的MAC地址(例如,由CE路由器/层2交换机8B服务的任何MAC地址)的以太网段14中的所有MHPE路由器。次路由可以基于路由器中的每个的ESI而被确定。如果MHPE路由器具有与PE路由器10A相同的ESI,则到这样的路由器的路由可以被用作INH中的次路由。PE路由器10A的上述本地修复机制确保到CE路由器/层2交换机8B的可到达性并促进流量保持在以太网中得到负载平衡。应当理解,PE路由器10A将仍然在检测到链路故障后执行从以太网段14中的任何路由表的每ES的AD撤回。在这种情况下,使用预配置的下一跳列表对数据进行重新路由的上述技术可以仅仅在段收敛的过渡时间段期间进行(即,直到每ES的AD撤回已经移除了具有来自所有路由表的链路故障的MHPE)。关于使用下一跳列表的数据重新路由的实施的附加的细节将在下面参考图4和图5来描述。在本公开内容的另一示例中,PE路由器10A可以被配置为执行提供对核心隔离的快速收敛的技术。具体地,本公开内容提出了通过其PE路由器10A可以被配置为检测提供对核心网络的访问的PE路由器10A和另一PE网络设备之间的链路故障(例如,网络链路16D中的故障,即,核心隔离)的技术。如以上说明的,PE路由器10A可以是具有针对CE路由器/层2交换机8B的PE路由器10B和PE路由器10C的LAG的部分。LAG允许CE路由器/层2交换机8B将网络链路16G-16I作为一个逻辑链路处置,并且因此允许源自于CE路由器/层2交换机8B的网络流量在以太网段14上得到负载平衡。然而,如果网络链路16D(例如,由于路由协议设置中或来自任何其他类型的隧道故障的变化)不可用,则PE路由器10A将不能够将从CE路由器/层2交换机8B接收到的任何数据通过PE路由器10D转发给核心网络。为了避免这一情形,根据本公开内容的示例,PE路由器10A可以被配置为响应于检测到核心网络的链路故障(例如,如果网络链路16D已经发生故障)而将消息发送给CE路由器/层2交换机8B。这一消息可以向CE路由器/层2交换机8B通知链路故障并指令CE路由器/层2交换机8B不再将数据发送给PE路由器10A。例如,如图3中所示,如果在网络链路16D中检测到链路故障,则PE路由器10A可以被配置为将LACPOOS消息17发送给CE路由器/层2交换机8B。作为响应,CE路由器/层2交换机8B可以从lag移除PE路由器10A。作为替代,CE路由器/层2交换机8B可以将流量分流到以太网段14的其他工作MHPE(例如,PE路由器10B和PE路由器10C),从而因此避免大量流量丢失。关于LACPOOS消息传送的附加的细节将在下面参考图4和图5而被描述。图4是图示了根据本公开内容的技术的更详细的图1的示例PE路由器10A的框图。PE路由器10B和10C(或相同以太网段中的任何其他MHPE路由器)可以按照与PE路由器10A相同的方式被配置。PE路由器10A包括能够实施本公开内容的技术的控制单元20、交换机结构26和分组转发引擎(PFE)30A–30N(“PFE30”)。PFE30可以经由接口卡32A-32B、36A-36B和38A-38B(分别为“IFC32”、“IFC36”和“IFC38”)接收并发送数据(例如,数据分组)。在其他实施例中,PFE30中的每个PFE可以包括更多的或更少的IFC。交换机结构26提供用于在PFE30之间转发数据以用于通过网络(例如,互联网)传输的互联机制。路由引擎22维持路由表、执行路由协议并控制用户对PE路由器10C的访问。在这一示例中,路由引擎22通过专用链路42链接到PFE30中的每个PFE,专用链路是内部以太网链路。例如,专用链路24可以包括100Mbps以太网连接。路由引擎22维持描述网络的拓扑的路由信息并根据路由信息来导出转发信息库(FIB)。根据本公开内容的技术,路由引擎22可以被配置为检测包括访问侧链路故障的任何链路故障(例如,网络链路16G中的故障)以及核心侧链路故障(例如,链路16D中的故障)。路由引擎22将FIB复制到PFE30中的每个PFE。这允许在PFE30中的每个PFE的FIB在不使PE路由器10A的分组转发性能降低的情况下被更新。备选地,路由引擎22可以导出被复制到相应的PFE30的单独的FIB。根据本公开内容的技术,路由引擎22还可以被配置为向PFE30通知网络故障并更新PFE30,并且在下面将参考图5更详细地进行讨论。控制单元20提供用于存储L2网络拓扑信息(例如,生成树信息)、执行连接错误管理(CFM)协议以提供在大型L2网络上的错误隔离和检测并且提供管理接口以允许对PE路由器10A的用户访问和配置的环境。控制单元20操作环境可以单独地被实施在软件或硬件中,或者可以被实施为软件、硬件或固件的组合。例如,控制单元20可以包括执行软件指令的一个或多个处理器。在这种情况下,控制单元20可以包括各种软件模块或守护进程,并且可以包括用于存储可执行指令的计算机可读存储介质(诸如计算机存储器或硬盘)。在路由节点中,“交换平面”一般能够提供PFE30中的任何两个PFE之间的通信路径。在这一示例中,交换结构26包括多个独立的交换平面28A到28N(“交换平面28”)。在一些示例中,交换平面28中的每个交换平面由一个或多个单独的可移动交换卡上的一个或多个交换结构芯片提供。实施本文中描述的技术的其他路由节点可以包括附加的或更少的交换平面,包括单个交换平面。大多数交换平面可以在任何给定时间是活跃的,其中数据分组被分布在活跃交换平面上。交换结构26的不活跃交换平面用作备用交换平面使得在活跃交换平面中的一个或多个离线的情况下,备用交换平面自动地激活并且PE路由器10A的带宽容量不被削弱。备用交换平面可以与活跃交换平面相同并且用作热后备以在活跃交换平面中的一个或多个故障的情况下维持带宽容量。交换平面28中的每个交换平面是操作上无关的;因此,PE路由器10A可以继续转发分组,但是有可能以减少的带宽容量,只要交换平面28中的一个保持活跃。作为独立的路由器的部分,交换平面28形成独立的交换结构26。即,交换平面28中的每个交换平面能够提供在PE路由器10A内的PFE30中的任何PFE之间的连接。以这种方式,交换平面28形成使得能够在PE路由器10A的多个PFE30之间进行分组转发的独立的交换结构。例如,交换结构26可以由可移动交换卡来提供,其中每个可移动交换卡提供交换平面28的相应交换平面。如图2中所示,PFE30A和PFE30B可以是分别在接口32A-32B和36A-36B中的一个或多个接口处接收网络分组的入口PFE。入口PFE30A和30B可以将网络分组路由到PFE30N,其可以是出口PFE。因此,出口PFE30可以经由网络接口38A-38B中的一个或多个网络接口将网络分组路由到其他网络设备。根据本公开内容的技术,PE路由器10A可以对具有主路由和一个或多个次路由的PFE30中的下一跳列表进行预配置。主路由是在PE路由器10A和CE路由器/层2交换机8B之间的第一通信链路(例如,网络链路16)。一个或多个次路由可以是在PE路由器10和相同段的其他MHPE路由器(例如,PE路由器10B和PE路由器10C)之间的一个或多个其他相应的通信链路(例如,网络链路16L和网络链路16M)。PE路由器10A可以使用路由引擎22来检测主路由中的(即,网络链路16G中的)故障。PFE30接收被寻址到CE路由器/层2交换机8B的数据分组,并响应于检测到主路由中的链路故障而将被寻址到CE路由器/层2交换机8B的数据分组转发给一个或多个次路由。在本公开内容的另一示例中,使用路由引擎22的PE路由器10A可以检测在提供对核心网络的访问的PE路由器10A和另一PE网络设备之间的链路故障(例如,网络链路16中的链路故障)。路由引擎22可以向PFE30通知链路故障。PFE30可以被配置为响应于检测到PE路由器10和核心网络之间的链路故障而将指示链路故障并且指示数据分组不应当被发送给PE路由器10A的消息发送给CE路由器10B。图5是根据本公开内容的技术的被配置为在链路故障的情况下将数据流量和消息路由到CE路由器的PE路由器(例如,PE路由器10A)的进一步细节的框图。PE路由器10A包括控制单元20,控制单元20包括耦合到转发引擎30A-30N(“转发引擎30”)的路由引擎22。PE路由器10A包括经由入站链路58A–58N(“入站链路58”)接收分组并经由出站链路60A–60N(“出站链路60”)发送分组的接口卡32A–38N(“IFC32”)。IFC32通常经由许多接口端口(未示出)耦合到链路58、60。入站链路58和出站链路60可以表示物理接口、逻辑接口或其特定组合。路由引擎22提供用于执行在网络栈的不同层处的各种协议44的操作环境。协议可以是执行在一个或多个处理器上的软件过程。例如,路由引擎22包括操作在网络栈的网络层处的网络协议。在这一方面中,路由引擎22表示实施具有路由协议守护进程49(“RPD49”)的路由协议44的硬件或硬件和软件的组合。RPD62可以生成路由信息42并更新具有路由信息的转发引擎30A-30AN。在图5的示例中,协议44可以包括边界网关协议(BGP)46和内部网关协议(IGP)47,其是路由协议。路由引擎22可以包括未示出在图5中的其他协议。BGP46和/或IGP47可以被用于维持以路由描述网络的拓扑的信息基库(RIB)的形式的路由信息42,并且根据路由信息来导出转发信息基库(FIB)。总体上,路由信息表示网络的总体拓扑。IGP47(例如,通过API调用的方式)与执行在主微处理器53上的内核70交互以基于PE路由器10A接收到的路由协议来更新RIB。RIB可以包括定义包括一个或多个路由表和/或链路状态数据库的网络的拓扑的信息。内核70在主微处理器52上执行并且可以包括例如UNIX操作系统衍生系统,诸如Linux或Berkeley软件分布(BSD)。内核70处理从BGP46和IPG47调用的内核以基于所确定的网络拓扑来生成转发信息,即,执行路由解析和路径选择。在一些示例中,内核70以基数树或其他查找树的形式的转发信息56以将分组信息(例如,具有目的地信息的头部信息和/或标签栈)映射到下一跳并且最终映射到与相应的PFE30相关联的接口卡的接口端口。执行核70的主微处理器53对PFE30进行编程以安装转发信息56的副本。微处理器53可以包括一个或多个通用处理器或专用处理器,诸如数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或任何其他等效逻辑设备。因此,如本文中使用的术语“处理器”或“控制器”可以是指前述结构中的任何一个或多个结构或能操作用于执行本文中描述的技术的任何其他结构。控制单元42还包括具有执行淹没的淹没模块54的EVPN模块48和执行层2(L2)获知的获知模块52(例如,获知来自入站PW的客户MAC地址并将客户MAC地址与对应的出站PW和输出接口关联)。EVPN模块48可以维持针对由PE路由器10C建立的每个EVI的MAC表50,或者在备选示例中可以维持独立于每个相应EVI的一个或多个MAC表。获知模块52和淹没模块54可以备选地驻留在转发引擎30内。信号通知模块40输出控制平面消息以自动地建立针对EVPN的多点到点隧道、以太网段并且以其他方式提供在PE路由器10C和其他PE路由器10中的每个PE路由器之间的一个或多个EVPN。信号通知模块40可以使用诸如BGP的一个或多个适当的L3来信号通知PE路由器10。信号通知模块40能够与转发引擎30A通信以自动地更新转发信息56。如以上描述的,路由引擎22负责维持路由信息42以反映PE路由器10A连接到的网络和其他网络实体的当前拓扑。具体地,路由协议定期更新路由信息42以基于由PE路由器10A接收到的路由协议消息来准确地反映网络的拓扑和其他条目。与协议44交互的RPD49和调用内核70的API可以被配置为检测访问侧链路故障(例如,图2中的网络链路16G中的故障)和核心端链路故障(例如,图3中的网络链路16D中的故障)。路由引擎22可以被配置为向转发引擎30通知访问侧故障并引起对下一跳列表62的更新和由转发引擎30对下一跳列表62内的路由的选择。另外,使用内核70的RPD49可以被配置为向转发引擎30中的LACP引擎60通知核心端链路故障。如下面将更详细解释的,由路由引擎22对网络拓扑和链路故障的检测可以触发转发引擎30的部件执行本公开内容的数据转发和消息传送技术。EVPN模块48在PE路由器10A的控制平面中执行并执行MAC地址获知以自动地更新针对由PE路由器10A建立的每个EVI的转发信息56的部分。EVPN模块48在PE路由器10A在由针对PE路由器10中的任何PE路由器的作为EVI的成员的路由器PE路由器10A建立的虚线路(PW)上接收数据分组时被调用。EVPN模块48使用获知模块52来执行MAC地址获知并更新MAC表50中的一个MAC表以初始地记录连接到PE路由器10A的PE和从其在PW上接收到数据分组的EVPN客户设备的源MAC地址之间的关联。例如,MAC表50中的一个MAC表记录标识连接到PE路由器10A的PW的PW数,并记录标识通过PW发送的数据分组的源客户设备的MAC地址。实际上,路由器PE路由器10A,L3路由设备(或在一些示例中,L2交换设备)获知在MAC地址和防火墙(其被映射到端口)之间的关联,如同L2交换机获知在MAC地址和端口之间的管理。转发信息56可以表示虚拟端口绑定和桥接表。转发引擎30A-30N表示提供网络流量的高速转发的硬件和逻辑功能。转发引擎30通常包括编程有转发信息的一个或多个转发芯片的集合,转发信息对具有特定下一跳和对应的输出接口端口的网络目的地进行映射。总体上,当PE路由器10A经由入站链路58中的一个入站链路接收分组时,转发引擎30中的一个通过基于分组内的信息遍历编程的转发信息来标识针对数据分组的相关联的下一跳。转发引擎30中的一个转发引擎(入口转发引擎或不同的出口转发引擎)转发被映射到对应的下一跳的出站链路60中的一个上的分组。在图5的示例中,转发引擎30A包括转发信息56。根据转发信息42,转发引擎30A维持将网络目的地与特定下一跳和对应的接口端口相关联的转发信息56。例如,路由引擎22分析路由信息42并根据路由信息42来生成转发信息56。转发信息56可以按照一个或多个表、链路列表、基数树、数据库、平面文件或任何其他数据结构的形式被维持。根据本公开内容的技术,转发信息56可以包括下一跳列表62。下一跳列表62可以包括针对主路由和一个或多个次路由的下一跳。另外,转发引擎30中的每个转发引擎内的控制逻辑可以对硬件FIB中的条目进行编程以便将每个条目与多个选择器块61中的一个选择器块相关联。选择器61包括被配置为反映网络路由被分配到的物理链路和/或接口端口的状态的线路。例如,选择器61可以由执行在检测(如由路由引擎22指示的)链路的状态并编写对应的值选择器61的转发引擎30内的微处理器上执行的选择软件模块来编写。选择器61提供在将分组转发给与直接路由相关联的接口端口或与间接路由相关联的接口端口时指示物理接口端口要使用的线路卡上的控制逻辑的输出值。在检测到链路故障后,转发引擎30的控制逻辑对选择器61进行重新编程以反映状态变化,即,对应的物理链路已经发生故障。转发引擎30在检测到针对主路由的链路故障后可以自动地更新用于对直接路由进行解析的下一跳列表(例如,下一跳列表62),从而使得转发引擎30使用由下一跳列表指定的间接路由来对网络流量进行路由,如下面将更详细地描述的。参考将数据转发给CE路由器/层2交换机8B,针对PE路由器10A的主下一跳可以指定耦合到网络链路16G的接口32中的接口。因此,根据被存储为路由信息42的数据平面获知的网络拓扑,转发引擎30可以对下一跳列表62进行预配置以指定将信息转发给本地ifl(即,到MHCE路由器的逻辑接口)的主下一跳(也称作接口下一跳)中的主路由。在图1的示例中,针对PE路由器10A的ifl是到CE路由器/层2交换机8B的网络链路16G。转发引擎30还可以使用路由信息42对具有一个或多个次路由的下一跳列表62进行预配置。一个或多个次路由可以被定义在间接下一跳(INH)中,或者更一般地,被定义在MPLS下一跳中,MPLS下一跳表示将路由转发给与PE路由器10A相同的网络段中的一个或多个其他MHPE。参考将数据转发给CE路由器/层2交换机8B,针对PE路由器10A的间接连接(或INH)将通过以太网段14中的其他MHPE路由器14(即,分别通过使用网络链路16L和16M的PE路由器10B和PE路由器10C)可用。因此,转发引擎30可以对下一跳列表62进行预配置以包括网络链路16M和16L作为次路由。路由引擎22可以使用其他PE路由器的ESI来标识次路由(即,INH)。(例如,如在路由信息42中指示的)具有与PE路由器10A相同的ESI的任何MHPE路由器可以被用作用于将数据转发给CE路由器/层2交换机8B的INH。转发引擎30可以对下一跳列表62进行预配置以使得目的在于MECE网络设备(例如,CE路由器/层2交换机8B)的数据使用(例如,指定本地ifl的)主下一跳被转发,只要主路由(例如,网络链路16G)可用。这可以通过利用低权重/路由偏好对下一跳列表62的主下一跳进行预配置并利用相对高权重/路由偏好对下一跳列表62的INH进行预配置来完成。下一跳的权重/路由偏好确定多个下一跳中的哪个将被使用。转发引擎30将使用具有可用的最低权重/路由偏好的下一跳。由于优选使用到CE路由器/层2交换机8B的本地ifl(即,主路由)以便维持在全活跃多宿主EVPN上的负载平衡,主路由被给予最低权重/路由偏好。INH将紧紧在检测到主路由中的链路故障后被使用。再次地,可以通过路由引擎32来通知转发引擎30。在本地ifl的链路故障的情况下,仍然优选的是维持在全活跃MHEVPN上的负载平衡。因此,在一个示例中,转发引擎30可以对下一跳列表62中的每个INH进行预配置以具有相同的权重/路由偏好。转发引擎30可以被配置为在多个下一跳具有相同的权重/路由偏好时对所有流量进行负载平衡。在其他示例中,转发引擎30可以被配置以对INH分配以不同的权重以影响期望的任何转发方案。在路由引擎22检测到本地ifl(例如,图1的链路16G)中的链路故障的情况下,路由引擎22可以向转发引擎30通知这样的故障。作为响应,转发引擎30可以访问转发信息56中的下一跳列表62。由于链路16G不再可用,转发引擎30更新下一跳列表以选择一个或多个次路由(即,INH)并通过INH对针对MHCE网络设备(例如,CE路由器/层2交换机8B)接收到的任何流量进行重新路由。在图1的示例中,INH可以是分别通过PE路由器10B和PE路由器10C的网络链路16L和16M。在本公开内容的另一示例中,路由引擎22的RPD62可以确定在PE路由器10A和核心网络之间已经发生了链路故障(例如,在图1的网络链路16D中的链路故障)。RPD62可以向转发引擎30通知这样的链路故障。例如,RPD62可以向执行转发引擎30的LACP60通知通过调用核70的API的链路故障。LACP60是一起控制若干物理连接的捆绑(bundling)的协议。例如,如图1中所示,网络链路16G-16I可以形成针对CE路由器/层2交换机8的LAG。LACP60可以被用于控制LAG的功能并协商与操作LACP的其他设备的服务。在图1的示例中,CE路由器/层2交换机8B和MHPE路由器10A-10C中的每个将根据LACP来操作。根据本公开内容的一个示例,RPD62可以向LACP60通知核心端链路故障。作为响应,LACP60可以被配置为将OOS消息发送给CE路由器/层2交换机8B。实际上,OOS消息通知CE路由器/层2交换机8BPE路由器10A正在经历核心端网络故障。另外,OOS消息可以指令或以其他方式使得CE路由器/层2交换机8B停止将数据流量发送给PE路由器10A,因为PE路由器10A不能够将任何流量递送到核心网络,并且最终递送到客户网络6A。CE路由器/层2交换机8B还可以被配置为从lag移除PE路由器10A并且仅仅通过PE路由器10B和10C发送数据。PE路由器10A的元件可以单独地被实施在软件或硬件中,或者可以被实施为软件、硬件或固件的组合。例如,控制单元30可以包括执行软件指令的一个或多个处理器、一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或任何其他等效集成电路或分立逻辑电路或其任何组合。在这情况下,PE路由器10A的各个软件模块可以包括存储、实现或编码在含有指令的诸如计算机可读存储介质的计算机可读介质中的可执行指令。嵌入或编码在计算机可读介质中的指令可以例如当指令被运行时使可编程处理器或其他处理器执行方法。计算机可读存储介质可以包括随机存储存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、非易失性随机存取存储器(NVRAM)、快闪存储器、硬盘、CD-ROM、软盘、磁带、固态驱动器、磁性介质、光学介质或其他计算机可读介质。计算机可读介质可以被编码有与PE路由器10A的各个方面(例如,协议)相对应的指令。在一些示例中,PE路由器10A检索并执行来自存储器的针对这些方面的指令。图6是图示了根据本公开内容的技术的在链路故障的情况下用于对下一跳列表进行预配置并且转发数据流量的多个网络设备的示例操作的流程图。出于示例目的参考PE路由器10A来图示根据本公开内容的技术的示例操作。然而,PE路由器10B和PE路由器10C可以按照与PE路由器10A相同的方式被配置。首先,PE路由器10A可以对包括主(接口)下一跳和一个或多个次(间接)下一跳的下一跳列表62进行预配置(72)。PE路由器10A可以配置到CE路由器(例如,图1中的路由器/层2交换机8B)的本地ifl的主下一跳。一个或多个次下一跳可以被路由到与PE路由器10A一起连接到层2虚拟桥的段中的CE路由器/层2交换机8B的一个或多个其他PE网络设备。在一个示例中,段是在全活跃多宿主以太网虚拟专网(EVPN)拓扑中连接到CE网络设备的以太网段。在本公开内容的一个示例中,PE路由器10A可以利用低权重对接口下一跳进行配置,从而使得在接口下一跳可用时被寻址到CE网络设备的所有数据流量经由接口下一跳被路由。附加地,PE路由器10A可以利用高权重对一个或多个次下一跳进行配置,从而使得在接口下一跳不可用时数据流量得到负载平衡。PE路由器10A可以接收被寻址到与接口下一跳相关联的下一工作设备的数据分组(74)。在与接口下一跳相关联的网络链路正常工作的情况下,PE路由器10A通过接口下一跳来转发数据。PE路由器10A还可以被配置为检测与接口下一跳相关联的链路故障(82)。在这种情况下,PE路由器10A可以被配置为任选地(例如,使用每ES的AD撤回)从针对以太网段14的路由表撤回(84)。另外,PE路由器10A可以访问下一跳和列表62将数据分组转发给一个或多个次(间接)下一跳(86)。参考图1,PE路由器10A可以被配置为将数据分组转发给PE路由器10B和PE路由器10C。PE路由器10B可以之后将接收到的数据分组转发给CE网络设备(90)。类似地,PE路由器10C可以将任何接收到的数据分组转发给CE网络设备(92)。图7是图示了根据本公开内容的技术的在链路故障的情况下用于消息传送的多个网络设备的示例操作的流程图。出于示例目的参考PE路由器10A来图示根据本公开内容的技术的示例操作。然而,PE路由器10B和PE路由器10C可以按照与PE路由器10A相同的方式被配置。PE路由器10A可以被配置为检测PE路由器10A和核心网络之间的链路故障(100)。例如,参考图1,PE路由器10A可以检测网络链路16D中的链路故障。在本公开内容的一个示例中,PE路由器10A是连接到CE网络设备(例如,CE路由器/层2交换机8B)和核心网络的层2虚拟桥的段的部分。在本公开内容的更加具体的示例中,该段是在所有活跃多宿主EVPN拓扑中连接到CE路由器/层2交换机8B的以太网段。另外,PE路由器10A可以是针对CE路由器/层2交换机18B的LAG的部分。响应于检测到链路故障,PE路由器10A可以向PE路由器10A的转发引擎(例如,转发引擎30)通知链路故障(102)。PE路由器10A的转发引擎30可以之后将LACPOOS消息发送给CE路由器/层2交换机8B(104)。该消息指示链路故障并且指示数据分组不应当被发送给PE路由器10A。CE路由器/层2交换机8B响应于LACPOOS消息可以停止将数据分组发送给PE路由器10A(106)。示例1:一种方法包括:在第一提供商边缘(PE)网络设备处对到客户边缘(CE)网络设备的主路由和到CE网络设备的一个或多个次路由进行预配置,主路由使用第一PE网络设备与CE网络设备之间的第一通信链路,并且一个或多个次路由使用第一PE网络设备与一个或多个其他PE网络设备之间的一个或多个其他相应的通信链路,其中第一PE网络设备和一个或多个其他PE网络设备在全活跃模式中被配置为层2虚拟桥的段的部分,并且CE网络设备被多宿主到第一PE网络设备和一个或多个其他PE网络设备;在第一PE网络设备处接收被寻址到CE网络设备的数据分组;由第一PE网络设备来检测针对主路由的链路故障;以及由第一PE网络设备响应于检测到针对主路由的链路故障而使用一个或多个次路由来转发被寻址到CE网络设备的数据分组。示例2:根据示例1所述的方法,其中对主路由和一个或多个次路由进行预配置包括:对下一跳列表进行配置,下一跳列表包括针对主路由的接口下一跳和针对一个或多个次路由的一个或多个次下一跳。示例3:根据示例2所述的方法,还包括:在下一跳列表中利用低权重对接口下一跳进行配置,从而使得在第一通信链路可用时被寻址到CE网络设备的所有网络流量经由第一通信链路被路由;以及在下一跳列表中利用高权重对一个或多个次下一跳进行配置,从而使得在第一通信链路不可用时网络流量被负载平衡。示例4:根据示例2所述的方法,其中由第一PE网络设备响应于检测到主路由中的链路故障来将被寻址到CE网络设备的数据分组转发给一个或多个次路由包括:对下一跳列表进行配置以选择一个或多个次下一跳;以及响应于接收到数据分组,使用一个或多个次下一跳来转发数据分组。示例5:根据示例1至4中的任一项所述的方法,其中一个或多个次下一跳是多协议标签交换(MPLS)下一跳。示例6:根据示例1至4中的任一项所述的方法,还包括:由第一PE网络设备响应于检测到链路故障而从针对段的路由表撤回。示例7:根据示例1至4中的任一项所述的方法,其中数据分组是已知的单播流量。示例8:一种网络设备,其中网络设备是第一提供商边缘(PE)网络设备,网络设备包括:转发引擎,其被配置为:对到客户边缘(CE)网络设备的主路由和到CE网络设备的一个或多个次路由进行预配置,主路由使用第一PE网络设备与CE网络设备之间的第一通信链路,并且一个或多个次路由使用第一PE网络设备与一个或多个其他PE网络设备之间的一个或多个其他相应的通信链路,其中第一PE网络设备和一个或多个其他PE网络设备在全活跃模式中被配置为层2虚拟桥的段的部分,并且CE网络设备被多宿主到第一PE网络设备和一个或多个其他PE网络设备;接收被寻址到CE网络设备的数据分组,以及响应于检测到针对主路由的链路故障来使用一个或多个次路由来转发被寻址到CE网络设备的数据分组;以及路由引擎,其被配置为检测针对主路由的链路故障。示例9:根据示例8所述的网络设备,还被配置为执行根据示例2至7中的任一项所述的方法。示例10:一种网络系统包括:多个提供商边缘(PE)网络设备,其连接到客户边缘(CE)网络设备并且被配置在层2虚拟桥的段中,其中多个PE网络设备中的每个PE网络设备被配置为:对到CE网络设备的主路由和到CE网络设备的一个或多个次路由进行预配置,主路由是多个PE网络设备中的相应的PE网络设备与CE网络设备之间的第一通信链路,并且一个或多个次路由是多个PE网络设备中的相应的PE网络设备与多个PE网络设备中的其他PE网络设备之间的一个或多个其他相应的通信链路,其中第一PE网络设备和一个或多个其他PE网络设备在全活跃模式中被配置为层2虚拟桥的段的部分,并且CE网络设备被多宿主到第一PE网络设备和一个或多个其他PE网络设备,检测针对主路由的链路故障,接收被寻址到CE网络设备的数据分组,以及响应于检测到针对主路由的链路故障来使用一个或多个次路由来转发被寻址到CE网络设备的数据分组。示例11:根据示例8所述的网络系统,其中多个PE网络设备中的每个PE网络设备还被配置为执行根据示例2至7中的任一项所述的方法。示例12:一种方法包括:由第一提供商边缘(PE)网络设备来检测提供对核心网络的访问的第一PE网络设备与另一PE网络设备之间的链路故障,其中第一PE网络设备是由客户边缘(CE)网络设备使用以转发数据分组的层2虚拟桥的段的部分;以及由第一PE网络设备响应于检测到第一PE网络设备与核心网络之间的链路故障来将指示链路故障并且指示数据分组不应当被发送给第一PE网络设备的消息发送给CE网络设备。示例13:根据示例12所述的方法,其中段是在全活跃多宿主以太网虚拟专网(EVPN)拓扑中连接到CE网络设备的以太网段。示例14:根据示例12至13中的任一项所述的方法,其中第一PE网络设备是具有一个或多个其他PE网络设备的链路聚合组(LAG)的部分。示例15:根据示例12至13中的任一项所述的方法,其中发送消息包括发送链路聚合控制协议(LACP)停用(OOS)消息。本公开内容中描述的技术可以至少部分地被实施在硬件、软件、固件或其任何组合中。例如,所描述的技术的各种方面可以被实施在一个或多个处理器内,该一个或多个处理器包括一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或任何其他等效集成电路或分立逻辑电路以及这样的部件的任何组合。术语“处理器”或“处理电路”一般可以指单独的或与其他逻辑电路组合的前述逻辑电路中的任何逻辑电路或任何其他等效电路。包括硬件的控制单元也可以执行本公开内容的技术中的一个或多个技术。这样的硬件、软件和固件可以被实施在相同设备内或分开的设备内以支持本公开内容中描述的各种技术。另外,所描述的单元、模块或部件中的任何单元、模块或部件可以一起被实施或单独地被实施为分立但可互操作的逻辑设备。对作为模块或单元的不同特征的描绘旨在突出不同的功能方面并且不一定暗示这样的模块或单元必需通过单独的硬件、固件或软件部件来实现。相反,与一个或多个模块或单元相关联的功能可以通过单独的硬件、固件或软件部件来执行,或被集成在共同或单独的硬件或软件部件内。本公开内容中描述的技术还可以被实现或被编码在编码有指令的诸如非瞬态计算机可读介质的制品中。嵌入或编码在包括编码的计算机可读介质的制品中的指令可以例如当包含或编码在计算机可读介质中的指令由一个或多个处理器执行时使得一个或多个可编程处理器或其他处理器实施本文中描述的技术中的一个或多个技术。计算机可读存储介质可以包括随机存储存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、快闪存储器、硬盘、紧凑盘(CD-ROM)、软盘、磁带、磁介质、光学介质或其他计算机可读介质。在一些示例中,制品可以包括一个或多个计算机可读存储介质。在一些示例中,计算机可读存储介质可以包括非瞬态介质。术语“非瞬态”可以指示未实现在载波或传播信号中的存储介质。在某些示例中,非瞬态存储介质可以存储随时间变化(例如,RAM或缓存中的)的数据。已经描述了本公开内容的各种实施例。这些实施例和其他实施例在所附权利要求书的范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1