CN110730125B - 一种报文转发方法、装置、双活系统及通信设备 - Google Patents

一种报文转发方法、装置、双活系统及通信设备 Download PDF

Info

Publication number
CN110730125B
CN110730125B CN201911004578.3A CN201911004578A CN110730125B CN 110730125 B CN110730125 B CN 110730125B CN 201911004578 A CN201911004578 A CN 201911004578A CN 110730125 B CN110730125 B CN 110730125B
Authority
CN
China
Prior art keywords
link
port
aggregation group
peer
link aggregation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911004578.3A
Other languages
English (en)
Other versions
CN110730125A (zh
Inventor
秦佳
刘可
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Maipu Communication Technology Co Ltd
Original Assignee
Maipu Communication Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Maipu Communication Technology Co Ltd filed Critical Maipu Communication Technology Co Ltd
Priority to CN201911004578.3A priority Critical patent/CN110730125B/zh
Publication of CN110730125A publication Critical patent/CN110730125A/zh
Application granted granted Critical
Publication of CN110730125B publication Critical patent/CN110730125B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/021Ensuring consistency of routing table updates, e.g. by using epoch numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • H04L45/245Link aggregation, e.g. trunking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering

Landscapes

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

Abstract

本申请涉及一种报文转发方法、装置、双活系统及通信设备,属于通信技术领域。该方法包括:第一设备确定自身的链路聚合组故障;第一设备将Peer‑Link端口作为成员端口添加至链路聚合组下;第一设备在接收到转发出口为链路聚合组的业务报文时,基于故障前的地址表项将业务报文从Peer‑Link端口转发出去。当第一设备的链路聚合组故障时,将Peer‑Link端口作为成员端口添加至链路聚合组下,使得在不改变原来在第一设备的链路聚合组上添加的地址表项的前提下,使原来需要通过该链路聚合组转发出去的业务流量,全部通过Peer‑Link端口转发到第二设备进行处理,从而使业务流量故障恢复的性能得到了的优化。

Description

一种报文转发方法、装置、双活系统及通信设备
技术领域
本申请属于通信技术领域,具体涉及一种报文转发方法、装置、双活系统及通信设备。
背景技术
MLAG(Multi-Chassis Link Aggregation Group,跨设备链路聚合组)是一种实现跨设备链路汇聚的机制,将一台DHD(Double-homed Device,双归属设备)设备与另外两台配置设备(MLAG节点)进行跨设备链路汇聚,形成双活系统,其应用场景如图1所示。在节点1上的Link-Agg1(表示编号为1的链路聚合组)和在节点2上的Link-Agg2(表示编号为2的链路聚合组)与DHD2的Link-Agg20(表示编号为20的链路聚合组)组成跨设备的链路聚合组,因此,Link-Agg1和Link-Agg2属于同一个MLAG端口,这里假设记为MLAG1。DHD1发往DHD2的业务流量,通过Link-Agg10(表示编号为10的链路聚合组)负载分担,分别发往MLAG域的节点1和节点2;在节点1的Link-Agg1和节点2的Link-Agg2正常的情况下,根据单播流量本地优先原则,从本地的MLAG1转发出去,到达DHD2的Link-Agg20,并且不用经过Peer-Link(对等链路)。
当其中一个链路聚合组发生故障时,如当Link-Agg1发生故障时,目前的处理方式是:节点1通过先删除后添加的方式,将在Link-Agg1上添加的所有地址表项,例如{MAC1+VLAN1,Link-Agg1},先从硬件芯片和软件数据中删除,接着修改这些地址表项的出口由Link-Agg1为Peer-Link端口,形成新的地址表项,例如{MAC1+VLAN1,Peer-Link端口},并且记录新的地址表项是在Link-Agg1上学习的,再重新添加到硬件芯片和软件数据中。这样处理的目的是,在节点1上,将原来需要通过Link-Agg1转发出去的业务流量,全部通过Peer-Link端口转发到节点2;在节点2上,从Peer-Link端口收到的上述业务流量,通过查找保存的地址表项,将这些业务流量从Link-Agg2转发出去。
上述的处理方式包含有两个操作,在Link-Agg1上删除旧的地址表项,在Peer-Link端口上添加新的地址表项。相应地,在这个操作过程中就存在两个问题:第一,在正在删除旧的地址表项时,部分业务流量可能找到的出口还是Link-Agg1,会导致这些业务流量中断,直到删除操作完成。第二,在删除操作完成,正在Peer-Link端口上添加新的地址表项时,部分业务流量可能找不到出口,导致这些流量广播洪泛,直到添加操作完成。
发明内容
鉴于此,本申请的目的在于提供一种报文转发方法、装置、双活系统及通信设备法,以改善现有方案在对业务量流的中断恢复时间优化方面,效果并不显著的问题。
本申请的实施例是这样实现的:
第一方面,本申请实施例提供了一种报文转发方法,包括:第一设备确定自身的链路聚合组故障;所述第一设备将对等链路Peer-Link端口作为所述链路聚合组的成员端口添加至所述链路聚合组下,其中,所述Peer-Link端口为所述第一设备与同属于一个MLAG域下的第二设备直连的端口;所述第一设备在接收到转发出口为所述链路聚合组的业务报文时,基于故障前的地址表项将所述业务报文从所述Peer-Link端口转发出去。
本申请实施例中,当第一设备的链路聚合组故障时,不需要对地址表项进行先删除后添加的操作,而是将Peer-Link端口作为述链路聚合组的成员端口添加至链路聚合组下,使得原来需要通过第一设备的链路聚合组转发出去的业务流量,全部通过Peer-Link端口转发到同属于一个MLAG域下的第二设备进行处理,通过这种方式,使得原来在该链路聚合组上添加的地址表项不用发生任何变化,能够实现业务流量的中断恢复时间与地址表项的数量无关,从而使业务流量故障恢复的性能得到了显著的优化和提升。
结合第一方面实施例的一种可能的实施方式,所述第一设备将Peer-Link端口作为所述链路聚合组的成员端口添加至所述链路聚合组下之后,所述方法还包括:所述第一设备检测到自身的链路聚合组故障恢复时,将所述Peer-Link端口从所述链路聚合组的成员端口中删除。本申请实施例中,在检测到自身的链路聚合组故障恢复时,直接将Peer-Link端口从链路聚合组的成员端口中删除,使得业务流量不会感知到成员端口的变化,原来出口为该链路聚合组上的地址表项不需发生任何变化。
结合第一方面实施例的一种可能的实施方式,所述第一设备确定自身的链路聚合组故障之后,所述方法还包括:所述第一设备向所述第二设备发送成员链路故障通告,以使所述第二设备解除自身的链路聚合组与所述Peer-Link端口之间的端口隔离。本申请实施例中,第一设备确定自身的链路聚合组故障之后,向第二设备发送成员链路故障通告,以使第二设备解除自身的链路聚合组与述Peer-Link端口之间的端口隔离,使得第二设备允许从Peer-Link端口收到的业务流量通过第二设备的链路聚合组转发出去,增强了方案的适用性,使得该方案还可以应用于在自身链路聚合组正常的情况下,将对端的链路聚合组与Peer-Link端口之间的端口设置为隔离状态的方案。
结合第一方面实施例的一种可能的实施方式,所述第一设备向所述第二设备发送成员链路故障通告之后,所述方法还包括:所述第一设备检测到自身的链路聚合组故障恢复时,向所述第二设备发送成员链路故障恢复通告,以使所述第二设备恢复自身的链路聚合组与所述Peer-Link端口之间的端口隔离。本申请实施例中,第一设备检测到自身的链路聚合组故障恢复时,向第二设备发送成员链路故障恢复通告,以使第二设备恢复自身的链路聚合组与Peer-Link端口之间的端口隔离,避免从Peer-Link端口收到的业务流量通过第二设备的链路聚合组转发出去,导致DHD2收到两份相同的报文。
第二方面,本申请实施例还提供了一种双活系统,包括,第一设备和第二设备:所述第一设备,用于确定自身的链路聚合组故障;所述第一设备,还用于将对等链路Peer-Link端口作为所述链路聚合组的成员端口添加至所述链路聚合组下,其中,所述Peer-Link端口为所述第一设备与所述第二设备直连的端口;所述第一设备在接收到转发出口为所述链路聚合组的业务报文时,基于故障前的地址表项将所述业务报文从所述Peer-Link端口转发出去;所述第二设备,用于将来自于所述Peer-Link端口接收到的所述业务报文通过自身的链路聚合组转发出去。
结合第二方面实施例的一种可能的实施方式,所述第一设备,还用于在将Peer-Link端口作为所述链路聚合组的成员端口添加至所述链路聚合组下之后,在检测到自身的链路聚合组故障恢复时,将所述Peer-Link端口从所述链路聚合组的成员端口中删除。
结合第二方面实施例的一种可能的实施方式,所述第一设备,还用于在确定自身的链路聚合组故障之后,向所述第二设备发送成员链路故障通告;所述第二设备,用于在接收到所述成员链路故障通告时,解除自身的链路聚合组与所述Peer-Link端口之间的端口隔离。
结合第二方面实施例的一种可能的实施方式,所述第一设备,还用于在向所述第二设备发送成员链路故障通告之后,在检测到自身的链路聚合组故障恢复时向所述第二设备发送成员链路故障恢复通告;所述第二设备,还用于在接收到所述成员链路故障恢复通告时,恢复自身的链路聚合组与所述Peer-Link端口之间的端口隔离。
第三方面,本申请实施例还提供了一种报文转发装置,应用于双活系统中的第一设备,所述装置包括:确定模块、添加模块以及转发模块;确定模块,用于确定所述第一设备的链路聚合组故障;添加模块,用于将对等链路Peer-Link端口作为所述链路聚合组的成员端口添加至所述链路聚合组下,其中,所述Peer-Link端口为所述第一设备与同属于一个MLAG域下的第二设备直连的端口;转发模块,用于在接收到转发出口为所述链路聚合组的业务报文时,基于故障前的地址表项将所述业务报文从所述Peer-Link端口转发出去。
第四方面,本申请实施例还提供了一种通信设备,包括:存储器和处理器,所述存储器和所述处理器连接;所述存储器,用于存储程序;所述处理器,用于调用存储于所述存储器中的程序,以执行上述第一方面实施例和/或结合上述第一方面实施例的任一种可能的实施方式提供的方法。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例而了解。本申请的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本申请的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本申请的主旨。
图1示出了现有技术提供的一种MLAG应用场景的示意图。
图2示出了本申请实施例提供的图1所示的MLAG场景在一端MLAG端口故障的情况下的业务流量的走向示意图。
图3示出了本申请实施例提供的报文转发方法的流程示意图。
图4示出了本申请实施例提供的报文转发装置的模块示意图。
图5示出了本申请实施例提供的网络设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中诸如“第一”、“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
再者,本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
从现有处理方式所存在的两个问题可以看出,从旧的出口发生故障,到添加新的出口,业务流量的中断恢复时间与在删除和添加操作中处理的地址表项数量相关,地址表项数量越多,业务流量的中断恢复时间就会越长。鉴于此,本申请实施例提供了一种报文转发方法,以解决上述技术问题。需要说明的是,针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本申请实施例针对上述问题所提出的解决方案,都应该是发明人在本申请过程中对本申请做出的贡献。
本申请实施例提供的由两个MLAG配对节点与DHD(Double-homed Device,双归属设备)设备进行跨设备链路汇聚,形成的双活系统的示意图如图2所示,该双活系统包括第一设备和第二设备。本文中的第一设备既可以是节点1,也可以是节点2,当第一设备为节点1时,第二设备为节点2,当第一设备为节点2时,第二设备为节点1。本文中的第一设备和第二设备均为数据通信网络设备,例如为路由器、交换机等。其中,第一设备用于确定自身的链路聚合组故障,为了保证业务报文的顺利转发,第一设备会实时检测自身的链路聚合组是否故障,当第一设备检测到该链路聚合组中的所有成员端口均故障时,则确定自身的链路聚合组故障。
在自身的链路聚合组故障时,所述第一设备,还用于将对等链路Peer-Link端口作为所述链路聚合组的成员端口添加至所述链路聚合组下,以第一设备为节点1为例,当Link-Agg1故障时,第一设备将Peer-Link端口作为Link-Agg1的成员端口添加至Link-Agg1下,此时的示意图如图2所示。
所述第一设备,还用于在接收到转发出口为所述链路聚合组的业务报文时,基于故障前的地址表项将所述业务报文从所述Peer-Link端口转发出去。所述第二设备,用于将来自于所述Peer-Link端口接收到的所述业务报文通过自身的链路聚合组转发出去。当节点1接收到由DHD1发往DHD2的业务报文时,通过查找故障前的地址表项,从中找到的出口仍然为Link-Agg1,由于Link-Agg1原来的成员端口已经全部故障,新增成员端口是Peer-Link端口,这时找到的出口虽然是Link-Agg1,但是实际转发是通过Peer-Link端口出去,也即通过Peer-Link链路转发到节点2,当节点2接收到由Peer-Link端口转发的业务报文时,基于该业务报文中的目的地址,查找自身的地址表项,通过自身的链路聚合组(Link-Agg2)将该业务报文转发出去,到达DHD2的Link-Agg20。其中,在第一设备和第二设备的链路聚合组正常的情况下,第一设备和第二设备在接收到由DHD1发往DHD2的业务报文的转发流程图如图1所示。
其中,在节点1和节点2上的地址表项学习流程为:
在节点1上,根据从Link-Agg1收到的报文进行学习,学习和添加地址表项{MAC1+VLAN1,Link-Agg1};节点1将已经学习的地址表项{MAC1+VLAN1,Link-Agg1}转换为{MAC1+VLAN1,MLAG1},再通过Peer-Link链路同步到Node 2,节点2在收到节点1同步过来的地址表项之后,先将地址表项{MAC1+VLAN1,MLAG1}转换为{MAC1+VLAN1,Link-Agg2},再保存地址表项。同理,在节点2上,根据从Link-Agg2收到的报文进行学习,学习和添加地址表项{MAC1+VLAN1,Link-Agg2};节点2将已经学习的地址表项{MAC1+VLAN1,Link-Agg2}转换为{MAC1+VLAN1,MLAG1},再通过Peer-Link链路同步到Node 1,节点1在收到节点2同步过来的地址表项之后,先将地址表项{MAC1+VLAN1,MLAG1}转换为{MAC1+VLAN1,Link-Agg1},再保存地址表项。在节点1上,当收到业务流量MAC1+VLAN1时,查找保存的地址表项,从中找到出口为Link-Agg1,将流量从Link-Agg1转发出去。同理,在节点2上,当收到业务流量MAC1+VLAN1时,查找保存的地址表项,从中找到出口为Link-Agg2,将流量从Link-Agg2转发出去。
其中,地址表项{MAC1+VLAN1,Link-Agg1}:表示当匹配目的MAC地址为MAC1、所属VLAN为VLAN1时,业务流量的转发出口为Link-Agg1;地址表项{MAC1+VLAN1,Link-Agg2}:表示当匹配目的MAC地址为MAC1、所属VLAN为VLAN1时,业务流量的转发出口为Link-Agg2。
所述第一设备,在将Peer-Link端口作为所述链路聚合组的成员端口添加至所述链路聚合组下之后,还用于在检测到自身的链路聚合组故障恢复时,将所述Peer-Link端口从所述链路聚合组的成员端口中删除。当第一设备在检测到自身的链路聚合组恢复故障时,即当该链路聚合组中有1个以及1个以上的故障前端口恢复故障时,则表征该链路聚合组恢复故障。此时,将Peer-Link端口从链路聚合组的成员端口中删除。在这种操作方式下,业务流量不会感知到成员端口的变化,原来出口为Link-Agg1上的地址表项不需发生任何变化。
为了防止在自身链路聚合组正常的情况下,将DHD1发往DHD2的业务流量经Peer-Link链路转发到对方,一种实施方式,可以通过设置优先级的方式,来防止这种情况发生,即在自身链路聚合组正常的情况下,自身链路聚合组的转发优先级高于Peer-Link链路转发的优先级。
又一种实施方式,可以是在自身链路聚合组正常的情况下,将对端的链路聚合组与Peer-Link端口之间的端口设置为隔离状态,这样便不允许对端将来自Peer-Link端口转发的业务流量通过自身的链路聚合组转发出去。在该种实施方式下,所述第一设备,还用于在确定自身的链路聚合组故障之后,向所述第二设备发送成员链路故障通告。相应地,所述第二设备,用于在接收到所述成员链路故障通告时,解除自身的链路聚合组与所述Peer-Link端口之间的端口隔离。通过这样的操作,允许从Peer-Link端口收到的业务流量通过Link-Agg2转发出去。
在该种实施方式下,所述第一设备,还用于在向所述第二设备发送成员链路故障通告之后,在检测到自身的链路聚合组故障恢复时向所述第二设备发送成员链路故障恢复通告。相应地,所述第二设备,还用于在接收到所述成员链路故障恢复通告时,恢复自身的链路聚合组与所述Peer-Link端口之间的端口隔离。通过这样的操作,避免从Peer-Link端口收到的业务流量通过Link-Agg2转发出去,导致DHD2收到两份相同的报文。
本申请实施例提供了的一种的报文转发方法,如图3所示,下面将结合图3对其所包含的步骤进行说明。
步骤S101:第一设备确定自身的链路聚合组故障。
结合图1进行描述,当第一设备(节点1或节点2)的链路聚合组(Link-Agg1或Link-Agg2)正常时,在接收到由DHD1发往DHD2的业务报文时,通过自身的链路聚合组将该业务报文转发出去,到达DHD2的Link-Agg20。为了保证业务报文的顺利转发,第一设备会实时检测自身的链路聚合组是否故障,当第一设备在检测到自身的链路聚合组故障时,即当该链路聚合组中的所有成员端口均故障时,则执行步骤S102。其中,如何检测自身的链路聚合组是否故障已经为本领域技术人员所熟知,此处不再介绍。
上述的Link-Agg1表示编号为1的链路聚合组,Link-Agg2表示编号为2的链路聚合组。
步骤S102:所述第一设备将对等链路Peer-Link端口作为所述链路聚合组的成员端口添加至所述链路聚合组下。
当第一设备确定自身的链路聚合组故障时,第一设备将Peer-Link端口作为该链路聚合组的成员端口添加至该链路聚合组下,以第一设备为节点1为例,当Link-Agg1故障时,第一设备将Peer-Link端口作为Link-Agg1的成员端口添加至Link-Agg1下,此时的示意图如图2所示。通过这样的操作,当节点1收到目的地址为DHD2的业务报文时,查找保存的地址表项,从中找到的出口仍然为Link-Agg1,由于Link-Agg1原来的成员端口已经全部故障,新增成员端口是Peer-Link端口,这时找到的出口虽然是Link-Agg1,但是实际转发是通过Peer-Link端口出去。在这种操作方式下,原来在Link-Agg1上添加的地址表项不会发生任何变化,不需要进行先删除后添加的操作,通过有限的操作步骤,使得原来需要通过Link-Agg1转发出去的业务流量,全部通过Peer-Link端口转发到节点2进行处理。采用本申请的这种操作方式,能够实现业务流量的中断恢复时间与地址表项的数量无关,使得业务流量故障恢复的性能得到了显著的优化和提升。
其中,所述Peer-Link端口为所述第一设备与同属于一个双活系统下的第二设备直连的端口,也即图1中的节点1与节点2直连的端口。
步骤S103:所述第一设备在接收到转发出口为所述链路聚合组的业务报文时,基于故障前的地址表项将所述业务报文从所述Peer-Link端口转发出去。
当第一设备在接收到转发出口为所述链路聚合组的业务报文时,基于故障前的地址表项将所述业务报文从所述Peer-Link端口转发出去。以第一设备为节点1为例,当节点1接收到由DHD1发往DHD2的业务报文时,通过查找故障前的地址表项,从中找到的出口仍然为Link-Agg1,由于Link-Agg1原来的成员端口已经全部故障,新增成员端口是Peer-Link端口,这时找到的出口虽然是Link-Agg1,但是实际转发是通过Peer-Link端口出去,也即通过Peer-Link链路转发到节点2,当节点2接收到由Peer-Link端口转发的业务报文时,基于该业务报文中的目的地址,查找自身的地址表项,通过自身的链路聚合组(Link-Agg2)将该业务报文转发出去,到达DHD2的Link-Agg20。
其中,在节点1和节点2的链路聚合组正常的情况下,根据单播流量本地优先原则,从DHD1发往DHD2的业务流量,会从各自的链路聚合组转发出去,到达DHD2的Link-Agg20,并且不用经过Peer-Link链路转发到对方。为了防止在自身链路聚合组正常的情况下,将DHD1发往DHD2的业务流量经Peer-Link链路转发到对方,作为一种实施方式,可以通过设置优先级的方式,来防止这种情况发生,即在自身链路聚合组正常的情况下,自身链路聚合组的转发优先级高于Peer-Link链路转发的优先级。
当然作为又一种实施方式,可以是在自身链路聚合组正常的情况下,将对端的链路聚合组与Peer-Link端口之间的端口设置为隔离状态,这样便不允许对端将来自Peer-Link端口转发的业务流量通过自身的链路聚合组转发出去。在该种实施方式下,所述第一设备确定自身的链路聚合组故障之后,所述方法还包括:所述第一设备向所述第二设备发送成员链路故障通告,以使所述第二设备解除自身的链路聚合组与所述Peer-Link端口之间的端口隔离。通过这样的操作,允许从Peer-Link端口收到的业务流量通过Link-Agg2转发出去。以第一设备为节点1为例,当Link-Agg1发生故障时,将Link-Agg1由于发生故障导致的链路状态DOWN消息,转换为MLAG1的链路状态DOWN消息(成员链路故障通告)同步到节点2。节点2收到节点1同步过来的MLAG1的链路状态DOWN消息之后,将MLAG1转换为Link-Agg2,解除Link-Agg2与Peer-Link端口之间的端口隔离。通过这样的操作,允许从Peer-Link端口收到的业务流量通过Link-Agg2转发出去。
所述第一设备将Peer-Link端口作为所述链路聚合组的成员端口添加至所述链路聚合组下之后,所述方法还包括:所述第一设备检测到自身的链路聚合组故障恢复时,将所述Peer-Link端口从所述链路聚合组的成员端口中删除。当第一设备在检测到自身的链路聚合组恢复故障时,即当该链路聚合组中有1个以及1个以上的故障前端口恢复故障时,则表征该链路聚合组恢复故障。此时,将Peer-Link端口从链路聚合组的成员端口中删除。在这种操作方式下,业务流量不会感知到成员端口的变化,原来出口为Link-Agg1上的地址表项不会发生任何变化。
第一设备在确定自身的链路聚合组故障之后,向第二设备发送成员链路故障通告,以使第二设备解除自身的链路聚合组与述Peer-Link端口之间的端口隔离。相应地,所述方法还包括:所述第一设备检测到自身的链路聚合组故障恢复时,向所述第二设备发送成员链路故障恢复通告,以使所述第二设备恢复自身的链路聚合组与所述Peer-Link端口之间的端口隔离。以第一设备为节点1为例,当Link-Agg1恢复故障时,将Link-Agg1由于故障恢复导致的链路状态UP消息,转换为MLAG1的链路状态UP消息同步到节点2,Node收到Node 1同步过来的MLAG1的链路状态UP消息,恢复Link-Agg2与Peer-Link端口之间的端口隔离。通过这样的操作,避免从Peer-Link端口收到的业务流量通过Link-Agg2转发出去,导致DHD2收到两份相同的报文。
采用本申请的报文转发方法,当第一设备的链路聚合组(如Link-Agg1)故障时,不需要对地址表项进行先删除后添加的操作,通过有限的操作步骤,使得原来需要通过Link-Agg1转发出去的业务流量,全部通过Peer-Link端口转发到节点2进行处理。通过这种方式,使得原来在Link-Agg1上添加的地址表项不需要发生任何变化,能够实现业务流量的中断恢复时间与地址表项的数量无关,从而使业务流量故障恢复的性能得到了显著的优化和提升。
需要说明的是,本文中的第一设备既可以是节点1,也可以是节点2,当第一设备为节点1时,第二设备为节点2,当第一设备为节点2时,第二设备为节点1。
如图4所示,本申请实施例还提供了一种应用于双活系统中的第一设备中的报文转发装置100,包括:确定模块110、添加模块120以及转发模块130。
确定模块110,用于确定所述第一设备的链路聚合组故障。
添加模块120,用于将对等链路Peer-Link端口作为所述链路聚合组的成员端口添加至所述链路聚合组下,其中,所述Peer-Link端口为所述第一设备与同属于一个MLAG域下的第二设备直连的端口。
转发模块130,用于在接收到转发出口为所述链路聚合组的业务报文时,基于故障前的地址表项将所述业务报文从所述Peer-Link端口转发出去。
该报文转发装置100还包括:删除模块,用于在添加模块120将Peer-Link端口作为所述链路聚合组的成员端口添加至所述链路聚合组下之后,在所述第一设备的自身的链路聚合组故障恢复时,将所述Peer-Link端口从所述链路聚合组的成员端口中删除。
可选地,该报文转发装置100还包括:通知模块,用于在确定模块110确定所述第一设备的链路聚合组故障之后,向所述第二设备发送成员链路故障通告,以使所述第二设备解除自身的链路聚合组与所述Peer-Link端口之间的端口隔离。
该通知模块,还用于在所述第一设备的自身的链路聚合组故障恢复时,向所述第二设备发送成员链路故障恢复通告,以使所述第二设备恢复自身的链路聚合组与所述Peer-Link端口之间的端口隔离。
本申请实施例所提供的报文转发装置100,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
如图5所示,图5示出了本申请实施例提供的一种网络设备200的结构框图。所述网络设备200包括:端口210、存储器220、通讯总线230以及处理器240。
所述端口210、所述存储器220、处理器240各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线230或信号线实现电性连接。其中,端口210的数量为多个(包括Peer-Link端口和链路聚合组中的成员端口),均用于收发数据。存储器220用于存储计算机程序,如存储有图4中所示的软件功能模块,即报文转发装置100。其中,报文转发装置100包括至少一个可以软件或固件(firmware)的形式存储于所述存储器220中或固化在所述网络设备200的操作系统(operating system,OS)中的软件功能模块。所述处理器240,用于执行存储器220中存储的可执行模块,例如报文转发装置100包括的软件功能模块或计算机程序。例如,处理器240,用于确定网络设备的链路聚合组故障;以及还用于将Peer-Link端口作为所述链路聚合组的成员端口添加至所述链路聚合组下,其中,所述Peer-Link端口为所述第一设备与同属于一个MLAG域下的第二设备直连的端口;以及还用于在接收到转发出口为所述链路聚合组的业务报文时,基于故障前的地址表项将所述业务报文从所述Peer-Link端口转发出去。
其中,存储器220可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
处理器240可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器240也可以是任何常规的处理器等。
其中,上述的网络设备200,包括但不限于路由器、交换机等。
本申请实施例还提供了一种非易失性计算机可读取存储介质(以下简称存储介质),该存储介质上存储有计算机程序,该计算机程序被计算机如上述的网络设备200运行时,执行上述方法实施例所示的报文转发方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,笔记本电脑,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种报文转发方法,其特征在于,包括:
第一设备确定自身的链路聚合组故障;
所述第一设备将对等链路Peer-Link端口作为所述链路聚合组的成员端口添加至所述链路聚合组下,其中,所述Peer-Link端口为所述第一设备与同属于一个MLAG域下的第二设备直连的端口;
所述第一设备在接收到转发出口为所述链路聚合组的业务报文时,基于故障前的地址表项将所述业务报文从所述Peer-Link端口转发出去,
其中,所述故障前的地址表项中不包含所述Peer-Link端口。
2.根据权利要求1所述的方法,其特征在于,所述第一设备将Peer-Link端口作为所述链路聚合组的成员端口添加至所述链路聚合组下之后,所述方法还包括:
所述第一设备检测到自身的链路聚合组故障恢复时,将所述Peer-Link端口从所述链路聚合组的成员端口中删除。
3.根据权利要求1所述的方法,其特征在于,所述第一设备确定自身的链路聚合组故障之后,所述方法还包括:
所述第一设备向所述第二设备发送成员链路故障通告,以使所述第二设备解除自身的链路聚合组与所述Peer-Link端口之间的端口隔离。
4.根据权利要求3所述的方法,其特征在于,所述第一设备向所述第二设备发送成员链路故障通告之后,所述方法还包括:
所述第一设备检测到自身的链路聚合组故障恢复时,向所述第二设备发送成员链路故障恢复通告,以使所述第二设备恢复自身的链路聚合组与所述Peer-Link端口之间的端口隔离。
5.一种双活系统,其特征在于,包括,第一设备和第二设备:
所述第一设备,用于确定自身的链路聚合组故障;
所述第一设备,还用于将对等链路Peer-Link端口作为所述链路聚合组的成员端口添加至所述链路聚合组下,其中,所述Peer-Link端口为所述第一设备与所述第二设备直连的端口;
所述第一设备,还用于在接收到转发出口为所述链路聚合组的业务报文时,基于故障前的地址表项将所述业务报文从所述Peer-Link端口转发出去;
所述第二设备,用于将来自于所述Peer-Link端口接收到的所述业务报文通过自身的链路聚合组转发出去,
其中,所述故障前的地址表项中不包含所述Peer-Link端口。
6.根据权利要求5所述的双活系统,其特征在于:
所述第一设备,还用于在将Peer-Link端口作为所述链路聚合组的成员端口添加至所述链路聚合组下之后,在检测到自身的链路聚合组故障恢复时,将所述Peer-Link端口从所述链路聚合组的成员端口中删除。
7.根据权利要求5所述的双活系统,其特征在于:
所述第一设备,还用于在确定自身的链路聚合组故障之后,向所述第二设备发送成员链路故障通告;
所述第二设备,用于在接收到所述成员链路故障通告时,解除自身的链路聚合组与所述Peer-Link端口之间的端口隔离。
8.根据权利要求7所述的双活系统,其特征在于:
所述第一设备,还用于在向所述第二设备发送成员链路故障通告之后,在检测到自身的链路聚合组故障恢复时向所述第二设备发送成员链路故障恢复通告;
所述第二设备,还用于在接收到所述成员链路故障恢复通告时,恢复自身的链路聚合组与所述Peer-Link端口之间的端口隔离。
9.一种报文转发装置,其特征在于,应用于双活系统中的第一设备,所述装置包括:
确定模块,用于确定所述第一设备的链路聚合组故障;
添加模块,用于将对等链路Peer-Link端口作为所述链路聚合组的成员端口添加至所述链路聚合组下,其中,所述Peer-Link端口为所述第一设备与同属于一个MLAG域下的第二设备直连的端口;
转发模块,用于在接收到转发出口为所述链路聚合组的业务报文时,基于故障前的地址表项将所述业务报文从所述Peer-Link端口转发出去,
其中,所述故障前的地址表项中不包含所述Peer-Link端口。
10.一种通信设备,其特征在于,包括:存储器和处理器,所述存储器和所述处理器连接;
所述存储器,用于存储程序;
所述处理器,用于调用存储于所述存储器中的程序,以执行如权利要求1-4中任一项所述的方法。
CN201911004578.3A 2019-10-21 2019-10-21 一种报文转发方法、装置、双活系统及通信设备 Active CN110730125B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911004578.3A CN110730125B (zh) 2019-10-21 2019-10-21 一种报文转发方法、装置、双活系统及通信设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911004578.3A CN110730125B (zh) 2019-10-21 2019-10-21 一种报文转发方法、装置、双活系统及通信设备

Publications (2)

Publication Number Publication Date
CN110730125A CN110730125A (zh) 2020-01-24
CN110730125B true CN110730125B (zh) 2022-03-18

Family

ID=69220614

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911004578.3A Active CN110730125B (zh) 2019-10-21 2019-10-21 一种报文转发方法、装置、双活系统及通信设备

Country Status (1)

Country Link
CN (1) CN110730125B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113497753A (zh) * 2020-03-19 2021-10-12 烽火通信科技股份有限公司 一种跨设备链路聚合方法及系统
CN112187633A (zh) * 2020-09-14 2021-01-05 锐捷网络股份有限公司 一种链路故障收敛方法、装置、电子设备及存储介质
CN113612637B (zh) * 2021-07-30 2022-11-29 中国工商银行股份有限公司 一种电话银行语音流量调度方法、装置及系统
CN114189471B (zh) * 2021-11-29 2023-08-08 苏州浪潮智能科技有限公司 跨设备链路聚合组主备配置方法、系统、终端及存储介质
CN114374659A (zh) * 2022-01-18 2022-04-19 苏州盛科科技有限公司 一种堆叠系统中实现本地优先转发的方法、装置及存储介质
CN115514702A (zh) * 2022-09-16 2022-12-23 苏州盛科科技有限公司 快速切换链路的方法、装置、电子设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108574614B (zh) * 2017-03-10 2020-11-17 华为技术有限公司 一种报文处理方法、设备及网络系统
CN109698788B (zh) * 2017-10-20 2021-06-15 华为技术有限公司 流量转发方法、装置及计算机可读介质
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

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
网络技术M-LAG在数据中心网络中的应用;刘亮等;《信息与电脑(理论版)》;20190525(第10期);190-191 *

Also Published As

Publication number Publication date
CN110730125A (zh) 2020-01-24

Similar Documents

Publication Publication Date Title
CN110730125B (zh) 一种报文转发方法、装置、双活系统及通信设备
US11223514B2 (en) Method and system of a dynamic high-availability mode based on current wide area network connectivity
US10764085B2 (en) Loop failure handling method and switch
US9270485B2 (en) Method for ethernet ring protection
US8411690B2 (en) Preventing data traffic connectivity between endpoints of a network segment
US8369211B2 (en) Network distribution prevention when virtual chassis system undergoes splits and merges
CN109450666B (zh) 分布式系统网络管理方法及装置
US9237092B2 (en) Method, apparatus, and system for updating ring network topology information
CN106059791B (zh) 一种存储系统中业务的链路切换方法和存储设备
CN106899430B (zh) 一种流量转发处理方法和装置
JP2005269059A (ja) データ中継装置、データ中継方法およびデータ中継プログラム
CN110011839B (zh) 报文转发方法、装置、spe及存储介质
CN110380960B (zh) 一种备份路径确定方法、装置、网络设备及存储介质
US9806990B2 (en) Fast recovery method and device for STP-based backup port
CN111083049B (zh) 一种用户表项恢复方法、装置、电子设备及存储介质
EP2802105B1 (en) Method, device, and system for convergence of dual-uplink tangent ring
CN113949649B (zh) 故障检测协议的部署方法、装置、电子设备及存储介质
WO2018107974A1 (zh) 一种路由回切方法、控制器及系统
CN109120449B (zh) 一种链路故障的检测方法及装置
CN108234358B (zh) 一种组播报文传输方法、装置及机器可读存储介质
CN108259325B (zh) 路由维护方法和路由设备
CN109347717B (zh) Vxlan隧道切换方法及装置
CN111131035A (zh) 数据传输方法及装置
CN106789634B (zh) 基于链路负载双主环境的静态路由管理方法及系统
CN103607301A (zh) 一种ecmp方式下链路故障的保护切换方法和设备

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