CN107682261B - 流量转发方法及装置 - Google Patents

流量转发方法及装置 Download PDF

Info

Publication number
CN107682261B
CN107682261B CN201711003583.3A CN201711003583A CN107682261B CN 107682261 B CN107682261 B CN 107682261B CN 201711003583 A CN201711003583 A CN 201711003583A CN 107682261 B CN107682261 B CN 107682261B
Authority
CN
China
Prior art keywords
service
message
vtep
forwarding
forwarding table
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
CN201711003583.3A
Other languages
English (en)
Other versions
CN107682261A (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.)
New H3C Information Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies 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 Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201711003583.3A priority Critical patent/CN107682261B/zh
Publication of CN107682261A publication Critical patent/CN107682261A/zh
Application granted granted Critical
Publication of CN107682261B publication Critical patent/CN107682261B/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/24Multipath
    • H04L45/245Link aggregation, e.g. trunking

Landscapes

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

Abstract

本公开涉及一种流量转发方法及装置。所述方法包括:本成员设备在监测到第一业务的流量未通过转发表项指定的端口转发时,生成第一报文并将第一报文发送给DR系统中的其他成员设备;接收其他成员设备返回的第一应答报文,根据第一应答报文从其他成员设备中选择一个成员设备作为代理成员设备;删除本成员设备上第一业务对应的转发表项;向代理成员设备发送第一同步消息,以使代理成员设备向本成员设备发送第一业务对应的转发表项。根据本公开的DR系统的流量转发方法及装置,不仅可以提高设备链路级别的可靠性,还可以在某一成员设备的转发表项出现问题时,通过DR系统中的其他设备来进行保护,进一步提高DR系统的可靠性。

Description

流量转发方法及装置
技术领域
本公开涉及通信技术领域,尤其涉及一种流量转发方法及装置。
背景技术
为了提高网络的高可靠性,通常会采用分布式聚合方案,分布式聚合方案的基本思想是:让多台接入设备以同一个状态和被接入的设备进行链路聚合协商,在被接入的设备看来,就如同和一台设备建立了链路聚合关系。
目前,当分布式聚合DR系统中的设备在链路故障的情况下,才会借用DR系统中的未故障设备进行业务的转发,DR系统的可靠性主要体现在设备链路级别。如果DR系统中的设备上的转发表项出现问题,则经过该设备转发的业务流量没有从对应的转发表项指定的出接口转发出去,此时,无法通过DR系统中的其他设备来进行保护。
发明内容
有鉴于此,本公开提出了一种流量转发方法及装置,在DR系统中的网络设备转发表项出问题时,通过DR系统中的其他设备同步转发表项,并对转发表项出问题的网络设备的流量进行转发,进一步提高DR系统的可靠性。
根据本公开的一方面,提供了一种流量转发方法,所述方法应用于分布式聚合DR系统中的成员设备,所述DR系统包括多个成员设备,所述方法包括:
本成员设备在监测到第一业务的流量未通过转发表项指定的端口转发时,生成第一报文并将第一报文发送给DR系统中的其他成员设备,其中,第一报文用于测试其他成员设备的转发表项,第一报文包括第一业务的第一业务标识和第一流量目的地址;
接收其他成员设备返回的第一应答报文,根据第一应答报文从其他成员设备中选择一个成员设备作为代理成员设备;
删除本成员设备上第一业务对应的转发表项;
向代理成员设备发送第一同步消息,以使代理成员设备向本成员设备发送第一业务对应的转发表项,其中,第一同步消息包括第一业务标识。
根据本公开的另一方面,提供了一种流量转发装置,所述装置应用于分布式聚合DR系统中的成员设备,所述DR系统包括多个成员设备,所述装置包括:
第一发送模块,用于本成员设备在监测到第一业务的流量未通过转发表项指定的端口转发时,生成第一报文并将第一报文发送给DR系统中的其他成员设备,其中,第一报文用于测试其他成员设备的转发表项,第一报文包括第一业务的第一业务标识和第一流量目的地址;
第一接收模块,用于接收其他成员设备返回的第一应答报文,根据第一应答报文从其他成员设备中选择一个成员设备作为代理成员设备;
删除模块,用于删除本成员设备上第一业务对应的转发表项;
同步模块,用于向代理成员设备发送第一同步消息,以使代理成员设备向本成员设备发送第一业务对应的转发表项,其中,第一同步消息包括第一业务标识。
DR系统中的成员设备在监测到本成员设备业务的流量未通过转发表项指定的端口转发的情况下,根据业务的业务标识和流量目的地址生成第一报文并将第一报文发送给DR系统中的其他成员设备,以对其他成员设备的转发表项进行测试。其他成员设备根据第一报文构造数据报文并对根据本地转发表项对数据报文进行转发,在转发成功的情况下其他成员设备向本成员设备发送应答报文。本成员设备根据接收到的第一应答报文确定代理成员设备,删除本成员设备上流量转发异常的业务对应的转发表项,并向代理成员设备发送第一同步消息,以使代理成员设备向本成员设备发送该业务对应的转发表项,完成本成员设备流量转发异常的业务对应的转发表项的更新,使本成员设备可以正常转发该业务。
根据本公开的DR系统的流量转发方法及装置,不仅可以提高设备链路级别的可靠性,还可以在某一成员设备的转发表项出现问题时,通过DR系统中的其他设备来进行保护,进一步提高DR系统的可靠性。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1示出了一可能应用的分布式聚合方案。
图2示出一示例基于MLAG场景的EVPN组网的示意图。
图3a示出一示例的分布式聚合应用于EVPN组网协议示意图。
图3b示出一示例的分布式聚合应用于EVPN组网协议示意图。
图4示出根据本公开一实施例的流量转发方法的流程图。
图5示出根据本公开一实施例的流量转发方法的流程图。
图6示出根据本公开一实施例的流量转发方法的流程图。
图7示出根据本公开一实施例的流量转发装置的框图。
图8示出根据本公开一实施例的流量转发装置的框图。
图9示出根据本公开一实施例的流量转发装置的框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
图1示出了一可能应用的分布式聚合方案,如图1所示的VXLAN(VirtualeXtensible LAN,可扩展虚拟局域网络)组网中,VTEP(VXLAN Tunnel End Point,VXLAN隧道端点)B和VTEP C组成一个DR(Distributed Relay,分布式聚合)系统,VTEP B和VTEP C通过分布式聚合DR口与CE(Customer Edge,用户边缘)A连接,设备CE A通过2个物理端口与VTEP B和VTEP C连接,在设备CE A看来,VTEP B和VTEP C是1台设备,起了提高业务可靠性的功能。VTEP B和VTEP C之间通过IPL(Intra-Portal Link,内部控制链路)连接,并在DR系统成员设备间传输协议报文和同步信息。CE E到CE A的流量转发可以经过DR系统的任意一台设备VTEP B或者VTEP C,当一台成员设备挂掉,不会影响另外一台接替工作。
目前,当DR系统中用于转发流量的成员设备的DR口故障时,待转发的流量会通过中间的IPL链路转发到邻居成员设备上面,然后通过邻居成员设备进行转发,DR系统的可靠性主要体现在设备链路级别。如果DR系统中的设备上的转发表项出现问题,则经过该设备转发的业务流量没有从对应的转发表项指定的出接口转发,此时,无法通过DR系统中的其他设备来进行保护。
下面以一可能的分布式聚合应用场景例如MLAG(multi-chassis linkaggregation group,多设备的链路聚合组)结合EVPN组网技术进行说明。
EVPN(Ethernet Virtual Private Network,以太网虚拟专用网络)是一种二层VPN技术,控制平面采用MP-BGP(Multiprotocol Extensions for BGP-4,BGP-4的多协议扩展)通告EVPN路由信息,数据平面采用VXLAN封装方式转发报文。EVPN组网跟VXLAN组网的最大的区别在于EVPN数据面的VXLAN封装隧道是通过BGP自动发现自动建立的,从很大程度上利用了BGP协议的优势,减少了人工对VXLAN网络的配置的复杂程度。
目前,MLAG(multi-chassis link aggregation group,多设备的链路聚合组)场景也支持EVPN技术,图2示出一示例基于MLAG场景的EVPN组网的示意图,如图2所示,VTEP B和VTEP C组成DR系统,EVPN使用分布式聚合对AC(Attachment Circuit,接入电路)接口侧进行保护。在正常情况下,如果设备CE E向设备CE A转发流量,转发路径可以为CE E-VTEPD-VTEP B-CE A。当DR系统中的一台成员设备(例如VTEP B)与其他网络设备的连接链路发生了故障,流量通过中间的IPL链路转发到对端邻居成员设备的VTEP C上面,然后从VTEP C向CE A进行转发,这从一定意义上提高了EVPN的私网侧业务的可靠性。如果DR系统中的设备上的转发表项出现问题,则经过该设备转发的业务流量都没有从对应的转发表项指定的出接口转发,此时,无法通过DR系统中的其他设备来进行保护。
举例来说,如图3a所示,VTEP B和VTEP C组成一个DR系统,VTEP B和VTEP C通过DR口连接用户边缘CE设备CE A,CE A通过两个物理端口与DR口连接,以实现与VTEP B和VTEPC连接。其中,DR口为DR系统与外部设备连接的二层聚合口,如图3a所示的VTEP B与CE A连接的二层DR口AGG1和VTEP C与CE A连接的DR口AGG 1。VTEP B和VTEP C之间通过IPL连接,通过IPL进行协议报文交互和信息同步。需要说明的是,DR系统可以聚合至少两个VTEP,图3a仅仅是本公开的一个示例,DR系统还可以聚合3个以上的VTEP,本公开对此不作限定。
CE A可以为虚机VM(Virtual Machine),VTEP B和VTEP C上的实际IP地址为1.1.1.1和2.2.2.2,对外通告的虚拟IP地址为3.3.3.3(如图3a中所示的,该虚拟IP地址即为DR系统的IP地址)。
DR系统的另一端连接VTEP D,VTEP D不属于DR系统。VTEP B和VTEP C可以采用MP-BGP(Multiprotocol Extensions for BGP-4,BGP-4的多协议扩展)分别向VTEP D通告EVPN路由信息,EVPN数据平面的VXLAN隧道可以通过BGP自动发现、自动建立。
CE A上线之后,VTEP B和VTEP C能够学习到CE A的ARP表项,同时向远端VTEP D通告CE A的下一跳为虚拟IP地址3.3.3.3的EVPN 2类路由,使用虚拟IP地址3.3.3.3与VTEP D建立VXLAN隧道,则CE A的IP地址在VTEP D上面产生的IP转发表项为:出接口为VXLAN隧道口,VXLAN隧道口的目的地址为虚拟IP地址3.3.3.3。其中,EVPN 2类路由可以是指MAC/IPadvertisement route,用于通告MAC/IP的可达性。
针对VTEP D来说,与VTEP B之间的链路和与VTEP C之间的链路是等价链路。例如,VTEP B在使用地址IP_B与VTEP D设备建立了BGP邻居关系之后,使用虚拟IP地址IP22与VTEP D建立VXLAN隧道tunnel0;VTEP C在使用地址IP_C与VTEP D建立了BGP邻居关系之后,同样使用虚拟IP地址IP22与VTEP D设备建立VXLAN隧道tunnel0。这样,在VTEP D上,tunnel0的目的IP地址为IP22,tunnel0对应2条等价链路,分别连接设备VTEP B和VTEP C。其中,IP_B可以为VTEP B的实际IP地址,例如1.1.1.1;IP_C可以为VTEP C的实际IP地址,例如2.2.2.2;IP22可以为DR组的虚拟IP地址,例如3.3.3.3。VTEP D在收到EVPN 2类路由之后,下发转发表项,VTEP D上面产生的IP转发表项可以为:出接口为VXLAN隧道tunnel0,对应的2个下一跳设备为VTEP B和VTEP C。
CE A上线后,向VTEP B或者VTEP C发送的报文,使VTEP B和VTEP C学习到CE A的MAC地址以及对应的转发表。如图3a所示,假设CE A的IP地址为100.1.1.2,CE A上线后,发出的源MAC地址为A-A-A的报文到VTEP B上面,VTEP B会动态学习到CE A的MAC地址的转发表项,下一跳出接口可设置为AGG 1,VTEP B的转发表可以如表1-1所示。
表1-1
MAC地址 下一跳 出接口
A-A-A 100.1.1.2 AGG 1
同时,VTEP B会通过EVPN协议将A-A-A的这个MAC地址同步给VTEP D,下一跳出接口为VTEP D到VTEP B/VTEP C的VXLAN隧道tunnel0,VTEP D的转发表可以如表2-1所示。
表2-1
MAC地址 下一跳 出接口
A-A-A 3.3.3.3 tunnel0
VTEP B还会通过IPL链路将A-A-A这个MAC地址同步给VTEP C设备,下一跳出接口为分布式聚合的另外一个AGG 1口,VTEP C的转发表可以如表3-1所示。
表3-1
MAC地址 下一跳 出接口
A-A-A 100.1.1.2 AGG 1
VTEP D向CE A发送报文时,该报文的目的MAC地址为A-A-A,根据表2-1查找到对应的出接口为tunnel0。VTEP D可以hash到VTEP B\VTEP C任意一台设备作为VXLAN隧道tunnel0的尾节点进行业务的转发,比如hash到的VTEP B。
当DR系统的一台成员设备与其他网络设备的连接链路发生了故障,例如,VTEP B和CE A之间的DR口的物理成员口发生了故障,流量能通过中间的IPL链路转发到远端的VTEP C上面,然后VTEP C根据表3-1查找到对应的出接口为AGG 1,从VTEP C向CE A进行转发,这从一定意义上提高了EVPN的私网侧业务的可靠性。
如果DR系统中的设备上的转发表项出现问题,例如VTEP B的转发表象出现问题,则经过该设备转发的业务流量没有从对应的转发表项指定的出接口转发,此时,VTEP B不能感知与其他网络设备的链路故障,无法通过DR系统中的其他设备来进行保护。
为了尽可能地避免上述问题,本公开提供了一种流量转发方法。
图4示出根据本公开一实施例的流量转发方法的流程图。该方法可以应用于分布式聚合DR系统中的成员设备,所述DR系统可以包括多个成员设备,所述DR系统可以通过DR口与第二网络设备连接,并通过虚拟IP地址与第一网络设备通信。
如图3a所示,所述DR系统可以包括两个成员设备。所述DR系统还可以包括三个及以上成员设备,如图3b所示,DR系统可以包括VTEP B、VTEP C、VTEP E和VTEP F,本公开对此不作限定。所述方法可以应用于所述DR系统中的任意一个VTEP(成员设备),第二网络设备可以是如图3a所示的设备CE A,第一网络设备可以为公网侧设备,第一网络设备可以是如图3a所示的VTEP D。
如图4所示,该方法包括:
步骤S101,本成员设备在监测到第一业务的流量未通过转发表项指定的端口转发时,生成第一报文并将第一报文发送给DR系统中的其他成员设备,其中,第一报文用于测试其他成员设备的转发表项,第一报文可以包括第一业务的第一业务标识和第一流量目的地址。本成员设备可能负责多个业务的流量转发其中,第一业务可以是指经过本成员设备进行转发的某一个业务。
在一种可能的实现方式中,DR系统中的成员设备可以开启监控机制,监控每条经过本成员设备转发的业务的业务流量,以第一业务为例,例如,DR系统的成员设备可以根据业务报文的目的IP/目的MAC进行流量监控,通过业务报文的目的IP/目的MAC查找转发表,根据转发表项指定的端口发送报文,对转发表项指定的端口进行监控,如果监测到业务报文没有从转发表项指定的出接口(端口)转发出去,例如,业务报文被丢弃、从其他端口转发出去等
此时,本成员设备可以根据第一业务的业务报文生成第一报文并将第一报文发送给DR系统中的其他成员设备。第一业务的第一流量目的地址可以根据流量转发异常的业务(第一业务)的业务报文获得,可以包括目的MAC地址和目的IP地址,第一业务标识可以是指第一业务对应的VXLAN VNI(VXLAN Network Identifier,VXLAN网络标识符)。其他成员设备可以是指DR系统中除了本成员设备以外的其他所有成员设备。
在一种可能的实现方式中,第一报文可以为EVPN MLAG的notify报文,该第一报文还可以包括源MAC地址、源IP地址。其中,源MAC地址、源IP地址也可以根据流量转发异常的业务(第一业务)的业务报文获得。
步骤S102,接收其他成员设备返回的第一应答报文,根据第一应答报文从其他成员设备中选择一个成员设备作为代理成员设备。
其中,第一应答报文为其他成员设备响应于上述第一报文,向本成员设备发送的报文,由于第一报文用于测试其他成员设备的转发表项,因此,其他成员设备根据第一报文对转发表项进行测试后,可以根据测试结果向本成员设备返回应答报文。第一应答报文可以包括其他成员设备的设备标识和应答状态,第一应答报文的报文类型可以与第一报文相同,都可以是notify报文。
设备标识可以是指能够唯一表示设备身份的信息,例如设备的MAC地址等。
应答状态可以是指其他成员设备接收到第一报文之后应答的结果,可以包括两种状态:应答成功/应答失败,例如,可以1/0分别标识两种状态。
举例来说,notify报文可以包括保留字段,将保留字段的值设置为特定值,其他成员设备在接收到第一报文后,如果发现第一报文的保留字段为该特定值,其他成员设备可以确定本成员设备转发表项出现问题,需要同步转发表项。此时,其他成员设备可以根据第一报文构造相应的数据报文,例如,第一数据报文的源MAC地址、源IP地址、MAC地址、目的IP地址以及VXLAN VNI可以与第一报文相同,其他成员设备通过查找设备存储的转发表项对数据报文进行转发,如果能够查找到相应的表项并从表项指定的出接口转发成功,表示该成员设备流量转发正常,转发表项可用,可以代理转发流量。此时,其他成员设备可以向本成员设备返回第一应答报文,第一应答报文的应答状态为应答成功。反之,例如,数据报文被丢弃或者没有从第一业务对应的转发表项指定的出接口转发出去,转发表项不可用,第一应答报文的应答状态为应答失败。
本成员设备可能接收到一个或多个其他成员设备发送的第一应答报文,一个或多个第一应答报文中可能有一个或多个的应答状态为应答成功。此时,本成员设备可以选择最先接收到的、应答状态为应答成功的第一应答报文对应的成员设备为代理成员设备。
步骤S103,删除本成员设备上第一业务对应的转发表项。
在确定了代理成员设备后,本成员设备可以删除第一业务对应的转发表项,例如,可以根据第一业务标识查找对应的转发表项,删除转发表项。
步骤S104,向代理成员设备发送第一同步消息,以使代理成员设备向本成员设备发送第一业务对应的转发表项,其中,第一同步消息包括第一业务标识。
在确定了代理成员设备后,本成员设备还可以向代理成员设备发送第一同步消息。代理成员设备在接收到第一同步消息后,可以根据第一业务标识查找第一业务对应的转发表项,并将第一业务对应的转发表项发送给本成员设备,使本成员设备同步第一业务对应的转发表项,从而可以正常转发第一业务的业务流量。
DR系统中的成员设备在监测到本成员设备业务的流量未通过转发表项指定的端口转发的情况下,根据业务的业务标识和流量目的地址生成第一报文并将第一报文发送给DR系统中的其他成员设备,第一报文用于使其他成员设备根据第一报文构造数据报文并对根据本地转发表项对数据报文进行转发,在转发成功的情况下其他成员设备向本成员设备发送应答报文。本成员设备根据接收到的第一应答报文确定代理成员设备,删除本成员设备上流量转发异常的业务对应的转发表项,并向代理成员设备发送第一同步消息,以使代理成员设备向本成员设备发送该业务对应的转发表项,完成本成员设备流量转发异常的业务对应的转发表项的更新,使本成员设备可以正常转发该业务。
根据本公开的DR系统的流量转发方法,不仅可以提高设备链路级别的可靠性,还可以在某一成员设备的转发表项出现问题时,通过DR系统中的其他设备来进行保护,进一步提高DR系统的可靠性。
图5示出根据本公开一实施例的流量转发方法的流程图。该方法还可以包括:
步骤S105,向第一网络设备通告第一路由,第一路由用于将第一业务的业务流量通过第一网络设备和代理成员设备之间的隧道转发。
其中,第一网络设备可以为公网侧设备,第一网络设备不属于DR系统。
在一种可能的实现方式中,第一路由可以是EVPN 2类路由。本成员设备在确定代理成员设备后,可以根据代理成员设备的实际IP地址生成第一路由,并将第一路由通告给第一网络设备,以使第一网络设备在接收到第一路由之后,通过第一网络设备和代理成员设备之间的隧道转发第一业务的流量。
在一种可能的实现方式中,所述第一路由可以用于在第一网络设备和代理成员设备之间建立第一VXLAN隧道,并通过第一VXLAN隧道发送第一业务的业务流量。此种实现方式可以应用于第一网络设备和代理成员设备之间未建立隧道的情况,此时,第一网络设备在建立完第一VXLAN隧道后,还可以将第一网络设备上的,与第一业务对应的向第二网络设备转发流量的转发表项下一跳出接口设置为所述第一VXLAN隧道,其中第二网络设备可以为本成员设备所在的私网侧设备。
在一种可能的实现方式中,所述第一路由可以使第一网络设备将第一业务的业务流量切换到第一网络设备和代理成员设备之间的隧道,通过第一网络设备和代理成员设备之间的隧道转发第一业务的流量。可选的,此种实现方式可以应用于第一网络设备和代理成员设备之间建有隧道的情况。
需要说明的是,以上生成第一路由的方式、实现第一业务的业务流量正常转发的方式仅仅是本公开的示例,不以任何方式限制本公开。
可选的,在本成员设备接收到代理成员设备同步的转发表项之前,本成员设备上的流量仍然无法正常转发,为了使这段时间内第一业务的流量可以正常转发,本成员设备还可以将第一业务对应的出接口和入接口关闭,并向第一网络设备通告第一路由。其中,第一业务对应的出接口可以是指,本成员设备向第二网络设备发送第一业务的业务流量的接口;第一业务对应的入接口可以是指,本成员接收第一网络设备发送的第一业务的业务流量的接口。本成员设备可以通过第一业务标识查找对应的转发表项确定第一业务对应的出接口和入接口。在一种可能的实现方式中,本成员设备可以通过shutdown命令关闭出接口和入接口。
根据上述实施例的流量转发方法,可以在DR系统的成员设备转发表项出现问题的情况下,可以快速的确定代理成员设备,并通过代理成员设备代理转发对应的业务,提高DR系统的可靠性。
如图5所示,该方法还可以包括:
步骤106,在接收完与第一业务对应的转发表项后,向第一网络设备通告第二路由,第二路由用于将第一业务的业务流量通过第一网络设备和DR系统之间的隧道转发。
本成员设备在接收完与第一业务对应的转发表项后,可以向第一网络设备通告第二路由,第一网络设备接收到第二路由后,可以将第一业务的业务流量切换到第一网络设备和DR系统之间的隧道转发,例如,第一网络设备可以将向第二网络设备、通过本成员设备转发的转发表项的下一跳设置为DR系统的虚拟IP地址。
可选的,本成员设备在接收完与第一业务对应的转发表项后,可以对第一业务的业务流量进行正常转发,因此,本成员设备可以开启第一业务对应的出接口和入接口,使接口的状态由down转换为up。
图6示出根据本公开一实施例的流量转发方法的流程图。该方法还可以包括:
步骤S107,接收其他成员设备发送的第二报文,并根据第二报文构造数据报文,其中,第二报文和数据报文包括第二业务的第二业务标识和第二流量目的地址,第二报文用于测试本成员设备的转发表项;
步骤S108,根据第二业务标识和第二流量目的地址查找相应的转发表项,转发数据报文;
步骤S109,在数据报文转发成功的情况下,向发送第二报文的成员设备发送第二应答报文。
DR系统中的所有成员设备都可开启流量监控机制,监控每条经过该成员设备转发的业务的业务流量,在业务的流量未通过转发表项指定的端口转发时,可以向DR系统中该成员设备以外的其他成员设备发送报文,如上述的步骤S101所述。因此,本成员设备可以接收其他成员设备发送的第二报文,第二报文可以是与上述第一报文相同类型的报文,都可以根据相应业务的业务报文生成。其中,第二业务可以是与第一业务相同的流量转发业务,也可以是不同的业务,本公开对此不作限定。
如步骤S102部分所述,第二报文可以是notify报文,本成员设备根据第二报文保留字段的特定值,可以确定发送第二报文的设备出现流量转发异常,需要同步转发表项。本成员设备可以根据第二报文构造相应的数据报文,并查找转发表项转发该数据报文,具体过程如上文所述,不再赘述。
以第二业务和第一业务为不同的业务为例,假设本成员设备的第一业务的业务流量转发异常、第二业务的业务流量转发正常,本成员设备根据第二报文构造的数据报文可以通过第二业务对应的转发表项转发成功,也就是说,可以向发送第二报文的设备同步第二业务对应的转发表项,本成员设备可以向发送第二报文的成员设备发送第二应答报文,第二应答报文的应答状态为应答成功。
在第二业务和第一业务为相同业务的情况下,假设本成员设备的第一业务的业务流量转发异常,那么本成员设备根据第二报文构造的数据报文将无法成功转发,此时,本成员设备向发送第二报文的成员设备发送的第二应答报文的应答状态可以为应答失败。
如图6所示,该方法还可以包括:
步骤S110,接收其他成员设备发送的第二同步消息,第二同步消息包括第二业务标识;
步骤S111,根据第二业务标识查找对应的转发表项,并将转发表项发送给发送第二同步消息的成员设备。
如上所述,发送第二报文的成员设备在接收到第二应答报文,且确定本成员设备为代理成员设备之后,可以向本成员设备发送第二同步消息,本成员设备在接收到第二同步消息后,可以根据第二业务标识查找第二业务对应的转发表项,并将第二业务对应的转发表项发送给发送第二报文的成员设备,使发送第二报文的成员设备同步第二业务对应的转发表项,从而可以正常转发第二业务的业务流量。
下面结合可能的应用场景对本公开的流量转发方法进行解释说明。
示例1
如图3a所示,所述DR系统包括两个成员设备VTEP B和VTEP C,VTEP B和VTEP C通过DR口连接用户边缘CE设备CE A(第二网络设备),CE A通过两个物理端口与聚合DR口连接。VTEP B和VTEP C上的实际IP地址分别为1.1.1.1和2.2.2.2,VTEP B和VTEP C可以分别记录各自对端成员设备的实际IP地址,即VTEP B记录地址为2.2.2.2,VTEP C记录地址为1.1.1.1。VTEP B和VTEP C对外通告虚拟IP地址3.3.3.3,所述DR系统通过虚拟IP地址在DR系统与VTEP D之间建立的VXLAN隧道tunnel0,与第一网络设备(VTEP D)通信。下面以VTEPB为本成员设备为例,对本公开的流量转发方法进行说明。
VTEP B在监测到第一业务的流量未通过转发表项指定的端口转发时,生成第一报文并将第一报文发送给DR系统中的其他成员设备VTEP C,第一报文包括第一业务的第一业务标识和第一流量目的地址。
VTEP C接收VTEP B发送的第一报文,并根据第一报文构造数据报文,其中,第一报文和数据报文包括第一业务的第一业务标识和第一流量目的地址。VTEP C根据第一业务标识和第一流量目的地址查找相应的转发表项,转发数据报文。在数据报文转发成功的情况下,VTEP C向VTEP B发送第一应答报文。
VTEP B接收VTEP C返回的第一应答报文,由于此示例中DR系统只有两个成员设备,VTEP B可以将VTEP C作为代理成员设备。
VTEP B可以删除VTEP B上第一业务对应的转发表项,并向VTEP C发送第一同步消息,以使VTEP C向VTEP B发送第一业务对应的转发表项,其中,第一同步消息包括第一业务标识。
VTEP C接收VTEP B发送的第一同步消息,根据第一业务标识查找对应的转发表项,并将转发表项发送给VTEP B。
另外,VTEP B在将VTEP C作为代理成员设备后,还可以将VTEP B上第一业务对应的出接口和入接口关闭,并向VTEP D通告第一路由,VTEP D接收到第一路由后,将第一业务的业务流量通过VTEP D和VTEP C之间的隧道转发。其中,VTEP B通告的第一路由的IP地址可以为VTEP C的实际IP地址2.2.2.2。
如上所述,VTEP B在接收完(VTEP C发送的)与第一业务对应的转发表项后,此时,VTEP B可以正常转发第一业务的业务流量,因此,可以开启第一业务对应的出接口和入接口,并向VTEP D通告第二路由。VTEP D接收到第二路由后,可以将第一业务的业务流量通过VTEP D和DR系统之间的隧道转发。其中,VTEP B通告的第二路由的IP地址可以为DR系统的虚拟IP地址3.3.3.3。
示例2
如图3b所示,在所述DR系统包括四个成员设备VTEP B、VTEP C、VTEP E和VTEP F,VTEP B、VTEP C、VTEP E和VTEP F通过DR口连接用户边缘CE设备CE A(流量接收设备),CE A通过四个物理端口与聚合DR口连接。DR系统中各成员设备均记录各成员设备的实际IP地址,例如,VTEP B记录VTEP B、VTEP C、VTEP E和VTEP F对应的实际IP地址。
VTEP B上的实际IP地址为1.1.1.1、VTEP C上的实际IP地址为2.2.2.2、VTEP E上的实际IP地址为1.1.1.2、VTEP F上的实际IP地址为2.1.1.1,VTEP B、VTEP C、VTEP E、VTEPF四个设备均对外通告的虚拟IP地址3.3.3.3,所述DR系统通过虚拟IP地址在DR系统与VTEPD之间建立的VXLAN隧道tunnel0,与流量发送设备(VTEP D)通信。
VTEP B在监测到第一业务的流量未通过转发表项指定的端口转发时,生成第一报文并将第一报文发送给DR系统中的其他成员设备VTEP C、VTEP E和VTEP F,第一报文包括第一业务的第一业务标识和第一流量目的地址。
VTEP C、VTEP E和VTEP F接收VTEP B发送的第一报文,并根据第一报文构造数据报文,其中,第一报文和数据报文包括第一业务的第一业务标识和第一流量目的地址。VTEPC、VTEP E和VTEP F根据第一业务标识和第一流量目的地址查找相应的转发表项,转发数据报文。在数据报文转发成功的情况下,VTEP C、VTEP E和VTEP F向VTEP B发送第一应答报文,第一应答报文的应答状态为应答成功;在数据报文转发不成功的情况下,VTEP C、VTEPE和VTEP F向VTEP B发送第一应答报文,第一应答报文的应答状态为应答失败。
VTEP B接收VTEP C、VTEP E和VTEP F返回的第一应答报文,VTEP B可以根据第一应答报文从VTEP C、VTEP E和VTEP F中选择一个成员设备作为代理成员设备,举例来说,VTEP C返回的第一应答报文的应答状态为应答成功,VTEP E返回的第一应答报文的应答状态为应答成功,VTEP F返回的第一应答报文的应答状态为应答失败,VTEP B先接收到VTEPC的第一应答报文,VTEP B可以将VTEP C作为代理成员设备。
VTEP B可以删除VTEP B上第一业务对应的转发表项,并向VTEP C发送第一同步消息,以使VTEP C向VTEP B发送第一业务对应的转发表项,其中,第一同步消息包括第一业务标识。
VTEP C接收VTEP B发送的第一同步消息,根据第一业务标识查找对应的转发表项,并将转发表项发送给VTEP B。
另外,VTEP B在将VTEP C作为代理成员设备后,还可以将VTEP B上第一业务对应的出接口和入接口关闭,并向VTEP D通告第一路由,VTEP D接收到第一路由后,将第一业务的业务流量通过VTEP D和VTEP C之间的隧道转发。其中,VTEP B通告的第一路由的IP地址可以为VTEP C的实际IP地址2.2.2.2。
如上所述,VTEP B在接收完(VTEP C发送的)与第一业务对应的转发表项后,此时,VTEP B可以正常转发第一业务的业务流量,因此,可以开启第一业务对应的出接口和入接口,并向VTEP D通告第二路由。VTEP D接收到第二路由后,可以将第一业务的业务流量通过VTEP D和DR系统之间的隧道转发。其中,VTEP B通告的第二路由的IP地址可以为DR系统的虚拟IP地址3.3.3.3。
可选的,VTEP B还可以接收VTEP C、VTEP E或VTEP F发送的第二报文,并根据第二报文构造数据报文,其中,第二报文和数据报文包括第二业务的第二业务标识和第二流量目的地址。
举例来说,假设第二业务与第一业务为不同的业务,发送第二报文的成员设备为VTEP E。VTEP E在监测到第二业务的流量未通过转发表项指定的端口转发时,生成第二报文并将第二报文发送给DR系统中的VTEP B、VTEP E或VTEP F。
VTEP B根据第二业务标识和第二流量目的地址查找相应的转发表项,转发数据报文;在数据报文转发成功的情况下,VTEP B向VTEP E发送第二应答报文,应答状态为应答成功。若第二业务与第一业务为相同的业务,此时VTEP B上第一业务的业务流量转发异常,根据第二报文构造的数据报文转发失败,向VTEP B向VTEP E发送第二应答报文,应答状态为应答失败。
假设VTEP E先接收VTEP B返回的第二应答报文,应答状态为应答成功的情况下,VTEP E可以将VTEP B作为代理成员设备;VTEP E删除VTEP E上第二业务对应的转发表项;向VTEP B发送第二同步消息,VTEP B可以接收VTEP E发送的第二同步消息,第二同步消息包括第二业务标识;VTEP B根据第二业务标识查找对应的转发表项,并将转发表项发送给VTEP E。
图7示出根据本公开一实施例的流量转发装置的框图。该装置可以应用于分布式聚合DR系统中的成员设备,所述DR系统可以包括多个成员设备,所述DR系统可以通过DR口与第二网络设备连接,并通过虚拟IP地址与第一网络设备通信。所述装置包括:
第一发送模块701,用于本成员设备在监测到第一业务的流量未通过转发表项指定的端口转发时,生成第一报文并将第一报文发送给DR系统中的其他成员设备,其中,第一报文用于测试其他成员设备的转发表项,第一报文包括第一业务的第一业务标识和第一流量目的地址;
第一接收模块702,用于接收其他成员设备返回的第一应答报文,根据第一应答报文从其他成员设备中选择一个成员设备作为代理成员设备;
删除模块703,用于删除本成员设备上第一业务对应的转发表项;
同步模块704,用于向代理成员设备发送第一同步消息,以使代理成员设备向本成员设备发送第一业务对应的转发表项,其中,第一同步消息包括第一业务标识。
根据本公开的DR系统的流量转发装置,不仅可以提高设备链路级别的可靠性,还可以在某一成员设备的转发表项出现问题时,通过DR系统中的其他设备来进行保护,进一步提高DR系统的可靠性。
图8示出根据本公开一实施例的流量转发装置的框图。所述装置还包括:
第一路由通告模块705,用于向第一网络设备通告第一路由,第一路由用于将第一业务的业务流量通过第一网络设备和代理成员设备之间的隧道转发,其中,所述第一网络设备为公网侧设备。
在一种可能的实现方式中,所述装置还包括:
第二路由通告模块706,用于在接收完与第一业务对应的转发表项后,向第一网络设备通告第二路由,第二路由用于将第一业务的业务流量通过第一网络设备和DR系统之间的隧道转发。
在一种可能的实现方式中,所述装置还包括:
数据报文构造模块707,用于接收其他成员设备发送的第二报文,并根据第二报文构造数据报文,其中,第二报文和数据报文包括第二业务的第二业务标识和第二流量目的地址,第二报文用于测试本成员设备的转发表项;
转发模块708,用于根据第二业务标识和第二流量目的地址查找相应的转发表项,转发数据报文;
应答模块709,用于在数据报文转发成功的情况下,向发送第二报文的成员设备发送第二应答报文。
在一种可能的实现方式中,所述装置还包括:
第二接收模块710,用于接收其他成员设备发送的第二同步消息,第二同步消息包括第二业务标识;
第二发送模块711,用于根据第二业务标识查找对应的转发表项,并将转发表项发送给发送第二同步消息的成员设备。
图9是根据一示例性实施例示出的一种用于流量转发装置900的框图。参照图9,该装置900可包括处理器901、存储有机器可执行指令的机器可读存储介质902。处理器901与机器可读存储介质902可经由系统总线903通信。并且,处理器901通过读取机器可读存储介质902中与流量转发逻辑对应的机器可执行指令以执行上文所述的流量转发方法。
本文中提到的机器可读存储介质902可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (10)

1.一种流量转发方法,其特征在于,所述方法应用于分布式聚合DR系统中的成员设备,所述DR系统包括多个成员设备,所述方法包括:
本成员设备在监测到第一业务的流量未通过转发表项指定的端口转发时,生成第一报文并将第一报文发送给DR系统中的其他成员设备,其中,第一报文用于测试其他成员设备的转发表项,第一报文包括第一业务的第一业务标识和第一流量目的地址;
接收其他成员设备返回的第一应答报文,根据第一应答报文从其他成员设备中选择一个成员设备作为代理成员设备;
删除本成员设备上第一业务对应的转发表项;
向代理成员设备发送第一同步消息,以使代理成员设备向本成员设备发送第一业务对应的转发表项,其中,第一同步消息包括第一业务标识。
2.根据权利要求1所述的流量转发方法,其特征在于,所述方法还包括:
向第一网络设备通告第一路由,第一路由用于将第一业务的业务流量通过第一网络设备和代理成员设备之间的隧道转发,其中,所述第一网络设备为公网侧设备。
3.根据权利要求2所述的流量转发方法,其特征在于,所述方法还包括:
在接收完与第一业务对应的转发表项后,向第一网络设备通告第二路由,第二路由用于将第一业务的业务流量通过第一网络设备和DR系统之间的隧道转发。
4.根据权利要求1所述的流量转发方法,其特征在于,所述方法还包括:
接收其他成员设备发送的第二报文,并根据第二报文构造数据报文,其中,第二报文和数据报文包括第二业务的第二业务标识和第二流量目的地址,第二报文用于测试本成员设备的转发表项;
根据第二业务标识和第二流量目的地址查找相应的转发表项,转发数据报文;
在数据报文转发成功的情况下,向发送第二报文的成员设备发送第二应答报文。
5.根据权利要求4所述的流量转发方法,其特征在于,所述方法还包括:
接收其他成员设备发送的第二同步消息,第二同步消息包括第二业务标识;
根据第二业务标识查找对应的转发表项,并将转发表项发送给发送第二同步消息的成员设备。
6.一种流量转发装置,其特征在于,所述装置应用于分布式聚合DR系统中的成员设备,所述DR系统包括多个成员设备,所述装置包括:
第一发送模块,用于本成员设备在监测到第一业务的流量未通过转发表项指定的端口转发时,生成第一报文并将第一报文发送给DR系统中的其他成员设备,其中,第一报文用于测试其他成员设备的转发表项,第一报文包括第一业务的第一业务标识和第一流量目的地址;
第一接收模块,用于接收其他成员设备返回的第一应答报文,根据第一应答报文从其他成员设备中选择一个成员设备作为代理成员设备;
删除模块,用于删除本成员设备上第一业务对应的转发表项;
同步模块,用于向代理成员设备发送第一同步消息,以使代理成员设备向本成员设备发送第一业务对应的转发表项,其中,第一同步消息包括第一业务标识。
7.根据权利要求6所述的流量转发装置,其特征在于,所述装置还包括:
第一路由通告模块,用于向第一网络设备通告第一路由,第一路由用于将第一业务的业务流量通过第一网络设备和代理成员设备之间的隧道转发,其中,所述第一网络设备为公网侧设备。
8.根据权利要求7所述的流量转发装置,其特征在于,所述装置还包括:
第二路由通告模块,用于在接收完与第一业务对应的转发表项后,向第一网络设备通告第二路由,第二路由用于将第一业务的业务流量通过第一网络设备和DR系统之间的隧道转发。
9.根据权利要求6所述的流量转发装置,其特征在于,所述装置还包括:
数据报文构造模块,用于接收其他成员设备发送的第二报文,并根据第二报文构造数据报文,其中,第二报文和数据报文包括第二业务的第二业务标识和第二流量目的地址,第二报文用于测试本成员设备的转发表项;
转发模块,用于根据第二业务标识和第二流量目的地址查找相应的转发表项,转发数据报文;
应答模块,用于在数据报文转发成功的情况下,向发送第二报文的成员设备发送第二应答报文。
10.根据权利要求9所述的流量转发装置,其特征在于,所述装置还包括:
第二接收模块,用于接收其他成员设备发送的第二同步消息,第二同步消息包括第二业务标识;
第二发送模块,用于根据第二业务标识查找对应的转发表项,并将转发表项发送给发送第二同步消息的成员设备。
CN201711003583.3A 2017-10-24 2017-10-24 流量转发方法及装置 Active CN107682261B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711003583.3A CN107682261B (zh) 2017-10-24 2017-10-24 流量转发方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711003583.3A CN107682261B (zh) 2017-10-24 2017-10-24 流量转发方法及装置

Publications (2)

Publication Number Publication Date
CN107682261A CN107682261A (zh) 2018-02-09
CN107682261B true CN107682261B (zh) 2020-04-03

Family

ID=61142157

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711003583.3A Active CN107682261B (zh) 2017-10-24 2017-10-24 流量转发方法及装置

Country Status (1)

Country Link
CN (1) CN107682261B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108737189B (zh) * 2018-05-25 2021-11-05 新华三技术有限公司 Dr设备角色更新方法及装置
CN111865780A (zh) * 2020-07-13 2020-10-30 中国联合网络通信集团有限公司 一种同步方法及装置
CN111953591A (zh) * 2020-07-17 2020-11-17 新华三技术有限公司 故障处理方法及装置
CN114143257B (zh) * 2020-09-03 2023-04-28 华为技术有限公司 一种生成表项的方法、发送报文的方法、设备及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9338084B2 (en) * 2013-04-10 2016-05-10 Cisco Technology, Inc. Distributed fast remote cutover of traffic upon local failure in an overlay transport visualization network
CN105591936B (zh) * 2015-09-11 2019-01-11 新华三技术有限公司 一种更新转发表项的方法和装置
CN105591903B (zh) * 2015-09-16 2019-01-08 新华三技术有限公司 报文转发方法和装置
CN113162857B (zh) * 2016-01-18 2023-01-13 华为技术有限公司 按需获取路由的方法及网关
CN107181686B (zh) * 2016-03-09 2020-06-23 阿里巴巴集团控股有限公司 路由表的同步方法、装置及系统
CN106878183A (zh) * 2017-01-22 2017-06-20 新华三技术有限公司 流量转发方法及装置

Also Published As

Publication number Publication date
CN107682261A (zh) 2018-02-09

Similar Documents

Publication Publication Date Title
CN107547370B (zh) 流量转发方法、装置及系统
US10567279B2 (en) Egress node protection for broadcast, unknown unicast, or multicast traffic in EVPN topologies
US9019814B1 (en) Fast failover in multi-homed ethernet virtual private networks
CN107612808B (zh) 隧道建立方法和装置
CN112087386B (zh) 一种报文处理的方法、设备和系统
CN110798403B (zh) 通信方法、通信设备和通信系统
EP3297224B1 (en) Preventing data traffic loops associated with designated forwarder selection
US20150288536A1 (en) Avoiding Micro-loops in a Ring Topology of a Network
CN107682261B (zh) 流量转发方法及装置
US11477114B2 (en) Packet forwarding method and apparatus
EP1856862A2 (en) System and methods for network reachability detection
CN108718269B (zh) 报文处理方法及装置
CN112868214B (zh) 分组内的协调负载转移oam记录
CN107872389B (zh) 用于业务负载平衡的方法、设备及计算机可读存储介质
KR102245989B1 (ko) 가상사설망의 이중화 관리 방법 및 그 방법이 구현된 네트워크 스위칭장치
EP4020904B1 (en) Packet transmission method, device, and system
US20240214243A1 (en) Designated forwarder df election method and device
CN113615132A (zh) 快速泛洪拓扑保护
CN113037883B (zh) 一种mac地址表项的更新方法及装置
US20230164070A1 (en) Packet sending method, device, and system
US11784919B2 (en) Method for sending BIERv6 packet and first network device
CN113872843B (zh) 一种路由生成方法、路由处理方法及装置
CN108600075B (zh) 一种故障处理方法及装置
CN108259336B (zh) 数据中心互联方法和装置
KR20230093015A (ko) 정보 처리 방법, 노드 및 컴퓨터 판독 가능한 저장 매체

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230602

Address after: 310052 11th Floor, 466 Changhe Road, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: H3C INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 310052 Changhe Road, Binjiang District, Hangzhou, Zhejiang Province, No. 466

Patentee before: NEW H3C TECHNOLOGIES Co.,Ltd.