CN111865774B - 多宿主网络节点和/或主机上的快速故障检测机制 - Google Patents
多宿主网络节点和/或主机上的快速故障检测机制 Download PDFInfo
- Publication number
- CN111865774B CN111865774B CN201910910069.0A CN201910910069A CN111865774B CN 111865774 B CN111865774 B CN 111865774B CN 201910910069 A CN201910910069 A CN 201910910069A CN 111865774 B CN111865774 B CN 111865774B
- Authority
- CN
- China
- Prior art keywords
- data forwarding
- message
- forwarding device
- instance
- bfd
- 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
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- 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/22—Alternate routing
-
- 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/24—Multipath
- H04L45/245—Link aggregation, e.g. trunking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/55—Prevention, detection or correction of errors
- H04L49/555—Error detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/14—Multichannel or multilink protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种方法,该方法用于在包括第一数据转发设备、第二数据转发设备、第三数据转发设备、第一数据转发设备与第二数据转发设备之间的第一通信链路、以及第一数据转发设备与第三数据转发设备之间的第二通信链路的系统中使用,第一通信链路和第二通信链路属于链路聚合组(LAG),该方法包括:(1)生成消息,该消息(i)用于测试第一数据转发设备与第二数据转发设备之间的第一路径、以及第一数据转发设备与第三数据转发设备之间的第二路径,以及(ii)包括因特网协议(IP)数据报,IP数据报包括多播IP目的地地址和包含路径测试信息的有效载荷;以及(2)通过LAG从第一数据转发设备向第二数据转发设备和第三数据转发设备发送消息。响应于由第二数据转发设备或第三数据转发设备接收到消息的实例,这样的(多个)设备(1)确定所接收的消息的实例是否是对多宿主链路聚合组消息的故障检测,以及(2)基于所接收的消息的实例是否是对多宿主链路聚合组消息的故障检测的所述确定来处理所接收的消息的实例。
Description
技术领域
本说明书涉及通信网络。更具体地,本说明书涉及通信网络中的检测故障,尤其是在具有多宿主访问的通信网络中,诸如经由例如以太网虚拟专用网络(EVPN)多宿主。
背景技术
支持多宿主的多宿主示例和技术
在云中的示例数据中心环境中,网络架构师的一个设计考虑因素是,网络更具弹性和容错性。对弹性和容错的需求跨越基于云的数据中心的所有或大多数分段;从托管应用的主机到与因特网对等的广域网(WAN)。
在典型的数据中心设计中,终端主机通常使用链路聚合组(LAG)捆绑连接到多个架顶式(TOR)节点(也称为“叶节点”)。与单宿主主机(其中主机仅连接到单个叶节点)相比,这种多宿主架构在单链路故障的情况下在叶节点与主机之间提供容错连接。由于需要将任何业务从故障链路(在主机与叶节点中的一个之间)快速切换到可用链路(在主机与另一叶节点之间),因此尽可能快地检测故障(并且切换)非常重要。
其中多宿主有用的另一示例是,当客户边缘(CE)设备连接到两个或更多个提供商边缘(PE)设备以提供冗余连接。
支持多宿主网络架构的一些常见实现包括基于以太网虚拟专用网(EVPN)以太网分段标识符(ESI)的多宿主和多机箱LAG(MC-LAG)。尽管理解了这些技术,但是为了方便读者,下面简要介绍它们。
用于多宿主的不同操作模式包括“单个”、“活动备用”和“活动有效”。当设备连接到单宿主设备(或站点)时,操作模式是“单个”。当只允许一组设备中的单个设备(例如,附接到以太网段)与另一设备(例如,在该以太网段上)转发业务时,该操作模式是“活动备用”冗余模式。最后,当允许组中的所有(或至少多个)设备(例如,附接到以太网段)与另一设备(例如,在该以太网段上)转发业务时,操作模式是“活动有效”(例如,负载均衡)冗余模式。
如上所述,当CE设备连接到两个或更多个PE设备以提供冗余连接时,多宿主是有用的。以太网虚拟专用网络(EVPN)可以用于支持这种拓扑。例如,EVPN可以包括连接到PE设备的CE设备,其形成多协议标签交换(MPLS)基础设施(有时称为MPLS传输网络)的边缘。CE设备可以是主机、路由器或交换机。PE设备提供CE设备之间的层2虚拟网桥连接。提供商的传输网络中可以有多个EVPN。PE路由器之间的学习发生在控制平面中,例如使用边界网关协议(BGP),这不像传统桥接,在传统桥接中,学习发生在数据平面中。EVPN多宿主功能使得网络管理员能够将客户站点连接到两个或更多PE设备以提供冗余连接。CE设备可以多宿主到不同PE设备或同一PE设备。一旦检测到故障,冗余PE设备就可以向客户站点提供网络服务。因此,如果(a)PE设备到CE设备链路故障,(b)PE设备故障,和/或(c)本地PE设备与远程PE设备之间存在MPLS可达性故障,则EVPN多宿主有助于保持EVPN服务和往返于多宿主站点的业务转发。
IEEE 802.3ad链路聚合使得网络管理员能够将以太网接口分组以形成单个链路层接口,也称为链路聚合组(LAG)或捆绑。
聚合物理接口之间的多个链路创建单个逻辑的点对点干线链路或LAG。参与LAG的聚合以太网接口称为“成员链路”。LAG可以用于增加带宽,在发生故障时提供适度降级,和/或提高可用性。LAG可以通过对所有可用链路上的业务进行负载均衡来提供网络冗余。如果链路中的一条链路出现故障,则系统会自动对所有剩余链路上的业务进行负载均衡。也就是说,由于LAG由多个成员链路组成,即使一个成员链路发生故障,LAG也可以继续通过其余链路承载业务。
链路聚合控制协议(LACP)(IEEE 802.3ad的组件)为LAG提供附加的功能。更具体地,在将链路添加到LAG之前,LACP可以用于确保以太网链路的两端都起作用并且是聚合组的成员。在LACP被配置之后,它会检测链路的本地端或远端的配置错误。因此,LACP可以帮助防止通信失败。
标准链路聚合的一个问题是,连接是点对点的。多机箱链路聚合组(MC-LAG)使得客户端设备能够在两个MC-LAG对等体之间形成逻辑LAG接口。MC-LAG在两个MC-LAG对等体、多宿主支持和无环路层2网络之间提供冗余和负载均衡,而无需运行生成树协议(STP)。在MC-LAG的一端,存在MC LAG客户端设备,诸如服务器,MC LAG客户端设备在链路聚合组(LAG)中具有一个或多个物理链路。该客户端设备将链路用作LAG。在MC-LAG的另一侧,可以存在(例如,最多)两个MC-LAG对等体。MC-LAG对等体中的每个MC-LAG对等体具有连接到单个客户端设备的一个或多个物理链路。
MC-LAG对等体可以使用机箱间控制协议(ICCP)来交换控制信息并且相互协调以确保正确地转发数据业务。LACP可以用于从连接到MC-LAG对等体的客户端设备发现多个链接。
使用链路聚合控制协议(LACP)进行故障检测的限制
在当前部署中,链路聚合控制协议(LACP)用作操作、维护和管理(OAM)协议以检测和隔离所连接的接口上的任何故障。然而,遗憾的是,即使在LACP上设置了最快的超时间隔,也需要大约3-5秒来检测接口上的故障。这种3-5秒的延迟可能会导致服务质量下降,从而影响终端应用。
图1A-1C示出了用于说明前述问题的示例数据中心环境100。示例环境包括具有叶节点(L1-Ln)120的数据中心,叶节点(L1-Ln)120直接或者经由节点的分布层140与脊/核节点(N1-Nm)130连接。假定EVPN ESI部署,其中(1)主机H1连接到叶节点L1,(2)叶节点L1具有与另外两个叶节点L2和L3对等的EVPN,以及(3)主机H2使用LACP多宿主到L2和L3。
参考图1A,在所有链路都处于稳定状态的情况下,如箭头路径所示,从主机H1到主机H2的业务在叶节点L2和L3之间得到负载均衡。接下来参考图1B,假定叶节点L3与主机H2之间的链路由于拥塞或损害节点处理分组的状态而变得是故障的。(注意,即使物理链路处于UP状态,也会发生这种情况。例如,在某些情况下,物理链路可以是运行,但是OAM协议可能因拥塞而停止运行,在这种情况下,远程设备处于OAM分组不被处理的状态。)结果,在叶节点L3上负载均衡的从主机H1到主机H2的业务将“黑洞”至少3-5秒,直到LACP检测到潜在问题并且将链路从LAG捆绑隔离。对于从主机H2到主机H1的反向方向上的业务也是如此,该业务在H2上负载均衡并且在连接到叶节点L2和叶节点L3的链路上喷射。如图1C所示,一旦LACP超时并且将故障链路隔离,主机H1与主机H2之间的所有业务现在都经由叶节点L2转发。
在前述场景(以及设备多宿主到不同节点并且使用LACP的类似场景)中,非常期望更快的亚秒级故障检测方法以使得能够更快地隔离故障接口。注意,“故障接口”旨在被广泛地解读并且包括,例如,与接口相关联的线卡中的故障、由接口终止的物理链路中的故障等。在该上下文中,故障接口涉及一个方向上的接口上的业务由于多个问题而被破坏或丢弃的状态,但不限于诸如数据传输、叶节点或主机节点上的受损状态或拥塞等常见场景。因此,如果在亚秒内检测到并且隔离了故障接口,则从主机H1到主机H2(反之亦然)的所有(或大多数)业务将通过叶节点L2转移,而不会对服务和应用产生任何(或极小的)可见影响。
使用双向转发检测(BFD)以用于更快速的故障检测
征求意见5880(因特网工程任务组,2010年6月)(称为“RFC5880”并且通过引用并入本文)的文档“Bidrectional Forwarding Detection(BFD)”指出,在某些情况下,使用协议“Hellos”检测两个路由协议引擎之间路径中的故障太慢。RFC 5880描述了一种用于在相邻转发引擎(包括接口、(多条)数据链路、以及转发引擎本身(可能的话))之间的路径中提供低开销、短持续时间检测的方法。
根据RFC 5880,BFD被设计为检测与转发平面的下一跳的通信中的故障。在转发和控制引擎分离的情况下,它旨在在系统的转发引擎的某个组件中实现。BFD也可以在控制引擎中实现,但这样做可能会妨碍检测某些类型的故障。BFD在两个系统之间转发的任何数据协议(网络层、链路层、隧道等)之上运行。它始终以单播、点对点模式运行。(因此,对于多宿主连接,BFD的当前实现是无用的,或者至少没有被指定。)BFD分组被承载作为适合于介质和网络的任何封装协议的有效载荷。BFD可以在系统中的多个层上运行,并且任何特定BFD会话的操作的上下文都绑定到其封装。BFD可以在系统之间的任何类型的路径上提供故障检测,包括直接物理链路、虚拟电路、隧道、MPLS标签交换路径(LSP)、多跳路由路径和单向链路(假定存在一些返回路径)。当多个BFD会话之间在至少一个方向上存在多个路径时,可以在同一对系统之间建立多个BFD会话,即使在另一方向上有较少数目的路径可用。
根据RFC 5880,BFD状态机在建立BFD会时话和在由于任何原因而将其拆除时实现三次握手,以确保两个系统都知道状态改变。BFD可以被抽象为一个简单的服务。由BFD提供的服务原语是在给定目标地址和其他参数的情况下创建、销毁和修改会话。作为回报,BFD向其客户端提供指示BFD会话何时上升或下降的信号。
更具体地,根据RFC 5880,BFD是简单的Hello协议,其在很多方面类似于众所周知的路由协议的检测组件。一对系统在两个系统之间的每条路径上周期性地传输BFD回波分组(echo packet)和/或BFD控制分组(更一般地称为“BFD分组”)。如果系统在足够长的时间段内停止接收BFD分组,则假定该相邻系统的特定双向路径中的某个组件已经发生故障。在某些情况下,系统可以协商不发送周期性BFD分组以减少开销。只有在系统之间建立双向通信时才声明路径可操作,但这并不排除使用单向链路。如上所述,可以为两个系统之间使用的每个通信路径和数据协议创建单独的BFD会话。
根据RFC 5880,每个系统估计它可以多快地发送和接收BFD分组,以便与其邻居(也称为“对等方”)达成关于将如何快速检测到故障的协议。可以实时修改这些估计以适应异常情况。该设计还允许在具有慢速系统的共享介质上的快速系统能够更快速地检测快速系统之间的故障,同时允许慢速系统尽可能地参与。
征求意见5881(因特网工程任务组,2010年6月)(称为“RFC5881”并且通过引用并入本文)的文档“Bidirectional Forwarding Detection(BFD)for IPv4 and IPv6(SingleHop)”描述了使用BFD跟踪直接连接的系统之间的IPv4和IPv6连接。它描述了在用户数据报协议(UDP)分组中封装的BFD控制分组,这些分组在IPv4或IPv6分组中传输。
目前(2019年初),由于其易于操作,BFD是非常流行的OAM协议。如上所述,BFD依赖于普通IP/UDP,它适用于所有协议。
在链路聚合组(LAG)捆绑中基于每条链路使用BFD进行故障检测
征求意见7130(因特网工程任务组,2014年2月)(称为“RFC7130”并且通过引用并入本文)的文档“Bidirectional Forwarding Detection(BFD)on Link AggregationGroup(LAG)Interfaces”描述了在LAG捆绑中基于每条链路启用BFD。RFC7130规定目的地IP地址必须在对等体上配置并且应当可以通过LAG接口访问,但不能明确说明目的地IP地址的细节,从而允许不同的实现。因此,根据RFC7130的LAG上的BFD将不适合于多宿主环境中的LAG部署,诸如上面参考图1A-1C讨论的(因为两个(叶)节点将具有两个不同的目的地IP地址)。
RFC 7130缺点的这些限制和/或要求引起很多问题。首先,不同的设备供应商对目的地IP地址有不同的实现。这提出了对(多个)特定配置的需求以实现不同设备供应商之间的互操作性。其次,IP地址的任何变化都需要在所有参与节点上进行相关的配置更改。第三,在多宿主LAG(诸如,例如,图1A-1C所示的LAG)中,目的地IP地址对于所有链路可能不相同,因为每个链路将终止于不同(例如,叶)节点,并且这些不同的节点不一定配置有相同的IP地址。对于多宿主(例如,使用LAG)到在提供商传输网络的边缘处的PE设备的CE设备,发生类似的问题。
因此,更快速地检测故障(例如,比LACP中的3-5秒更快,并且优选地具有次秒定时)将是有用的,尤其是在多宿主环境中,并且尤其是在MC LAG中。
发明内容
一种与本说明书相一致的方法,该方法用于在包括第一数据转发设备、第二数据转发设备、第三数据转发设备、第一数据转发设备与第二数据转发设备之间的第一通信链路、以及第一数据转发设备与第三数据转发设备之间的第二通信链路的系统中使用,第一通信链路和第二通信链路属于链路聚合组(LAG),该方法包括:(1)生成消息,该消息(i)用于测试第一数据转发设备与第二数据转发设备之间的路径、以及第一数据转发设备与第三数据转发设备之间的第二路径,以及(ii)包括因特网协议(IP)数据报,IP数据报包括多播IP目的地地址和有效载荷,该有效载荷包含路径测试信息;以及(2)通过LAG从第一数据转发设备向第二数据转发设备和第三数据转发设备发送消息。
响应于由第二数据转发设备或第三数据转发设备接收到消息的实例,这样的设备(1)确定所接收的消息的实例是否是多宿主链路聚合组消息上的故障检测,以及(2)基于确定所接收的消息的实例是否是多宿主链路聚合组消息上的故障检测来处理所接收的消息的实例。
在一些这样的示例方法中,消息被携带在以太网帧中。以太网帧可以包括多播目的地媒体访问控制(MAC)地址。例如,MAC地址可以是01-00-5E-90-00-01。
在一些这样的示例方法中,消息的有效载荷中的路径测试信息包括以下中的至少一项:(A)符合RFC 5880的双向转发检测(BFD)控制分组,或者(B)符合RFC 5880的BFD回波分组。在一些这样的示例方法中,消息的有效载荷中的路径测试信息包括以下中的至少一项:(A)符合RFC 7130的双向转发检测(BFD)控制分组,或者(B)符合RFC 7130的BFD回波分组。
在一些这样的示例方法中,测试消息是否符合路径测试过程的动作包括检查消息的目的地IP地址。
在一些这样的示例方法中,消息的有效载荷中的路径测试信息包括以下中的至少一项:(A)符合RFC 5880的双向转发检测(BFD)控制分组,或者(B)符合RFC 5880的BFD回波分组,并且路径测试过程是符合RFC 5880的双向转发检测。
在一些这样的示例方法中,消息的有效载荷中的路径测试信息包括以下中的至少一项:(A)符合RFC 5880的双向转发检测(BFD)控制分组,或者(B)符合RFC 5880的BFD回波分组,并且路径测试过程是符合RFC 7130的双向转发检测。
可以在数据转发设备(诸如例如路由器)上实现任何前述的示例方法。
任何前述示例方法可以作为处理器可执行指令存储在非瞬态计算机可读存储介质上。
附图说明
图1A-1C示出了用于说明快速检测多宿主环境(诸如MC LAG中)中的链路故障的挑战的示例数据中心环境。
图2示出了其中使用符合RFC 7130的技术来检查多宿主的主机设备与数据中心的叶节点的连接性的数据中心环境。
图3是用于以与本说明书相一致的方式使用LAG在多宿主网络节点和/或主机上提供更快的故障检测(例如,使用双向转发检测(BFD))的示例方法。
图4是可以用作与本说明书相一致的多宿主LAG消息上的BFD的示例以太网帧。
图5是包括IP数据报、UDP数据报和BFD控制分组或BFD回波分组的示例以太网有效载荷。
图6示出了包括经由通信链路耦合的两个系统的示例环境。
图7是可以在其上实现本说明书的示例方法的示例路由器的框图。
图8是可以在图8的示例路由器中提供的示例分布式专用集成电路(“ASIC”)的框图。
图9A和9B示出了图8的示例分布式ASIC的示例分组转发操作。
图10是可以在图9和10的任何示例路由器上实现的示例分组转发方法的流程图。
图11是可以用于执行与本说明书相一致的(多个)示例方法的示例性的基于处理器的系统的框图。
具体实施方式
本说明书可以涉及用于更快地检测故障的新颖方法、装置、消息格式和/或数据结构(例如,比如LACP中的3-5秒更快,并且优选地具有次秒定时),尤其是在多宿主环境中,并且尤其是在MC LAG中。以下描述被呈现以使得本领域技术人员能够作出和使用本发明,并且以下描述在特定应用及其要求的上下文中提供。因此,以下对与本发明相一致的实施例的描述提供了说明和描述,而非旨在穷举或将本发明限制于所公开的精确形式。对所公开的实施例的各种修改对于本领域技术人员来说是很清楚的,并且下面阐述的一般原理可以应用于其他实施例和应用。例如,尽管可以参考流程图描述一系列动作,但是当一个动作的执行不依赖于另一动作的完成时,动作的顺序在其他实现中可以不同。此外,可以并行执行非依赖动作。除非明确地如此描述,否则在说明书中使用的元件、动作或指令不应当被解释为对本发明是关键的或必要的。而且,如本文中使用的,冠词“一”旨在包括一个或多个项目。在仅有一个项目的情况下,使用术语“一个”或类似语言。因此,本发明不旨在限于所示的实施例,并且发明人将他的发明视为所描述的任何可专利主题。
示例方法
图2是类似于图1A-1C的100的示例环境200,在示例环境200中可以使用与本说明书相一致的示例方法。注意,主机设备H2多宿主到叶节点L2和L3,并且示例方法可以根据(例如,符合)根据RFC 7130在LAG上的BFD来使用。此外,链路可以属于LAG。
图3是用于以与本说明书相一致的方式使用LAG在多宿主的网络节点和/或主机上提供更快的故障检测(例如,使用双向转发检测(BFD))的示例方法300。响应于不同事件的发生,执行示例方法300的不同分支。(事件分支点310)首先参考示例方法300的左分支,响应于是时间生成故障检测协议(例如,符合BFD)消息(例如,BFD分组),示例方法300可以在多宿主LAG消息(例如,分组)上生成故障检测(例如,BFD)。(框320)如果故障检测协议将是BFD,则该消息应当符合RFC 7130。用于该消息的示例格式在下面的“示例数据结构”部分中描述,参考图4和5。如稍后更详细描述的,该消息应当具有(1)多播媒体访问控制(MAC)地址以及(2)多播目的地IP地址。然后,在示例方法返回(节点390)之前,将消息发送到对等设备(框330)。
再次参考事件分支点310,参考示例方法300的右分支,响应于接收到故障检测协议(例如,符合BFD)消息(分组),示例方法300确定消息是否包括(1)多播MAC地址以及(2)多播IP地址。(判决350)如果是(判决350,“是”),则示例方法300将该消息标识为多宿主LAG消息上的故障检测(例如,BFD)(框360)并且在该方法返回(节点390)之前相应地处理该消息(框370)。另一方面,否则,如果消息不包括(1)多播MAC地址以及(2)多播IP地址(判决350,“否”),则示例方法300在示例方法300返回(节点390)之前处理该消息(例如,以传统方式)(框380)。注意,在任何协议定义中,都会有关于如何标识特定控制分组的明确指南。检查MAC和IP目的地地址以对消息(例如,分组)进行分类以避免区分“常规”和“多宿主”故障检测之间的任何模糊性。
从前面的描述可以理解,在BFD的上下文中,当BFD分组到达时,目的地MAC地址(例如,01-00-5E-90-00-01的)表示它是在LAG上的BFD(例如,符合RFC 7130),并且多播目的地IP地址进一步将其分类为多宿主LAG捆绑。根据RFC 7130定义,UDP和BFD参数可以保持不变。
再次参考框320,在BFD的上下文中,多宿主LAG消息上的BFD可以被格式化,例如,如下面在“示例数据结构”部分中参考图4和5所述。
示例数据结构
图4是可以用作多宿主LAG消息上的BFD的示例以太网帧400。如图所示,示例以太网帧400可以包括58比特前导410、6比特帧定界符的起始字段420、48比特目的地MAC地址字段430、48比特源MAC地址字段440、16比特类型字段450、有效载荷460和32比特帧校验序列(FCS)字段470。
再次参考字段430,48比特目的地MAC地址可以被设置为01-00-5E-90-00-01。该目的地MAC地址在RFC 7130的第2.3节中指定。
有效载荷460可以包括IP数据报,该IP数据报包括UDP数据报,UDP数据报包括BFD控制分组或BFD回波分组。现在参考图5描述示例有效载荷460'。示例有效载荷460'基本上包括IP数据报510、UDP数据报550和BFD控制分组或BFD回波分组(例如,根据RFC 5880)590。
如图所示,IP数据报510可以包括4比特版本字段512、4比特因特网报头长度(IHL)字段514、8比特服务的类型字段516、16比特总长度字段518、16比特标识字段520、3比特标志字段522、13比特片段偏移字段524、8比特生存时间(TTL)字段526、8比特协议字段528、16比特报头校验和字段530、32比特源地址字段532、32比特目的地地址字段534、24比特选项字段536和8比特填充字段538。
再次参考字段534,目的地地址字段可以携带地址值224.0.0.120。它可以是某一其他多播地址,但是优选地,每个因特网号码分配机构(IANA)可用一个(未另外保留)。通过确保即使没有在对等节点上配置,也将接受用于发送BFD分组的目的地IP地址,使用多播目的地IP地址支持多宿主环境中的BFD。
再次参考字段532,可取的是,使源IP地址是附接到机箱或主机的逻辑IP地址。
UDP数据报550可以包括16比特源端口字段552、16比特目的地端口字段554、16比特长度字段556和16比特校验和字段558。再次参考字段554,目的地端口可以根据RFC 7130的第2.2节设置为6784。
再次参考图3的示例方法300的判决350,多播目的地IP地址(例如,224.0.0.120)允许节点理解该消息用于多宿主LAG捆绑并且多播MAC地址(例如,01-00-5E-90-00-01)符合RFC 7130。这两个多播地址允许节点接受和标识多宿主LAG上的协议(例如,BFD)消息。该标识和分类可以用于在层2(L2)协议与层3(L3)协议之间交换链路状态信息。
示例装置
图6示出了经由通信链路630耦合的两个数据转发系统610和620。链路可以是物理链路或“无线”链路。例如,数据转发系统610、620可以是节点,诸如路由器。如果数据转发系统610、620是示例路由器,则每个可以包括控制组件(例如,路由引擎)614、624和转发组件612、622。每个数据转发系统610、620包括终止一个或多个通信链路630的一个或多个接口616、626。任何两个标签交换路由器(LSR)可以在设备610和/或620上实现。上述示例方法300可以在设备610和/或设备620的控制组件614和/或控制组件624中实现。
正如上面讨论的,并且参考图7,一些示例路由器700包括控制组件(例如,路由引擎)710和分组转发组件(例如,分组转发引擎)790。
控制组件710可以包括操作系统(OS)内核720、(多个)路由协议进程730、(多个)基于标签的转发协议进程740、(多个)接口进程750、(多个)用户界面(例如,命令行接口)进程760和(多个)机箱进程770,并且可以存储(多个)路由表739、标签转发信息745和转发(例如,基于路由和/或基于标签的)(多个)表780。如图所示,(多个)路由协议进程730可以支持路由协议,诸如路由信息协议(“RIP”)731、中间系统到中间系统协议(“IS-IS”)732、开放最短路径优先协议(“OSPF”)733、(多个)增强型内部网关路由协议(“EIGRP”)734和边界网关协议(“BGP”)735,并且基于标签的转发协议进程740可以支持诸如BGP 735、标签分发协议(“LDP”)736和资源预留协议(“RSVP”)737等协议。(多个)路由协议进程730(或用于教导结果路由的相关联的过程)可以实现图3的示例方法300。一个或多个组件(未示出)可以允许用户765与(多个)用户界面进程760交互。类似地,一个或多个组件(未示出)可以允许外部设备经由SNMP 785与路由器协议进程730、基于标签的转发协议进程740、接口进程750和机箱进程770中的一个或多个交互,并且这样的进程可以经由SNMP 785向外部设备发送信息。
分组转发组件790可以包括微内核792、(多个)接口进程793、分布式ASIC 794,(多个)机箱进程795以及转发(例如,基于路由和/或基于标签的)(多个)表796。
在图7的示例路由器700中,控制组件710处理任务,诸如执行路由协议、执行基于标签的转发协议、控制分组处理等,这释放了分组转发组件790以快速转发所接收的分组。也就是说,所接收的控制分组(例如,路由协议分组和/或基于标签的转发协议分组)在分组转发组件790本身上没有被完全处理,而是被传递到控制组件710,从而减少了分组转发组件790必须做的工作量并且释放分组转发组件790以处理要有效转发的分组。因此,控制组件710主要负责运行路由协议和/或基于标签的转发协议,维护路由表和/或标签转发信息,向分组转发组件790发送转发表更新,以及执行系统管理。示例控制组件710可以处理路由协议分组、提供管理接口、提供配置管理、执行计费、以及提供警报。进程730、740、750、760和770可以是模块化的,并且可以与OS内核720交互。也就是说,几乎所有过程都直接与OS内核720通信。使用能够将进程彼此干净地分开的模块化软件能够隔离给定进程的问题,以便这样的问题不会影响可能正在运行的其他进程。此外,使用模块化软件有助于简化扩展。
仍然参考图7,示例OS内核720可以包含用于外部程序调用和脚本功能的应用程序编程接口(“API”)系统。控制组件710可以基于从闪存存储器运行OS的Intel PCI平台,其中备用副本存储在路由器的硬盘上。OS内核720在Intel PCI平台上分层,并且建立Intel PCI平台与控制组件710的进程之间的通信。OS内核720还确保了分组转发组件790使用的转发表796与控制组件710中的转发表780同步。因此,除了提供底层基础设施以控制组件710软件进程之外,OS内核720还提供控制组件710与分组转发组件790之间的链接。
参考图7的(多个)路由协议进程730,该(多个)进程730在平台内提供路由和路由控制功能。在该示例中,提供了RIP 731、ISIS732、OSPF 733和EIGRP 734(以及BGP 735)协议。当然,可以另外地或备选地提供其他路由协议。类似地,基于标签的转发协议进程740提供标签转发和标签控制功能。在该示例中,提供了LDP 736和RSVP 737(以及BGP 735)协议。当然,可以另外地或备选地提供其他基于标签的转发协议(例如,MPLS)。在示例路由器700中,(多个)路由表739由(多个)路由协议进程730产生,而标签转发信息745由基于标签的(多个)转发协议进程740产生。
仍然参考图7,(多个)接口进程750执行物理接口的配置(回想一下,例如,图7的716和726)以及封装。在示例路由器700中,与本公开相一致的示例方法300可以在路由协议进程730中在控制组件710中实现。
示例控制组件710可以提供管理路由器的若干方式(例如,用于配置间隔,如参考图3的框305讨论的)。例如,示例控制组件710可以提供(多个)用户界面进程760,(多个)用户界面进程760允许系统操作员765通过配置、修改和监测与系统交互。SNMP 785允许支持SNMP的系统与路由器平台通信。这也允许平台向外部代理提供必要的SNMP信息。例如,SNMP785可以允许通过诸如Hewlett-Packard的OpenView等框架从运行软件(诸如Hewlett-Packard的网络节点管理器(“HP-NNM”))的网络管理站来管理系统。分组的计费(通常称为业务统计)可以由控制组件710执行,从而避免了由分组转发组件790减慢业务转发。
尽管未示出,但是示例路由器700可以提供带外管理、用于串行控制台和远程管理访问的RS-232DB9端口、以及使用可移动PC卡的三级存储。此外,尽管未示出,但是位于机架前部的工艺接口提供了路由器的内部工作的外部视图。它可以用作故障排除工具、监测工具或故障排除工具和监测工具。工艺接口可以包括LED指示器、告警指示器、控制组件端口和/或显示屏。最后,工艺接口可以经由控制台端口、辅助端口和/或管理以太网端口提供与命令行界面(“CLI”)760的交互。如上所述,间隔可以使用CLI来配置。
分组转发组件790负责尽可能快地正确地输出所接收的分组。如果转发表中没有针对给定目的地或给定标签的条目,并且分组转发组件790不能自己执行转发,则分组转发组件790可以将绑定到该未知目的地的分组发送到控制组件710以进行处理。示例分组转发组件790被设计为执行层2和层3交换、路由查找和快速分组转发。
如图7所示,示例分组转发组件790具有嵌入式微内核792、接口进程793、(多个)分布式ASIC 794和(多个)机箱进程795,并且存储转发(例如,基于路由的和/或基于标签的)(多个)表796。微内核792与(多个)接口进程793和(多个)机箱进程795交互以监测和控制这些功能。(多个)接口进程792与控制组件710的OS内核720直接通信。该通信包括将异常分组和控制分组转发到控制组件710,接收要转发的分组,接收转发表更新,向控制组件710提供关于分组转发组件790的健康的信息,并且允许从控制组件710的(多个)用户界面(例如,CLI)进程760配置接口。所存储的(多个)转发表796是静态的,直到从控制组件710接收到新的接口进程。(多个)接口进程793使用转发表796来查找下一跳信息。接口进程793还与分布式ASIC 794直接通信。最后,(多个)机箱进程795可以与微内核792和分布式ASIC 794直接通信。
再次参考图7的分布式ASIC 794,图8是如何在分组转发组件790中分发ASIC以划分分组转发的责任的示例。如图8所示,分组转发组件790的ASIC可以分布在物理接口卡(“PIC”)810、柔性PIC集中器(“FPC”)820、中板或背板830和系统控制板840(用于交换和/或转发)上。交换结构也被示出为系统交换板(“SSB”)或交换和转发模块(“SFM”)850。每个PIC810包括一个或多个PIC I/O管理器815。每个FPC 820包括一个或多个I/O管理器822,每个I/O管理器822具有相关联的存储器824。中板/背板830包括缓冲区管理器835a、835b。最后,系统控制板840包括因特网处理器842和转发表844的实例(回想一下,例如,图7的796)。
仍然参考图8,PIC 810包含接口端口。每个PIC 810可以插入FPC 820。每个单独的PIC 810可以包含处理媒体特定功能的ASIC,诸如成帧或封装。一些示例PIC 810提供SDH/SONET、ATM、千兆以太网、快速以太网和/或DS3/E3接口端口。
FPC 820可以包含一个或多个PIC 810,并且可以将信号从PIC810传送到中板/背板830,如图8所示。
中板/背板830保持线卡。当从正面插入示例路由器的机箱时,线卡可以连接到中板/背板830。控制组件(例如,路由引擎)710可以从机箱的后部插入中板/背板830的后部。中板/背板830可以向每个线卡和控制组件710传送电(或光)信号和电源。
系统控制板840可以执行转发查找。系统控制板840还可以将错误传送给路由引擎。此外,系统控制板840还可以基于从传感器接收的信息来监测路由器的状况。如果检测到异常情况,则系统控制板840可以立即通知控制组件710。
参考图8、9A和9B,在一些示例性路由器中,PIC 810、710'中的每一个包含负责用于媒体特定任务(诸如封装等)的至少一个I/O管理器ASIC 815。分组在进出路由器的过程中通过这些I/O ASIC。在适当时,PIC 810、710'上的I/O管理器ASIC 815负责管理与FPC820、720'上的I/O管理器ASIC 822的连接、管理链路层成帧以及创建比特流、执行循环冗余校验(CRC)、以及检测链路层错误并且生成警报。FPC 820包括另一I/O管理器ASIC 822。该ASIC822从PIC 810获取分组并且将它们分成(例如,64字节)存储器块。该FPC I/O管理器ASIC 822向第一分布式缓冲区管理器(DBM)835a'发送这些块发送、解码封装和协议特定信息,针对每个逻辑电路对分组和字节进行计数、验证分组完整性、并且向分组应用服务等级(CoS)规则。此时,分组首先写入存储器。更具体地,示例DBM ASIC835a'跨所有FPC 820管理分组并且将分组写入共享存储器824。并行地,第一DBM ASIC 835a'还提取关于分组的目的地的信息并且将该转发相关信息传递给因特网处理器842/742'。因特网处理器842/742'使用转发表844执行路由查找,并且将该信息发送到第二DBM ASIC 835b'。因特网处理器ASIC842/742'还收集异常分组(即,没有转发表条目的分组)并且将它们发送到控制组件710。然后,第二DBM ASIC 835b'获取该信息和64字节块并且将它们转发到出口FPC 820/720'(或者在多播的情况下,多个出口FPC)的I/O管理器ASIC 822用于重组。(因此,DBM ASIC 835a'和835b'负责管理分布在所有FPC 820/720'上的分组存储器824,从分组中提取转发相关信息,并且向FPC指示在哪里转发分组。)
出口FPC 820/720'上的I/O管理器ASIC 822可以执行一些增值服务。除了递增生存时间(“TTL”)值并且重新封装分组以供PIC810处理之外,它还可以应用服务等级(CoS)规则。为此,在将这些规则应用于分组之前,它可以在一个可用队列中对指向该分组的指针进行排队,每个队列具有共享的链路带宽。排队可以基于各种规则。因此,出口FPC 820/720'上的I/O管理器ASIC 822可以负责从第二DBM ASIC 835b'接收块,递增TTL值,如果需要,在应用CoS规则之前将指针排队到该分组,重新封装块,并且将封装的分组发送到PIC I/O管理器ASIC 815。
图10是用于在示例路由器中提供分组转发的示例方法1000的流程图。当在入口(传入)端口或接口上接收到分组时,触发方法1000的主要动作。(事件1010)执行它所服务的介质类型所需要的类型的校验和和帧检查,并且输出分组,作为串行比特流。(框1020)然后将分组解封装和解析成(例如,64字节)块。(框1030)将分组写入缓冲区存储器,并且在因特网处理器上传递转发信息。(框1040)然后,使用所传递的转发信息来查找转发表中的路由。(框1050)注意,转发表通常可以处理不具有选项(例如,计费)集合的单播分组、以及已经具有高速缓存条目的多播分组。因此,如果确定这些条件满足(判定1060的“是”分支),则分组转发组件找到下一跳和出口接口,并且在方法1000离开(节点1090)之前,分组经由出口接口转发(或排队等待转发)到下一跳(框1070)。否则,如果这些条件不满足(判定1060的“否”分支),则在方法1000离开(节点1090)之前,转发信息被发送到控制组件710以用于提高的转发分辨率(框1080)。
再次参考框1070,可以对分组进行排队。实际上,如前面参考图8所述,可以对指向分组的指针排队。分组本身可能保留在共享存储器中。因此,可以在没有实际分组的情况下应用所有排队判决和CoS规则。当分组的指针到达线的前面时,I/O管理器ASIC 822可以将对分组的请求发送到第二DBM ASIC 835b。DBM ASIC 835从共享存储器读取块并且将它们发送到FPC 820上的I/O管理器ASIC 822,然后I/O管理器ASIC 822将这些比特串行化并且将它们发送到出口接口的媒体特定ASIC。出口PIC 810上的I/O管理器ASIC 815可以应用物理层成帧,执行CRC,并且通过链路发送比特流。
再次参考图10的框1080以及图8,关于异常分组和控制的传送,系统控制板840处理几乎所有异常分组。例如,系统控制板840可以将异常分组传递到控制组件710。
尽管可以在图6或7的示例路由器上实现与本公开相一致的示例实施例,但是与本公开相一致的实施例可以在具有不同架构的通信网络节点(例如,路由器、交换机等)上实现。例如,与本说明书相一致的方法可以在任何现代服务器或甚至虚拟机上运行(例如,没有任何ASIC或分组转发引擎)。更一般地,与本公开相一致的实施例可以在如图11所示的示例系统1100上实现。
图11是可以执行所描述的方法中的一个或多个、和/或存储由这些方法使用和/或生成的信息的示例性机器1100的框图。示例性机器1100包括一个或多个处理器1110、一个或多个输入/输出接口单元1130、一个或多个存储设备1120、以及用于促进耦合的元件之间的信息通信的一个或多个系统总线和/或网络1140。一个或多个输入设备1132和一个或多个输出设备1134可以与一个或多个输入/输出接口1130耦合。一个或多个处理器1110可以执行机器可执行指令(例如,在可以从很多供应商广泛获取的Linux操作系统上运行的C或C++)以实现本公开的一个或多个方面。机器可执行指令的至少一部分可以(临时地或更永久地)存储在一个或多个存储设备1120上,和/或可以经由一个或多个输入接口单元1130从外部源接收。机器可执行指令可以存储为各种软件模块,每个模块执行一个或多个操作。功能软件模块是可以在所描述的装置中使用的组件的示例。
在与本公开相一致的一些实施例中,处理器1110可以是一个或多个微处理器和/或ASIC。总线1140可以包括系统总线。存储设备1120可以包括系统存储器,诸如只读存储器(ROM)和/或随机存取存储器(RAM)。存储设备1120还可以包括用于读取和写入硬盘的硬盘驱动器、用于读取或写入(例如,可移动的)磁盘的磁盘驱动器、用于读取或写入可移动(磁)光盘(诸如光盘或其他(磁光)光学介质)的光盘驱动器、或者固态非易失性存储。
还可以提供与本公开相一致的一些示例实施例作为用于存储机器可执行指令的机器可读介质。机器可读介质可以是非瞬态的,并且可以包括但不限于闪存、光盘、CD-ROM、DVD ROM、RAM、EPROM、EEPROM、磁卡或光卡、或者适合于存储电子指令的任何其他类型的机器可读介质。例如,与本公开相一致的示例实施例可以作为计算机程序下载,该计算机程序可以通过通信链路(例如,调制解调器或网络连接)从远程计算机(例如,服务器)传送到请求计算机(例如,客户端)并且存储在非瞬态存储介质上。机器可读介质还可以称为处理器可读介质。
与本公开相一致的示例实施例(或其组件或模块)可以以硬件实现,诸如一个或多个现场可编程门阵列(“FPGA”)、一个或多个集成电路(诸如ASIC)、一个或多个网络处理器等。备选地或附加地,与本公开相一致的实施例(或其组件或模块)可以实现为由处理器执行的所存储的程序指令。这样的硬件和/或软件可以在寻址数据(例如,分组、信元等)转发设备(例如,交换机、路由器等)、膝上型计算机、台式计算机、平板计算机、移动电话或具有计算和网络功能的任何设备中提供。
改进、备选和扩展
尽管示例实施例在数据中心环境的上下文中描述,其中主机设备经由两个叶节点多宿主,但是这样的示例实施例的使用不限于这样的环境。也就是说,与本说明书相一致的示例实施例可以用在其他多宿主架构中,在在其他多宿主架构中故障检测协议(例如,BFD)在LAG上运行。
尽管使用多播目的地IP地址224.0.0.120来允许节点理解该消息是针对多宿主LAG捆绑的,但是另外的,可以替代地使用另一个未分配的多播IP地址(例如,224.0.0.X)。
尽管使用多播MAC地址(例如,01-00-5E-90-00-01)以符合RFC7130,但是如果需要另一MAC目的地地址以符合某种其他故障检测协议或RFC,则可以改为使用这样的不同的MAC目的地地址。
再次参考图5的550,尽管目的地端口被设置为6784以符合RFC7130,但是如果需要不同的目的地端口以符合某种其他故障检测协议或RFC,则可以改为使用这样的不同目的地端口。
类似地,再次参考图5的590,可以使用另一故障检测协议分组来代替BFD控制分组或BFD回波分组。
结论
与本说明书相一致的示例实施例,通过确保用于发送故障检测协议分组的目的地地址,即使没有在对等节点上配置也可以接受来支持多宿主环境(诸如多宿LAG)中的故障检测协议(例如,BFD)。由于故障检测协议分组不会被定向到特定目的地地址,因此使用适当的目的地MAC地址是很重要的。例如,在BFD的上下文中,可以使用在RFC 7130中定义的相同的专用MAC地址(即,01-00-5E-90-00-01)。使用多播保留目的地MAC地址将与设置多播比特的目的地MAC相一致。使用保留的多播IP目的地地址和保留的多播MAC目的地地址允许多宿主主机节点(或某个其他多宿主节点,例如客户边缘(CE)节点)将故障检测协议分组发送到不同的连接叶节点(或者一些其他节点,例如提供商边缘(PE)节点)。
在接收到这样的故障检测分组时,节点(例如,叶节点)应当正常地处理分组,而不检查源IP地址。例如,在BFD的上下文中,这是因为,RFC 5581明确地提到在点对点接口上,传入BFD分组的源IP地址不应当与任何BFD会话绑定。也就是说,在大多数实现中,可以检查BFD分组的源地址并且将其与所配置的对等地址进行比较。如果地址不匹配,则丢弃分组。
与本说明书相一致的示例实施例允许在具有直接连接的接口的多宿主环境上建立故障检测协议(例如,BFD)会话,诸如在主机节点与数据中心叶节点之间。
Claims (16)
1.一种计算机实现的方法,用于在包括第一数据转发设备、第二数据转发设备、第三数据转发设备、所述第一数据转发设备与所述第二数据转发设备之间的第一通信链路、以及所述第一数据转发设备与所述第三数据转发设备之间的第二通信链路的系统中使用,所述第一通信链路和所述第二通信链路属于链路聚合组LAG,所述计算机实现的方法包括:
a)生成以太网帧,所述以太网帧被用作多宿主LAG消息上的双向转发BFD,所述以太网帧包括(1)目的地媒体访问控制MAC地址字段中的保留多播目的地媒体访问控制MAC地址以及(2)作为有效载荷的因特网协议IP数据报,所述IP数据报包括保留多播IP目的地地址和有效载荷,所述有效载荷包含路径测试信息,所述消息用于测试(1)在所述第一通信链路上所述第一数据转发设备与所述第二数据转发设备之间的第一路径,以及(2)在所述第二通信链路上所述第一数据转发设备与所述第三数据转发设备之间的第二路径;以及
b)通过所述LAG从所述第一数据转发设备向所述第二数据转发设备和所述第三数据转发设备两者发送所述消息。
2.根据权利要求1所述的计算机实现的方法,其中所述保留多播目的地MAC地址是01-00-5E-90-00-01。
3.根据权利要求1所述的计算机实现的方法,其中所述IP数据报的所述有效载荷中的所述路径测试信息包括以下中的至少一项:(A)符合RFC 5880的双向转发检测BFD控制分组,或者(B)符合RFC 5880的BFD回波分组。
4.根据权利要求1至2中任一项所述的计算机实现的方法,其中所述IP数据报的所述有效载荷中的所述路径测试信息包括以下中的至少一项:(A)符合RFC 7130的双向转发检测BFD控制分组,或者(B)符合RFC 7130的BFD回波分组。
5.根据权利要求1所述的计算机实现方法,还包括:
c)由所述第二数据转发设备接收所述消息的实例;
d)响应于由所述第二数据转发设备接收到所述消息的实例,检查所述消息是否符合路径测试过程;
e)由所述第三数据转发设备接收所述消息的实例;
f)响应于由所述第三数据转发设备接收到所述消息的实例,检查所述消息是否符合路径测试过程;以及
g)响应于确定所述消息符合所述路径测试过程,由所述第二数据转发设备和所述第三数据转发设备按照所述路径测试过程处理所述消息,否则,响应于确定所述消息不符合所述路径测试过程,由所述第二数据转发设备和所述第三数据转发设备丢弃所述消息。
6.根据权利要求5所述的计算机实现的方法,其中检查所述消息是否符合所述路径测试过程的动作包括检查所述IP数据报的所述目的地IP地址。
7.根据权利要求5或权利要求6所述的计算机实现的方法,其中所述IP数据报的所述有效载荷中的所述路径测试信息包括以下中的至少一项:(A)符合RFC 5880的双向转发检测BFD控制分组,或者(B)符合RFC 5880的BFD回波分组,以及
其中所述路径测试过程是按照RFC 5880的双向转发检测的。
8.根据权利要求5或权利要求6所述的计算机实现的方法,其中所述IP数据报的所述有效载荷中的所述路径测试信息包括以下中的至少一项:(A)符合RFC 5880的双向转发检测BFD控制分组,或者(B)符合RFC 5880的BFD回波分组,以及
其中所述路径测试过程是按照RFC 7130的双向转发检测的。
9.根据权利要求1至2中任一项所述的计算机实现的方法,还包括:
c)由所述第二数据转发设备接收所述消息的实例;
d)响应于由所述第二数据转发设备接收到所述消息的实例,进一步
1)基于所接收的所述消息的所述实例是否包括多播MAC地址和多播IP地址两者,来确定所接收的所述消息的所述实例是否是对多宿主链路聚合组消息的故障检测,以及
2)基于所接收的所述消息的所述实例是否是对多宿主链路聚合组消息的故障检测的所述确定来处理所接收的所述消息的所述实例;
e)由所述第三数据转发设备接收所述消息的实例;以及
f)响应于由所述第三数据转发设备接收到所述消息的实例,进一步
1)基于所接收的所述消息的所述实例是否包括多播MAC地址和多播IP地址两者,来确定所接收的所述消息的所述实例是否是对多宿主链路聚合组消息的故障检测,以及
2)基于所接收的所述消息的所述实例是否是对多宿主链路聚合组消息的故障检测的所述确定来处理所接收的所述消息的所述实例。
10.一种第一数据转发设备,用于在包括第二数据转发设备、第三数据转发设备、所述第一数据转发设备与所述第二数据转发设备之间的第一通信链路、以及所述第一数据转发设备与所述第三数据转发设备之间的第二通信链路的系统中使用,所述第一通信链路和所述第二通信链路属于链路聚合组LAG,所述第一数据转发设备包括:
a)至少一个处理器,所述至少一个处理器适于生成以太网帧,所述以太网帧被用作多宿主LAG消息上的双向转发BFD,所述以太网包括(1)目的地媒体访问控制MAC地址字段中的保留多播目的地媒体访问控制MAC地址以及(2)作为有效载荷的因特网协议IP数据报,所述IP数据报包括保留多播IP目的地地址和有效载荷,所述有效载荷包含路径测试信息,所述消息用于测试(1)在所述第一通信链路上所述第一数据转发设备与所述第二数据转发设备之间的第一路径,以及(2)在所述第二通信链路上所述第一数据转发设备与所述第三数据转发设备之间的第二路径;
b)与所述LAG相关联的第一接口,所述第一接口终止所述第一通信链路并且适于向所述第二数据转发设备发送所述消息的实例;以及
c)与所述LAG相关联的第二接口,所述第二接口终止所述第二通信链路并且适于向所述第三数据转发设备发送所述消息的实例。
11.根据权利要求10所述的第一数据转发节点,其中所述多播目的地MAC地址是01-00-5E-90-00-01。
12.根据权利要求10所述的第一数据转发节点,其中所述IP数据报的所述有效载荷中的所述路径测试信息包括以下中的至少一项:(A)符合RFC 5880的双向转发检测BFD控制分组,或者(B)符合RFC 5880的BFD回波分组。
13.根据权利要求10至11中任一项所述的第一数据转发节点,其中所述IP数据报的所述有效载荷中的所述路径测试信息包括以下中的至少一项:(A)符合RFC 7130的双向转发检测BFD控制分组,或者(B)符合RFC 7130的BFD回波分组。
14.一种存储处理器可执行指令的非瞬态计算机可读介质,所述处理器可执行指令在由至少一个处理器执行时执行方法,所述方法用于在包括第一数据转发设备、第二数据转发设备、第三数据转发设备、所述第一数据转发设备与所述第二数据转发设备之间的第一通信链路、以及所述第一数据转发设备与所述第三数据转发设备之间的第二通信链路的系统中使用,所述第一通信链路和所述第二通信链路属于链路聚合组LAG,所述方法包括:
a)生成以太网帧,所述以太网帧被用作多宿主LAG消息上的双向转发BFD,所述以太网帧包括(1)目的地媒体访问控制MAC地址字段中的保留多播目的地媒体访问控制MAC地址以及(2)作为有效载荷的因特网协议IP数据报,所述IP数据报包括保留多播IP目的地地址和有效载荷,所述有效载荷包含路径测试信息,所述消息用于测试(1)在所述第一通信链路上所述第一数据转发设备与所述第二数据转发设备之间的第一路径,以及(2)在所述第二通信链路上所述第一数据转发设备与所述第三数据转发设备之间的第二路径;以及
b)通过所述LAG从所述第一数据转发设备向所述第二数据转发设备和所述第三数据转发设备两者发送所述消息。
15.根据权利要求14所述的非瞬态计算机可读介质,所述方法还包括:
c)由所述第二数据转发设备接收所述消息的实例;
d)响应于由所述第二数据转发设备接收到所述消息的实例,检查所述消息是否符合路径测试过程;
e)由所述第三数据转发设备接收所述消息的实例;
f)响应于由所述第三数据转发设备接收到所述消息的实例,检查所述消息是否符合路径测试过程;以及
g)响应于确定所述消息符合所述路径测试过程,由所述第二数据转发设备和所述第三数据转发设备按照所述路径测试过程处理所述消息,否则,响应于确定所述消息不符合所述路径测试过程,由所述第二数据转发设备和所述第三数据转发设备丢弃所述消息。
16.根据权利要求14或权利要求15所述的非瞬态计算机可读介质,所述方法还包括:
c)由所述第二数据转发设备接收所述消息的实例;
d)响应于由所述第二数据转发设备接收到所述消息的实例,进一步
1)基于所接收的所述消息的所述实例是否包括多播MAC地址和多播IP地址两者,来确定所接收的所述消息的所述实例是否是对多宿主链路聚合组消息的故障检测,以及
2)基于所接收的所述消息的所述实例是否是对多宿主链路聚合组消息的故障检测的所述确定来处理所接收的所述消息的所述实例;
e)由所述第三数据转发设备接收所述消息的实例;以及
f)响应于由所述第三数据转发设备接收到所述消息的实例,进一步
1)基于所接收的所述消息的所述实例是否包括多播MAC地址和多播IP地址两者,来确定所接收的所述消息的所述实例是否是对多宿主链路聚合组消息的故障检测,以及
2)基于所接收的所述消息的所述实例是否是对多宿主链路聚合组消息的故障检测的所述确定来处理所接收的所述消息的所述实例。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/399,841 | 2019-04-30 | ||
US16/399,841 US10805193B1 (en) | 2019-04-30 | 2019-04-30 | Faster fault-detection mechanism, for example using bidirectional forwarding detection (BFD), on network nodes and/or hosts multihomed using a link aggregation group (LAG) |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111865774A CN111865774A (zh) | 2020-10-30 |
CN111865774B true CN111865774B (zh) | 2023-01-06 |
Family
ID=67253650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910910069.0A Active CN111865774B (zh) | 2019-04-30 | 2019-09-25 | 多宿主网络节点和/或主机上的快速故障检测机制 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10805193B1 (zh) |
EP (1) | EP3734915B1 (zh) |
CN (1) | CN111865774B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10805193B1 (en) * | 2019-04-30 | 2020-10-13 | Juniper Networks, Inc. | Faster fault-detection mechanism, for example using bidirectional forwarding detection (BFD), on network nodes and/or hosts multihomed using a link aggregation group (LAG) |
CN115865792A (zh) * | 2019-12-31 | 2023-03-28 | 华为技术有限公司 | 一种路由信息的处理方法及装置 |
US11323312B1 (en) * | 2020-11-25 | 2022-05-03 | Juniper Networks, Inc. | Software-defined network monitoring and fault localization |
CN113179210B (zh) * | 2021-03-11 | 2022-05-27 | 新华三信息安全技术有限公司 | 一种bfd检测方法、装置、电子设备及存储介质 |
CN113328932B (zh) * | 2021-06-24 | 2022-05-27 | 新华三信息安全技术有限公司 | 一种聚合收敛方法、装置以及路由设备 |
CN114157606B (zh) * | 2021-12-09 | 2024-06-18 | 锐捷网络股份有限公司 | 虚拟网元设备切换方法、设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2709314A1 (en) * | 2012-09-14 | 2014-03-19 | Juniper Networks, Inc. | Avoiding data traffic loss in an ethernet ring multihomed, in an active-standby manner, to a virtual private lan service transport network |
CN105743689A (zh) * | 2014-12-31 | 2016-07-06 | 瞻博网络公司 | 对多宿主以太网虚拟专网中的链路故障的快速收敛 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100632185B1 (ko) * | 2004-10-15 | 2006-10-11 | 한국전자통신연구원 | 광 통신 패킷 데이터 정합기능을 제공하는 홈 게이트웨이시스템 및 이를 이용한 댁내 방송서비스 제공 방법 |
CN1941683A (zh) * | 2005-09-30 | 2007-04-04 | 华为技术有限公司 | 一种触发链路聚合组重分发业务的方法及系统 |
US8588060B2 (en) * | 2009-09-29 | 2013-11-19 | Ciena Corporation | E-spring (G.8032) interworking to provide access protection |
CN102025616B (zh) * | 2010-11-25 | 2014-09-10 | 中兴通讯股份有限公司 | 一种实现双向转发检测的方法、装置及交换机 |
JP5561620B2 (ja) * | 2011-05-27 | 2014-07-30 | 日立金属株式会社 | ネットワークシステム及びネットワークシステムの運用方法 |
US8902738B2 (en) * | 2012-01-04 | 2014-12-02 | Cisco Technology, Inc. | Dynamically adjusting active members in multichassis link bundle |
JP5935418B2 (ja) * | 2012-03-15 | 2016-06-15 | 富士通株式会社 | マルチキャストアドレスの管理のための情報処理装置、情報処理方法及びプログラム、中継装置、中継装置のための情報処理方法及びプログラム、並びに情報処理システム |
US8638659B2 (en) * | 2012-06-01 | 2014-01-28 | Telefonaktiebolaget L M Ericsson (Publ) | Enhancements to PIM fast re-route with downstream notification packets |
US8971323B2 (en) * | 2012-06-15 | 2015-03-03 | Citrix Systems, Inc. | Systems and methods for dynamic routing in a cluster |
US9313093B2 (en) * | 2012-11-14 | 2016-04-12 | Ciena Corporation | Ethernet fault management systems and methods |
EP2949060B1 (en) * | 2013-01-25 | 2018-09-12 | Telefonaktiebolaget LM Ericsson (publ) | Protection for optical transport network with dual homed attachment circuits |
JP6190281B2 (ja) * | 2014-01-22 | 2017-08-30 | APRESIA Systems株式会社 | 中継システムおよびスイッチ装置 |
EP3232611B1 (en) * | 2014-12-31 | 2018-09-19 | Huawei Technologies Co., Ltd. | Method, device and system for performing bidirectional forwarding detection on an aggregated link |
US9912580B2 (en) * | 2015-04-08 | 2018-03-06 | Dell Products Lp | Link fallback |
US10243821B2 (en) * | 2015-12-30 | 2019-03-26 | Juniper Networks, Inc. | OAM mechanisms for EVPN active-active services |
US10841207B2 (en) * | 2016-03-15 | 2020-11-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for supporting bidirectional forwarding (BFD) over multi-chassis link aggregation group (MC-LAG) in internet protocol (IP) networks |
EP3430773A1 (en) | 2016-03-15 | 2019-01-23 | Telefonaktiebolaget LM Ericsson (PUBL) | Method and apparatus for supporting bidirectional forwarding (bfd) over multi-chassis link aggregation group (mc-lag) in internet protocol (ip) multiprotocol label switching (mpls) networks |
US9929897B2 (en) * | 2016-04-05 | 2018-03-27 | Juniper Networks, Inc. | Performing a protocol, such as micro bidirectional forwarding detection, on member links of an aggregated link that uses an address of the aggregated link |
US10616046B2 (en) * | 2017-03-28 | 2020-04-07 | Arista Networks, Inc. | System and method of handling a fault detection mechanism during a control plane failover |
US20190182202A1 (en) * | 2017-12-12 | 2019-06-13 | Nokia Solutions And Networks Oy | System and method for route optimization in a multichasiss link aggregation configuration |
US10805193B1 (en) * | 2019-04-30 | 2020-10-13 | Juniper Networks, Inc. | Faster fault-detection mechanism, for example using bidirectional forwarding detection (BFD), on network nodes and/or hosts multihomed using a link aggregation group (LAG) |
-
2019
- 2019-04-30 US US16/399,841 patent/US10805193B1/en active Active
- 2019-06-20 EP EP19181456.5A patent/EP3734915B1/en active Active
- 2019-09-25 CN CN201910910069.0A patent/CN111865774B/zh active Active
-
2020
- 2020-08-19 US US16/997,832 patent/US11349735B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2709314A1 (en) * | 2012-09-14 | 2014-03-19 | Juniper Networks, Inc. | Avoiding data traffic loss in an ethernet ring multihomed, in an active-standby manner, to a virtual private lan service transport network |
CN105743689A (zh) * | 2014-12-31 | 2016-07-06 | 瞻博网络公司 | 对多宿主以太网虚拟专网中的链路故障的快速收敛 |
Also Published As
Publication number | Publication date |
---|---|
EP3734915A1 (en) | 2020-11-04 |
EP3734915B1 (en) | 2022-12-14 |
US20200382394A1 (en) | 2020-12-03 |
US11349735B2 (en) | 2022-05-31 |
CN111865774A (zh) | 2020-10-30 |
US20200351185A1 (en) | 2020-11-05 |
US10805193B1 (en) | 2020-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11876695B2 (en) | Path monitoring system (PMS) controller or ingress node based multiprotocal label switching (MPLS) ping and traceroute in inter-autonomous system (AS) segment routing (SR) networks | |
CN111865774B (zh) | 多宿主网络节点和/或主机上的快速故障检测机制 | |
US11870677B2 (en) | Liveness detection and route convergence in software-defined networking distributed system | |
US20210385155A1 (en) | Local repair for underlay failure using prefix independent convergence | |
US11057290B2 (en) | Ping/traceroute for static label switched paths (LSPs) and static segment routing traffic engineering (SRTE) tunnels | |
CN112565046B (zh) | 同步多播路由器能力 | |
US9979632B2 (en) | Avoiding data traffic loss in a ring multihomed, in an active-standby manner, to a transport network | |
EP3515015B1 (en) | Arbitrating mastership between redundant control planes of a virtual node | |
US11765077B1 (en) | Ping and traceroute in inter-autonomous system (AS) segment routing (SR) networks without requiring headend router or path monitoring system (PMS) controller knowledge of topology outside of origin AS | |
US11522794B2 (en) | Time-to-live (TTL) handing for segment routing ping/traceroute | |
US11057295B1 (en) | Loop avoidance and egress link protection with ethernet virtual private network (EVPN) fast reroute (FRR) | |
US11876706B2 (en) | Avoiding loops by preventing further fast reroute (FRR) after an earlier FRR | |
US11451478B1 (en) | Distributed tactical traffic engineering (TE) using loop free alternative (LFA), remote-LFA (R-LFA) and/or topology independent-LFA (TI-LFA) secondary paths | |
US11070468B1 (en) | Serverless segment routing (SR)-label distribution protocol (LDP) stitching | |
US20240235999A1 (en) | Reducing convergence time and/or avoiding split-brain in multi-homed ethernet segment deployments, such as esi-lag deployments | |
CN113381930B (zh) | 用于虚拟路由器冗余的组负载均衡 |
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 |