CN114221834B - 一种报文转发方法及装置 - Google Patents
一种报文转发方法及装置 Download PDFInfo
- Publication number
- CN114221834B CN114221834B CN202111406382.4A CN202111406382A CN114221834B CN 114221834 B CN114221834 B CN 114221834B CN 202111406382 A CN202111406382 A CN 202111406382A CN 114221834 B CN114221834 B CN 114221834B
- Authority
- CN
- China
- Prior art keywords
- mac
- network
- vsi
- message
- route
- 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 24
- 230000006855 networking Effects 0.000 abstract description 7
- 230000006870 function Effects 0.000 description 35
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种报文转发方法及装置。该方法应用于EVPN VPLS组网中使能了针对指定VSI的MAC网段路由接收功能的第一PE设备,且包括:接收接入到自身上的任一CE设备发送的网络报文;如果网络报文所属的VSI为指定VSI,则在指定VSI对应的MAC表中查找与网络报文的目的MAC地址匹配的MAC表项;如果未查找到与目的MAC地址匹配的MAC表项,则在MAC表中的MAC网段表项中进一步查找与目的MAC地址中的前N位的十六进制字段匹配的MAC表项;根据预设的确定策略,从查找到的MAC表项中包括的出接口中确定网络报文的出接口,并通过选择出的出接口,将网络报文转发出去。本申请可提高相关链路的带宽利用率。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种报文转发方法及装置。
背景技术
在以太网虚拟专用网络-虚拟专用局域网服务(Ethernet Virtual PrivateNetwork-Virtual Private Lan Service,EVPN VPLS)组网中,任一用户边缘(CustomerEdge,CE)设备下挂的用户设备通常较多,该CE设备接入的服务商边缘(Provider Edge,PE)设备需要向与该PE设备互为EVPN邻居)的远端PE设备发布大量的媒体访问控制(MediaAccess Control,MAC)/互联网协议(Internet Protocol,IP)通告路由(MAC/IPAdvertisement Route,也称第二类EVPN路由),这样一来,远端PE需要保存大量的MAC地址表项,从而占用了较多的表项资源。
为了节省PE设备侧的表项资源,在一种EVPN VPLS组网中,在多个CE设备双归属接入到相同的两个PE设备上的同一个虚拟交换实例(Virtual Switch Instance,VSI)下、这两个PE设备的EVPN邻居相同且这两个PE设备之间的路由可达的场景下,在这两个PE设备上均使能针对该VSI的未知MAC路由(Unknown MAC Route,UMR)发布功能,在相应的远端PE设备上使能针对该VSI的UMR接收功能。
使能了针对该VSI的UMR发布功能的任一PE设备会向相应的远端PE设备发送包括的MAC地址为0-0-0的MAC/IP通告路由,由相应的远端PE设备基于此MAC/IP通告路由,生成相应的MAC地址表项,并将其作为该VSI的缺省MAC地址表项添加到该VSI对应的MAC地址表中。
在这里,相应的远端PE设备会接收到这两个使能了该VSI的UMR发布功能的PE设备发布的上述MAC/IP通告路由,生成的相应的MAC地址表项中的出接口有两个,这两个出接口分别为该远端PE设备上与这两个PE设备进行通信的接口。
后续相应的远端PE设备在接收到接入到自身上的任一CE设备发送的网络报文时,会执行以下操作流程:如果该网络报文所属的VSI为该VSI,则在该VSI对应的MAC表中查找与该网络报文的目的MAC地址匹配的MAC表项;如果未查找到与该网络报文的目的MAC地址匹配的MAC表项,则根据预设的负载分担选择策略,从该VSI对应的MAC表中的缺省MAC表项中包括的出接口中选择一个出接口,并通过选择出的出接口将该网络报文转发出去。
但是,在这两个PE设备中的任一PE设备与上述多个CE设备中的部分CE设备之间的链路断开时,由于该PE设备不会撤销上述MAC/IP通告路由,这样一来,相应的远端PE设备在接收到需要发往这部分CE设备下挂的用户设备的网络报文时,基于上述缺省MAC表项选择出的出接口可能还是与该PE设备通信的出接口,从而出现此网络报文被绕行发往到对应的目的用户设备,致使相应的远端PE设备与该PE设备之间的链路的带宽利用率较低。
发明内容
为克服相关技术中存在的问题,本申请提供了一种报文转发方法及装置。
根据本申请实施例的第一方面,提供一种报文转发方法,所述方法应用于EVPNVPLS组网中使能了针对指定VSI的MAC网段路由接收功能的第一PE设备,所述方法包括:
接收接入到自身上的任一CE设备发送的网络报文;
如果所述网络报文所属的VSI为所述指定VSI,则在所述指定VSI对应的MAC表中查找与所述网络报文的目的MAC地址匹配的MAC表项;
如果未查找到与所述目的MAC地址匹配的MAC表项,则在所述MAC表中的MAC网段表项中进一步查找与所述目的MAC地址中的前N位的十六进制字段匹配的MAC表项;
根据预设的确定策略,从查找到的MAC表项中包括的出接口中确定所述网络报文的出接口,并通过选择出的出接口,将所述网络报文转发出去;
其中,所述MAC网段表项为所述第一PE设备在初始时根据与所述第一PE设备互为EVPN邻居、且使能了针对所述指定VSI的MAC网段路由发布功能的两个第二PE设备针对各自与接入到所述指定VSI下的CE设备之间的链路发布的MAC/IP通告路由生成的,每条MAC/IP通告路由中包括的MAC地址为对应的链路所对应的带有掩码MAC的MAC网段地址,不同的链路对应不同的MAC网段地址,所有MAC网段地址对应的掩码MAC相同,所有的第二PE设备之间路由可达,且所有的第二PE设备上接入所述指定VSI下的CE设备均包括有相同的双归属CE设备;或者,
所述MAC网段表项为所述第一PE设备在接收到所述网络报文之前,基于最近一次接收到的任一第二PE设备发送的路由撤销消息,从当前的MAC网段表项中撤销对应的路由撤销消息中携带的带有掩码MAC的MAC网段地址对应的MAC表项之后得到的,每条路由撤销消息为对应的来源第二PE设备在感知到与自身接入的任一CE设备之间的链路断开时发送的;
所述N的取值为所述掩码MAC的掩码长度。
根据本申请实施例的第二方面,提供一种报文转发装置,所述装置应用于EVPNVPLS组网中使能了针对指定VSI的MAC网段路由接收功能的第一PE设备,所述装置包括:
接收模块,用于接收接入到自身上的任一CE设备发送的网络报文;
第一查找模块,用于在所述网络报文所属的VSI为所述指定VSI时,在所述指定VSI对应的MAC表中查找与所述网络报文的目的MAC地址匹配的MAC表项;
第二查找模块,用于在所述第一查找模块未查找到与所述目的MAC地址匹配的MAC表项,则在所述MAC表中的MAC网段表项中进一步查找与所述目的MAC地址中的前N位的十六进制字段匹配的MAC表项;
第一转发模块,用于根据预设的确定策略,从所述第二查找模块查找到的MAC表项中包括的出接口中确定所述网络报文的出接口,并通过选择出的出接口,将所述网络报文转发出去;
其中,所述MAC网段表项为所述第一PE设备在初始时根据与所述第一PE设备互为EVPN邻居、且使能了针对所述指定VSI的MAC网段路由发布功能的两个第二PE设备针对各自与接入到所述指定VSI下的CE设备之间的链路发布的MAC/IP通告路由生成的,每条MAC/IP通告路由中包括的MAC地址为对应的链路所对应的带有掩码MAC的MAC网段地址,不同的链路对应不同的MAC网段地址,所有MAC网段地址对应的掩码MAC相同,所有的第二PE设备之间路由可达,且所有的第二PE设备上接入所述指定VSI下的CE设备均包括有相同的双归属CE设备;或者,
所述MAC网段表项为所述第一PE设备在接收到所述网络报文之前,基于最近一次接收到的任一第二PE设备发送的路由撤销消息,从当前的MAC网段表项中撤销对应的路由撤销消息中携带的带有掩码MAC的MAC网段地址对应的MAC表项之后得到的,每条路由撤销消息为对应的来源第二PE设备在感知到与自身接入的任一CE设备之间的链路断开时发送的;
所述N的取值为所述掩码MAC的掩码长度。
本申请的实施例提供的技术方案可以包括以下有益效果:
在本申请实施例中,在多个CE设备双归属接入到相同的两个PE设备上的指定VSI下、这两个PE设备的EVPN邻居相同且这两个PE设备之间的路由可达的场景下,在这两个PE设备上均使能针对指定VSI的MAC网段路由发布功能,在与这两个PE设备互为EVPN邻居的PE设备上使能针对指定VSI的MAC网段路由接收功能。初始时,使能了针对指定VSI的MAC网段路由接收功能的PE设备会基于使能了针对指定VSI的MAC网段路由发布功能的这两个PE设备发布的针对各自与接入到指定VSI下的CE设备之间的链路发布的MAC/IP通告路由(包括的MAC地址为带有掩码MAC的MAC网段地址),生成相应的MAC网段表项,并将其添加到指定VSI对应的MAC表中,可以节省本地的表项资源;一旦接收到这两个PE设备中的任意一个PE设备在感知到与自身接入的任一CE设备之间的链路断开时发送的路由撤销消息,会及时撤销该路由撤销消息中携带的带有掩码MAC的MAC网段地址对应的MAC表项。
这样一来,对于使能了针对指定VSI的MAC网段路由接收功能的PE设备而言,在接收到接入到自身上的任一CE设备发送的网络报文时,如果该网络报文所属的VSI为该指定VSI、且在该指定VSI对应的MAC表中未查找到与该网络报文的目的MAC地址匹配的MAC表项,则在该MAC表中的MAC网段表项中查找与该目的MAC地址中的前N位(N的取值为上述掩码MAC的掩码长度)的十六进制字段匹配的MAC表项;之后,根据预设的确定策略,从查找到的MAC表项中包括的出接口中确定该网络报文的出接口,并通过选择出的出接口,将该网络报文转发出去。
在这种网络报文的转发流程中,由于MAC网段表项中不存在使能了针对指定VSI的MAC网段路由发布功能的PE设备与其接入的双归属CE设备之间断开的链路对应的MAC网段表项,所以不会存在网络报文被绕行发往到对应的目的用户设备的问题,从而提高了使能了针对指定VSI的MAC网段路由发布功能的PE设备与存在断开链路的PE设备之间的链路的带宽利用率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本申请的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的一种报文转发方法的流程示意图;
图2为本申请实施例提供的一种EVPN VPLS组网示意图;
图3为本申请实施例提供的一种报文转发装置的结构示意图;
图4为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
接下来对本申请实施例进行详细说明。
本申请实施例提供了一种报文转发方法,该方法应用于EVPN VPLS组网中使能了针对指定VSI的MAC网段路由接收功能的第一PE设备,如图1所示,该方法可以包括如下步骤:
S11、接收接入到自身上的任一CE设备发送的网络报文。
S12、如果网络报文所属的VSI为指定VSI,则在指定VSI对应的MAC表中查找与网络报文的目的MAC地址匹配的MAC表项。
S13、如果未查找到与目的MAC地址匹配的MAC表项,则在MAC表中的MAC网段表项中进一步查找与目的MAC地址中的前N位的十六进制字段匹配的MAC表项。
在本步骤中,上述MAC网段表项可能是第一PE设备在初始时根据与第一PE设备互为EVPN邻居、且使能了针对指定VSI的MAC网段路由发布功能的两个第二PE设备针对各自与接入到指定VSI下的CE设备之间的链路发布的MAC/IP通告路由生成的,其中,每条MAC/IP通告路由中包括的MAC地址为对应的链路所对应的带有掩码MAC的MAC网段地址,不同的链路对应不同的MAC网段地址,所有MAC网段地址对应的掩码MAC相同,且所有的第二PE设备上接入所述指定VSI下的CE设备均包括相同的双归属CE设备;或者,
上述MAC网段表项还可能是第一PE设备在接收到网络报文之前,基于最近一次接收到的任一第二PE设备发送的路由撤销消息,从当前的MAC网段表项中撤销对应的路由撤销消息中携带的带有掩码MAC的MAC网段地址对应的MAC表项之后得到的,其中,每条路由撤销消息为对应的来源第二PE设备在感知到与自身接入的任一CE设备之间的链路断开时发送的;
上述N的取值为掩码MAC的掩码长度。例如,N为8、16、24、32或者40。
S14、根据预设的确定策略,从查找到的MAC表项中包括的出接口中确定网络报文的出接口,并通过选择出的出接口,将网络报文转发出去。
需要说明的是,在本申请实施例中,第一PE设备在执行完上述步骤S11之后,如果发现网络报文所属的VSI不为指定VSI,第一PE设备仍然按照现有的针对网络报文所属的VSI设置的转发机制转发网络报文。
第一PE设备在执行完上述步骤S12之后,如果在指定VSI对应的MAC表中查找到与网络报文的目的MAC地址匹配的MAC表项,就意味着此网络报文的目的用户设备是第一PE设备上的其他CE设备,在这种情形下,第一PE设备通过查找到的MAC表项中的出接口,将网络报文转发出去。
另外,对于第一PE设备来说,在初始时,会接收到上述每个第二PE设备发布的针对各自与接入到指定VSI下的CE设备(可以仅包括至少一个双归属CE设备,也可以包括至少一个双归属CE设备和至少一个单归属CE设备)之间的链路的MAC/IP通告路由(包括的MAC地址为带有掩码MAC的MAC网段地址);第一PE设备会根据这些MAC/IP通告路由,生成相应的MAC网段表项,并将其添加到指定VSI对应的MAC表中,这样一来,可以节省本地的表项资源。
后续任一第二PE设备在感知到与自身接入的任一CE设备之间的链路断开的情形下,会向第一PE设备发送路由撤销消息,该路由撤销消息中携带有断开的链路对应的带有掩码MAC的MAC网段地址,这样一来,第一PE设备会基于该路由撤销消息,从当前的MAC网段表项中撤销该对应的路由撤销消息中携带的带有掩码MAC的MAC网段地址对应的MAC表项,以便于第一PE设备在转发需要发往该第二PE设备接入的指定VSI下的双归属CE设备下挂的用户设备的网络报文时,不会选择到与该第二PE设备进行通信的出接口,即,不会存在网络报文被绕行转发的发问题,从而提高了第一PE设备与该第二PE设备之间的链路的带宽利用率。
进一步需要说明的是,在本申请实施例中,第一PE设备上接入到指定VSI下的CE设备可以仅包括至少一个单归属CE设备,也可以仅包括至少一个双归属CE设备,还可以包括至少一个单归属CE设备和至少一个双归属CE设备。
在第一PE设备上接入到指定VSI下的CE设备包括至少一个双归属CE设备的情形下,如果这些CE设备双归属接入的其他PE设备与第一PE设备有相同的EVPN邻居,且第一PE设备与其他PE设备之间的路由可达,那么,第一PE设备还被使能了针对指定VSI的MAC网段路由发布功能,具体执行的操作类似于上述任一第二PE设备,在此不再详述。
具体地,在上述步骤S14中,第一PE设备可以通过以下方式确定网络报文的出接口:
如果查找到的MAC表项中仅包括一个出接口,则将该出接口确定为网络报文的出接口;
如果查找到的MAC表项中包括多个出接口,则按照预设的哈希算法,对网络报文的五元组信息进行哈希运算,得到哈希值;
将查找到的MAC表项中包括的哈希值对应的出接口,确定为网络报文的出接口。
在这种方式中,预设的哈希算法可以是MD5信息摘要算法(MD5 Message-DigestAlgorithm),也可以是SHA-1算法,当然还可以是其他算法,在此不再一一列举。
下面结合具体实施例对上述报文转发方法进行详细说明。
如图2所示,假设PE设备1的某个VSI(例如VSI-1)下接入了单归属CE设备1;假设PE设备2的VSI-1下接入了2个双归属CE设备,分别为CE设备2和CE设备3;假设PE设备3的VSI-1下也接入了CE设备2和CE设备3;假设PE设备2和PE设备3的EVPN邻居均是PE设备1。在这里,CE设备2和CE设备3是通过聚合链路双归属接入PE设备2和PE设备3的。
假设PE设备2与CE设备2之间的链路1和PE3与CE设备2之间的链路3对应的带掩码MAC的MAC网段地址为0000-0010-0000ffff-ffff-0000-0000;假设PE设备2与CE设备3之间的链路2和PE3与CE设备3之间的链路4对应的带掩码MAC的MAC网段地址为0000-0011-0000ffff-ffff-0000-0000。
在PE设备2和PE设备3上均使能针对VSI-1的MAC网段路由发布功能,在PE设备1上使能针对VSI-1的MAC网段路由接收功能。
那么,PE设备2和PE设备3均会向PE设备1发送两条MAC/IP通告路由。其中,一条MAC/IP通告路由中包括的MAC地址为0000-0010-0000ffff-ffff-0000-0000,另一条MAC/IP通告路由中包括的MAC地址为0000-0011-0000ffff-ffff-0000-0000。
PE设备1会基于这两条MAC/IP通告路由,生成两条MAC网段表项,并将这两条MAC网段表项添加到VSI-1对应的MAC表中。
在这里,一条MAC网段表项中的MAC地址为0000-0010-0000ffff-ffff-0000-0000,出接口分别为PE设备1上与PE设备2和PE设备3进行通信的接口;另一条MAC网段表项中的MAC地址为0000-0011-0000ffff-ffff-0000-0000,出接口分别为PE设备1上与PE设备2和PE设备3进行通信的接口。
接下来,假设PE设备1接收到CE设备1发送的需要发往CE设备2下挂的某个用户设备(图3中未示出)的网络报文1,在这种情形下,PE设备1发现该网络报文1所属的VSI为VSI-1,在VSI-1对应的MAC表中查找与网络报文1的目的MAC地址匹配的MAC表项。
由于VSI-1对应的MAC表中不存在目的MAC地址对应的MAC表项,所以,查找结果为未查找到与网络报文1的目的MAC地址匹配的MAC表项,此时,PE设备1在VSI-1对应的MAC表中的MAC网段表项中查找与目的MAC地址中的前8位的十六进制字段匹配的MAC表项,得到包括的MAC地址为0000-0010-0000ffff-ffff-0000-0000的MAC表项。
由于得到的MAC表项中包括两个出接口,PE设备1会根据MD5信息摘要算法对网络报文1的五元组信息进行哈希运算,得到哈希值,从包括的MAC地址为0000-0010-0000ffff-ffff-0000-0000的MAC表项中选择得到的哈希值对应的出接口,假设选择出的出接口为PE设备1与PE设备2进行通信的接口,PE设备1通过选择出的出接口将网络报文1转发出去,后续经由PE设备2和CE设备2到达这个用户设备。
再接下来,续假设PE设备2感知到链路1断开,PE设备2会向PE设备1发送路由撤销消息1。其中,路由撤销消息1中携带有1链路对应的带有掩码MAC的MAC网段地址(即,0000-0010-0000ffff-ffff-0000-0000)。
PE设备1在接收到路由撤销消息1后,从当前的MAC网段表项中撤销路由撤销消息1中携带的带有掩码MAC的MAC网段地址(即,0000-0010-0000ffff-ffff-0000-0000)对应的MAC表项。
假设PE设备1再次接收到CE设备1发送的需要发往CE设备2下挂的另一个用户设备(图3中未示出)的网络报文2时,在这种情形下,PE设备1发现该网络报文1所属的VSI仍为VSI-1,在VSI-1对应的MAC表中查找与网络报文1的目的MAC地址匹配的MAC表项。
由于VSI-1对应的MAC表中不存在此目的MAC地址对应的MAC表项,所以,查找结果为未查找到与网络报文2的目的MAC地址匹配的MAC表项,此时,PE设备1在VSI-1对应的MAC表中的MAC网段表项中查找与此目的MAC地址中的前8位的十六进制字段匹配的MAC表项,得到包括的MAC地址为0000-0010-0000ffff-ffff-0000-0000的MAC表项。
由于得到的MAC表项中仅包括一个出接口(即,PE设备3与CE设备2进行通信的接口),所以,PE设备直接通过这个出接口将网络报文2转发出去,后续经由PE设备3和CE设备2到达另一个用户设备。
由以上技术方案可以看出,在本申请实施例中,在多个CE设备双归属接入到相同的两个PE设备上的指定VSI下、这两个PE设备的EVPN邻居相同且这两个PE设备之间的路由可达的场景下,在这两个PE设备上均使能针对指定VSI的MAC网段路由发布功能,在与这两个PE设备互为EVPN邻居的PE设备上使能针对指定VSI的MAC网段路由接收功能。初始时,使能了针对指定VSI的MAC网段路由接收功能的PE设备会基于使能了针对指定VSI的MAC网段路由发布功能的这两个PE设备发布的针对各自与接入到指定VSI下的CE设备之间的链路发布的MAC/IP通告路由(包括的MAC地址为带有掩码MAC的MAC网段地址),生成相应的MAC网段表项,并将其添加到指定VSI对应的MAC表中,可以节省本地的表项资源;一旦接收到这两个PE设备中的任意一个PE设备在感知到与自身接入的任一CE设备之间的链路断开时发送的路由撤销消息,会及时撤销该路由撤销消息中携带的带有掩码MAC的MAC网段地址对应的MAC表项。
这样一来,对于使能了针对指定VSI的MAC网段路由接收功能的PE设备而言,在接收到接入到自身上的任一CE设备发送的网络报文时,如果该网络报文所属的VSI为该指定VSI、且在该指定VSI对应的MAC表中未查找到与该网络报文的目的MAC地址匹配的MAC表项,则在该MAC表中的MAC网段表项中查找与该目的MAC地址中的前N位(N的取值为上述掩码MAC的掩码长度)的十六进制字段匹配的MAC表项;之后,根据预设的确定策略,从查找到的MAC表项中包括的出接口中确定该网络报文的出接口,并通过选择出的出接口,将该网络报文转发出去。
在这种网络报文的转发流程中,由于MAC网段表项中不存在使能了针对指定VSI的MAC网段路由发布功能的PE设备与其接入的双归属CE设备之间断开的链路对应的MAC网段表项,所以不会存在网络报文被绕行发往到对应的目的用户设备的问题,从而提高了使能了针对指定VSI的MAC网段路由发布功能的PE设备与存在断开链路的PE设备之间的链路的带宽利用率。
基于同一发明构思,本申请还提供了一种报文转发装置,所述装置应用于EVPNVPLS组网中使能了针对VSI的MAC网段路由接收功能的第一PE设备,其结构示意图如图3所示,具体包括:
接收模块31,用于接收接入到自身上的任一用户边缘CE设备发送的网络报文;
第一查找模块32,用于在所述网络报文所属的VSI为所述指定VSI时,在所述指定VSI对应的MAC表中查找与所述网络报文的目的MAC地址匹配的MAC表项;
第二查找模块33,用于在所述第一查找模块32未查找到与所述目的MAC地址匹配的MAC表项,则在所述MAC表中的MAC网段表项中进一步查找与所述目的MAC地址中的前N位的十六进制字段匹配的MAC表项;
第一转发模块34,用于根据预设的确定策略,从所述第二查找模块33查找到的MAC表项中包括的出接口中确定所述网络报文的出接口,并通过选择出的出接口,将所述网络报文转发出去;
其中,所述MAC网段表项为所述第一PE设备在初始时根据与所述第一PE设备互为EVPN邻居、且使能了针对所述指定VSI的MAC网段路由发布功能的两个第二PE设备针对各自与接入到所述指定VSI下的CE设备之间的链路发布的MAC/IP通告路由生成的,每条MAC/IP通告路由中包括的MAC地址为对应的链路所对应的带有掩码MAC的MAC网段地址,不同的链路对应不同的MAC网段地址,所有MAC网段地址对应的掩码MAC相同,所有的第二PE设备之间路由可达,且所有的第二PE设备上接入所述指定VSI下的CE设备均包括有相同的双归属CE设备;或者,
所述MAC网段表项为所述第一PE设备在接收到所述网络报文之前,基于最近一次接收到的任一第二PE设备发送的路由撤销消息,从当前的MAC网段表项中撤销对应的路由撤销消息中携带的带有掩码MAC的MAC网段地址对应的MAC表项之后得到的,每条路由撤销消息为对应的来源第二PE设备在感知到与自身接入的任一CE设备之间的链路断开时发送的;
所述N的取值为所述掩码MAC的掩码长度。
优选地,所述装置还包括:
第二转发模块(图3中未示出),用于在所述指定VSI对应的MAC表中查找与所述网络报文的目的MAC地址匹配的MAC表项之后,如果所述第一查找模块32查找到与所述网络报文的目的MAC地址匹配的MAC表项,则通过查找到的MAC表项中的出接口,将所述网络报文转发出去。
优选地,所述第一转发模块34,具体用于:
如果所述第二查找模块33查找到的MAC表项中仅包括一个出接口,则将该出接口确定为所述网络报文的出接口;
如果所述第二查找模块33查找到的MAC表项中包括多个出接口,则按照预设的哈希算法,对所述网络报文的五元组信息进行哈希运算,得到哈希值,并将所述第二查找模块33查找到的MAC表项中包括的所述哈希值对应的出接口,确定为所述网络报文的出接口。
优选地,所述预设的哈希算法为MD5信息摘要算法。
优选地,所述预设的哈希算法为SHA-1算法。
由以上技术方案可以看出,在本申请实施例中,在多个CE设备双归属接入到相同的两个PE设备上的指定VSI下、这两个PE设备的EVPN邻居相同且这两个PE设备之间的路由可达的场景下,在这两个PE设备上均使能针对指定VSI的MAC网段路由发布功能,在与这两个PE设备互为EVPN邻居的PE设备上使能针对指定VSI的MAC网段路由接收功能。初始时,使能了针对指定VSI的MAC网段路由接收功能的PE设备会基于使能了针对指定VSI的MAC网段路由发布功能的这两个PE设备发布的针对各自与接入到指定VSI下的CE设备之间的链路发布的MAC/IP通告路由(包括的MAC地址为带有掩码MAC的MAC网段地址),生成相应的MAC网段表项,并将其添加到指定VSI对应的MAC表中,可以节省本地的表项资源;一旦接收到这两个PE设备中的任意一个PE设备在感知到与自身接入的任一CE设备之间的链路断开时发送的路由撤销消息,会及时撤销该路由撤销消息中携带的带有掩码MAC的MAC网段地址对应的MAC表项。
这样一来,对于使能了针对指定VSI的MAC网段路由接收功能的PE设备而言,在接收到接入到自身上的任一CE设备发送的网络报文时,如果该网络报文所属的VSI为该指定VSI、且在该指定VSI对应的MAC表中未查找到与该网络报文的目的MAC地址匹配的MAC表项,则在该MAC表中的MAC网段表项中查找与该目的MAC地址中的前N位(N的取值为上述掩码MAC的掩码长度)的十六进制字段匹配的MAC表项;之后,根据预设的确定策略,从查找到的MAC表项中包括的出接口中确定该网络报文的出接口,并通过选择出的出接口,将该网络报文转发出去。
在这种网络报文的转发流程中,由于MAC网段表项中不存在使能了针对指定VSI的MAC网段路由发布功能的PE设备与其接入的双归属CE设备之间断开的链路对应的MAC网段表项,所以不会存在网络报文被绕行发往到对应的目的用户设备的问题,从而提高了使能了针对指定VSI的MAC网段路由发布功能的PE设备与存在断开链路的PE设备之间的链路的带宽利用率。
本申请实施例还提供了一种电子设备,如图4所示,包括处理器41和机器可读存储介质42,所述机器可读存储介质42存储有能够被所述处理器41执行的机器可执行指令,所述处理器41被所述机器可执行指令促使:实现上述报文转发方法的步骤。
上述的机器可读存储介质可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,机器可读存储介质还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述报文转发方法的步骤。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种报文转发方法,其特征在于,所述方法应用于以太网虚拟专用网络-虚拟专用局域网服务EVPN VPLS组网中使能了针对指定虚拟交换实例VSI的MAC网段路由接收功能的第一服务商边缘PE设备,所述方法包括:
接收接入到自身上的任一用户边缘CE设备发送的网络报文;
如果所述网络报文所属的VSI为所述指定VSI,则在所述指定VSI对应的MAC表中查找与所述网络报文的目的MAC地址匹配的MAC表项;
如果未查找到与所述目的MAC地址匹配的MAC表项,则在所述MAC表中的MAC网段表项中进一步查找与所述目的MAC地址中的前N位的十六进制字段匹配的MAC表项;
根据预设的确定策略,从查找到的MAC表项中包括的出接口中确定所述网络报文的出接口,并通过选择出的出接口,将所述网络报文转发出去;
其中,所述MAC网段表项为所述第一PE设备在初始时根据与所述第一PE设备互为EVPN邻居、且使能了针对所述指定VSI的MAC网段路由发布功能的两个第二PE设备针对各自与接入到所述指定VSI下的CE设备之间的链路发布的MAC/IP通告路由生成的,每条MAC/IP通告路由中包括的MAC地址为对应的链路所对应的带有掩码MAC的MAC网段地址,不同的链路对应不同的MAC网段地址,所有MAC网段地址对应的掩码MAC相同,所有的第二PE设备之间路由可达,且所有的第二PE设备上接入所述指定VSI下的CE设备均包括有相同的双归属CE设备;或者,
所述MAC网段表项为所述第一PE设备在接收到所述网络报文之前,基于最近一次接收到的任一第二PE设备发送的路由撤销消息,从当前的MAC网段表项中撤销对应的路由撤销消息中携带的带有掩码MAC的MAC网段地址对应的MAC表项之后得到的,每条路由撤销消息为对应的来源第二PE设备在感知到与自身接入的任一CE设备之间的链路断开时发送的;
所述N的取值为所述掩码MAC的掩码长度。
2.根据权利要求1所述的方法,其特征在于,在所述指定VSI对应的MAC表中查找与所述网络报文的目的MAC地址匹配的MAC表项之后,所述方法还包括:
如果查找到与所述网络报文的目的MAC地址匹配的MAC表项,则通过查找到的MAC表项中的出接口,将所述网络报文转发出去。
3.根据权利要求1所述的方法,其特征在于,根据预设的确定策略,从查找到的MAC表项中包括的出接口中确定所述网络报文的出接口:
如果查找到的MAC表项中仅包括一个出接口,则将该出接口确定为所述网络报文的出接口;
如果查找到的MAC表项中包括多个出接口,则按照预设的哈希算法,对所述网络报文的五元组信息进行哈希运算,得到哈希值,并将查找到的MAC表项中包括的所述哈希值对应的出接口,确定为所述网络报文的出接口。
4.根据权利要求3所述的方法,其特征在于,所述预设的哈希算法为MD5信息摘要算法。
5.根据权利要求3所述的方法,其特征在于,所述预设的哈希算法为SHA-1算法。
6.一种报文转发装置,其特征在于,所述装置应用于以太网虚拟专用网络-虚拟专用局域网服务EVPN VPLS组网中使能了针对指定虚拟交换实例VSI的MAC网段路由接收功能的第一服务商边缘PE设备,所述装置包括:
接收模块,用于接收接入到自身上的任一用户边缘CE设备发送的网络报文;
第一查找模块,用于在所述网络报文所属的VSI为所述指定VSI时,在所述指定VSI对应的MAC表中查找与所述网络报文的目的MAC地址匹配的MAC表项;
第二查找模块,用于在所述第一查找模块未查找到与所述目的MAC地址匹配的MAC表项,则在所述MAC表中的MAC网段表项中进一步查找与所述目的MAC地址中的前N位的十六进制字段匹配的MAC表项;
第一转发模块,用于根据预设的确定策略,从所述第二查找模块查找到的MAC表项中包括的出接口中确定所述网络报文的出接口,并通过选择出的出接口,将所述网络报文转发出去;
其中,所述MAC网段表项为所述第一PE设备在初始时根据与所述第一PE设备互为EVPN邻居、且使能了针对所述指定VSI的MAC网段路由发布功能的两个第二PE设备针对各自与接入到所述指定VSI下的CE设备之间的链路发布的MAC/IP通告路由生成的,每条MAC/IP通告路由中包括的MAC地址为对应的链路所对应的带有掩码MAC的MAC网段地址,不同的链路对应不同的MAC网段地址,所有MAC网段地址对应的掩码MAC相同,所有的第二PE设备之间路由可达,且所有的第二PE设备上接入所述指定VSI下的CE设备均包括有相同的双归属CE设备;或者,
所述MAC网段表项为所述第一PE设备在接收到所述网络报文之前,基于最近一次接收到的任一第二PE设备发送的路由撤销消息,从当前的MAC网段表项中撤销对应的路由撤销消息中携带的带有掩码MAC的MAC网段地址对应的MAC表项之后得到的,每条路由撤销消息为对应的来源第二PE设备在感知到与自身接入的任一CE设备之间的链路断开时发送的;
所述N的取值为所述掩码MAC的掩码长度。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第二转发模块,用于在所述指定VSI对应的MAC表中查找与所述网络报文的目的MAC地址匹配的MAC表项之后,如果所述第一查找模块查找到与所述网络报文的目的MAC地址匹配的MAC表项,则通过查找到的MAC表项中的出接口,将所述网络报文转发出去。
8.根据权利要求6所述的装置,其特征在于,所述第一转发模块,具体用于:
如果所述第二查找模块查找到的MAC表项中仅包括一个出接口,则将该出接口确定为所述网络报文的出接口;
如果所述第二查找模块查找到的MAC表项中包括多个出接口,则按照预设的哈希算法,对所述网络报文的五元组信息进行哈希运算,得到哈希值,并将所述第二查找模块查找到的MAC表项中包括的所述哈希值对应的出接口,确定为所述网络报文的出接口。
9.根据权利要求8所述的装置,其特征在于,所述预设的哈希算法为MD5信息摘要算法。
10.根据权利要求8所述的装置,其特征在于,所述预设的哈希算法为SHA-1算法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111406382.4A CN114221834B (zh) | 2021-11-24 | 2021-11-24 | 一种报文转发方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111406382.4A CN114221834B (zh) | 2021-11-24 | 2021-11-24 | 一种报文转发方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114221834A CN114221834A (zh) | 2022-03-22 |
CN114221834B true CN114221834B (zh) | 2024-03-12 |
Family
ID=80698163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111406382.4A Active CN114221834B (zh) | 2021-11-24 | 2021-11-24 | 一种报文转发方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114221834B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115277309B (zh) * | 2022-07-26 | 2024-08-27 | 中国电信股份有限公司 | 报文转发方法、装置、存储介质与电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103685022A (zh) * | 2012-09-17 | 2014-03-26 | 杭州华三通信技术有限公司 | 报文转发方法及服务提供商网络边缘设备 |
CN104079478A (zh) * | 2013-03-25 | 2014-10-01 | 杭州华三通信技术有限公司 | 报文转发方法和装置 |
US9178816B1 (en) * | 2013-09-27 | 2015-11-03 | Juniper Networks, Inc. | Control plane messaging in all-active multi-homed ethernet virtual private networks |
WO2016101646A1 (zh) * | 2014-12-22 | 2016-06-30 | 华为技术有限公司 | 以太虚拟网络的接入方法及装置 |
WO2018166253A1 (zh) * | 2017-03-14 | 2018-09-20 | 华为技术有限公司 | Evpn报文处理方法、设备及系统 |
CN109412949A (zh) * | 2018-09-21 | 2019-03-01 | 新华三技术有限公司 | 一种数据报文传输方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10536285B2 (en) * | 2018-01-25 | 2020-01-14 | Juniper Networks, Inc. | Multicast join message processing by multi-homing devices in an ethernet VPN |
-
2021
- 2021-11-24 CN CN202111406382.4A patent/CN114221834B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103685022A (zh) * | 2012-09-17 | 2014-03-26 | 杭州华三通信技术有限公司 | 报文转发方法及服务提供商网络边缘设备 |
CN104079478A (zh) * | 2013-03-25 | 2014-10-01 | 杭州华三通信技术有限公司 | 报文转发方法和装置 |
US9178816B1 (en) * | 2013-09-27 | 2015-11-03 | Juniper Networks, Inc. | Control plane messaging in all-active multi-homed ethernet virtual private networks |
WO2016101646A1 (zh) * | 2014-12-22 | 2016-06-30 | 华为技术有限公司 | 以太虚拟网络的接入方法及装置 |
WO2018166253A1 (zh) * | 2017-03-14 | 2018-09-20 | 华为技术有限公司 | Evpn报文处理方法、设备及系统 |
CN109412949A (zh) * | 2018-09-21 | 2019-03-01 | 新华三技术有限公司 | 一种数据报文传输方法和装置 |
Non-Patent Citations (2)
Title |
---|
SR-TRP: extending IPv6 segment routing to enable trusted and private network paths;jiang zhou 等;《2020 IEEE symposium on computers and communications》;全文 * |
宽带远程接入 服务器 BRAS 冗余热备 份技术在 IP 城域网中的应用;王贤锋 等;《2013年中国通信学会信息通信网络技术委员会年会论文集》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114221834A (zh) | 2022-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7475349B2 (ja) | ネットワークコンピューティング環境における第1ホップゲートウェイ冗長性 | |
US20190116220A1 (en) | Neighbor Discovery for IPV6 Switching Systems | |
US8630294B1 (en) | Dynamic bypass mechanism to alleviate bloom filter bank contention | |
WO2017114196A1 (zh) | 一种报文处理方法、相关装置及nvo3网络系统 | |
US8416775B2 (en) | Systems and methods for equal-cost multi-path virtual private LAN service | |
US7826369B2 (en) | Subsets of the forward information base (FIB) distributed among line cards in a switching device | |
US10313154B2 (en) | Packet forwarding | |
EP3292659B1 (en) | Multicast data packet forwarding | |
EP2859695A2 (en) | System and method for layer-2 multicast multipathing | |
JP2007525883A (ja) | ネットワークノードにおける処理利用管理 | |
CN107317752B (zh) | 一种转发数据报文的方法及装置 | |
US8989189B2 (en) | Scaling IPv4 in data center networks employing ECMP to reach hosts in a directly connected subnet | |
CN107682261B (zh) | 流量转发方法及装置 | |
CN112565045B (zh) | Evpn中报文转发方法、装置、设备及存储介质 | |
CN114221834B (zh) | 一种报文转发方法及装置 | |
US10313274B2 (en) | Packet forwarding | |
US20170237691A1 (en) | Apparatus and method for supporting multiple virtual switch instances on a network switch | |
CN113542114A (zh) | 路由配置方法和路由配置装置 | |
US20130077530A1 (en) | Scaling IPv6 on Multiple Devices Virtual Switching System with Port or Device Level Aggregation | |
CN113923162B (zh) | 一种报文转发方法、装置、设备及存储介质 | |
CN112714067B (zh) | 一种路由扩展的芯片实现方法、数据报文的芯片处理方法及装置 | |
US20060002394A1 (en) | Route computing system | |
CN106452992B (zh) | 一种远端多归属组网的实现方法及装置 | |
US11824797B1 (en) | Method for reduced programming of selective multicast routes in EVPN fabric | |
US20240007400A1 (en) | Traffic control method and related device |
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 |