一种报文转发方法及装置与流程

文档序号:26750274发布日期:2021-09-25 02:16阅读:99来源:国知局
一种报文转发方法及装置与流程

1.本发明涉及通信技术领域,尤其涉及一种报文转发方法及装置。


背景技术:

2.虚拟专用局域网服务(virtual private local area network service,简称vpls)是一种基于多协议标签交换(multi

protocol label switching,简称mpls)网络的二层虚拟专用网(virtual private network,简称vpn)技术。
3.vpls支持以太网虚拟专用网络(ethernet virtual private network,简称evpn)的多活多归属,即一台用户网络边缘(customer edge,简称ce)设备可以通过不同链路连接到多台服务提供商网络边缘(provider edge,简称pe)设备,连接的多台pe设备组成冗余备份组,可以避免pe设备单点故障对网络造成影响,从而提高网络的可靠性。
4.为了避免冗余备份组中的pe设备均发送泛洪流量给多归属ce设备,需要在冗余备份组中为每个接入电路(attachment circuit,简称ac)口选举一个pe设备作为指定转发者(designated forwarder,简称df),负责将泛洪流量转发给该ac。其他pe设备作为该ac的备份df(backup df,简称bdf),不会向本地ce设备转发泛洪流量。
5.冗余备份组中的pe设备通过伪线(pseudo wire,简称pw)接收到的流量可以通过df转发,而不能通过bdf转发。
6.目前,在多活多归属的evpn vpls组网中,为了避免多归属ce设备的广播流量通过bdf转发给df,再重新发送到该多归属ce设备形成环路,需要在pe设备上连接多归属ce设备的端口上配置以太网段标识符(ethernet segment identifier,简称esi)规则,当冗余备份组中的pe设备从连接多归属ce设备的ac口接收到广播报文时,需要在该广播报文的最内层封装esi标签(label)后发出;冗余备份组中的其它pe设备接收到携带有esi标签的广播报文时,可以将该esi标签弹出,并拒绝通过连接多归属ce设备的ac口转发该广播报文,避免广播报文形成环路。
7.然而,上述多活多归属evpn vpls组网中的广播报文转发方案中,pe设备需要通过esi标签来标识连接多归属ce设备的ac口接收到的广播报文,冗余备份组中其它pe设备需要通过esi标签来识别该广播报文,并进行弹出esi标签操作和实现ac隔离,实现复杂,且消耗访问控制列表(access control list,简称acl)资源多。


技术实现要素:

8.本发明提供一种报文转发方法及装置,以解决传统多活多归属evpn vpls组网中避免广播报文形成环路的方案实现复杂,且消耗acl资源多的问题。
9.根据本发明实施例的第一方面,提供一种报文转发方法,应用于多活多归属evpn vpls组网的冗余备份组中的pe设备,所述方法包括:
10.当接收到冗余备份组中的其它pe设备发送的广播报文时,依据目标端口下发的目标acl表项,拒绝通过目标端口发送该广播报文;其中,目标端口为该pe设备上连接多归属
ce设备的端口,目标acl表项用于指示该pe设备拒绝通过目标端口,对冗余备份组中的其它pe设备发送的广播报文进行转发;
11.当接收到非多归属ce设备的广播报文时,通过cpu对该广播报文进行广播。
12.根据本发明实施例的第二方面,提供一种报文转发装置,应用于多活多归属evpn vpls组网的冗余备份组中的pe设备,所述装置包括:
13.接收单元,用于接收报文;
14.发送单元,用于当接收单元接收到冗余备份组中的其它pe设备发送的广播报文时,依据目标端口下发的目标acl表项,拒绝通过目标端口发送该广播报文;其中,目标端口为该pe设备上连接多归属ce设备的端口,目标acl表项用于指示该pe设备拒绝通过目标端口,对冗余备份组中的其它pe设备发送的广播报文进行转发;
15.发送单元,还用于当接收单元接收到非多归属ce设备的广播报文时,通过cpu对该广播报文进行广播。
16.应用本发明公开的技术方案,当多活多归属evpn vpls组网的冗余备份组中的pe设备接收到冗余备份组中的其它pe设备发送的广播报文时,依据目标端口下发的目标acl表项,拒绝通过目标端口发送该广播报文;当接收到非多归属ce设备的广播报文时,通过cpu对该广播报文进行广播,通过在冗余备份组的pe上针对目标端口下发目标acl表项,在不需要针对广播报文进行esi标签插入和弹出的情况下,就可以避免多归属ce设备的广播报文形成环路;对于非多归属ce设备的广播报文,通过cpu广播的方式保证报文的正常转发;此外,通过针对目标端口下发acl表项,而不需要分别针对各ac口下发acl表项,减少了acl资源的消耗。
附图说明
17.图1是本发明实施例提供的一种报文转发方法的流程示意图;
18.图2是本发明实施例提供的一种多活多归属evpn vpls组网的架构示意图;
19.图3是本发明实施例提供的一种报文转发方案实现流程示意图;
20.图4是本发明实施例提供的一种报文转发装置的结构示意图。
具体实施方式
21.为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
22.请参见图1,为本发明实施例提供的一种报文转发方法的流程示意图,其中,该报文转发方法可以应用于多活多归属evpn vpls组网的冗余备份组中的pe设备,如图1所示,该报文转发方法可以包括以下步骤:
23.需要说明的是,本发明实施例中各步骤的序号大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
24.步骤101、当接收到冗余备份组中的其它pe设备发送的广播报文时,依据目标端口下发的目标acl表项,拒绝通过目标端口发送该广播报文;其中,目标端口为pe设备上连接
多归属ce设备的端口,目标acl表项用于指示pe设备拒绝通过目标端口,对冗余备份组中的其它pe设备发送的广播报文进行转发。
25.本发明实施例中,为了避免多归属ce设备发送给作为bdf的pe设备后,由作为df的pe设备重新发送给该多归属ce设备,导致广播报文形成环路,可以针对冗余备份组的pe设备上连接多归属ce设备的端口(本文中称为目标端口)下发目标acl表项,该目标acl表项可以用于指示pe设备拒绝通过目标端口对冗余备份组中的其它pe设备发送的广播报文进行转发。
26.相应地,当冗余备份组中的pe设备接收到冗余备份组中的其它pe设备发送的广播报文时,可以依据目标端口下发的目标acl表项,拒绝通过目标端口发送广播报文,从而,可以避免多归属ce设备发送的广播报文形成环路。
27.步骤102、当接收到非多归属ce设备的广播报文时,通过cpu对该广播报文进行广播。
28.本发明实施例中,考虑到冗余备份组中的pe设备除了连接多归属ce设备之外,还可能会连接非多归属ce设备(即该ce设备与冗余备份组中的其中一个pe设备连接,该ce设备也可以称为单挂ce设备)。
29.上述目标acl表项在避免多归属ce设备的广播报文形成环路的同时,也可能会导致冗余备份组中的pe设备连接的单挂ce设备的广播报文无法发送至多归属ce设备,导致报文转发异常。
30.例如,假设冗余备份组中的pe1上连接单挂ce设备的ac口11属于虚拟交换实例(virtual switch instance,简称vsi)1,pe1上vsi1内的连接多归属ce设备的ac口为ac口12,且pe1为ac口12的bdf,则当pe1从ac口11接收到广播报文时,无法通过ac口12发送给多归属ce设备,而是需要通过pw发送给冗余备份组中的pe2,由pe2通过vsi1内的ac口(如ac口21)发送给多归属ce设备。但是由于目标acl指示pe设备拒绝通过目标端口对冗余备份组中的其它pe设备发送的广播报文进行转发,因此,该广播报文无法被发送给多归属ce设备。
31.考虑到上述问题,为了保证单挂ce设备的广播报文能够被正常转发,当冗余备份组中的pe设备接收到非多归属ce设备的广播报文时,可以通过cpu对该广播报文进行广播,以便pe设备作为某ac口的bdf时,也能通过对应的端口转发广播报文,保证广播报文的正常转发。
32.例如,可以对冗余备份组中各pe设备使能针对单挂端口(即连接非多归属ce设备的端口)的广播报文上送cpu功能,从而,pe设备从单挂端口接收到广播报文时,可以将该广播报文上送cpu,通过cpu进行广播。
33.可见,在图1所示方法流程中,通过在冗余备份组的pe上针对目标端口下发目标acl表项,在不需要针对广播报文进行esi标签插入和弹出的情况下,就可以避免多归属ce设备的广播报文形成环路;对于非多归属ce设备的广播报文,通过cpu广播的方式保证报文的正常转发;此外,通过针对目标端口(物理端口)下发acl表项,而不需要分别针对各ac口(虚接口)下发acl表项,减少了acl资源的消耗。
34.在一些实施例中,冗余备份组中的pe设备基于端口进行df和bdf选举;
35.冗余备份组中的目标pe设备的目标端口下发有目标acl表项,目标pe设备为冗余备份组中基于目的端口进行选举确定的df。
36.在该实施例中,为了进一步降低acl资源的消耗,冗余备份组中的pe设备进行df和bdf选举时,可以基于端口(物理端口)进行选举,而不再分别基于同一端口下的各虚端口进行选举,从而,可以保证同一物理端口下各虚端口的角色相同。对于冗余备份组中的pe设备的目标端口,其中一个pe设备为目标端口的df,其它pe设备为目标端口的bdf。
37.此外,考虑到冗余备份组中的pe设备,对于通过pw接收到的广播报文,作为df的pe设备会将该广播报文转发给多归属ce设备,而作为bdf的pe设备不会将该广播报文转发给多归属ce设备,因此,在冗余备份组中的pe设备基于端口进行df和bdf选举的情况下,对于被选举为bdf的pe设备,可以不需要下发上述目标acl表项,从而,在避免多归属ce设备的广播报文形成环路的情况下,进一步减少了acl资源消耗。
38.在一个示例中,步骤102中,当接收到非多归属ce设备的广播报文时,通过cpu对该广播报文进行广播,可以包括:
39.当接收到非多归属ce设备的广播报文,且本设备为基于目标端口进行选举确定的bdf时,通过cpu对该广播报文进行广播。
40.在该示例中,由于基于目标端口进行选举确定的df上未针对目标端口下发上述目标acl表项,其可以通过目标端口将广播报文发送给多归属ce设备,因此,对于非归属ce设备的广播报文,该pe设备可以通过目标端口发送给多归属ce设备。
41.相应地,当pe设备接收到非多归属ce设备的广播报文时,若确定本设备为基于目标端口进行选举确定的bdf,则可以通过cpu对该广播报文进行广播,即可以对冗余备份组中的bdf使能针对单挂端口的广播报文上送cpu功能。
42.若确定本设备为基于目标端口进行选举确定的df,则可以不需要通过cpu进行广播,减少了cpu需要处理的广播报文。
43.在一个示例中,冗余备份组中的bdf使能针对单挂端口的arp代答;
44.步骤102中,当接收到非归属ce设备的广播报文时,通过cpu对该广播报文进行广播,可以包括:
45.当通过单挂端口接收到非多归属ce设备的arp请求报文,且本设备为基于目标端口进行选举确定的bdf时,确定本地是否存在与该arp请求报文的目的ip地址匹配的arp信息;
46.当本地不存在与该arp请求报文的目的ip地址匹配的arp信息时,通过cpu对该arp请求报文进行广播。
47.在该示例中,为了进一步减少冗余备份组中bdf的cpu的报文处理量,冗余备份组中的bdf可以使能针对单挂端口的地址解析协议(address resolution protocol,简称arp)代答。
48.当pe设备接收到非多归属ce设备的arp请求报文时,若确定本设备为基于目标端口进行选举确定的bdf,则可以确定本地是否存在与该arp请求报文的目的ip地址匹配的arp信息。若不存在,则通过cpu对该arp请求报文进行广播。
49.需要说明的是,若pe设备确定本地存在与该arp请求报文的目的ip地址匹配的arp信息,则可以依据该arp信息对该arp请求报文进行应答,而不需要对该arp请求报文进行广播。
50.此外,当pe设备通过单挂端口接收到非多归属ce设备的arp请求报文,且确定本设
备为基于目标端口进行选举确定的bdf时,pe设备还可以生成该arp请求报文的源ip地址对应的arp信息,例如,将该arp请求报文的源ip地址、源mac地址以及报文的入接口等信息记录到本地的arp snooping(侦听)表项中,作为后续arp代答的依据。
51.为了使本领域技术人员更好地理解本发明实施例提供的技术方案,下面结合具体应用场景对本发明实施例提供的技术方案进行说明。
52.请参见图2,为一种多活多归属evpn vpls组网的架构示意图,如图2所示,在该多活多归属evpn vpls组网中包括pe设备210(记为pe1)、pe设备220(记为pe2)、pe设备230(记为pe3)、ce设备310(记为ce1),ce设备320(记为ce2)以及ce设备330(记为ce3)。
53.pe1与pe2构成冗余备份组,ce1为多归属ce设备,分别归属于pe1和pe2。
54.pe1通过端口211与ce1连接,pe2通过端口221与ce1连接。
55.ce2单挂于pe1,pe1通过端口212与ce2连接。
56.ce3单挂于pe2,pe2通过端口222与ce3连接。
57.pe1通过端口213与pe2的端口223建立有pw12。
58.在该实施例中,针对图2所示的应用场景,pe1和pe2可以基于连接多归属ce设备(即ce1)的端口(即上述目标端口,包括端口211和端口221)进行df和bdf选举。
59.下文中以pe1为df,pe2为bdf为例。
60.需要说明的是,端口211和端口221上可以创建多个ac口(虚端口,未在图中示出),由于pe1和pe2基于端口(物理端口)进行df和bdf选举,因此,pe1和pe2针对各ac口的角色是统一的。
61.即在该实施例中,对于端口211和端口221中的各ac口,pe1均为df,pe2均为bdf。
62.在该实施例中,考虑到ce1发送的广播报文发送给pe2之后,pe2会将其通过pw12发送给pe1,pe1接收到该广播报文时,由于其作为目标端口的df,因此,pe1会通过目标端口(即端口211)将该广播报文再次发送给ce1,导致该广播报文形成环路。
63.针对上述问题,为了避免广播报文形成环路,可以在pe1上针对端口211下发如表1所示的acl表项(即上述目标acl表项):
64.表1
[0065][0066]
当ce1的广播报文到达pe2,并由pe2通过pw12转发给pe1时,pe1在通过出端口211对该广播报文进行转发之前,确定该广播报文与端口211下发的目标acl表项匹配,从而,pe1可以拒绝通过端口211对该广播报文进行转发,从而,避免了ce1设备的广播报文形成环路。
[0067]
此外,考虑到当pe1的端口211上下发上述目标acl表项之后,对于pe2的单挂ce设备(如图2中的ce3)的广播报文,当pe2将该广播报文通过pw12发送给pe1时,pe1在通过出端口211对该广播报文进行转发之前,会确定该广播报文与端口211下发的目标acl表项匹配,从而,pe1会拒绝通过端口211对该广播报文进行转发,导致ce3的广播报文无法转发给ce1。
[0068]
针对上述问题,为了保证报文的正常转发,可以针对pe2的单挂端口,即pe2上连接
单挂ce设备(即ce3)的端口(即端口222),为pe2配置arp代答,从而,对于ce3发送的广播报文,pe2可以通过cpu广播的方式进行转发,以保证ce1可以接收到ce3的广播报文。
[0069]
如图3所示,基于上述设置,针对图2所示应用场景,本技术实施例提供的报文转发方案实现流程如下:
[0070]
步骤301、pe2接收ce1发送的广播报文,通过pw12将该广播报文发送给pe1。
[0071]
需要说明的是,pe2接收到ce1发送的广播报文时,还可以将广播报文发送给ce1以及pe3,其具体实现在此不做赘述。
[0072]
步骤302、pe1通过端口213接收pe2发送的广播报文。
[0073]
步骤303、pe1通过端口211对该广播报文进行转发时,确定端口211下发与该广播报文匹配的目标acl表项,拒绝通过端口211对该广播报文进行转发。
[0074]
需要说明的是,pe1通过端口213接收到pe2发送的广播报文时,还可以将广播报文发送给ce2,其具体实现在此不做赘述。
[0075]
可见,在该实施例中,通过上述设置,通过针对基于目标端口选举确定的df的目标端口下发目标acl表项,即可避免多归属ce设备的广播报文形成环路,不需要对广播报文进行标签插入以及弹出等操作,降低了报文转发操作的复杂度,且减少了acl资源消耗。
[0076]
步骤304、当pe2接收ce3发送的arp请求报文时,确定本地是否存在与该arp请求报文的目的ip地址匹配的arp信息。若存在,则转至步骤305;否则,转至步骤306。
[0077]
步骤305、依据本地与该arp请求报文的目的ip地址匹配的arp信息,对该arp请求报文进行应答。
[0078]
步骤306、通过cpu对该arp请求报文进行广播。
[0079]
可见,在该实施例中,对于基于目标端口选举确定的bdf,通过针对单挂端口设置arp代答,在需要对通过单挂端口接收到的单挂ce设备的广播报文进行转发时,将广播报文上送cpu,通过cpu进行广播,保证了报文的正常转发。
[0080]
通过以上描述可以看出,在本发明实施例提供的技术方案中,当多活多归属evpn vpls组网的冗余备份组中的pe设备接收到冗余备份组中的其它pe设备发送的广播报文时,依据目标端口下发的目标acl表项,拒绝通过目标端口发送该广播报文;当接收到非多归属ce设备的广播报文时,通过cpu对该广播报文进行广播,通过在冗余备份组的pe上针对目标端口下发目标acl表项,在不需要针对广播报文进行esi标签插入和弹出的情况下,就可以避免多归属ce设备的广播报文形成环路;对于非多归属ce设备的广播报文,通过cpu广播的方式保证报文的正常转发;此外,通过针对目标端口下发acl表项,而不需要分别针对各ac口下发acl表项,减少了acl资源的消耗。
[0081]
请参见图4,为本发明实施例提供的一种报文转发装置的结构示意图,其中,该报文转发装置可以应用于上述方法实施例中的冗余备份组中的pe设备,如图4所示,该报文转发装置可以包括:
[0082]
接收单元410,用于接收报文;
[0083]
发送单元420,用于当接收单元410接收到冗余备份组中的其它pe设备发送的广播报文时,依据目标端口下发的目标acl表项,拒绝通过目标端口发送该广播报文;其中,目标端口为该pe设备上连接多归属ce设备的端口,目标acl表项用于指示该pe设备拒绝通过目标端口,对冗余备份组中的其它pe设备发送的广播报文进行转发;
[0084]
发送单元420,还用于当接收单元410接收到非多归属ce设备的广播报文时,通过cpu对该广播报文进行广播。
[0085]
在一些实施例中,冗余备份组中的pe设备基于端口进行df和bdf选举;
[0086]
冗余备份组中的目标pe设备的目标端口下发有目标acl表项,目标pe设备为冗余备份组中基于目的端口进行选举确定的df。
[0087]
在一些实施例中,发送单元420,具体用于当接收单元410接收到非多归属ce设备的广播报文,且pe设备为基于目标端口进行选举确定的bdf时,通过cpu对该广播报文进行广播。
[0088]
在一些实施例中,冗余备份组中的bdf使能针对单挂端口的arp代答;
[0089]
发送单元420,具体用于当接收单元410通过单挂端口接收到非多归属ce设备的arp请求报文,且确定本设备为基于目标端口进行选举确定的bdf时,确定本地是否存在与arp请求报文的目的ip地址匹配的arp信息;当本地不存在与arp请求报文的目的ip地址匹配的arp信息时,通过cpu对该arp请求报文进行广播。
[0090]
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
[0091]
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0092]
由上述实施例可见,当多活多归属evpn vpls组网的冗余备份组中的pe设备接收到冗余备份组中的其它pe设备发送的广播报文时,依据目标端口下发的目标acl表项,拒绝通过目标端口发送该广播报文;当接收到非多归属ce设备的广播报文时,通过cpu对该广播报文进行广播,通过在冗余备份组的pe上针对目标端口下发目标acl表项,在不需要针对广播报文进行esi标签插入和弹出的情况下,就可以避免多归属ce设备的广播报文形成环路;对于非多归属ce设备的广播报文,通过cpu广播的方式保证报文的正常转发;此外,通过针对目标端口下发acl表项,而不需要分别针对各ac口下发acl表项,减少了acl资源的消耗。
[0093]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本技术旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
[0094]
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1