CN116366546A - 报文转发方法及相关装置 - Google Patents
报文转发方法及相关装置 Download PDFInfo
- Publication number
- CN116366546A CN116366546A CN202310424863.0A CN202310424863A CN116366546A CN 116366546 A CN116366546 A CN 116366546A CN 202310424863 A CN202310424863 A CN 202310424863A CN 116366546 A CN116366546 A CN 116366546A
- Authority
- CN
- China
- Prior art keywords
- message
- homing
- forwarded
- label
- equipment
- 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.)
- Pending
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/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- 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/16—Multipoint 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/32—Flooding
-
- 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/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供的一种报文转发方法及相关装置,涉及数据通信领域。所述报文转发方法:首先解封装来自入方向PE设备的待转发报文,获取报文标签;然后,若所述报文标签为单播标签,则基于报文标签进行MAC查找,生成查找结果,其中,单播标签表征入方向PE设备上存在针对多归属CE设备的MAC表项;若查找结果不为空,则按照查找结果,将待转发报文转发至多归属CE设备;若查找结果为空,则根据预先设置的VLAN广播域,将待转发报文转发至多归属CE设备,从而实现在不对称场景下实现流量的正常转发,避免出现丢包。
Description
技术领域
本发明涉及数据通信领域,具体而言,涉及一种报文转发方法及相关装置。
背景技术
EVPN(Ethernet Virtual Private Network,以太网虚拟专用网络)多归属是指一个CE(Customer Edge,用户网络边缘)设备通过不同的以太网链路接入EVPN网络中的多台PE(Provide Edge,服务提供商网络边缘)设备,该CE设备的流量在多台PE设备间进行负载均衡。
如图1所示,CE1双归属接入PE1和PE2,PE1和PE2分别与PE3通信连接,CE2接入PE3。通常情况下,PE1、PE2和PE3上针对CE1上某些业务相关的MAC表项均存在或者均不存在时,从CE2到CE1的流量转发可以正常完成,但出现不对称情况时,流量转发可能出现异常。例如,作为入方向PE设备的PE3上存在针对CE1上某些业务相关的MAC表项,而作为出方向PE设备的PE1和/或PE2上没有针对CE1上某些业务相关的MAC表项时,从CE2到CE1的流量转发过程会出现丢包。
发明内容
本发明实施例提供了一种报文转发方法及相关装置,其能够在不对称场景下实现流量的正常转发。
本发明实施例的技术方案可以这样实现:
第一方面,本发明实施例提供一种报文转发方法,应用于报文转发系统中的目标出方向PE设备,所述报文转发系统包括多个出方向PE设备,每个所述出方向PE设备均与多归属CE设备通信连接,所述报文转发系统还包括入方向PE设备,每个所述出方向PE设备均与所述入方向PE设备通信连接,所述方法包括:
解封装来自所述入方向PE设备的待转发报文,获取报文标签;
若所述报文标签为单播标签,则基于所述报文标签进行MAC查找,生成查找结果,其中,所述单播标签表征所述入方向PE设备上存在针对所述多归属CE设备的MAC表项;
若所述查找结果不为空,则按照所述查找结果,将所述待转发报文转发至所述多归属CE设备;
若所述查找结果为空,则根据预先设置的VLAN广播域,将所述待转发报文转发至所述多归属CE设备,以避免出现丢包。
可选地,所述基于所述报文标签进行MAC地址查找,生成查找结果的步骤包括:
根据所述报文标签的标签值和本地MPLS表项,确定目标转发域;
按照所述待转发报文中携带的内层MAC地址,在所述目标转发域中进行MAC查找;
若查找到自身指向所述多归属CE设备的AC口,则将所述AC口作为所述查找结果;
若未查找到自身指向所述多归属CE设备的AC口,则将所述查找结果置为空。
可选地,所述VLAN广播域中添加有所有出方向PE设备上指向所述多归属CE设备的AC口,所述根据预先设置的VLAN广播域,将所述待转发报文转发至所述多归属CE设备的步骤包括:
将所述待转发报文广播至所有出方向PE设备上指向所述多归属CE设备的AC口,以通过所有出方向PE设备上指向所述多归属CE设备的AC口,将所述待转发报文转发至所述多归属CE设备。
可选地,所述方法还包括:
若所述报文标签为BUM标签,则利用预先创建的BUM组播组,将所述待转发报文转发至所述多归属CE设备,以避免出现多包,其中,所述BUM标签表征所述入方向PE设备上不存在针对所述多归属CE设备的MAC表项。
第二方面,本发明实施例提供一种报文转发方法,应用于报文转发系统中的入方向PE设备,所述报文转发系统包括多个出方向PE设备,每个所述出方向PE设备均与所述入方向PE设备通信连接,每个所述出方向PE设备还均与多归属CE设备通信连接,所述方法包括:
若自身存在针对所述多归属CE设备的MAC表项,则向待转发报文中添加单播标签;
将携带有单播标签的待转发报文发送至所述多个出方向PE设备中的任一目标出方向PE设备,以使所述目标出方向PE设备基于所述单播标签进行MAC查找,并在得到的查找结果不为空时,按照所述查找结果,将所述待转发报文转发至所述多归属CE设备,在得到的查找结果为空时,根据预先设置的VLAN广播域,将所述待转发报文转发至所述多归属CE设备,避免出现丢包。
可选地,所述方法还包括:
若自身不存在针对所述多归属CE设备的MAC表项,则向待转发报文中添加BUM标签;
将携带有BUM标签的待转发报文发送至所述多个出方向PE设备,以使所述多个出方向PE设备中的DF设备利用预先创建的BUM组播组,将所述待转发报文转发至所述多归属CE设备,避免出现多包。
第三方面,本发明实施例提供一种报文转发装置,应用于报文转发系统中的目标出方向PE设备,所述报文转发系统包括多个出方向PE设备,每个所述出方向PE设备均与多归属CE设备通信连接,所述报文转发系统还包括入方向PE设备,每个所述出方向PE设备均与所述入方向PE设备通信连接,所述装置包括:
获取模块,用于解封装来自所述入方向PE设备的待转发报文,获取报文标签;
处理模块,用于若所述报文标签为单播标签,则基于所述报文标签进行MAC查找,生成查找结果,其中,所述单播标签表征所述入方向PE设备上存在针对所述多归属CE设备的MAC表项;
转发模块,用于若所述查找结果不为空,则按照所述查找结果,将所述待转发报文转发至所述多归属CE设备;若所述查找结果为空,则根据预先设置的VLAN广播域,将所述待转发报文转发至所述多归属CE设备,以避免出现丢包。
第四方面,本发明实施例提供一种报文转发装置,应用于报文转发系统中的入方向PE设备,所述报文转发系统包括多个出方向PE设备,每个所述出方向PE设备均与所述入方向PE设备通信连接,每个所述出方向PE设备还均与多归属CE设备通信连接,所述装置包括:
添加模块,用于若自身存在针对所述多归属CE设备的MAC表项,则向待转发报文中添加单播标签;
发送模块,用于将携带有单播标签的待转发报文发送至所述多个出方向PE设备中的任一目标出方向PE设备,以使所述目标出方向PE设备基于所述单播标签的标签值进行MAC查找,并在得到的查找结果不为空时,按照所述查找结果,将所述待转发报文转发至所述多归属CE设备,在得到的查找结果为空时,根据预先设置的VLAN广播域,将所述待转发报文转发至所述多归属CE设备,避免出现丢包。
第五方面,本发明实施例提供一种出方向PE设备,其包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,实现如前述第一方面所述的报文转发方法。
第六方面,本发明实施例提供一种入方向PE设备,其包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,实现如前述第二方面所述的报文转发方法。
第七方面,本发明实施例提供一种报文转发系统,其包括多个如前述第五方面所述的出方向PE设备和如前述第六方面所述的入方向PE设备。
第八方面,本发明实施例提供一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现如前述第一方面所述的报文转发方法,或,如前述第二方面所述的报文转发方法。
相较于现有技术,本发明实施例提供的一种应用于报文转发系统中的目标出方向PE设备的报文转发方法,首先解封装来自入方向PE设备的待转发报文,获取报文标签;然后,若所述报文标签为单播标签,则基于报文标签进行MAC查找,生成查找结果,其中,单播标签表征入方向PE设备上存在针对多归属CE设备的MAC表项;若查找结果不为空,则按照查找结果,将待转发报文转发至多归属CE设备;若查找结果为空,则根据预先设置的VLAN广播域,将待转发报文转发至多归属CE设备。由于本发明实施例利用表征入方向PE设备上存在针对多归属CE设备的MAC表项的单播标签进行MAC查找,根据查找结果是否为空判断报文转发系统是否处于不对称情形,从而确定报文转发方式,实现在不对称场景下实现流量的正常转发,避免出现丢包。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的一种EVPN多归属网络模型示例图;
图2为本发明实施例提供的一种DF选举处理泛洪流量的示意图;
图3为本发明实施例提供的一种多活冗余模式下的负载分担示意图;
图4为本发明实施例提供的一种流量转发示意图一;
图5为本发明实施例提供的一种流量转发示意图二;
图6为本发明实施例提供的一种流量转发示意图三;
图7为本发明实施例提供的一种流量转发示意图四;
图8为本发明实施例提供的一种报文转发系统的结构示意图;
图9为本发明实施例提供的一种应用于出方向PE设备的报文转发方法的流程示意图一;
图10为本发明实施例提供的一种应用于出方向PE设备的报文转发方法的流程示意图二;
图11为本发明实施例提供的一种应用于入方向PE设备的报文转发方法的流程示意图;
图12为本发明实施例提供的一种应用于出方向PE设备的报文转发装置的功能单元框图;
图13为本发明实施例提供的一种应用于入方向PE设备的报文转发装置的功能单元框图;
图14为本发明实施例提供的一种电子设备的结构单元框图。
图标:100-应用于出方向PE设备的报文转发装置;101-获取模块;102-处理模块;103-转发模块;200-应用于入方向PE设备的报文转发装置;201-添加模块;202-发送模块;300-电子设备;310-存储器;320-处理器。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
请参考图1所示的EVPN多归属网络模型示例,CE1双归属接入由PE1和PE2组成的冗余备份组,CE1接入PE1和PE2的两条链路,组成一个ES(Ethernet Segment,以太网段),它们具有相同的ESI(Ethernet Segment Identifier,以太网段标识),由于CE1是通过ES接入冗余设备组,因此CE1为多归属CE设备。PE1和PE2分别与PE3通过EVPN PW(EVPN Pseudo Wire,以太网虚拟专用网络虚链路)连接,CE2接入PE3。
由于CE1双归属接入PE1和PE2,当CE2向CE1发送泛洪流量时,为了避免PE1和PE2均转发泛洪流量至CE1而造成网络资源浪费,EVPN引入了DF选举机制。DF选举是指从冗余备份组中选举一个PE设备作为DF(Designated Forwarder,指定转发者)设备,负责将泛洪流量转发到多归属CE设备,其它PE设备作为BDF(Backup DF,备份DF)设备,不会向多归属CE设备转发泛洪流量。如图2所示,将冗余备份组中的PE1作为DF设备,将PE2作为BDF设备,使CE2向CE1发送泛洪流量时,只有PE1转发泛洪流量至CE1,从而避免网络资源浪费。
如图3所示,在多活冗余模式下,冗余备份组中可能仅有PE1这一台PE设备能学习到CE1某些业务相关的MAC地址,这会导致作为远端PE的PE3仅能从PE1收到这些MAC地址的MAC/IP发布路由,因此PE3无法将访问这些MAC地址的流量负载分担到冗余备份组中的PE2上。
为了解决这个问题,EVPN多归属网络引入了别名机制,即当冗余备份组中仅有一台PE设备通过MAC/IP发布路由向远端PE设备通告了CE侧MAC地址的可达性时,远端PE设备能够根据冗余备份组内PE设备发送的以太网自动发现路由(携带PE、ESI等信息)感知到冗余备份组中其它PE设备与CE侧MAC地址的可达性,并生成对应的MAC表项,从而形成负载分担。
在图3中,PE1学习到MAC地址后,通过MAC/IP路由发送给PE3的同时,也会将此路由发送给PE2。PE2感知到这个MAC对应的ES在本地也存在,那么来了这个MAC地址的数据流就没有必要再去PE1绕一圈了,PE2此时就会启用AC重定向功能,将这个MAC地址的出口从PE1修改成本地ES对应的AC口,这样如果来自PE3的报文命中了此MAC表项,可以直接从本地AC口转发。
按照上述对EVPN多归属的描述,可以看出通常情况下,在PE1学习到针对CE1上某些业务相关的MAC地址后,PE1通过BGP分别给PE2和PE3发送MAC/IP路由。如图4所示,当PE1、PE2和PE3上均存在对应的MAC表项时,PE3上会将来自CE2的流量加封装后负载分担并发送给PE1和PE2,PE1和PE2收到封装报文后解封装,并根据本地MAC表项进行转发,直接从本地AC口转发到CE1。
当PE1上的MAC表项老化之后,PE1的BGP会再次分别给PE2和PE3发送MAC/IP路由进行MAC撤销。如图5所示,当PE1、PE2和PE3上均完成MAC撤销之后,PE3对于来自CE2的流量会在VLAN中进行广播,同时广播到PE1和PE2。PE1和PE2上由于也没有MAC表项,也会在VLAN中进行广播。由于存在DF选举的机制,只有被选为DF设备的PE设备会将流量转发给CE1。
也就是说,PE1、PE2和PE3均存在MAC表项时,或PE1、PE2和PE3上MAC表项均被撤销时,CE2到CE1的流量转发过程均可正常进行。
但往往忽略了一个问题,就是BGP传递路由是需要时间的。假设PE1上的MAC表项被撤销,PE1会将MAC/IP路由撤销消息发送到PE3,不论多快都是需要一定的时间的,在传递路由的时间内,来自CE2的流量依然在保持转发,即在这一小段时间内,存在一个不对称情形:PE1上的MAC表项已经被撤销,PE3上的MAC表项还依然存在。
在该不对称情形下,如图6所示,来自CE2的数据流量在PE3上转发时依然认为应该走单播MAC,通过负载分担发送到PE1或者PE2。假设PE3将数据流量发送到了PE1,由于PE1上的MAC表项已经被撤销,该报文只能在VLAN中做广播。但DF选举机制的存在,如果PE1不是DF设备,流量就无法通过广播的形式被发送到CE1,导致这段时间之内报文丢失,直到PE3上的MAC表项被MAC/IP路由撤销掉,PE1和PE2同时收到报文后,流量转发流程才能正常进行。
除了上述短暂丢包问题,在某种情况下,还会出现短暂多包。假设一开始PE1、PE2和PE3均未学到MAC地址,流量在PE3上被广播到PE1和PE2,PE1和PE2对于该未知报文在VLAN中进行广播,由于DF选举机制的存在,此时由DF设备进行转发,将数据流转发给CE1。在某个时刻,PE1通过AC口学习到了MAC地址,并且通过BGP将MAC/IP路由发送给PE2和PE3,如果PE2已经收到了这个BGP路由,并且已经下发了MAC表项,但PE3距离较远,或者跳数较多,延迟较大,尚未收到这个MAC/IP路由,那么在这一瞬间就会出现下述不对称情形:PE3上没有MAC表项,PE1和PE2上有MAC表项。
在该不对称情形下,如图7所示,来自CE2的数据流在PE3上做广播,同时发送到PE1和PE2,在PE1和PE2上均做单播转发,CE1上可能会短暂的多包,直到PE3上收到了BGP MAC/IP路由,下发了MAC表项,PE3才会开始根据MAC表项做单播转发,PE1和PE2只有一台设备收到报文,CE1上多包的情况才会停止。
总的来说,当作为入方向PE设备的PE3上存在针对CE1上某些业务相关的MAC表项,而作为出方向PE设备的PE1和/或PE2上没有针对CE1上某些业务相关的MAC表项时,从CE2到CE1的流量转发过程会出现丢包。而作为入方向PE设备的PE3上没有针对CE1上某些业务相关的MAC表项,而作为出方向PE设备的PE1和/或PE2上存在针对CE1上某些业务相关的MAC表项时,从CE2到CE1的流量转发过程会出现多包。
为了应对不对称情形下的短暂丢包和短暂多包,本发明实施例提供了一种如图8所示的报文转发系统和一种应用于图8中任一目标出方向PE设备的报文转发方法,下面将进行详细介绍。
请参照图8,该报文转发系统包括由多个出方向PE设备,分别为PE1、PE2、……、PEn,所有出方向PE设备组成一个冗余备份组,多归属CE设备(即CE1)通过ES接入冗余备份组。该报文转系统还包括入方向的PE设备,每个出方向的PE设备均与入方向的PE设备通信连接,入方向的PE设备将来自源CE设备(即CE2)的流量负载分担至每个出方向的PE设备。
请参照图9,该应用于出方向PE设备的报文转发方法包括步骤S101~S104。
S101,解封装来自入方向PE设备的待转发报文,获取报文标签。
在图8中,入方向PE设备可以将待转发报文单播至PE1、PE2、……、PEn中的任意一个,也可以是将待转发报文同时广播至PE1、PE2、……、PEn。
任意出方向PE设备在接收到入方向PE设备发送的待转发报文,需要对待转发报文进行解封装,获取入方向PE设备添加在报文头部的报文标签,根据报文标签的属性获知入方向PE设备上是否存在针对CE1的MAC表项。
S102,若报文标签为单播标签,则基于报文标签进行MAC查找,生成查找结果。
其中,单播标签表征入方向PE设备上存在针对多归属CE设备的MAC表项,MAC表项记载的可能是连接多归属CE设备的主机的MAC,也可能是连接多归属CE设备的其他终端设备的MAC。
在图8中,CE1多归属接入由PE1、PE2、……、PEn组成的冗余备份组,可以由PE1、PE2、……、PEn中的任意一个PE设备将报文转发至CE1。当入方向PE设备上存在针对CE1的MAC表项时,入方向PE设备可以通过负载分担在PE1、PE2、……、PEn确定出一个目标出方向PE设备,例如将PE1作为目标出方向PE设备,入方向PE设备将待转发报文发送至PE1后,PE1根据待转发报文中解封装出的单播标签,进行MAC查找,以确定自身是否存在针对CE1的MAC表项。
可以理解地,PE1根据查找结果,可以判定当前报文转发系统是否处于不对称情形,即如果查找结果显示PE1自身不存在针对CE1的MAC表项,则当前报文转发系统处于不对称情形,如果查找结果显示PE1自身存在针对CE1的MAC表项,则当前报文转发系统不处于不对称情形。
作为一种可能的实现方式,步骤S102的实现过程可以如下:
S102-1,根据报文标签的标签值和本地MPLS表项,确定目标转发域。
假设图8中的PE1为目标出方向PE设备,PE1利用单播标签的标签值从本地MPLS表项中确定出一个fid,将该fid所标识的二层转发域即为目标转发域。
S102-2,按照待转发报文中携带的内层MAC地址,在目标转发域中进行MAC查找。
其中,目标出方向PE设备通过对待转发报文进行解封装,可以获取到内层MAC地址。
S102-3,若查找到自身指向多归属CE设备的AC口,则将AC口作为查找结果。
假设图8中的PE1为目标出方向PE设备,PE1利用内层MAC地址在目标转发域中进行MAC查找,若查找到自身指向CE1的AC口,则意味着PE1自身存在针对CE1的MAC表项,当前报文转发系统不处于不对称情形。
S102-4,若未查找到自身指向多归属CE设备的AC口,则将查找结果置为空。
假设图8中的PE1为目标出方向PE设备,PE1利用内层MAC地址在目标转发域中进行MAC查找,若未查找到自身指向CE1的AC口,则意味着PE1自身不存在针对CE1的MAC表项,当前报文转发系统处于不对称情形。
S103,若查找结果不为空,则按照查找结果,将待转发报文转发至多归属CE设备。
假设图8中的PE1为目标出方向PE设备,当PE1查找到自身指向CE1的AC口时,则PE1可以直接利用自身指向CE1的AC口,将待转发报文发送至CE1。
S104,若查找结果为空,则根据预先设置的VLAN广播域,将待转发报文转发至多归属CE设备,以避免出现丢包。
其中,VLAN广播域中添加有所有出方向PE设备上指向多归属CE设备的AC口。
以图8所示的报文转发系统为例,在PE1、PE2、……、PEn上均预先设置有VLAN广播域,VLAN广播域中添加了所有出方向PE设备上的指向CE1的AC口。
可选地,VLAN广播域中还添加有所有出方向PE设备上的PW(Pseudo Wire,虚链路)口,通常情况下,PE设备上的AC口用于PE设备与CE设备之间的通信,PE设备上的PW口用于PE设备与PE设备之间的通信。
在一种可能的实现方式中,步骤S104的实现过程可以为:将待转发报文广播至所有出方向PE设备上指向多归属CE设备的AC口,以通过所有出方向PE设备上指向多归属CE设备的AC口,将待转发报文转发至多归属CE设备。
请参照图10,该应用于出方向PE设备的报文转发方法还包括步骤S105。
S105,若报文标签为BUM(Broadcast Unknown-unicast Multicast,广播及未知单播、组播)标签,则利用预先创建的BUM组播组,将待转发报文转发至多归属CE设备,以避免出现多包。
其中,BUM标签表征入方向PE设备上不存在针对多归属CE设备的MAC表项。
BUM组播组是根据DF选举信息建立的,即在被选举为DF设备的出方向PE设备上创建的BUM组播组里包含了指向多归属CE设备的AC口,而在未被选举为DF设备上的创建的BUM组播组里面不包含指向多归属CE设备的AC口。
假设图8中的PE1被选举为DF设备,那么在PE1上创建的BUM组播组里包含了指向CE1的AC口,而在PE2、……、PEn上创建的BUM组播组里不包含指向CE1的AC口。
可以理解地,由于PE1、PE2、……、PEn中只有PE1上创建的BUM组播组里包含了指向CE1的AC口,因此,当入方向PE设备将待转发报文同时发送到PE1、PE2、……、PEn时,只有PE1上创建的BUM组播组可以将待转发报文发送至CE1,不会发生PE1、PE2、……、PEn同时向CE1转发报文,导致CE1出现多包的情况。
由于出方向PE设备需要根据待转发报文的报文标签来确定待转发报文的转发方式,而待转发报文的报文标签是由入方向PE设备来添加的,因此,本发明还提供了一种应用于图8中的入方向PE设备的报文转发方法,下面将进行详细介绍。
请参照图11,该应用于入方向PE设备的报文转发方法包括步骤S201~S204。
S201,若自身存在针对多归属CE设备的MAC表项,则向待转发报文中添加单播标签。
其中,当入方向PE设备上存在针对多归属CE设备的MAC表项时,入方向PE设备需对待转发报文进行单播转发,在进行单播转发时,将用于单播转发的MPLS(Multi-ProtocolLabel Switching,多协议标签交换)标签称作单播标签。
S202,将携带有单播标签的待转发报文发送至多个出方向PE设备中的任一目标出方向PE设备,以使目标出方向PE设备基于单播标签进行MAC查找,并在得到的查找结果不为空时,按照查找结果,将待转发报文转发至多归属CE设备,在得到的查找结果为空时,根据预先设置的VLAN广播域,将待转发报文转发至多归属CE设备,避免出现丢包。
以图8所示的报文转发系统为例,由于入方向PE设备发送的报文添加的是单播标签,因此无论是在PE1、PE2、……、PEn中任何一个出方向PE设备上做MPLS解封装后,都会根据MPLS表项出的fid和内层MAC地址进行MAC查找,查找不到自身指向CE1的AC口时,则根据VLAN广播域进行广播。由于VLAN广播域是添加了所有出方向PE设备上的指向CE1的AC口,因此无论是PE1、PE2、……、PEn中任何一个出方向PE设备收到报文后,均能通过VLAN广播域中的AC口,将报文转发给CE1,避免造成丢包。
S203,若自身不存在针对多归属CE设备的MAC表项,则向待转发报文中添加BUM标签。
其中,当入方向PE设备上不存在针对多归属CE设备的MAC表项时,入方向PE设备需对待转发报文进行广播转发,在进行广播转发时,将用于未知单播、多播或者广播的MPLS标签称作BUM标签。
S204,将携带有BUM标签的待转发报文发送至多个出方向PE设备,以使多个出方向PE设备中的DF设备利用预先创建的BUM组播组,将待转发报文转发至多归属CE设备,避免出现多包。
以图8所示的报文转发系统为例,由于入方向PE设备发送的报文添加的是BUM标签,因此PE1、PE2、……、PEn同时收到该报文后,做MPLS解封装,直接根据各自绑定的BUM组播组进行转发,而不进行MAC查找,不根据VLAN广播域进行广播。由于PE1、PE2、……、PEn上各自所创建的BUM组播组是根据DF选举信息添加指向CE1的AC口,因此,即便是PE1、PE2、……、PEn同时收到了报文,也只有DF设备能够把报文根据BUM组播组转发到CE1。由于报文既不会根据VLAN广播域进行转发,也不会根据已经存在的MAC表项进行转发,而是根据BUM组播组进行转发,避免出现多包。
为了执行上述方法实施例及各个可能的实施方式中的相应步骤,下面分别给出一种应用于出方向PE设备的报文转发装置100和一种应用于入方向PE设备的报文转发装置200。
请参照图12,应用于出方向PE设备的报文转发装置100包括获取模块101、处理模块102以及转发模块103。
获取模块101,用于解封装来自入方向PE设备的待转发报文,获取报文标签。
处理模块102,用于若报文标签为单播标签,则基于报文标签进行MAC查找,生成查找结果,其中,单播标签表征入方向PE设备上存在针对多归属CE设备的MAC表项。
转发模块103,用于若查找结果不为空,则按照查找结果,将待转发报文转发至多归属CE设备;若查找结果为空,则根据预先设置的VLAN广播域,将待转发报文转发至多归属CE设备,以避免出现丢包。
可选地,处理模块102具体用于根据报文标签的标签值和本地MPLS表项,确定目标转发域;按照待转发报文中携带的内层MAC地址,在目标转发域中进行MAC查找;若查找到自身指向多归属CE设备的AC口,则将AC口作为查找结果;若未查找到自身指向多归属CE设备的AC口,则将查找结果置为空。
可选地,VLAN广播域中添加有所有出方向PE设备上指向多归属CE设备的AC口,转发模块103用于将待转发报文广播至所有出方向PE设备上指向多归属CE设备的AC口,以通过所有出方向PE设备上指向多归属CE设备的AC口将待转发报文转发至多归属CE设备。
可选地,处理模块102还用于若报文标签为BUM标签,则利用预先创建的BUM组播组,将待转发报文转发至多归属CE设备,以避免出现多包,其中,BUM标签表征入方向PE设备上不存在针对多归属CE设备的MAC表项。
请参照图13,应用于入方向PE设备的报文转发装置200包括添加模块201和发送模块202。
添加模块201,用于若自身存在针对多归属CE设备的MAC表项,则向待转发报文中添加单播标签。
发送模块202,用于将携带有单播标签的待转发报文发送至多个出方向PE设备中的任一目标出方向PE设备,以使目标出方向PE设备基于单播标签进行MAC查找,并在得到的查找结果不为空时,按照查找结果,将待转发报文转发至多归属CE设备,在得到的查找结果为空时,根据预先设置的VLAN广播域,将待转发报文转发至多归属CE设备,避免出现丢包。
可选地,添加模块201还用于若自身不存在针对多归属CE设备的MAC表项,则向待转发报文中添加BUM标签。
发送模块202还用于将携带有BUM标签的待转发报文发送至多个出方向PE设备,以使多个出方向PE设备中的DF设备利用预先创建的BUM组播组,将待转发报文转发至多归属CE设备,避免出现多包。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的应用于出方向PE设备的报文转发装置100和应用于入方向PE设备的报文转发装置200的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本发明实施例还提供了一种电子设备300,其可以是图8中的出方向PE设备,也可以是图8中的入方向PE设备,请参照图14,电子设备300可以包括存储器310和处理器320。
其中,处理器320可以是一个通用的中央处理器(Central Processing Unit,CPU),微处理器,特定应用集成电路(Application-Specific Integrated Circuit,ASIC),或一个或多个用于控制上述方法实施例提供的应用于出方向PE设备的报文转发方法或应用于入方向PE设备的报文转发方法的程序执行的集成电路。
存储器310可以是ROM或可存储静态信息和指令的其它类型的静态存储设备,RAM或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically Erasable Programmabler-Only MEMory,EEPROM)、只读光盘(CompactdiscRead-Only MEMory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器310可以是独立存在,通过通信总线与处理器320相连接。存储器310也可以和处理器320集成在一起。其中,存储器310用于存储执行本申请方案的机器可执行指令。处理器320用于执行存储器310中存储的机器可执行指令,以实现上述的方法实施例。
本发明实施例还提供一种包含计算机程序的计算机可读存储介质,计算机程序在被执行时可以用于执行上述的方法实施例提供的应用于出方向PE设备的报文转发方法或应用于入方向PE设备的报文转发方法中的相关操作。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (12)
1.一种报文转发方法,其特征在于,应用于报文转发系统中的目标出方向PE设备,所述报文转发系统包括多个出方向PE设备,每个所述出方向PE设备均与多归属CE设备通信连接,所述报文转发系统还包括入方向PE设备,每个所述出方向PE设备均与所述入方向PE设备通信连接,所述方法包括:
解封装来自所述入方向PE设备的待转发报文,获取报文标签;
若所述报文标签为单播标签,则基于所述报文标签进行MAC查找,生成查找结果,其中,所述单播标签表征所述入方向PE设备上存在针对所述多归属CE设备的MAC表项;
若所述查找结果不为空,则按照所述查找结果,将所述待转发报文转发至所述多归属CE设备;
若所述查找结果为空,则根据预先设置的VLAN广播域,将所述待转发报文转发至所述多归属CE设备,以避免出现丢包。
2.如权利要求1所述的方法,其特征在于,所述基于所述报文标签进行MAC地址查找,生成查找结果的步骤包括:
根据所述报文标签的标签值和本地MPLS表项,确定目标转发域;
按照所述待转发报文中携带的内层MAC地址,在所述目标转发域中进行MAC查找;
若查找到自身指向所述多归属CE设备的AC口,则将所述AC口作为所述查找结果;
若未查找到自身指向所述多归属CE设备的AC口,则将所述查找结果置为空。
3.如权利要求1所述的方法,其特征在于,所述VLAN广播域中添加有所有出方向PE设备上指向所述多归属CE设备的AC口,所述根据预先设置的VLAN广播域,将所述待转发报文转发至所述多归属CE设备的步骤包括:
将所述待转发报文广播至所有出方向PE设备上指向所述多归属CE设备的AC口,以通过所有出方向PE设备上指向所述多归属CE设备的AC口,将所述待转发报文转发至所述多归属CE设备。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
若所述报文标签为BUM标签,则利用预先创建的BUM组播组,将所述待转发报文转发至所述多归属CE设备,以避免出现多包,其中,所述BUM标签表征所述入方向PE设备上不存在针对所述多归属CE设备的MAC表项。
5.一种报文转发方法,其特征在于,应用于报文转发系统中的入方向PE设备,所述报文转发系统包括多个出方向PE设备,每个所述出方向PE设备均与所述入方向PE设备通信连接,每个所述出方向PE设备还均与多归属CE设备通信连接,所述方法包括:
若自身存在针对所述多归属CE设备的MAC表项,则向待转发报文中添加单播标签;
将携带有单播标签的待转发报文发送至所述多个出方向PE设备中的任一目标出方向PE设备,以使所述目标出方向PE设备基于所述单播标签进行MAC查找,并在得到的查找结果不为空时,按照所述查找结果,将所述待转发报文转发至所述多归属CE设备,在得到的查找结果为空时,根据预先设置的VLAN广播域,将所述待转发报文转发至所述多归属CE设备,避免出现丢包。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
若自身不存在针对所述多归属CE设备的MAC表项,则向待转发报文中添加BUM标签;
将携带有BUM标签的待转发报文发送至所述多个出方向PE设备,以使所述多个出方向PE设备中的DF设备利用预先创建的BUM组播组,将所述待转发报文转发至所述多归属CE设备,避免出现多包。
7.一种报文转发装置,其特征在于,应用于报文转发系统中的目标出方向PE设备,所述报文转发系统包括多个出方向PE设备,每个所述出方向PE设备均与多归属CE设备通信连接,所述报文转发系统还包括入方向PE设备,每个所述出方向PE设备均与所述入方向PE设备通信连接,所述装置包括:
获取模块,用于解封装来自所述入方向PE设备的待转发报文,获取报文标签;
处理模块,用于若所述报文标签为单播标签,则基于所述报文标签进行MAC查找,生成查找结果,其中,所述单播标签表征所述入方向PE设备上存在针对所述多归属CE设备的MAC表项;
转发模块,用于若所述查找结果不为空,则按照所述查找结果,将所述待转发报文转发至所述多归属CE设备;若所述查找结果为空,则根据预先设置的VLAN广播域,将所述待转发报文转发至所述多归属CE设备,以避免出现丢包。
8.一种报文转发装置,其特征在于,应用于报文转发系统中的入方向PE设备,所述报文转发系统包括多个出方向PE设备,每个所述出方向PE设备均与所述入方向PE设备通信连接,每个所述出方向PE设备还均与多归属CE设备通信连接,所述装置包括:
添加模块,用于若自身存在针对所述多归属CE设备的MAC表项,则向待转发报文中添加单播标签;
发送模块,用于将携带有单播标签的待转发报文发送至所述多个出方向PE设备中的任一目标出方向PE设备,以使所述目标出方向PE设备基于所述单播标签的标签值进行MAC查找,并在得到的查找结果不为空时,按照所述查找结果,将所述待转发报文转发至所述多归属CE设备,在得到的查找结果为空时,根据预先设置的VLAN广播域,将所述待转发报文转发至所述多归属CE设备,避免出现丢包。
9.一种出方向PE设备,其特征在于,其包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求1-4任一项所述的报文转发方法。
10.一种入方向PE设备,其特征在于,其包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求5-6任一项所述的报文转发方法。
11.一种报文转发系统,其特征在于,其包括多个如权利要求9所述的出方向PE设备和如权利要求10所述的入方向PE设备。
12.一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-4任一项所述的报文转发方法,或,如权利要求5-6任一项所述的报文转发方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310424863.0A CN116366546A (zh) | 2023-04-20 | 2023-04-20 | 报文转发方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310424863.0A CN116366546A (zh) | 2023-04-20 | 2023-04-20 | 报文转发方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116366546A true CN116366546A (zh) | 2023-06-30 |
Family
ID=86921046
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310424863.0A Pending CN116366546A (zh) | 2023-04-20 | 2023-04-20 | 报文转发方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116366546A (zh) |
-
2023
- 2023-04-20 CN CN202310424863.0A patent/CN116366546A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9722878B2 (en) | Seamless segment routing | |
CN111682996B (zh) | 网络中报文转发的方法、网络节点、网络系统 | |
CN110798403B (zh) | 通信方法、通信设备和通信系统 | |
CN108600074B (zh) | 组播数据报文的转发方法及装置 | |
CN112019433B (zh) | 一种报文转发方法和装置 | |
CN110380959B (zh) | 转发报文方法和装置 | |
US20090135833A1 (en) | Ingress node and egress node with improved packet transfer rate on multi-protocol label switching (MPLS) network, and method of improving packet transfer rate in MPLS network system | |
CN108965092B (zh) | 一种数据报文传输方法和装置 | |
CN106921573B (zh) | NVo3网络中用于发布租户路由的方法及装置 | |
US20220124024A1 (en) | Establishment of method and apparatus for implementing entry backup | |
CN112887139A (zh) | 报文处理方法及装置 | |
CN113726653B (zh) | 报文处理方法及装置 | |
CN112822097A (zh) | 报文转发的方法、第一网络设备以及第一设备组 | |
EP4020903A1 (en) | Method and apparatus for preventing traffic bypassing | |
WO2020244304A1 (zh) | 路由信息发送的方法、路由选路的方法和装置 | |
US20230081052A1 (en) | Method and apparatus for sending multicast packet | |
CN110620715B (zh) | 虚拟扩展局域网通信方法、隧道端点和控制器 | |
CN113923162B (zh) | 一种报文转发方法、装置、设备及存储介质 | |
CN112291234B (zh) | 流量回注方法、装置、设备及计算机可读存储介质 | |
CN116366546A (zh) | 报文转发方法及相关装置 | |
CN112367238B (zh) | 报文处理方法及装置 | |
CN111010344B (zh) | 报文转发方法、装置、电子设备及机器可读存储介质 | |
CN113840016A (zh) | 报文处理方法、装置和计算机可读存储介质 | |
US12034634B2 (en) | Information processing method, node, and computer-readable storage medium | |
CN113949662B (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 |