CN111064659B - 多宿主节点故障的bum流量的节点保护 - Google Patents
多宿主节点故障的bum流量的节点保护 Download PDFInfo
- Publication number
- CN111064659B CN111064659B CN201910945596.5A CN201910945596A CN111064659B CN 111064659 B CN111064659 B CN 111064659B CN 201910945596 A CN201910945596 A CN 201910945596A CN 111064659 B CN111064659 B CN 111064659B
- Authority
- CN
- China
- Prior art keywords
- egress
- protected
- devices
- bum
- vtep
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
Abstract
一种多宿主节点故障的BUM流量的节点保护,描述了用于促进针对多宿主节点故障的广播、未知单播和多播(BUM)流量的节点保护的技术。例如,每个VTEP(例如,PE装置)可以通告受保护的VTEP地址,该地址指示在节点故障的情况下要保护的远程PE装置的IP地址。在多宿主PE装置发生故障的情况下,入口PE装置发送包含故障节点的受保护的VTEP地址的BUM分组。当出口PE装置接收到BUM分组时,出口PE装置确定BUM分组是否包括受保护的VTEP地址,并且出口PE装置是否作为备份指定转发器(DF)运行。如果BUM分组包括受保护的VTEP地址,并且出口PE装置是备份DF,则出口PE装置将BUM流量转发到ESI。
Description
本申请是2018年12月12日提交的标题为“NODE PROTECTION FOR BUM TRAFFICFOR MULTI-HOMED NODE FAILURE”的美国专利申请号16/217,670的部分延续,该申请要求2018年10月17日提交的题为“NODE PROTECTION FOR BUM TRAFFIC FOR MULTI-HOMED NODEFAILURE”的印度临时专利申请号201841039383的优先权,以上申请的全部内容均通过引用结合于此。
技术领域
本公开涉及计算机网络,更具体地,涉及在计算机网络内转发流量。
背景技术
计算机网络是能够交换数据和共享资源的互连计算装置的集合。实例网络装置包括交换机或其他层2(“L2”)装置,在开放系统互连(“OSI”)参考模型的层2(即数据链路层)内操作;以及路由器或其他层3(“L3”)装置,在OSI参考模型的层3(即网络层)内操作。计算机网络中的网络装置通常包括为网络装置提供控制平面功能的控制单元和用于路由或交换数据单元的转发单元。
以太网虚拟专用网EVPN(Ethernet Virtual Private Network,“EVPN”)可用于以透明的方式通过中间L3网络(通常称为“提供商网络”)扩展两个或多个远程L2客户网络,即,就像中间L3网络不存在一样。在一些实例中,EVPN在由一个IP基础设施连接的客户网络之间传输L2通信,例如,以太网分组或“帧”,在这种情况下,可以在提供商网络内使用IP/GRE隧道或其他IP隧道来传送封装的L2通信,就好像这些客户网络直接连接到同一个局域网(“LAN”)。IP隧道方案的一个实例是虚拟可扩展局域网(“VXLAN”)。
在EVPN,PE装置的面向核心的接口上的L2地址学习(也称为“MAC学习”)发生在控制平面中,而不是发生在使用路由协议的数据平面中(例如,通过传统桥接发生)。例如,在EVPN中,PE网络装置通常使用边界网关协议(“BGP”)(即L3路由协议)向其他PE装置通告该PE装置从本地消费者边缘网络装置获知的MAC地址,本地消费者边缘网络装置连接该PE装置。作为一个实例,PE网络装置可以使用BGP路由通告消息来宣布EVPN的可达性信息,其中,BGP路由通告指定由PE装置学习的一个或多个MAC地址,而不是L3路由信息。
在称为主动-主动模式的EVPN配置中,以太网段包括多个PE装置,这些PE装置为一个或多个本地客户网络装置提供多宿主连接。此外,多个PE装置通过中间网络向远程PE装置提供传输服务,并且以太网段中的多个PE装置中的每一个可以为客户网络装置转发段中的以太网帧。在主动-主动模式下,以太网段的多个PE装置中的一个基于从其他PE装置接收到的MAC寻址信息被动态地选为将在EVPN泛洪的L2广播、未知单播和多播(“BUM”)流量的指定转发器(“DF”)。在以太网段中提供客户网络装置多宿主连接的其余PE装置被配置为备份指定转发器(“BDF”或“备份DF”)或非指定转发器(“非DF”)。当相对于当前指定转发器发生网络故障时,备份PE装置可以执行指定转发器选择算法,以确定哪个备份PE网络装置将成为新的指定转发器,因此承担为客户网络装置转发L2通信的责任。
VXLAN提供了一个隧道方案,将L2网络覆盖在L3网络之上。VXLAN建立隧道,用于在PE装置之间通过公共物理IP基础设施传输流量,例如,BUM分组。即,例如,VXLAN覆盖网络被指定给每个客户网络,并在数据中心的现有LAN基础设施上运行。支持VXLAN的装置称为虚拟隧道端点(VTEP)(也称为“VXLAN隧道端点”)。VTEP可以是终端主机、网络交换机或路由器。VTEP封装VXLAN流量,并在离开VXLAN隧道时将流量解封装。
发明内容
通常,描述了用于促进针对多宿主节点故障的BUM流量的节点保护的技术。如本文进一步描述的,这些技术促进在EVPN中通过VXLAN的BUM流量的节点保护。例如,每个VTEP(例如,PE装置)可以向其他VTEP通告受保护的VTEP地址,其中,受保护的VTEP地址指示在节点故障的情况下通告PE装置要保护的远程PE装置的IP地址。在多宿主PE装置的指定转发器出现故障的情况下,入口PE装置可以发送包含指示故障PE装置的受保护的VTEP地址的BUM分组。当出口PE装置接收到包括受保护的VTEP地址的BUM分组时,出口PE装置可以确定BUM分组中包括的受保护的VTEP地址是否与入口PE装置通告的受保护的VTEP地址匹配。响应于确定受保护的VTEP地址的匹配,出口PE装置可以确定出口PE装置是否作为以太网段标识符上的备份指定转发器操作,对于该以太网段标识符,故障节点是DF。如果出口PE装置作为备份指定转发器运行,则出口PE装置可以将BUM流量转发到以太网段。以这种方式,即使备份DF没有通过全局修复过渡到DF,备份DF也可以将BUM流量转发到以太网段,从而减少流量黑洞的发生。
在一个实例中,一种方法包括:由多个PE装置的入口提供商边缘(PE)装置向多个出口PE装置发送一个或多个受保护的虚拟隧道端点(VTEP)地址,多个PE装置被配置为使用隧穿协议在层3核心网络上提供以太网虚拟专用网(EVPN)网络覆盖,其中,所述多个PE装置是用于隧穿协议的对等VTEP,并且其中,所述EVPN可通过以太网段到达,所述以太网段将所述多个PE装置中的多个出口PE装置连接到客户边缘(CE)装置,所述客户边缘装置通过以太网段多宿主于所述多个出口PE装置;由入口PE装置确定被配置为指定转发器的一个出口PE装置已经发生故障;并且由入口PE装置向多个出口PE装置发送包括一个或多个受保护的VTEP地址的广播、未知单播和多播(BUM)分组。
在另一实例中,一种方法包括:由多个出口PE装置的出口提供商边缘(PE)装置从入口PE装置接收一个或多个受保护的虚拟隧道端点(VTEP)地址,其中,所述多个出口PE装置和入口PE装置被配置为使用隧穿协议在层3核心网络上提供以太网虚拟专用网(EVPN)网络覆盖,其中,所述多个PE装置是用于隧穿协议的对等VTEP,并且其中,所述EVPN可通过以太网段到达,所述以太网段将所述多个出口PE装置连接到客户边缘(CE)装置,所述客户边缘装置通过所述以太网段多宿主于所述多个出口PE装置;由出口PE装置从入口PE装置接收广播、未知单播和多播(BUM)分组;由出口PE装置确定BUM分组是否包括一个或多个受保护的VTEP地址;由出口PE装置响应于确定所述BUM分组包括所述一个或多个受保护的VTEP地址,确定所述出口PE装置是否被配置为所述以太网段的备份指定转发器(DF);并且由出口PE装置响应于确定出口PE装置被配置为备份DF,向以太网段中的网络装置发送BUM分组。
在又一实例中,一种提供商边缘(PE)装置包括:一个或多个可编程处理器,其可操作地耦接到存储器,所述存储器被配置为使一个或多个可编程处理器:向包括PE装置的多个PE装置的多个出口PE装置发送一个或多个受保护的虚拟隧道端点(VTEP)地址,所述多个PE装置被配置为使用隧穿协议在层3核心网络上提供以太网虚拟专用网(EVPN)网络覆盖,其中,所述多个PE装置是用于隧穿协议的对等VTEP,并且其中,所述EVPN可通过以太网段到达,所述以太网段将所述多个出口PE装置连接到客户边缘(CE)装置,所述客户边缘装置通过所述以太网段多宿主于所述多个出口PE装置;确定被配置为指定转发器的一个出口PE装置已经发生故障;并且发送包括一个或多个受保护的VTEP地址的广播、未知单播和多播(BUM)分组。
在又一实例中,一种提供商边缘(PE)装置包括:一个或多个可编程处理器,其可操作地耦接到存储器,所述存储器被配置为使一个或多个可编程处理器:从多个PE装置中的入口PE装置接收一个或多个受保护的VTEP地址;从入口PE装置接收第二BUM分组;确定第二BUM分组是否包括一个或多个受保护的VTEP地址;响应于确定所述第二BUM分组包括所述一个或多个受保护的VTEP地址,确定所述PE装置是否被配置为所述以太网段的备份指定转发器(DF);并且响应于确定出口PE装置被配置为备份DF,向以太网段中的网络装置发送第二BUM分组。
在附图和以下描述中阐述这些技术的一个或多个方面的细节。通过说明书和附图以及权利要求书,本公开的技术的其他特征、目的和优点将变得显而易见。
附图说明
图1是示出根据本公开中描述的技术的一个或多个方面配置的网络系统的框图。
图2是示出根据本文描述的技术的一个或多个方面的提供商边缘装置的实例的框图。
图3是示出根据本公开中描述的技术的一个或多个方面的PE装置的实例操作的流程图。
在所有附图和文本中,相同的附图标记表示相同的元件。
具体实施方式
图1是示出根据本公开中描述的技术的一个或多个方面配置的网络系统2的框图。在图1的实例中,数据中心5A至5B(统称为“数据中心5”)是具有向用户和其他实体提供数据存储、管理和传播的专用设施的网络。实例数据中心5A、5B包括具有客户设备的多个物理和/或逻辑客户网络,例如,具有为用户/客户提供计算环境的客户端点4A、4B(统称为“端点4”)的客户网络6A、6B(统称为“客户网络6”)。端点4可以连接到数据中心5,以请求和接收由数据中心5提供的服务和数据。在一些情况下,数据中心5A、5B是整个数据中心的地理上分散的设施或“站点”,以提供地理冗余来防止一个数据中心的局部故障。
在这个实例中,数据中心5通过中间网络(例如,网络12)互连。通常,网络12可以表示由服务提供商拥有和运营的公共网络,以互连多个边缘网络,例如,客户网络6。网络12是层3(“L3”)网络,因为该网络本身支持OSI模型中描述的L3操作。常见的L3操作包括根据L3协议执行的操作,例如,互联网协议(“IP”)。L3在OSI模型中也称为“网络层”,在TCP/IP模型中称为“IP层”,在本公开中,术语L3可以与“网络层”和“IP”互换使用。结果,考虑到网络12充当互连边缘网络(例如,客户网络6)的核心,网络12在本文可以称为服务提供商(“SP”)网络,或者可替换地称为“核心网络”。
在图1的实例中,提供商边缘网络装置10A至10D(统称为“PE装置10”)经由客户边缘网络装置8A-8B(统称为“CE装置8”)向与客户网络6相关联的端点4提供对网络12的访问。PE装置10和CE装置8可以均表示路由器、交换机或参与L2虚拟专用网(“L2VPN”)服务的其他合适的网络装置,例如,以太网虚拟专用网(“EVPN”)。每个端点4可以表示一个或多个非边缘交换机、路由器、集线器、网关、安全装置(例如,防火墙)、入侵检测和/或入侵防御装置、服务器、计算机终端、膝上型计算机、打印机、数据库、无线移动装置(例如,蜂窝电话或个人数字助理)、无线接入点、网桥、电缆调制解调器、应用加速器或其他网络装置。图1所示的网络系统2的配置仅仅是一个实例。例如,企业可以包括任意数量的客户网络6。然而,为了便于描述,图1中仅示出了客户网络6A至6B。
尽管为了便于解释,没有示出额外的网络装置,但是应当理解,网络系统2可以包括额外的网络和/或计算装置,例如,一个或多个额外的交换机、路由器、集线器、网关、安全装置(例如,防火墙)、入侵检测和/或入侵防御装置、服务器、计算机终端、膝上型计算机、打印机、数据库、无线移动装置(例如,蜂窝电话或个人数字助理)、无线接入点、网桥、电缆调制解调器、应用加速器或其他网络装置。
网络12可以提供多种住宅和商业服务,包括住宅和企业级数据服务(通常称为“互联网服务”,因为这些数据服务允许访问称为互联网的公共可访问网络的集合)、住宅和企业级电话和/或语音服务以及住宅和企业级电视服务。由服务提供商中间网络12提供的一种这样的企业级数据服务包括层2(“L2”)EVPN服务。网络12表示可实现EVPN服务的一个或多个客户网络的L2/L3交换结构。EVPN是通过中间L3网络(例如,网络12)提供L2连接形式的服务,以互连两个或多个L2客户网络(例如,L2客户网络6),这些客户网络可以位于不同的地理区域(在服务提供商网络实施的情况下)和/或不同的机架(在数据中心实施的情况下)。在一些实例中,EVPN在由一个IP基础设施连接的客户网络之间传输L2通信,例如,以太网分组或“帧”,在这种情况下,可以在提供商网络内使用IP/GRE隧道或其他IP隧道来传送封装的L2通信,就好像这些客户网络直接连接到同一个局域网(“LAN”)。通常,EVPN对客户网络是透明的,因为这些客户网络不知道介入的中间网络,而是像这些客户网络直接连接并形成单个L2网络一样运行和操作,因此,EVPN也可以称为“透明LAN服务”。
IP隧道方案的一个实例是虚拟可扩展局域网(“VXLAN”)。VXLAN提供隧道方案,以将L2网络(例如,客户网络6)覆盖在L3网络(例如,网络12)之上。VXLAN建立隧道,用于在PE装置10之间的公共物理IP基础设施上传送流量,例如,BUM分组。例如,不同客户网络6的端点4可以虚拟地隔离在VXLAN 9A-9B(统称为“VXLAN 9”)上。每个数据中心5包括底层网络,该底层网络为该客户通过相应的VXLAN 9传输L2通信。例如,PE装置10A可以从本地VXLAN9A接收客户流量,并通过网络12经由EVPN隧道传输该流量。为了隧道传输流量,PE装置10A可以用虚拟网络标识符(“VNI”)封装“外部分组”,例如,识别相应的VXLAN实例以通过EVPN隧道传输有效载荷或“内部分组”的VXLAN标签。当出口PE装置(例如,PE装置10B)从EVPN接收到分组时,PE装置10B解封装外部分组,并经由VXLAN 9B转发L2通信,以传输到客户网络6B。这样,只有同一VNI上的主机才能相互通信。
为了配置EVPN/VXLAN互连,网络12的网络运营商经由配置或管理接口配置网络12中包括的与L2客户网络6接合的各种装置,例如,PE装置10。EVPN配置可以包括EVPN实例(“EVI”)3,其包括一个或多个广播域。EVPN实例3被配置在中间网络12中用于客户网络6,以使客户网络6中的端点4能够经由EVI彼此通信,就好像端点4经由L2网络直接连接一样。通常,EVI3可以与PE装置(例如,PE装置10A至10D中的任何一个)上的虚拟路由和转发实例(“VRF”)(未示出)相关联。
在EVPN配置中,当PE装置驻留在同一个物理以太网段中时,当CE装置耦接到同一EVI上的两个或多个物理上不同的PE装置时,CE装置称为多宿主。例如,CE装置8B分别经由链路15A至15C耦接到PE装置10B至10D,其中,PE装置10B至10D能够经由CE装置8B向L2客户网络6B提供对EVPN的访问。网络运营商经常使用多宿主装置,以便在一个出口PE装置10B至10D或一个链路15A至15C中发生故障时,改善网络12提供的对EVPN的接入。当CE装置多宿主到两个或多个PE装置时,根据多宿主操作模式,一个或所有多宿主PE装置用于到达客户站点。在典型的EVPN配置中,PE装置10B至10D参与每个以太网段标识符(ESI)的指定转发器(DF)选择,例如,以太网段14的ESI。承担将BUM流量转发到CE装置的主要角色的PE装置称为指定转发器(“DF”)。承担将BUM流量转发到CE装置的备份角色的PE装置称为备份指定转发器(“BDF”或“备份DF”),不是DF也不是备份DF的PE装置称为非指定转发器(“非DF”)。在DF发生故障时,指定为备份DF的PE装置将在全局修复过程后成为DF,在该过程中,撤销当前DF,并执行新的DF选择。
为了使连接到相同以太网段14的PE装置10能够自动发现彼此,并且为了每个以太网段的DF选择(和备份DF选择),每个PE装置10为由PE装置多宿主的每个以太网段通告以太网段路由(类型4),该路由通常在所有EVPN实例(EVI)中是唯一的。例如,每个PE装置10使用边界网关协议(BGP)来通告以太网段路由,该以太网段路由包括路由识别器(RD)、ESI和始发网络装置网络地址(例如,IP地址)。
此外,对于每个EVI,EVPN协议指示路由器输出路由协议消息,通告以太网自动发现(AD)路由(类型1),为耦接到EVPN实例的以太网段指定相关的ESI。即,每个PE装置10可以通告每个以太网段的以太网AD路由,以通告该PE装置对于该以太网段的可达性。例如,每个EVI的每个PE装置10使用BGP来通告以太网AD路由,该路由包括RD(其可以包括例如始发PE装置的IP地址)、ESI、以太网标签标识符和VNI。每条路由都由在通告ESI上共享同一个EVI的所有多宿主和远程PE装置通告和导入。在图1的实例中,EVI 3的PE装置10B至10D中的每一个通告并导入上述路由,以发现彼此并为以太网段14选择指定的转发器。
一旦EVPN对{EVI,ESI}对可操作,PE装置10向其他PE装置输出路由协议消息,例如,MAC/IP通告路由(类型2),以通告与本地客户网络6中的客户装置相关联的媒体访问控制(MAC)地址。MAC/IP通告路由可以指定MAC地址和与MAC地址相关联的IP地址。例如,PE装置10输出路由,包括例如RD、ESI、以太网标签标识符、MAC信息(例如,MAC地址和MAC地址长度)、IP地址信息(例如,IP地址和IP地址长度)和VNI。通过这种方式,每个VTEP学习其他VTEP拥有的MAC地址。在“BGP MPLS-Based Ethernet VPN”、互联网工程任务组(IETF)、RFC7432(2015年2月)和“A Network Virtualization Overlay Solution Using EthernetVPN(EVPN)”IETF、RFC8365(2018年3月)中,描述关于EVPN协议的额外信息,这两个文件的全部内容通过引用结合于此。
为了能够通过EVPN网络传送BUM分组,出口PE装置10B至10D可以均通告包含多播(IM)(类型3)路由,该路由向入口PE装置10A提供关于发送BUM分组时应该使用的隧道的信息。例如,每个EVI的每个PE装置10使用BGP来通告IM路由,该路由包括RD、以太网标签标识符、网络地址长度、始发网络装置的网络地址和隧道属性信息,例如,隧道类型、隧道标识符和VNI。即,每个出口PE装置10B至10D可以通告IM路由,以使入口PE装置10A能够向出口PE装置传送BUM流量。
以这种方式,PE装置10在客户网络6之间提供多宿主EVPN/VXLAN互连。这样,每个PE装置10作为网络12的EVPN和VXLAN 9之间的网关运行,并且可以作为相对于VXLAN 9的VXLAN隧道端点(“VTEP”)运行。即,每个PE装置10可以包括用于网络12的VXLAN 9和EVPN的逻辑上分离的路由实例,并且每个PE装置10操作,以桥接两个不同的内部路由实例之间的流量。在2014年8月“Virtual eXtensible Local Area Network(VXLAN):A Framework forOverlaying Virtualized Layer 2Networks over Layer 3Networks”征求意见(RFC)7348中,描述关于VXLAN的额外实例信息,其全部内容通过引用结合于此。
在图1的实例中,PE装置10B被选为DF,PE装置10C被选为备份DF,PE装置10D被选为非DF。在PE装置10B发生故障(例如,节点故障)的情况下,BUM流量通常不能到达CE装置8B,直到选择了新的DF。PE装置10C作为备份DF,在执行全局修复后可能会成为DF。为了执行全局修复,出现故障的指定转发器PE装置通常可以通告路由(例如,以太网AD路由(类型1)和以太网段路由(类型4)),以从以太网段中撤销出现故障的PE装置,这触发了以太网段的新DF选择。但是,在执行全局修复时,可能会出现流量黑洞。例如,全局修复过程可能需要一些时间(例如,取决于网络中的拓扑、配置和变动),并且当全局修复正在发生时,入口PE装置可以在备份DF转换到DF之前继续将BUM流量转发到发生故障的指定转发器PE装置,这导致分组丢失(“黑洞”)。
根据本公开中描述的技术,被配置为“保护备份DF”的备份DF(例如,PE装置10C)可以转发以太网段的BUM流量,即使备份DF还没有通过全局修复被选为以太网段的新DF。作为VTEP运行的每个PE装置10可以向其他PE装置通告受保护的VTEP地址。在图1的实例中,PE装置10A可以通告受保护的VTEP地址16A-16D(统称为“受保护的VTEP地址16”或“受保护的地址16”),以指示通告PE装置要保护的远程PE装置。例如,PE装置10A可以向PE装置10C通告受保护的VTEP地址16A(例如,“svtep-ip-prime-from-PE10A-to-protect-PE10B”),以指示PE装置10A将在PE装置10B发生故障的情况下保护PE装置10B。类似地,PE装置10A可以向PE装置10C通告受保护的VTEP地址16B(例如,“svtep-ip-prime-from-PE10A-to-protect-PE10D”),以指示PE装置10A将在PE装置10D发生故障的情况下保护PE装置10D。类似地,PE装置10A可以通告受保护的VTEP地址16C(例如,“svtep-ip-prime-from-PE10A-to-protect-PE10B”),以指示PE装置10A将在PE装置10B发生故障的情况下保护PE装置10B。类似地,PE装置10A可以通告受保护的VTEP地址16D(例如,“svtep-ip-prime-from-PE10A-to-protect-PE10C”),以指示PE装置10A将在PE装置10C发生故障的情况下保护PE装置10C。PE装置10可以使用控制平面信令来通告受保护的VTEP地址。作为一个实例,PE装置(例如,PE装置10A)可以通告包括在MAC/IP通告路由(类型2)中的受保护的VTEP地址。为了便于说明,仅示出了保护地址16,但是以太网段的每个PE装置可以为通告PE装置要保护的每个远程PE装置通告相应的受保护的VTEP地址。
在没有到任何出口PE装置10B至10D的节点故障的情况下,入口PE装置10A可以用PE装置10A的源VTEP地址(例如,IP地址)和目的VTEP(例如,PE装置10B至10D)的目的VTEP地址(例如,IP地址)封装每个BUM分组18。例如,源VTEP装置PE装置10A可以从CE装置8A接收分组,并用PE装置10A的源IP地址(例如,svtep-ip-PE10A)和PE装置10B的目的IP地址(例如,svtep-ip-PE10B)封装去往PE装置10B的BUM分组。类似地,入口PE装置10A可以复制BUM分组,并用PE装置10A的源IP地址(例如,svtep-ip-PE10A)和PE装置10C的目的IP地址(例如,svtep-ip-PE10C)封装去往PE装置10C的分组。作为又一实例,入口PE装置10A可以复制BUM分组,并用PE装置10A的源IP地址(例如,svtep-ip-PE10A)和PE装置10D的目的IP地址(例如,svtep-ip-PE10D)封装去往PE装置10D的分组。为了说明,入口PE装置10A可以如下生成包含地址的BUM分组18:
Src=svtep-ip-PE10A Dst=svtep-ip-PE10B
Src=svtep-ip-PE10A Dst=svtep-ip-PE10C
Src=svtep-ip-PE10A Dst=svtep-ip-PE10D
在被选作DF的出口PE装置(例如,出口PE装置10B)发生故障的情况下,入口PE装置10A除了发送BUM分组18之外,还可以发送BUM分组18’,BUM分组18’是BUM分组18的副本,其被修改为包括与由入口PE装置10A通告的故障出口PE装置相关联的受保护的VTEP地址。
为了检测DF(例如,PE装置10B)是否发生故障,入口PE装置10A可以实现双向转发检测(BFD)协议。BFD的实例可能包括会话-BFD(S-BFD)或多跳-BFD(MH-BFD)。例如,入口PE装置10A可以基于确定在配置时间段内没有从PE装置10B接收到BFD消息来确定PE装置10B已经发生故障。在某些情况下,交换BFD消息以检测节点故障的出口PE装置可能导致检测到误报。对于除了使用RSVP-TE的底层网络之外的底层网络,在给定的入口/出口PE对之间有多个等成本多路径(ECMP)路径。不同的分组流(包括BFD分组流)可以通过底层网络采用不同的路径。这样,给定入口/出口PE对之间的BFD会话的故障可能导致误报,因为出口PE装置可能没有发生故障或者出口PE装置没有接收到非BFD分组流。例如,出口PE装置可以交换BFD消息,以检测IP路径中节点故障。然而,尽管PE装置10B发生故障,但是IP路径可能仍然处于打开状态。为了防止检测到误报,入口PE装置10A可以与每个出口PE装置10B至10D建立S-BFD会话,以检测出口PE装置在数据路径上的故障,例如,网络堆栈的传输层(例如,第4层)。以这种方式,入口PE装置可以检测数据路径上的节点故障,以避免检测到误报,如果只有出口PE装置在IP路径上执行多宿主节点故障的检测,则可能发生误报。在C.Pignataro等人的“Seamless Bidirectional Forwarding Detection(S-BFD)”中,描述对BFD的进一步描述,因特网工程任务组(IETF),RFC 7880,2016年7月,其全部内容通过引用结合于此。
响应于检测到DF(例如,PE装置10B)发生故障,入口PE装置10A可以发送包含与PE装置10B相关联的受保护的VTEP地址的BUM分组18’,该PE装置10B是通告的PE装置10A以保护PE装置10B。对于图1所示的实例,入口PE装置10A可以生成BUM分组18’,该BUM分组18’复制BUM分组18并且被修改为包括由PE装置10A通告的受保护的VTEP地址16A(例如,“svtep-ip-prime-from-PE10A-to-protect-PE10B”)。作为一个实例实现,入口PE装置10A可以向每个出口PE装置10B至10D BUM分组18’发送受保护的VTEP地址,作为目的VTEP的源IP地址和目的IP地址,如下所示:
Src=svtep-ip-prime-from-PE10A-to-protect-PE10B
Dst=svtep-ip-PE10C
Src=svtep-ip-prime-from-PE10A-to-protect-PE10B
Dst=svtep-ip-PE10D
响应于接收到BUM分组18’,每个PE装置10B至10D可以处理BUM分组18’,以确定是否将该分组转发到以太网段14。例如,PE装置10C可以接收包括上面示出的受保护的VTEP地址的BUM分组18’,并且可以确定包含在BUM分组18’中的受保护的VTEP地址与PE装置10A通告给PE装置10C的受保护的VTEP地址相匹配,例如,受保护的VTEP地址16A(例如,“svtep-ip-prime-from-PE10A-to-protect-PE10B”)。作为响应,PE装置10C可以确定PE装置10C是否被配置为故障节点是DF的ESI上的备份DF。在这个实例中,PE装置10C可以确定其被配置为备份DF,并将分组转发到以太网段14。PE装置10C也可以接收不包括受保护的VTEP地址的BUM分组18,并且丢弃该分组,因为PE装置10C不是指定的转发器。
或者,响应于确定包含在BUM分组18’中的受保护的VTEP地址与PE装置10A通告给PE装置10D的受保护的VTEP地址匹配,例如,受保护的VTEP地址16C(例如,“svtep-ip-prime-from-PE10A-to-protect-PE10B”),PE装置10D可以确定其被配置为非DF而不是备份DF,并丢弃分组。PE装置10D也可以接收不包括受保护的VTEP地址的BUM分组18,并且丢弃该分组,因为PE装置10D不是指定的转发器。
当PE装置10完成全局修复(例如,路由撤销和DF选择)时,PE装置10C被选为DF。一旦完成全局修复,入口PE装置10A可以停止发送包括源VTEP保护地址的BUM分组,例如,BUM分组18’。在入口PE装置10继续发送BUM分组18’的情况下,PE装置10C将丢弃BUM分组18’,因为PE装置10C不再是备份DF。
在一些实例中,入口PE装置10A可以在PE装置10C被选为新DF之前停止发送BUM分组18’。在这些实例中,PE装置10A可以包括定时器(例如,完成全局修复的定时器),使得PE装置10A可以仅在定时器到期之后停止发送包括受保护的VTEP地址的BUM分组。
在一些实例中,一个PE装置10B至10D可以是来自CE装置8B的BUM流量的入口。例如,假设PE装置10D是入口。在这个实例中,PE装置10D可以向PE装置10A-10C通告受保护的VTEP地址。响应于确定PE装置10B已经发生故障,PE装置10D可以发送包括受保护的VTEP地址(例如,保护地址16)的BUM分组,使得PE装置10B或PE装置10C可以根据受保护的VTEP地址确定不在ESI上发送回BUM分组。例如,耦接到多宿主以太网段14A的PE装置10B-1D可以应用本文描述的技术,以确保通过PE装置10D来自客户网络8B的分组不会被连接到相同多宿主以太网段(例如,以太网段14A)的PE装置转发回客户网络8B。作为一个实例,PE装置10D可以向PE装置10C发送包括先前由PE装置10D通告的受保护的VTEP地址(例如,“svtep-ip-prime-from-PE10D-to-protect-PE10B”)的BUM分组,并且可以确定包含在BUM分组中的受保护的VTEP地址与PE装置10D向PE装置10C通告的受保护的VTEP地址相匹配。作为响应,PE装置10C可以确定PE装置10C是否被配置为故障节点为DF的ESI上的备份DF(例如,PE装置10B)。在这个实例中,PE装置10C可以确定其被配置为备份DF,并且不经由以太网段14A将分组转发回客户网络8B。
这些技术提供了一个或多个实例技术优势。例如,通过通告受保护的VTEP地址,即使备份DF尚未被选为新的DF,备份DF也可以转发以太网段的BUM流量。即,备份DF可以被配置为转发在发生全局修复时本来会被丢弃的BUM流量,从而减少流量损失(例如,黑洞)并提高网络系统的流量转发性能。
图2是示出根据本文描述的技术的提供商边缘网络装置的实例的框图。参考图1中PE装置10A和10C描述了PE装置200,但是可以由任何PE装置来执行。
如图2所示,PE装置200包括具有路由单元204(控制平面)的控制单元202以及耦接到转发单元230(数据平面)的控制单元202。转发单元230与一个或多个接口卡240A至240N(“IFC 240”)相关联,接口卡240A至240N经由入站链路242A至242N(“入站链路242”)接收分组,并经由出站链路244A至244N(“出站链路244”)发送分组。IFC 240通常经由多个接口端口(未示出)耦接到链路242、244。入站链路242和出站链路244可以表示物理接口、逻辑接口或其某种组合。
控制单元202和转发单元230的元件可以仅在软件或硬件中实现,或者可以实现为软件、硬件或固件的组合。例如,控制单元202可以包括一个或多个处理器206,处理器206可以表示执行软件指令的一个或多个微处理器、数字信号处理器(“DSP”)、专用集成电路(“ASIC”)、现场可编程门阵列(“FPGA”)或任何其他等效的集成或分立逻辑电路或其任意组合。在这种情况下,控制单元202的各种软件模块可以包括在计算机可读介质中存储、实施或编码的包含指令的可执行指令,例如,计算机可读存储介质。在计算机可读介质中嵌入或编码的指令可以使可编程处理器或其他处理器执行该方法,例如,当执行指令时。计算机可读存储介质可以包括随机存取存储器(“RAM”)、只读存储器(“ROM”)、可编程只读存储器(“PROM”)、可擦除可编程只读存储器(“EPROM”)、电可擦除可编程只读存储器(“EEPROM”)、非易失性随机存取存储器(“NVRAM”)、闪存、硬盘、光盘、软盘、磁带、固态驱动器、磁介质、光学介质或其他计算机可读介质。计算机可读介质可以用对应于PE装置200的各个方面的指令编码,例如,协议、过程和模块。在一些实例中,控制单元202从存储器中检索并执行这些方面的指令。
路由单元204用作PE装置200的控制平面,并包括操作系统,该操作系统提供多任务操作环境,以供多个并发进程执行。路由单元204包括内核210,内核210为用户级进程提供运行时操作环境。内核210可以表示例如UNIX操作系统衍生物,例如,Linux或伯克利软件分发(“BSD”)。内核210提供库和驱动程序,用户级进程可以通过其与底层系统交互。路由单元204的硬件环境208包括处理器206,处理器206执行从存储装置(图2中也未示出)加载到主存储器(图2中未示出)中的程序指令,以便执行软件堆栈,包括内核210和在内核210提供的操作环境上执行的进程。
内核210提供在网络堆栈的不同层执行各种协议214的操作环境,包括用于实现EVPN网络的协议。例如,路由单元204包括在网络堆栈的网络层运行的网络协议。协议214提供控制平面功能,用于以路由表或其他结构的形式存储网络拓扑,执行路由协议,以与对等路由装置通信并维护和更新路由表,并且提供管理接口,以允许用户访问和配置PE装置200。即,路由单元204负责维护路由信息218,以反映PE装置200所连接的网络和其他网络实体的当前拓扑。特别地,路由协议214基于PE装置200接收的路由协议消息周期性地更新路由信息218,以反映网络和其他实体的当前拓扑。
在图2的实例中,路由协议214包括边界网关协议(“BGP”)216,用于与其他路由装置交换路由信息和更新路由信息218。在EVPN中,PE装置200可以使用BGP向其他PE装置通告从PE装置200所连接的本地客户边缘网络装置学习的MAC地址PE装置200。特别地,PE装置200可以使用BGP路由通告消息来通告EVPN的可达性信息,其中,BGP路由通告指定由PE装置200学习的一个或多个MAC地址,而不是L3路由信息。PE装置200基于BGP路由通告消息更新路由信息218。路由协议214还可以包括双向转发检测(“BFD”)协议217,用于交换BFD消息,以检测节点故障。在一些实例中,BFD协议217可以包括无缝BFD(S-BFD)或多跳BFD(MH-BFD)。路由单元204还可以包括VXLAN协议215,以在L3网络(例如,网络12)之上隧道传输BUM流量。
路由信息218可以包括定义网络拓扑的信息,包括一个或多个路由表和/或链路状态数据库。通常,路由信息定义了经由距离矢量路由协议(例如,BGP)获知的通过网络到网络内的目的地/前缀的路由(即,一系列下一跳),或者定义了具有使用链路状态路由协议(例如,IS-IS或OSPF)学习的互连链路的网络拓扑。相反,基于网络内某些路由的选择而生成转发信息232,并且将分组密钥信息(例如,来自分组报头的L2/L3源和目的地地址以及其他选择信息)映射到转发信息232内的一个或多个特定下一跳转发结构,并且最终映射到IFC 240的一个或多个特定输出接口端口。路由单元204可以生成基数树形式的转发信息232,该基数树具有表示网络内目的地的叶节点、一系列表、链表、数据库、平面文件或各种其他数据结构。
路由单元204还包括使用BGP216执行L2学习的EVPN模块220。EVPN模块220可以维护由PE装置200建立的每个EVI的表,或者在替代实例中,可以维护独立于每个相应EVI的一个或多个表。PE装置200可以使用EVPN模块220来通告例如EVPN路由,包括:以太网AD路由(类型1),用于通告PE装置200对于以太网段的可达性;包括多播(IM)路由(类型3),用于通告关于用于向PE装置200发送BUM流量的PE装置200的信息;以及以太网段路由(类型4),用于发现以太网段的其他PE装置,并用于以太网段的DF选择(和备份DF选择)的目的。EVPN模块220可以存储来自路由的信息,例如,以太网段的PE装置的标识。
路由单元204包括配置接口222,其接收并可以报告PE装置200的配置数据。在一些实例中,配置接口222可以表示命令行接口;图形用户界面;简单网络管理协议(“SNMP”)、Netconf或另一配置协议;或者上述的某种组合。配置接口222接收配置PE装置200的配置数据以及至少部分定义PE装置200的操作的其他构造,包括本文描述的技术。例如,管理员可以在通电、激活或以其他方式使PE装置200能够在网络内操作之后,经由配置接口222与控制单元202交互,以配置例如出口保护模块224。
转发单元230表示提供网络流量的高速转发的硬件和逻辑功能。转发单元230通常包括一组用转发信息编程的一个或多个转发芯片,转发信息将网络目的地与特定的下一跳和相应的输出接口端口映射。通常,当PE装置200经由一个入站链路242接收分组时,转发单元230通过基于分组内的信息遍历编程的转发信息来识别该数据分组的相关联的下一跳,例如,在通过VXLAN、源VTEP地址和目的VTEP地址为EVPN转发BUM分组的情况下。转发单元230在映射到VXLAN隧道的一个出站链路244上转发分组。
在图2的实例中,转发单元230包括转发信息232。根据路由信息218,转发单元230存储转发信息232,转发信息232将分组字段值映射到具有特定下一跳和相应出站接口端口的网络目的地。例如,路由单元204分析路由信息218,并根据路由信息218生成转发信息232。转发信息232可以以一个或多个表、链表、基数树、数据库、平面文件或任何其他数据结构的形式来维护。
转发单元230存储由PE装置200建立的每个以太网EVPN实例(EVI)的转发信息232,以将网络目的地与特定的下一跳和相应的接口端口相关联。转发单元230根据与以太网段相关联的转发信息232,将一个出站链路244上的数据分组转发到对应的下一跳。此时,转发单元230可以从分组中封装和/或解封装VXLAN报头。
根据本文描述的技术,路由单元204可以包括执行本公开中描述的技术的出口保护模块224。例如,在PE装置200作为入口PE装置(例如,图1的PE装置10A)运行的实例中,出口保护模块224可以为PE装置200要保护的以太网段的每个PE装置生成并发送受保护的VTEP地址226。例如,出口保护模块224可以使用EVPN模块220来识别以太网段的PE装置(例如,基于通告的以太网段路由(类型4)),并且为以太网段的每个PE装置生成受保护的VTEP地址226。受保护的VTEP地址可以均识别PE装置200在节点故障的情况下可以保护的出口PE装置。PE装置200可以例如使用BGP 216向出口PE装置(例如,图1的PE装置10B至10D)通告包括受保护的VTEP地址226的MAC/IP通告路由(类型2)。出口保护模块224可以包括受保护的VTEP地址数据结构,用于存储由PE装置200通告的受保护的VTEP地址226。受保护的VTEP地址226可以存储在一个或多个表、列表或其他数据结构中。在一些实例中,受保护的VTEP地址226可以在路由信息218内。
在PE装置200作为一个多宿主PE装置(例如,图1的PE装置10B至10D)操作的实例中,出口保护模块224可以接收和存储由其他PE装置通告的受保护的VTEP地址。例如,入口PE装置(例如,图1的入口PE装置10A)可以通告一个或多个受保护的VTEP地址,所述地址指示连接到与PE装置200相同的多宿主以太网段的其他PE装置的IP地址。
PE装置200的出口保护模块224(作为出口PE装置操作)也可以配置接口命令234(“接口234”),接口命令234控制转发单元230是否在一个出站链路244上将输入的BUM分组转发到以太网段。例如,出口保护模块224可以配置接口命令234,接口命令234确定输入的BUM分组是否包括由入口PE装置通告的受保护的VTEP地址,并且如果包括,则确定PE装置200是否被配置为故障节点为DF的ESI上的备份DF。例如,响应于接收到BUM分组,出口保护模块224可以执行受保护的VTEP地址226的查找,以确定包括在输入BUM分组中的受保护的VTEP地址是否与存储在受保护的VTEP地址226中的受保护的VTEP地址匹配。接口命令234可以将面向客户端的接口配置为“打开”状态,用于当包括在输入BUM分组中的受保护的VTEP地址与受保护的VTEP地址226中的受保护的VTEP地址匹配并且PE装置200被配置为备份DF时。接口命令234还可以将面向客户端的接口配置为“关闭”状态,用于当包括在输入BUM分组中的受保护的VTEP地址与存储在受保护的VTEP地址226中的受保护的VTEP地址不匹配时。替代地或额外地,接口命令234可以将面向客户端的接口配置为“关闭”状态,用于当包括在输入的BUM分组中的受保护的VTEP地址与存储在受保护的VTEP地址226中的受保护的VTEP地址匹配并且PE装置200不被配置为备份DF时。在一些实例中,接口命令234可以包括将受保护的VTEP地址映射到以太网段的一个或多个接口的路由。响应于确定PE装置200被配置为以太网段的备份DF,出口保护模块224可以执行受保护的VTEP地址的查找,以识别BUM分组将转发到的存储路由(例如,ESI)。
作为一个实例实现,出口保护模块224可以如下配置接口命令234:
通过实现上述命令,例如,如果PE装置200接收到不包括受保护的VTEP地址的BUM分组,则转发单元230基于接口命令234处理输入的BUM分组,并且使用标准DF转发技术处理输入的BUM分组。如果PE装置200与源PE装置多宿主,则PE装置200执行本地偏置转发。对于PE装置没有与源PE装置多宿主的情况,如果PE装置200接收到包括受保护的VTEP地址的BUM分组,该受保护的VTEP地址与存储在受保护的VTEP地址226内的受保护的VTEP地址相匹配,并且被配置为保护备份DF,则转发单元230基于接口命令234处理输入的BUM分组,并且即使PE装置被配置为备份DF,也将BUM分组转发到以太网段。或者,如果PE装置200接收到包括受保护的VTEP地址的BUM分组,该受保护的VTEP地址与存储在受保护的VTEP地址226内的受保护的VTEP地址相匹配,但是不被配置为备份DF(例如,非DF),则转发单元230基于接口命令234处理输入的BUM分组,并且丢弃该BUM分组。
在PE装置200作为入口PE装置(例如,图1的PE装置10A)操作的实例中,PE装置200可以经由一个IFC 240从其他PE装置接收一个或多个受保护的VTEP地址,并将接收到的受保护的VTEP地址存储在出口保护模块224内的受保护的VTEP地址226中(或路由信息218中)。
PE装置200(作为入口PE装置操作)的路由单元204可以实现BFD协议217,以检测节点故障。例如,PE装置200可以基于确定在配置的时间段内没有从PE装置10B接收到BFD消息来确定远程PE装置(例如,图1的PE装置10B)已经发生故障。响应于检测到被选为以太网段的DF的PE装置已经发生故障,入口PE装置200的出口保护模块224可以生成包括受保护的VTEP地址226的BUM分组。例如,出口保护模块224可以包括在具有作为受保护的VTEP地址的源VTEP地址的BUM分组中,该受保护的地址由PE装置200通告,以保护发生故障的PE装置。
作为入口PE装置操作的PE装置200可以响应于新的DF选择,停止发送包括受保护的VTEP地址的BUM分组。在一些实例中,PE装置200的路由单元204可以包括定时器(未示出),出口保护模块224可以使用该定时器来确定是否停止发送包括受保护的VTEP地址的BUM分组。例如,响应于确定定时器已经到期,出口保护模块224可以停止发送包括受保护的VTEP地址的BUM分组。
图3是示出根据本公开中描述的技术的一个或多个方面的PE装置的实例操作的流程图。将参考图1的PE装置10和图2的PE装置200来描述图3。
在图3的实例中,入口PE装置10A可以向多宿主的出口PE装置10C和10D中的每一个发送相应的受保护的VTEP地址(302)。例如,PE装置10A可以使用EVPN模块220来确定哪些PE装置是多宿主的(例如,PE装置10C/10D)。PE装置10A的出口保护模块224可以向出口PE装置10C发送受保护的VTEP地址(例如,保护地址16A),以在PE装置10B发生故障时保护PE装置10B,并且发送受保护的VTEP地址(例如,保护地址16B),以在PE装置10D发生故障时保护PE装置10D。类似地,PE装置10A的出口保护模块224可以向出口PE装置10D发送受保护的VTEP地址(例如,保护地址16C),以在PE装置10B发生故障时保护PE装置10B,并且发送受保护的VTEP地址(例如,保护地址16D),以在PE装置10C发生故障时保护PE装置10C。例如,入口PE装置10A可以在MAC/IP通告路由(类型2)中通告受保护的VTEP地址。
出口PE装置10C/10D可以从PE装置10A接收相应的受保护的VTEP地址(304),并且可以存储受保护的VTEP地址。入口PE装置10A可以检测多宿主出口PE装置是否出现故障(306)。例如,入口PE装置10A可以实现BFD协议317(例如,S-BFD或MH-BFD),以检测多宿主出口PE装置(例如,PE装置10B至10D)中的任何一个是否发生故障。如果入口PE装置10A没有检测到任何多宿主出口PE装置的故障(步骤306的“否”分支),则入口PE装置10A可以向出口PE装置10B至10D发送没有受保护的VTEP地址的BUM分组(例如,图1的BUM分组18)(308)。替代地或额外地,如果入口PE装置10A检测到任何多宿主出口PE装置的故障(步骤306的“是”分支),则入口PE装置10A可以向出口PE装置10B至10D发送具有受保护的VTEP地址的BUM分组(例如,图1的BUM分组18’)(310)。例如,入口PE装置10A的出口保护模块224可以确定对应于故障PE装置10B的受保护的VTEP地址,并且将受保护的VTEP地址包括到复制的BUM分组(例如,BUM分组18’)。
出口PE装置10C和10D可以从入口PE装置10A接收BUM分组(312)。出口PE装置10C和10D可以确定BUM分组是否包括受保护的VTEP地址(314)。例如,PE装置10C和10D可以均配置接口命令234,以基于输入的BUM分组是否包括受保护的VTEP地址以及PE装置是否被配置为故障节点是DF的ESI上的备份DF来控制输出接口的状态。
在一个实例中,PE装置10C可以接收不包括受保护的VTEP地址的BUM分组(步骤314的“否”分支)。在这种情况下,PE装置10C可以使用标准DF转发技术来处理BUM分组(316)。例如,PE装置10C可以接收不包括受保护的VTEP地址的BUM分组,并且由于PE装置10C被配置为备份DF(例如,输出接口被设置为“关闭”),PE装置10C将丢弃该分组。
在一些实例中,PE装置10C可以接收BUM分组,并且确定该BUM分组包括由PE装置10A通告的受保护的VTEP地址(例如,保护VTEP地址16A)(步骤316的“是”分支)。在该实例中,然后,PE装置10C可以确定PE装置10C是否被配置为故障节点是DF的ESI上的备份DF(318)。如果PE装置10C被配置为备份DF(步骤318的“是”分支),则PE装置10C可以将该BUM分组转发到以太网段(320)。例如,PE装置10C可以配置接口命令234,以将输出接口设置为“打开”,使得如果BUM分组包括受保护的VTEP地址并且被配置为备份DF,PE装置10C可以将BUM分组转发到以太网段。或者,如果PE装置10C不被配置为备份DF(步骤318的“否”分支),则PE装置10C将丢弃BUM分组(322)。
本公开的技术可以在多种装置或设备中实现,包括网络装置、集成电路(IC)或一组IC(即芯片组)。已经描述了任何组件、模块或单元来强调功能方面,并且不一定需要由不同的硬件单元来实现。本文描述的技术也可以在硬件或硬件和软件和/或固件的任意组合中实现。被描述为模块、单元或组件的任何特征可以一起实现在集成逻辑装置中,或者单独实现为分立但可互操作的逻辑装置。在一些情况下,各种特征可以被实现为集成电路装置,例如,集成电路芯片或芯片组。
如果以软件实现,则这些技术可以至少部分地由包括指令的计算机可读存储介质来实现,当在处理器中执行时,这些指令执行一种或多种上述方法。计算机可读存储介质可以是物理结构,并且可以形成计算机程序产品的一部分,该计算机程序产品可以包括封装材料。在这个意义上,计算机可读介质可以是非暂时性的。计算机可读存储介质可以包括随机存取存储器(RAM),例如,同步动态随机存取存储器(SDRAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、闪存、磁或光数据存储介质等。
代码或指令可以由一个或多个处理器执行,例如,一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其他等效的集成或分立逻辑电路。因此,本文使用的术语“处理器”可以指任何前述结构或适合于实现本文描述的技术的任何其他结构。此外,在一些方面,本文描述的功能可以设置在配置用于编码和解码的专用软件模块或硬件模块中,或者包含在组合视频编解码器中。此外,这些技术可以在一个或多个电路或逻辑元件中完全实现。
Claims (18)
1.一种通信方法,包括以下步骤:
由多个提供商边缘PE装置的入口提供商边缘PE装置向所述多个提供商边缘PE装置的多个出口PE装置发送一个或多个受保护的虚拟隧道端点VTEP地址,所述多个PE装置被配置为使用隧穿协议在层3核心网络上提供以太网虚拟专用网EVPN网络覆盖,其中,所述一个或多个受保护的虚拟隧道端点VTEP地址识别所述多个出口PE装置的相应出口PE装置故障时所述入口PE装置要保护的所述相应出口PE装置,其中,所述多个PE装置是用于隧穿协议的对等VTEP,并且其中,所述EVPN能够通过以太网段到达,所述以太网段将所述多个出口PE装置连接到客户边缘(CE)装置,所述客户边缘装置通过以太网段多宿主于多个所述出口PE装置,其中,所述多个出口PE装置包括所述以太网段的指定转发器和备份指定转发器;
由所述入口PE装置确定被配置为所述指定转发器的一个出口PE装置已经发生故障;以及
响应于确定所述指定转发器故障,由所述入口PE装置向所述多个出口PE装置发送包括识别故障的所述指定转发器的一个或多个受保护的VTEP地址的广播、未知单播和多播BUM分组。
2.根据权利要求1所述的通信方法,其中,发送BUM分组包括:将所述一个或多个受保护的VTEP地址作为所述BUM分组的外部报头的源IP地址来发送。
3.根据权利要求1至2中任一项所述的通信方法,其中,包括所述一个或多个受保护的VTEP地址的所述BUM分组包括第一BUM分组,所述方法还包括:
由所述入口PE装置向多个所述出口PE装置发送没有所述一个或多个受保护的VTEP地址的第二BUM分组,其中,所述第一BUM分组是被修改为包括所述一个或多个受保护的VTEP地址的所述第二BUM分组的副本。
4.根据权利要求1所述的通信方法,所述通信方法还包括:
由所述入口PE装置确定所述备份指定转发器是否是由全局修复产生的新指定转发器;并且
由所述入口PE装置响应于确定所述备份指定转发器是由全局修复产生的新指定转发器,而停止发送包括所述一个或多个受保护的VTEP地址的BUM分组。
5.根据权利要求4所述的通信方法,其中,停止发送所述BUM分组还包括:响应于确定针对全局修复的定时器已经到期而停止发送所述BUM分组。
6.一种通信方法,包括:
由多个出口提供商边缘PE装置的出口提供商边缘PE装置从入口PE装置接收一个或多个受保护的虚拟隧道端点VTEP地址,其中,所述多个出口PE装置和所述入口PE装置被配置为使用隧穿协议在层3核心网络上提供以太网虚拟专用网(EVPN)网络覆盖,其中,所述一个或多个受保护的虚拟隧道端点VTEP地址识别所述多个出口PE装置的相应出口PE装置故障时所述入口PE装置要保护的所述相应出口PE装置,其中,多个PE装置是用于隧穿协议的对等VTEP,并且其中,所述EVPN能够通过以太网段到达,所述以太网段将多个所述出口PE装置连接到客户边缘(CE)装置,所述客户边缘装置通过所述以太网段多宿主于多个所述出口PE装置,其中,所述多个出口PE装置包括所述以太网段的指定转发器和备份指定转发器;
由所述出口PE装置从所述入口PE装置接收广播、未知单播和多播BUM分组;
由所述出口PE装置确定BUM分组是否包括识别所述以太网段的所述指定转发器的一个或多个受保护的VTEP地址;
由所述出口PE装置响应于确定所述BUM分组包括识别所述以太网段的所述指定转发器的所述一个或多个受保护的VTEP地址,而确定所述出口PE装置是否被配置为所述以太网段的所述备份指定转发器(DF);并且
由所述出口PE装置响应于确定所述出口PE装置被配置为所述备份指定转发器,而向所述以太网段中的网络装置发送所述BUM分组。
7.根据权利要求6所述的通信方法,其中,确定所述BUM分组是否包括所述一个或多个受保护的VTEP地址包括:确定包含在所述BUM分组中的所述一个或多个受保护的VTEP地址是否对应于由所述入口PE装置通告的所述一个或多个受保护的VTEP地址。
8.根据权利要求6所述的通信方法,还包括:
响应于确定所述出口PE装置不被配置为所述以太网段的所述备份指定转发器,而由所述出口PE装置丢弃所述BUM分组。
9.根据权利要求6所述的通信方法,还包括:
响应于确定所述BUM分组不包括所述一个或多个受保护的VTEP地址,而由所述出口PE装置确定所述出口PE装置是否是指定转发器;并且
响应于确定所述出口PE装置不是所述指定转发器,而由所述出口PE装置丢弃不包括所述一个或多个受保护的VTEP地址的所述BUM分组。
10.根据权利要求6至7中任一项所述的通信方法,还包括:
由所述出口PE装置将所述一个或多个受保护的VTEP地址映射到所述以太网段的一个或多个接口的路由存储成路由信息;并且
响应于确定所述出口PE装置被配置为所述以太网段的所述备份指定转发器,在所述路由信息中执行所述一个或多个受保护的VTEP地址的查找,以识别所存储的路由,
其中,向所述以太网段中的所述网络装置发送所述BUM分组包括向所存储的路由的一个或多个接口发送所述BUM分组。
11.一种提供商边缘PE装置,包括:
一个或多个可编程处理器,能够操作地耦接到存储器,所述存储器被配置为使所述一个或多个可编程处理器:
向多个出口PE装置发送一个或多个受保护的虚拟隧道端点VTEP地址,每个受保护的虚拟隧道端点VTEP地址识别所述多个出口PE装置的相应出口PE装置故障时所述PE装置要保护的所述相应出口PE装置,所述多个出口PE装置和所述PE装置被配置为使用隧穿协议在层3核心网络上提供以太网虚拟专用网(EVPN)网络覆盖,其中,所述多个出口PE装置和所述PE装置是用于隧穿协议的对等VTEP,并且其中,所述EVPN能够通过以太网段到达,所述以太网段将多个所述出口PE装置连接到客户边缘(CE)装置,所述客户边缘装置通过所述以太网段多宿主于多个所述出口PE装置,其中,所述多个出口PE装置包括所述以太网段的指定转发器和备份指定转发器;
确定被配置为所述指定转发器的一个出口PE装置已经发生故障;并且
响应于确定被配置作为所述指定转发器的所述一个出口PE装置故障,发送包括一个或多个受保护的VTEP地址的广播、未知单播和多播BUM分组。
12.根据权利要求11所述的PE装置,其中,为了发送BUM分组,所述存储器还被配置为使所述一个或多个可编程处理器将所述一个或多个受保护的VTEP地址作为BUM分组的外部报头的源IP地址来发送。
13.根据权利要求11-12中任一项所述的PE装置,其中,包括所述一个或多个受保护的VTEP地址的BUM分组包括第一BUM分组,并且其中,所述存储器还被配置为使所述一个或多个可编程处理器向多个所述出口PE装置发送没有所述一个或多个受保护的VTEP地址的第二BUM分组,其中,所述第一BUM分组是被修改为包括所述一个或多个受保护的VTEP地址的所述第二BUM分组的副本。
14.根据权利要求11所述的PE装置,其中,所述存储器还被配置为使所述一个或多个可编程处理器:
确定所述备份指定转发器(DF)是否是由全局修复产生的新指定转发器;并且
响应于确定该备份指定转发器是由所述全局修复产生的新指定转发器,停止发送包括所述一个或多个受保护的VTEP地址的BUM分组。
15.根据权利要求14所述的PE装置,其中,为了停止发送所述BUM分组,所述存储器还被配置为使所述一个或多个可编程处理器响应于确定针对所述全局修复的定时器已经到期而停止发送所述BUM分组。
16.根据权利要求11所述的PE装置,其中,BUM分组包括第一BUM分组,其中,所述存储器还被配置为使所述一个或多个可编程处理器:
使用隧穿协议在层3核心网络上从第二太网虚拟专用网EVPN网络覆盖的入口PE装置接收一个或多个受保护的VTEP地址,其中,所述入口PE装置和包括所述PE装置的多个第二出口PE装置是用于隧穿协议的对等VTEP,其中,所述第二EVPN能够通过第二以太网段到达,所述第二以太网段将所述多个第二出口PE装置连接到第二客户边缘(CE)装置,所述第二客户边缘装置通过所述第二以太网段多宿主于所述多个第二出口PE装置;
从所述入口PE装置接收第二BUM分组;
确定所述第二BUM分组是否包括所述一个或多个受保护的VTEP地址;
响应于确定所述第二BUM分组包括所述一个或多个受保护的VTEP地址,而确定所述PE装置是否被配置为所述第二以太网段的备份指定转发器(DF);并且
响应于确定所述出口PE装置被配置为所述第二以太网段的备份指定转发器,而向所述第二以太网段中的网络装置发送所述第二BUM分组。
17.根据权利要求16所述的PE装置,其中,为了确定所述第二BUM分组是否包括所述一个或多个受保护的VTEP地址,所述存储器还被配置为使所述一个或多个可编程处理器确定包括在所述第二BUM分组中的所述一个或多个受保护的VTEP地址是否对应于所述入口PE装置发送的一个或多个受保护的VTEP地址。
18.根据权利要求16所述的PE装置,其中,所述存储器还被配置为使所述一个或多个可编程处理器响应于确定所述出口PE装置没有被配置为所述第二以太网段的所述备份指定转发器,而丢弃所述第二BUM分组。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN201841039383 | 2018-10-17 | ||
IN201841039383 | 2018-10-17 | ||
US16/217,670 US10924332B2 (en) | 2018-10-17 | 2018-12-12 | Node protection for bum traffic for multi-homed node failure |
US16/217,670 | 2018-12-12 | ||
US16/357,136 US11349749B2 (en) | 2018-10-17 | 2019-03-18 | Node protection for bum traffic for multi-homed node failure |
US16/357,136 | 2019-03-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111064659A CN111064659A (zh) | 2020-04-24 |
CN111064659B true CN111064659B (zh) | 2022-07-19 |
Family
ID=70297424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910945596.5A Active CN111064659B (zh) | 2018-10-17 | 2019-09-30 | 多宿主节点故障的bum流量的节点保护 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111064659B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112311645A (zh) * | 2019-07-31 | 2021-02-02 | 中兴通讯股份有限公司 | 一种实现dci三层通信的方法、系统及第一gw |
CN114765621A (zh) * | 2020-12-31 | 2022-07-19 | 华为技术有限公司 | 检测bgp会话的状态的方法、装置和网络设备 |
US11546253B2 (en) * | 2021-03-31 | 2023-01-03 | Juniper Networks, Inc | Fast reroute for ethernet virtual private networks—virtual extensible local area network |
CN115987912A (zh) * | 2022-12-21 | 2023-04-18 | 迈普通信技术股份有限公司 | 报文转发控制方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9019814B1 (en) * | 2013-08-05 | 2015-04-28 | Juniper Networks, Inc. | Fast failover in multi-homed ethernet virtual private networks |
CN105791457A (zh) * | 2016-02-26 | 2016-07-20 | 杭州华三通信技术有限公司 | 一种数据处理方法及装置 |
CN106254203A (zh) * | 2016-09-05 | 2016-12-21 | 杭州华三通信技术有限公司 | 一种报文转发方法及装置 |
CN107276784A (zh) * | 2016-03-30 | 2017-10-20 | 丛林网络公司 | Evpn dci中活动‑备用冗余的故障处理方法及pe |
CN108574639A (zh) * | 2017-03-14 | 2018-09-25 | 华为技术有限公司 | Evpn报文处理方法、设备及系统 |
CN108574614A (zh) * | 2017-03-10 | 2018-09-25 | 华为技术有限公司 | 一种报文处理方法、设备及网络系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9160666B2 (en) * | 2013-05-20 | 2015-10-13 | Telefonaktiebolaget L M Ericsson (Publ) | Encoding a payload hash in the DA-MAC to facilitate elastic chaining of packet processing elements |
US20170063600A1 (en) * | 2015-08-31 | 2017-03-02 | Juniper Networks, Inc. | Egress protection for bum traffic with link failures in evpn |
US9923781B2 (en) * | 2015-11-18 | 2018-03-20 | Telefonaktiebolaget Lm Ericsson (Publ) | Designated forwarder (DF) election and re-election on provider edge (PE) failure in all-active redundancy topology |
-
2019
- 2019-09-30 CN CN201910945596.5A patent/CN111064659B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9019814B1 (en) * | 2013-08-05 | 2015-04-28 | Juniper Networks, Inc. | Fast failover in multi-homed ethernet virtual private networks |
CN105791457A (zh) * | 2016-02-26 | 2016-07-20 | 杭州华三通信技术有限公司 | 一种数据处理方法及装置 |
CN107276784A (zh) * | 2016-03-30 | 2017-10-20 | 丛林网络公司 | Evpn dci中活动‑备用冗余的故障处理方法及pe |
CN106254203A (zh) * | 2016-09-05 | 2016-12-21 | 杭州华三通信技术有限公司 | 一种报文转发方法及装置 |
CN108574614A (zh) * | 2017-03-10 | 2018-09-25 | 华为技术有限公司 | 一种报文处理方法、设备及网络系统 |
CN108574639A (zh) * | 2017-03-14 | 2018-09-25 | 华为技术有限公司 | Evpn报文处理方法、设备及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111064659A (zh) | 2020-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11539619B1 (en) | Local-bias forwarding of L2 multicast, unknown unicast, and broadcast traffic for an ethernet VPN | |
US10142129B1 (en) | Bum packet filtering in multi-homed EVPN overlay networks | |
US9992154B2 (en) | Layer 3 convergence for EVPN link failure | |
CN105743689B (zh) | 对多宿主以太网虚拟专网中的链路故障的快速收敛 | |
US10237163B2 (en) | Static route advertisement | |
EP3065342B1 (en) | Update of mac routes in evpn single-active topology | |
EP3301861A1 (en) | Evpn designated forwarder state propagation to customer edge devices using connectivity fault management | |
US11349749B2 (en) | Node protection for bum traffic for multi-homed node failure | |
US20170373973A1 (en) | Signaling ip address mobility in ethernet virtual private networks | |
CN111064659B (zh) | 多宿主节点故障的bum流量的节点保护 | |
US20170063600A1 (en) | Egress protection for bum traffic with link failures in evpn | |
CN111064596B (zh) | 对于用于多宿主节点故障的bum流量的节点保护 | |
CN112688888B (zh) | Evpn vxlan上改进的端口镜像 | |
US11799716B2 (en) | Core isolation for logical tunnels stitching multi-homed EVPN and L2 circuit | |
EP3641240B1 (en) | Node protection for bum traffic for multi-homed node failure | |
CN112422307A (zh) | Evpn和vpls共存双活的方法、设备及系统 | |
US20210119828A1 (en) | Deploying secure neighbor discovery in evpn | |
US11303474B1 (en) | Split-horizon filtering for EVPN-VXLAN | |
US20230095253A1 (en) | Fast reroute for ethernet virtual private networks - virtual extensible local area network | |
US11570086B2 (en) | Fast reroute for BUM traffic in ethernet virtual private networks |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: California, USA Applicant after: Juniper Networks, Inc. Address before: California, USA Applicant before: Jungle network |
|
GR01 | Patent grant | ||
GR01 | Patent grant |