CN106789635B - 一种报文转发方法及装置 - Google Patents
一种报文转发方法及装置 Download PDFInfo
- Publication number
- CN106789635B CN106789635B CN201610176722.1A CN201610176722A CN106789635B CN 106789635 B CN106789635 B CN 106789635B CN 201610176722 A CN201610176722 A CN 201610176722A CN 106789635 B CN106789635 B CN 106789635B
- Authority
- CN
- China
- Prior art keywords
- edge device
- link
- neighbor
- virtual machine
- logical tunnel
- 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
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000001514 detection method Methods 0.000 claims description 6
- 230000009849 deactivation Effects 0.000 claims description 3
- 238000011084 recovery Methods 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 235000008694 Humulus lupulus Nutrition 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
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/22—Alternate routing
-
- 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
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0668—Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种报文转发方法及装置。所述方法的具体实施方式包括:当所述第一边缘设备检测到所述第一链路发生故障时,选择一个第一邻居边缘设备作为第二边缘设备,所述第一邻居边缘设备与第一边缘设备具有边界网关协议BGP邻居关系、与所述目标虚拟机相连;获得所述第一边缘设备与所述第二边缘设备之间的第一逻辑隧道;当所述第一边缘设备接收到发送至所述目标虚拟机的目标报文时,将所述目标报文通过所述第一逻辑隧道转发至所述第二边缘设备,以使所述第二边缘设备将所述目标报文转发至所述目标虚拟机。本实施例能够在EVPN网络中的链路发生故障时防止数据丢失,避免因链路发生故障以及故障恢复而导致的网络拓扑的收敛。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种报文转发方法及装置。
背景技术
多归属链路是指以太虚拟专用网(Ethernet Virtual Private Network,EVPN)中一个虚拟机与两个或两个以上的边缘设备建立连接的一种链路连接方式。
以太虚拟专用网EVPN是建立于虚拟可扩展局域网(Virtual eXtensible LocalArea Network,VXLAN)上的一种网络。虚拟可扩展局域网VXLAN,是一种overlay的网络技术,即在传统网络上构造出一个虚拟网络,而传统网络不需要再做任何适配。它使用MAC inUDP的方法对数据进行封装,即将原始报文封装在UDP报文中。VXLAN网络的基础架构包括其核心网络的边缘设备(VXLAN Tunnel End Point,VTEP)和用户端设备即虚拟机(VirtualMachine,VM)等。VXLAN网络的多个边缘设备通过BGP协议建立邻居关系,这些邻居边缘设备之间建立有传输报文的逻辑隧道,边缘设备与虚拟机之间建立有传输报文的链路。其中,一个虚拟机一般只与一个边缘设备建立链路,这种链路属于单归属链路,其无法实现负载分担,当虚拟机与边缘设备之间的链路发生故障时,将无法将报文发送至该虚拟机。而在EVPN网络中可以解决这种无法实现负载分担的问题。
EVPN与VXLAN网络的最大区别是:EVPN网络可以实现负载分担,动态地建立边缘设备与虚拟机之间的链路,使一个虚拟机与两个或两个以上的边缘设备建立起链路,这种链路连接方式称为多归属链路。
如图1所示,其中,虚拟机VM3与边缘设备VTEP2和VTEP3都建立了链路,虚拟机VM3的这种连接方式属于多归属链路;虚拟机VM1和VM2均与边缘设备VTEP1建立了链路,虚拟机VM1和VM2的这种连接方式属于单归属链路。
当存在从虚拟机VM1发送至同一个逻辑二层网络中的VM3的数据业务时,VM1将业务发送至EVPN网络中的边缘设备VTEP1,VTEP1设备将业务数据进行VXLAN头、UDP头、IP头、MAC头等封装后使之成为VXLAN报文,然后再将该报文通过逻辑隧道发送至远端VTEP3设备,VTEP3设备将接收到的报文进行解封装,获得报文中的IP地址等信息,再将报文进行封装,并发送至该IP地址对应的目标虚拟机VM3。至此,报文发送过程结束。其中,封装后的报文中包含有源虚拟机和目的虚拟机的IP地址(网际协议地址)和MAC地址(物理地址)等信息。
现有技术中,对于EVPN网络中的多归属链路的组网模式,一个虚拟机VM同时与多个VTEP设备建立了多个链路。当其中某个链路发生故障时,该链路对应的VTEP设备需要向其邻居边缘设备发送故障消息,以避免数据丢失。当故障链路恢复后,该链路对应的VTEP设备也需要向其邻居边缘设备发送故障修复消息,以恢复数据传输。
但是,当故障已发生、故障消息发送到其他VTEP设备前的这段时间内,通过该链路发送的数据将会丢失。并且,发生故障时和故障修复时,VTEP设备都要向其邻居边缘设备发出通告,这会导致网络拓扑的收敛。对于大量的VTEP设备来说,当存在多个故障时,这种通告操作将消耗网络系统大量的资源。
发明内容
本发明实施例的目的在于提供了一种报文转发方法及装置,能够在EVPN网络中的链路发生故障时防止数据丢失,避免因链路发生故障以及故障恢复而导致的网络拓扑的收敛。
为了达到上述目的,本发明公开了一种报文转发方法,应用于以太虚拟专用网EVPN网络中的第一边缘设备,所述第一边缘设备与目标虚拟机之间形成第一链路,目标虚拟机与两个或两个以上的边缘设备相连,所述方法包括:
当所述第一边缘设备检测到所述第一链路发生故障时,选择一个第一邻居边缘设备作为第二边缘设备,所述第一邻居边缘设备与第一边缘设备具有边界网关协议BGP邻居关系、与所述目标虚拟机相连;
获得所述第一边缘设备与所述第二边缘设备之间的第一逻辑隧道;
当所述第一边缘设备接收到发送至所述目标虚拟机的目标报文时,将所述目标报文通过所述第一逻辑隧道转发至所述第二边缘设备,以使所述第二边缘设备将所述目标报文转发至所述目标虚拟机。
为了达到上述目的,本发明还公开了一种报文转发装置,应用于以太虚拟专用网EVPN网络中的第一边缘设备,所述第一边缘设备与目标虚拟机之间形成第一链路,目标虚拟机与两个或两个以上的边缘设备相连,所述装置包括:
检测模块,用于检测所述第一链路是否发生故障;
选择模块,用于当所述第一链路发生故障时,选择一个第一邻居边缘设备作为第二边缘设备,所述第一邻居边缘设备与第一边缘设备具有边界网关协议BGP邻居关系、与所述目标虚拟机相连;
获得模块,用于获得所述第一边缘设备与所述第二边缘设备之间的第一逻辑隧道;
接收模块,用于接收发送至所述目标虚拟机的目标报文;
转发模块,用于将所述目标报文通过所述第一逻辑隧道转发至所述第二边缘设备,以使所述第二边缘设备将所述目标报文转发至所述目标虚拟机。
由上述技术方案可见,本发明实施例中,当第一边缘设备检测到第一链路发生故障时,第一边缘设备选择一个第一邻居边缘设备作为第二边缘设备,获得其与第二边缘设备的第一逻辑隧道;当第一边缘设备接收到目标报文时,将目标报文通过所述第一逻辑隧道发送至第二边缘设备,以使第二边缘设备将其转发至目标虚拟机。其中,第一邻居边缘设备与第一边缘设备具有边界网关协议BGP邻居关系,并且与所述目标虚拟机相连。
也就是说,第一边缘设备在第一链路发生故障时会选择一个与目标虚拟机相连的邻居边缘设备,并利用第一边缘设备与该邻居边缘设备之间的逻辑隧道转发目标报文,最终使目标报文转发至目标虚拟机,因此,本发明实施例能够在链路发生故障时防止数据丢失,避免因链路故障以及故障恢复而导致的网络拓扑的收敛。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为多归属链路的链路连接示意图;
图2为本发明实施例提供的报文转发方法的一种流程示意图;
图3为本发明实施例提供的图2中步骤S101的具体流程示意图;
图4为一个例子中邻居边缘设备之间的连接关系示意图;
图5为本发明实施例提供的报文转发装置的一种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种报文转发方法及装置,应用于EVPN网络中的第一边缘设备,能够在链路发生故障时防止数据丢失,避免因链路故障以及故障恢复而导致的网络拓扑的收敛。
需要说明的是,在本发明实施例中,EVPN网络包括多个边缘设备,边缘设备之间有已建立的连接,边缘设备与用户端的虚拟机之间也有已建立的连接,虚拟机之间的报文通过EVPN网络中的多个边缘设备进行传输。在本实施例中,将边缘设备之间建立的连接称为逻辑隧道,将边缘设备与虚拟机之间建立的连接称为链路。
下面通过具体实施例,对本发明进行详细说明。
图2为本发明实施例提供的报文转发方法的一种流程示意图,应用于EVPN网络中的第一边缘设备,所述第一边缘设备与用户端的目标虚拟机之间形成第一链路,目标虚拟机与两个或两个以上的边缘设备相连,其包括如下步骤:
步骤S101:当所述第一边缘设备检测到所述第一链路发生故障时,选择一个第一邻居边缘设备作为第二边缘设备,所述第一邻居边缘设备与第一边缘设备具有边界网关协议BGP邻居关系、与所述目标虚拟机相连。
本实施例的过程具体是由EVPN网络中的第一边缘设备来执行的。
第一边缘设备与目标虚拟机之间是直接连接的,当第一边缘设备与目标虚拟机之间的第一链路发生故障时,第一边缘设备可以检测到链路故障。边缘设备检测链路故障的过程属于现有技术,其具体过程不再进行赘述。
在本发明实施例中,当第一链路发生故障时,通过第一边缘设备发送至目标虚拟机的目标报文不能成功转发。为了解决这个问题,可以在与第一边缘设备具有BGP邻居关系的邻居边缘设备中选择一个与目标虚拟机相连的第一邻居边缘设备,使其能够帮助转发从第一边缘设备发送至目标虚拟机的报文。
当第一链路发生故障时,第一边缘设备在第一邻居边缘设备中选择一个作为第二边缘设备,该过程可以有多种实施方式。例如,可以根据第一边缘设备中存储的与第一链路相关的信息采用不同的方式选择第一邻居边缘设备。
需要说明的是,第二边缘设备与第一边缘设备之间有已建立的BGP邻居关系,它们之间可以互通各自的地址信息等。
步骤S102:获得所述第一边缘设备与所述第二边缘设备之间的第一逻辑隧道。
第一边缘设备与其邻居边缘设备之间可能有已建立的逻辑隧道,也可能没有已建立的逻辑隧道。因此,在本实施例中,为了更准确地获得第一逻辑隧道,步骤S102具体可以包括:判断所述第一边缘设备与所述第二边缘设备之间是否已建立逻辑隧道,如果是,则将已建立的逻辑隧道确定为第一逻辑隧道;否则,在所述第一边缘设备与所述第二边缘设备之间建立逻辑隧道,并将建立的逻辑隧道确定为第一逻辑隧道。
具体地,可以根据第二边缘设备的地址信息,判断第一边缘设备与第二边缘设备之间是否有已建立的逻辑隧道,当然可以通过其他方式来判断,本发明对判断的具体方式不做限定。当判断出第一边缘设备与第二边缘设备之间没有已建立的逻辑隧道时,在第一边缘设备与第二边缘设备之间建立逻辑隧道,这属于现有技术,其具体过程不再赘述。
步骤S103:当所述第一边缘设备接收到发送至所述目标虚拟机的目标报文时,将所述目标报文通过所述第一逻辑隧道转发至所述第二边缘设备,以使所述第二边缘设备将所述目标报文转发至所述目标虚拟机。
在本实施例中,为了更准确地将目标报文发送至目标虚拟机,步骤S103具体可以包括:将接收到的报文进行解封装,获得发送至所述目标虚拟机的目标报文;根据获得的目标报文以及所述第二边缘设备的地址信息,将解封装后的目标报文重新封装;将重新封装后的目标报文转发至所述第二边缘设备。其中,目标报文中包含有目标虚拟机的地址信息。
在一个例子中,当第一边缘设备获得报文时,当检测到报文中的目的地地址信息为目标虚拟机的地址信息时,即可确定该报文为目标报文。假设,目标虚拟机的IP地址为100.0.0.1,第二边缘设备的IP地址为2.2.2.2。当将第一边缘设备中原来的转发表项“目的地100.0.0.1→本地0.0.0.0”更改为“目的地100.0.0.1→第二边缘设备2.2.2.2”时,便可将重新封装后的目标报文通过第一逻辑隧道转发至第二边缘设备,第二边缘设备接收到目标报文后,即可根据目标报文中的目的地地址将目标报文发送至目标虚拟机。
具体地,第一边缘设备接收到的报文是由EVPN网络中的其他边缘设备发送来的。
由上述内容可知,本发明实施例中,第一边缘设备在第一链路发生故障时会选择一个与目标虚拟机相连的邻居边缘设备,并利用第一边缘设备与该邻居边缘设备之间的逻辑隧道转发目标报文,最终使目标报文转发至目标虚拟机,因此,本发明实施例能够在链路发生故障时防止数据丢失,避免因链路故障以及故障恢复而导致的网络拓扑的收敛。
在本发明的另一个实施例中,为了更准确、更高效地选择一个第一邻居边缘设备作为第二边缘设备,在图2所示实施例的步骤S101中,选择一个第一邻居边缘设备作为第二边缘设备可以按照图3所示流程示意图进行,其具体可以包括:
步骤S101A:根据所述第一链路对应的虚拟机标识以及所述第一边缘设备存储的链路的链路信息,获得虚拟机标识与所述第一链路相同的第二链路,并将第二链路对应的邻居边缘设备确定为第一邻居边缘设备。
其中,所述第一边缘设备中存储有:与所述第一边缘设备相连的链路的链路信息,以及与所述第一邻居边缘设备相连的链路的链路信息;每条链路的链路信息包括:该链路所连接的边缘设备的地址信息和该链路对应的虚拟机标识。
具体的,虚拟机标识可以包括与所述虚拟机相连的链路的以太网段标识(Ethernet Segment Identifier,ESI)、虚拟机的地址信息等唯一标识该虚拟机的信息中的一种或多种。地址信息还可以包括互联网协议地址(Internet Protocol Address,IP地址)和媒体访问控制地址(Media Access Control,MAC地址)等。
更具体的,可以从第一边缘设备存储的链路信息中查找与该第一链路对应的虚拟机标识相同的第二链路,得到一条或以上第二链路,再根据第一边缘设备中存储的第二链路的链路信息,将与第二链路相连接的边缘设备确定为第一邻居边缘设备。
步骤S101B:根据第二链路的链路信息,从所述第一邻居边缘设备中选择一个边缘设备作为第二边缘设备。
采用步骤S101A确定的第一邻居边缘设备可能不止一个,因此具体还可以采用不同的方式从第一邻居边缘设备中选择一个边缘设备作为第二边缘设备。
在一个例子中,假设,第一边缘设备用VTEP3表示,其邻居边缘设备有两个,分别用VTEP2和VTEP4表示,目标虚拟机用VM3表示,各个邻居边缘设备之间的连接关系如图4所示。VTEP3上存储的链路信息包括表1中的内容:
表1
当VTEP3检测到链路3发生故障时,VTEP3可以从自身存储的链路信息中选择一个虚拟机标识,例如ESI值这一项,其中链路3对应的ESI值为3,从表1的链路信息中查找ESI值为3的所有链路,得到链路2和链路4,并将与这两个链路相连的邻居边缘设备VTEP2和VTEP4确定为第一邻居边缘设备。在这个例子中,第一邻居边缘设备有2个,从中选择一个作为第二边缘设备。
在本发明的另一实施例中,当获得的第二链路有多条时,图3实施例中的步骤S101B具体可以包括:获得每个所述第二链路对应的第一邻居边缘设备的地址信息;将地址信息满足第一预设规则的第一邻居边缘设备,确定为所述第二边缘设备。
其中,所述地址信息包括IP地址和MAC地址等。所述第一预设规则可以为取所述IP地址或MAC地址中的最大值或最小值,即将最大或最小的IP地址对应的第一邻居边缘设备确定为第二边缘设备,或者将最大或最小的MAC地址对应的第一邻居边缘设备确定为第二边缘设备。当然,预设规则还可以有其他的形式,本发明实施例对此不做限定。
在本发明的另一实施例中,当获得的第二链路有多条时,为了选择较优的第二边缘设备,图3所示实施例中,步骤S101B具体可以包括:
步骤1:检测每个第二链路对应的第一邻居边缘设备与所述第一边缘设备之间是否已建立逻辑隧道。
步骤2:从第二邻居边缘设备中选择一个边缘设备作为第二边缘设备,所述第二邻居边缘设备为与所述第一边缘设备已建立逻辑隧道的第一邻居边缘设备。
当获得的第二链路有多条时,作为优选的方案,可以将第二链路对应的第一邻居边缘设备中与第一边缘设备之间已建立逻辑隧道的边缘设备确定为第二邻居边缘设备,从第二邻居设备中选择一个边缘设备作为第二边缘设备。
由以上内容可见,优先从与第一边缘设备之间存在已建立的逻辑隧道的第二邻居边缘设备中选择一个作为第二边缘设备,无需在第一边缘设备与第二边缘设备之间建立逻辑隧道,能够使报文转发过程更高效,也能够节省网络设备资源。
在本发明的另一实施例中,在图3所示实施例中,当确定的第二邻居边缘设备有多个时,为了进一步确定较优的第二边缘设备,上述步骤2还可以包括:
获取所述第一边缘设备与每个第二邻居边缘设备之间的跳数;将跳数满足第二预设规则的第二邻居边缘设备确定为所述第二边缘设备。
其中,所述第一边缘设备中存储有:所述第一边缘设备与第二邻居边缘设备之间的跳数。
具体的,将跳数满足第二预设规则的第二邻居边缘设备确定为所述第二边缘设备可以包括:将最小跳数对应的第二邻居边缘设备确定为所述第二边缘设备。这样,所确定的第二边缘设备与第一边缘设备之间的跳数最小,当第一边缘设备通过第二边缘设备将目标报文进行转发时,经过的跳数也较少,从而可以提高报文传输时的效率,节省系统资源。当然,第二预设规则还可以包括其他方式,本发明实施例对此不做限定。
在本发明的另一实施例中,当所述第一链路恢复连接时,为了使通过第一边缘设备转发至目标虚拟机的过程更加高效,在图2所示实施例中,当所述第一边缘设备检测到第一链路恢复连接时,停用所述第一逻辑隧道,并将所述目标报文通过已恢复的第一链路进行转发。
具体的,由于EVPN网络中的边缘设备所能够建立的逻辑隧道数量是有一定限制的,因此,当所述第一边缘设备检测到第一链路恢复连接时,也可以删除所述第一逻辑隧道,并将所述目标报文通过已恢复的第一链路进行转发。这样,能够释放一部分网络资源,提高网络系统的运载能力。
图5为本发明实施例提供的报文转发装置的一种结构示意图,与图2所示方法实施例相对应,应用于以太虚拟专用网EVPN网络中的第一边缘设备,所述第一边缘设备与用户端的目标虚拟机之间形成第一链路,同一个虚拟机与至少两个所述边缘设备相连,所述装置包括:
检测模块501,用于检测所述第一链路是否发生故障;
选择模块502,用于当所述第一链路发生故障时,选择一个第一邻居边缘设备作为第二边缘设备,所述第一邻居边缘设备与第一边缘设备具有边界网关协议BGP邻居关系、与所述目标虚拟机相连;
获得模块503,用于获得所述第一边缘设备与所述第二边缘设备之间的第一逻辑隧道;
接收模块504,用于接收发送至所述目标虚拟机的目标报文;
转发模块505,用于将所述目标报文通过所述第一逻辑隧道转发至所述第二边缘设备,以使所述第二边缘设备将所述目标报文转发至所述目标虚拟机。
在本实施例中,获得模块503具体可以用于:
判断所述第一边缘设备与所述第二边缘设备之间是否已建立逻辑隧道,如果是,则将已建立的逻辑隧道确定为第一逻辑隧道;否则,在所述第一边缘设备与所述第二边缘设备之间建立逻辑隧道,并将建立的逻辑隧道确定为第一逻辑隧道。
在本实施例中,所述装置还可以包括第二链路获得模块(图中未示出);
所述第二链路获得模块用于:根据所述第一链路对应的虚拟机标识以及所述第一边缘设备存储的链路的链路信息,获得虚拟机标识与所述第一链路相同的第二链路;
所述选择模块502具体可以用于:当获得所述第二链路之后,将第二链路对应的邻居边缘设备确定为第一邻居边缘设备,并根据第二链路的链路信息,从所述第一邻居边缘设备中选择一个边缘设备作为第二边缘设备。
其中,所述第一边缘设备中存储有:与所述第一边缘设备相连的链路的链路信息,以及与所述第一邻居边缘设备相连的链路的链路信息;每条链路的链路信息包括:该链路所连接的边缘设备的地址信息和该链路对应的虚拟机标识。
在本实施例中,所述装置还可以包括地址信息获得模块(图中未示出);
所述地址信息获得模块用于:当获得的第二链路有多条时,获得每个所述第二链路对应的第一邻居边缘设备的地址信息;
所述选择模块502具体可以用于:在获得每个所述第二链路对应的第一邻居边缘设备的地址信息之后,将地址信息满足第一预设规则的第一邻居边缘设备,确定为所述第二边缘设备。
在本实施例中,所述装置还可以包括逻辑隧道检测模块(图中未示出);
所述逻辑隧道检测模块用于:当获得的第二链路有多条时,检测每个第二链路对应的第一邻居边缘设备与所述第一边缘设备之间是否已建立逻辑隧道;
所述选择模块502具体可以用于:在检测每个第二链路对应的第一邻居边缘设备与所述第一边缘设备之间是否已建立逻辑隧道之后,从第二邻居边缘设备中选择一个边缘设备作为第二边缘设备,所述第二邻居边缘设备为与所述第一边缘设备已建立逻辑隧道的第一邻居边缘设备。
在本实施例中,所述装置还可以包括跳数获取模块(图中未示出):
所述跳数获取模块用于:获取所述第一边缘设备与每个第二邻居边缘设备之间的跳数;
所述选择模块具体用于:当获取所述第一边缘设备与每个第二邻居边缘设备之间的跳数之后,将跳数满足第二预设规则的第二邻居边缘设备确定为所述第二边缘设备。
其中,所述第一边缘设备中存储有:所述第一边缘设备与第二邻居边缘设备之间的跳数。
在本实施例中,所述装置还可以包括逻辑隧道停用模块(图中未示出);
所述逻辑隧道停用模块用于:当所述第一边缘设备检测到所述第一链路恢复连接时,停用所述第一逻辑隧道;
所述转发模块505具体可以用于:在停用所述第一逻辑隧道之后,通过已恢复的第一链路转发所述目标报文。
由于上述装置实施例是基于报文转发方法实施例得到的,与该方法具有相同的技术效果,因此装置实施例的技术效果在此不再赘述。
对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本领域普通技术人员可以理解,上述实施方式中的全部或部分步骤是能够通过程序指令相关的硬件来完成的,所述的程序可以存储于计算机可读取存储介质中。这里所称存储介质,是指ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (14)
1.一种报文转发方法,其特征在于,应用于以太虚拟专用网EVPN网络中的第一边缘设备,所述第一边缘设备与目标虚拟机之间形成第一链路,目标虚拟机与两个或两个以上的边缘设备相连,所述方法包括:
当所述第一边缘设备检测到所述第一链路发生故障时,选择一个第一邻居边缘设备作为第二边缘设备,所述第一邻居边缘设备与第一边缘设备具有边界网关协议BGP邻居关系,且所述第一邻居边缘设备与所述目标虚拟机相连;
获得所述第一边缘设备与所述第二边缘设备之间的第一逻辑隧道;
当所述第一边缘设备接收到发送至所述目标虚拟机的目标报文时,将所述目标报文通过所述第一逻辑隧道转发至所述第二边缘设备,以使所述第二边缘设备将所述目标报文转发至所述目标虚拟机。
2.根据权利要求1所述的方法,其特征在于,所述第一边缘设备中存储有:与所述第一边缘设备相连的链路的链路信息,以及与所述第一邻居边缘设备相连的链路的链路信息;每条链路的链路信息包括:该链路所连接的边缘设备的地址信息和该链路对应的虚拟机标识;
所述选择一个第一邻居边缘设备作为第二边缘设备,包括:
根据所述第一链路对应的虚拟机标识以及所述第一边缘设备存储的链路的链路信息,获得虚拟机标识与所述第一链路相同的第二链路,并将第二链路对应的邻居边缘设备确定为第一邻居边缘设备;
根据第二链路的链路信息,从所述第一邻居边缘设备中选择一个边缘设备作为第二边缘设备。
3.根据权利要求2所述的方法,其特征在于,当获得的第二链路有多条时,所述根据第二链路的链路信息,从所述第一邻居边缘设备中选择一个边缘设备作为第二边缘设备,包括:
获得每个所述第二链路对应的第一邻居边缘设备的地址信息;将地址信息满足第一预设规则的第一邻居边缘设备,确定为所述第二边缘设备。
4.根据权利要求2所述的方法,其特征在于,当获得的第二链路有多条时,所述根据第二链路的链路信息,从所述第一邻居边缘设备中选择一个边缘设备作为第二边缘设备,包括:
检测每个第二链路对应的第一邻居边缘设备与所述第一边缘设备之间是否已建立逻辑隧道;
从第二邻居边缘设备中选择一个边缘设备作为第二边缘设备,所述第二邻居边缘设备为与所述第一边缘设备已建立逻辑隧道的第一邻居边缘设备。
5.根据权利要求4所述的方法,其特征在于,所述第一边缘设备中存储有:所述第一边缘设备与第二邻居边缘设备之间的跳数;
所述从第二邻居边缘设备中选择一个边缘设备作为第二边缘设备,包括:
获取所述第一边缘设备与每个第二邻居边缘设备之间的跳数;将跳数满足第二预设规则的第二邻居边缘设备确定为所述第二边缘设备。
6.根据权利要求1~5任一项所述的方法,其特征在于,所述获得所述第一边缘设备与所述第二边缘设备之间的第一逻辑隧道,包括:
判断所述第一边缘设备与所述第二边缘设备之间是否已建立逻辑隧道,如果是,则将已建立的逻辑隧道确定为第一逻辑隧道;否则,在所述第一边缘设备与所述第二边缘设备之间建立逻辑隧道,并将建立的逻辑隧道确定为第一逻辑隧道。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述第一边缘设备检测到所述第一链路恢复连接时,停用所述第一逻辑隧道,并通过已恢复的第一链路转发所述目标报文。
8.一种报文转发装置,其特征在于,应用于以太虚拟专用网EVPN网络中的第一边缘设备,所述第一边缘设备与用户端的目标虚拟机之间形成第一链路,同一个虚拟机与两个或两个以上边缘设备相连,所述装置包括:
检测模块,用于检测所述第一链路是否发生故障;
选择模块,用于当所述第一链路发生故障时,选择一个第一邻居边缘设备作为第二边缘设备,所述第一邻居边缘设备与第一边缘设备具有边界网关协议BGP邻居关系,且所述第一邻居边缘设备与所述目标虚拟机相连;
获得模块,用于获得所述第一边缘设备与所述第二边缘设备之间的第一逻辑隧道;
接收模块,用于接收发送至所述目标虚拟机的目标报文;
转发模块,用于将所述目标报文通过所述第一逻辑隧道转发至所述第二边缘设备,以使所述第二边缘设备将所述目标报文转发至所述目标虚拟机。
9.根据权利要求8所述的装置,其特征在于,所述第一边缘设备中存储有:与所述第一边缘设备相连的链路的链路信息,以及与所述第一邻居边缘设备相连的链路的链路信息;每条链路的链路信息包括:该链路所连接的边缘设备的地址信息和该链路对应的虚拟机标识;
所述装置还包括第二链路获得模块;
所述第二链路获得模块用于:根据所述第一链路对应的虚拟机标识以及所述第一边缘设备存储的链路的链路信息,获得虚拟机标识与所述第一链路相同的第二链路;
所述选择模块具体用于:当获得所述第二链路之后,将第二链路对应的邻居边缘设备确定为第一邻居边缘设备,并根据第二链路的链路信息,从所述第一邻居边缘设备中选择一个边缘设备作为第二边缘设备。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括地址信息获得模块;
所述地址信息获得模块用于:当获得的第二链路有多条时,获得每个所述第二链路对应的第一邻居边缘设备的地址信息;
所述选择模块具体用于:在获得每个所述第二链路对应的第一邻居边缘设备的地址信息之后,将地址信息满足第一预设规则的第一邻居边缘设备,确定为所述第二边缘设备。
11.根据权利要求9所述的装置,其特征在于,所述装置还包括逻辑隧道检测模块;
所述逻辑隧道检测模块用于:当获得的第二链路有多条时,检测每个第二链路对应的第一邻居边缘设备与所述第一边缘设备之间是否已建立逻辑隧道;
所述选择模块具体用于:在检测每个第二链路对应的第一邻居边缘设备与所述第一边缘设备之间是否已建立逻辑隧道之后,从第二邻居边缘设备中选择一个边缘设备作为第二边缘设备,所述第二邻居边缘设备为与所述第一边缘设备已建立逻辑隧道的第一邻居边缘设备。
12.根据权利要求11所述的装置,其特征在于,所述第一边缘设备中存储有:所述第一边缘设备与第二邻居边缘设备之间的跳数;
所述装置还包括跳数获取模块:
所述跳数获取模块用于:获取所述第一边缘设备与每个第二邻居边缘设备之间的跳数;
所述选择模块具体用于:当获取所述第一边缘设备与每个第二邻居边缘设备之间的跳数之后,将跳数满足第二预设规则的第二邻居边缘设备确定为所述第二边缘设备。
13.根据权利要求8~12任一项所述的装置,其特征在于,所述获得模块具体用于:
判断所述第一边缘设备与所述第二边缘设备之间是否已建立逻辑隧道,如果是,则将已建立的逻辑隧道确定为第一逻辑隧道;否则,在所述第一边缘设备与所述第二边缘设备之间建立逻辑隧道,并将建立的逻辑隧道确定为第一逻辑隧道。
14.根据权利要求8所述的装置,其特征在于,所述装置还包括逻辑隧道停用模块;
所述逻辑隧道停用模块用于:当所述第一边缘设备检测到所述第一链路恢复连接时,停用所述第一逻辑隧道;
所述转发模块具体用于:在停用所述第一逻辑隧道之后,通过已恢复的第一链路转发所述目标报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610176722.1A CN106789635B (zh) | 2016-03-25 | 2016-03-25 | 一种报文转发方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610176722.1A CN106789635B (zh) | 2016-03-25 | 2016-03-25 | 一种报文转发方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106789635A CN106789635A (zh) | 2017-05-31 |
CN106789635B true CN106789635B (zh) | 2020-08-14 |
Family
ID=58972056
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610176722.1A Active CN106789635B (zh) | 2016-03-25 | 2016-03-25 | 一种报文转发方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106789635B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108075969B (zh) * | 2016-11-17 | 2020-01-03 | 新华三技术有限公司 | 报文转发方法和装置 |
WO2019056239A1 (zh) * | 2017-09-21 | 2019-03-28 | 华为技术有限公司 | 报文同步方法和装置 |
CN108494686B (zh) * | 2018-02-28 | 2021-05-28 | 新华三技术有限公司 | 路由处理方法及装置 |
CN108718276B (zh) * | 2018-04-10 | 2021-04-27 | 新华三技术有限公司 | 一种报文转发方法和装置 |
CN110391951B (zh) * | 2018-04-17 | 2022-11-08 | 中兴通讯股份有限公司 | 以太网段标识邻接检测处理方法及装置、存储介质 |
CN111988222A (zh) * | 2020-08-31 | 2020-11-24 | 网易(杭州)网络有限公司 | 数据传输方法及装置、电子设备和计算机可读存储介质 |
CN113452551B (zh) * | 2021-06-11 | 2022-07-08 | 烽火通信科技股份有限公司 | Vxlan隧道拓扑监控方法、装置、设备及存储介质 |
CN113726556B (zh) * | 2021-08-06 | 2024-05-31 | 国网电力科学研究院有限公司 | 边缘物联代理节点运维方法、系统、存储介质及计算设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2613477A1 (en) * | 2010-09-08 | 2013-07-10 | Huawei Technologies Co., Ltd. | Method for triggering route switching and service provider-end provider edge device |
CN103973459A (zh) * | 2013-01-24 | 2014-08-06 | 中兴通讯股份有限公司 | IPv6组播孤岛间的组播报文的传输方法及装置 |
CN104270298A (zh) * | 2014-09-30 | 2015-01-07 | 杭州华三通信技术有限公司 | 一种vxlan网络中的报文转发方法及装置 |
CN104767680A (zh) * | 2015-04-15 | 2015-07-08 | 杭州华三通信技术有限公司 | 路由快速切换的方法和装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9036639B2 (en) * | 2012-11-29 | 2015-05-19 | Futurewei Technologies, Inc. | System and method for VXLAN inter-domain communications |
CN103647853B (zh) * | 2013-12-04 | 2018-07-03 | 华为技术有限公司 | 一种在VxLAN中发送ARP报文发送方法、VTEP及VxLAN控制器 |
CN104135420B (zh) * | 2014-07-31 | 2017-12-29 | 华为技术有限公司 | 一种报文转发的方法、设备及系统 |
CN104168140B (zh) * | 2014-08-14 | 2017-11-14 | 新华三技术有限公司 | Vtep异常情况处理方法及装置 |
-
2016
- 2016-03-25 CN CN201610176722.1A patent/CN106789635B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2613477A1 (en) * | 2010-09-08 | 2013-07-10 | Huawei Technologies Co., Ltd. | Method for triggering route switching and service provider-end provider edge device |
CN103973459A (zh) * | 2013-01-24 | 2014-08-06 | 中兴通讯股份有限公司 | IPv6组播孤岛间的组播报文的传输方法及装置 |
CN104270298A (zh) * | 2014-09-30 | 2015-01-07 | 杭州华三通信技术有限公司 | 一种vxlan网络中的报文转发方法及装置 |
CN104767680A (zh) * | 2015-04-15 | 2015-07-08 | 杭州华三通信技术有限公司 | 路由快速切换的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106789635A (zh) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106789635B (zh) | 一种报文转发方法及装置 | |
US11349687B2 (en) | Packet processing method, device, and system | |
EP3471347B1 (en) | Vxlan packet processing method, device and system | |
US10191758B2 (en) | Directing data traffic between intra-server virtual machines | |
US10193707B2 (en) | Packet transmission method and apparatus | |
CN104135420B (zh) | 一种报文转发的方法、设备及系统 | |
CN106254203B (zh) | 一种报文转发方法及装置 | |
CN107733793B (zh) | 一种转发表项维护方法及装置 | |
CN107040443A (zh) | 多宿主拓扑的evpn网络的快速收敛 | |
CN113055295B (zh) | 通信方法、通信设备和通信系统 | |
WO2018054156A1 (zh) | 一种vxlan报文的转发方法、设备及系统 | |
CN112511444A (zh) | 一种组播流量传输方法、装置、通信节点及存储介质 | |
WO2020135395A1 (zh) | 一种跨内部网关协议的前缀标识通告方法和装置 | |
WO2016066119A1 (en) | Deployment of virtual extensible local area network | |
US11477114B2 (en) | Packet forwarding method and apparatus | |
CN105791072A (zh) | 以太虚拟网络的接入方法及装置 | |
CN110430116B (zh) | 数据转发方法及装置、边缘设备及可读存储介质 | |
CN106130819B (zh) | Vtep异常的检测方法及装置 | |
CN106572012A (zh) | 一种vpn frr的实现方法和pe设备 | |
CN108833272B (zh) | 一种路由管理方法和装置 | |
CN108540386B (zh) | 一种防止业务流中断方法及装置 | |
CN106911547B (zh) | 一种报文转发方法及装置 | |
US20230164070A1 (en) | Packet sending method, device, and system | |
CN107682261B (zh) | 流量转发方法及装置 | |
WO2023016550A1 (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 |