一种报文转发方法、装置、电子设备及存储介质与流程

文档序号:28880140发布日期:2022-02-12 12:14阅读:80来源:国知局
一种报文转发方法、装置、电子设备及存储介质与流程

1.本发明实施例涉及通信技术领域,具体涉及一种报文转发方法、装置、电子设备及存储介质。


背景技术:

2.二层虚拟专用网络(l2 virtual private network,l2vpn)是利用现有的公用网络来扩展用户的私有网络。基于多协议标签交换(multiprotocol label switching,mpls)的l2vpn就是在mpls网络上透明传输用户的二层数据,从用户的角度看,这个mpls网络就是一个二层的交换网络,通过mpls网络在不同站点之间建立二层连接。
3.虚拟专用局域网服务(virtual private lan service,vpls)是实现l2vpn的一种方案。vpls是一种在ip/mpls网络中提供虚拟专用以太网的技术,使用vpls,可以在多个运营商边缘路由器(provider edge router,pe)间建立全网状的伪线(pseudo wire,pw),将二层以太网帧封装后通过mpls网络使之在各个运营商边缘路由器(provider edge router,pe)之间进行转发,从而建立一个点对多点的以太网vpn。使用vpls vpn,从用户的角度来看,用户的二层设备跨过ip/mpls核心网络相连,就像连在一个虚拟的交换机上。
4.l2vpn要求能够透传任何报文,其中就包含了桥协议数据单元(bridge protocol data unit,bpdu)协议报文,然而对于协议报文,其正常行为是将报文送cpu,同时丢弃报文,这与l2vpn功能要求矛盾,
5.目前,l2vpn vpls协议报文透传方案包括将协议报文送控制面,由控制面做l2vpn报文封装后,从pw端转发出去。然而软件透传方案需要将一些报文送cpu处理,因此对cpu性能影响较大,影响cpu其他的业务。


技术实现要素:

6.针对现有技术中的缺陷,本发明实施例提供了一种报文转发方法、装置、电子设备及存储介质。
7.第一方面,本发明实施例提供一种报文转发方法,应用于运营商边缘路由器pe设备中,所述pe设备的端口绑定虚拟专用局域网服务vpls实例,所述方法包括:
8.通过所述pe设备的端口接收用户边缘设备ce设备发送的协议报文;
9.若所述端口绑定的vpls实例已使能协议报文透传功能,则获取所述vpls实例的硬件属性cid值;
10.若判断获知所述cid值为第一预设值,则转发所述协议报文。
11.如上述方法,可选地,在通过所述端口接收用户边缘设备ce设备发送的协议报文之前,还包括:
12.在所述端口安装第一访问控制列表acl,所述第一acl对应的匹配内容为:vpls实例的cid值为第一预设值,对应的动作为:转发;
13.相应地,所述若判断获知所述cid值为第一预设值,则转发所述协议报文,包括:
14.根据所述协议报文进入的端口对应的所述vpls实例cid值匹配所述第一acl中的第一预设值,根据所述第一acl对应的动作转发所述协议报文。
15.如上述方法,可选地,所述转发所述协议报文,包括:
16.对所述协议报文进行二层虚拟专用网络l2vpn封装之后,将封装后的协议报文转发至对端pe设备。
17.如上述方法,可选地,所述在通过所述端口接收用户边缘设备ce设备发送的协议报文之前,还包括:
18.在所述端口安装第二acl,所述第二acl对应的匹配内容为:vpls实例对应的报文,对应的动作为:进行二层虚拟专用网络l2vpn封装后转发;
19.其中,所述第一acl的优先级高于所述第二acl。
20.如上述方法,可选地,所述pe设备的端口绑定vpls实例之后,还包括:
21.判断所述vpls实例是否已使能协议报文透传功能,若是,则将所述vpls实例的cid值设置为第一预设值;
22.否则,将所述vpls实例的cid值设置为第二预设值。
23.如上述方法,可选地,所述通过所述pe设备的端口接收用户边缘设备ce设备发送的协议报文,包括:
24.通过所述pe设备的端口接收ce设备发送的第一报文;
25.通过所述第一报文的属性信息判断获知所述第一报文为协议报文。
26.第二方面,本发明实施例提供一种报文转发装置,应用于运营商边缘路由器pe设备中,包括:
27.预处理模块,用于在所述pe设备的端口上绑定虚拟专用局域网服务vpls实例,
28.接收模块,用于通过所述pe设备的端口接收用户边缘设备ce设备发送的协议报文;
29.判断获取模块,用于若所述端口绑定的vpls实例已使能协议报文透传功能,则获取所述vpls实例的硬件属性cid值;
30.判断转发模块,用于若判断获知所述cid值为第一预设值,则转发所述协议报文。
31.如上述装置,可选地,还包括:安装模块;
32.所述安装模块用于在所述端口安装第一访问控制列表acl,所述第一acl对应的匹配内容为:vpls实例的cid值为第一预设值,对应的动作为:转发;
33.相应地,判断转发模块具体用于:
34.根据所述协议报文进入的端口对应的所述vpls实例cid值匹配所述第一acl中的第一预设值,根据所述第一acl对应的动作转发所述协议报文。
35.如上述装置,可选地,所述预处理模块还用于:
36.判断所述vpls实例是否已使能协议报文透传功能,若是,则将所述vpls实例的cid值设置为第一预设值;
37.否则,将所述vpls实例的cid值设置为第二预设值。
38.如上述装置,可选地,所述判断转发模块具体用于:
39.对所述协议报文进行二层虚拟专用网络l2vpn封装之后,将封装后的协议报文转发至对端pe设备。
40.如上述装置,可选地,所述安装模块还用于:
41.在所述端口安装第二acl,所述第二acl对应的匹配内容为:vpls实例对应的报文,对应的动作为:进行二层虚拟专用网络l2vpn封装后转发;
42.其中,所述第一acl的优先级高于所述第二acl。
43.如上述装置,可选地,所述接收模块具体用于:
44.通过所述pe设备的端口接收ce设备发送的第一报文;
45.通过所述第一报文的属性信息判断获知所述第一报文为协议报文。
46.第三方面,本发明实施例提供一种电子设备,包括:
47.存储器和处理器,所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如下方法:通过pe设备的端口接收用户边缘设备ce设备发送的协议报文;若所述端口绑定的vpls实例已使能协议报文透传功能,则获取所述vpls实例的硬件属性cid值;若判断获知所述cid值为第一预设值,则根据所述cid值,转发所述协议报文。
48.第四方面,本发明实施例提供一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如下方法:通过pe设备的端口接收用户边缘设备ce设备发送的协议报文;若所述端口绑定的vpls实例已使能协议报文透传功能,则获取所述vpls实例的硬件属性cid值;若判断获知所述cid值为第一预设值,则根据所述cid值,转发所述协议报文。
49.本发明实施例提供的报文转发方法,通过pe设备的端口接收用户边缘设备ce设备发送的协议报文;若端口绑定的vpls实例已使能协议报文透传功能,则获取vpls实例的硬件属性cid值,若判断获知cid值为第一预设值,则转发该协议报文,避免将协议报文上传至本地cpu处理,实现了在只支持mpls l2vpn业务的设备上进行协议报文透传的功能。
附图说明
50.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
51.图1为本发明实施例提供的报文转发方法应用场景示意图;
52.图2为本发明实施例提供的报文转发方法流程示意图;
53.图3为本发明实施例提供的报文转发方法中开启协议报文透传流程图;
54.图4为本发明又一实施例提供的报文转发方法流程示意图;
55.图5为本发明实施例提供的报文转发装置的结构示意图;
56.图6为本发明实施例提供的电子设备的结构示意图。
具体实施方式
57.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
58.图1为本发明实施例提供的报文转发方法应用场景示意图,如图1所示,该应用场景包含三个pe设备,分别为pe1、pe2和pe3,pe1与用户边缘设备(custom edge,ce)ce1和ce2连接,pe2与ce3和ce4连接,pe3与pe5连接。以pe1为例,pe1通过不同端口连接ce1和ce2,并为ce1和ce2分别设置接入链路(attachment circuits,ac),记为ac1和ac2,当ce1需要将报文发送至ce3时,pe1通过ac1接收ce1发送的报文,根据l2vpn要求,将报文透传至对端设备pe2,pe2将报文发送至ce3,从而实现基于l2vpn的报文转发。由于l2vpn要求透传所有报文,而对于接收到的协议报文,按照协议报文要求,需要上送至本地cpu后丢弃,显然与l2vpn功能要求相矛盾,为了实现基于l2vpn的协议报文透传功能,本发明实施例中在pe设备端口处绑定虚拟专用局域网服务(virtual private lan service,vpls)实例,并设置vpls实例的硬件属性cid值,通过匹配判断接收的协议报文对应的vpls实例的cid值为第一预设值时,转发该协议报文,避免了协议报文上送至cpu,实现了l2vpn vpls场景下协议报文透传功能。
59.图2为本发明实施例提供的报文转发方法流程示意图,应用于如图1所示的应用场景中的pe设备中,pe设备的端口绑定虚拟专用局域网服务vpls实例,包括:
60.步骤s21、通过所述pe设备的端口接收用户边缘设备ce设备发送的协议报文;
61.具体地,pe设备的端口绑定vpls实例,即在pe设备上对与其连接的ce设备的接入端口做配置,指定某个端口连接某个ce设备。例如,pe1的端口1连接ce1。之后,通过端口接收对应的ce发送的第一报文,获取报文属性信息,根据报文属性信息判断报文是否为协议报文,若不是协议报文,则直接将第一报文透传至对端设备。
62.步骤s22、若所述端口绑定的vpls实例已使能协议报文透传功能,则获取所述vpls实例的硬件属性cid值;
63.具体地,若第一报文为协议报文,则判断端口绑定的vpls实例是否已使能协议报文透传功能,即判断vpls实例对应的pe端口是否使能协议报文透传功能,例如,使能透传协议报文的功能,可以指通过对pe设备的端口进行设置,以使得pe设备的端口在接收到协议报文的情况下,不将该协议报文传输至本地的cpu进行运算,而将该协议报文发送出去,例如通过指令l2 vfi tunnel-protocol stp设置端口透传协议报文。在实际应用中,pe设备可以根据端口配置指令判断vpls实例是否已经使能协议报文透传功能,若是,则获取vpls实例的硬件属性cid值。
64.在实际应用中,在pe设备的端口绑定vpls实例之后,便可根据端口是否使能协议报文透传功能,设置绑定的vpls实例的硬件属性cid值,若使能协议报文透传功能,则设置vpls实例的cid值为第一预设值,例如设置cid为1,若没有使能协议报文透传功能,则设置vpls实例的cid值为第二预设值,例如设置cid为0。
65.步骤s23、若判断获知所述cid值为第一预设值,则转发所述协议报文。
66.具体地,若端口绑定的vpls实例的cid值为第一预设值,则直接根据第一预设值,转发该协议报文,不将该协议报文上送至本地cpu处理。
67.本发明实施例提供的报文转发方法,通过pe设备的端口接收用户边缘设备ce设备发送的协议报文;若端口绑定的vpls实例已使能协议报文透传功能,则获取vpls实例的硬件属性cid值,若判断获知cid值为第一预设值,则转发该协议报文,避免将协议报文上传至本地cpu处理,实现了在只支持mpls l2vpn业务的设备上进行协议报文透传的功能。
68.在上述实施例的基础上,进一步地,在通过所述端口接收用户边缘设备ce设备发送的协议报文之前,还包括:
69.在所述端口安装第一访问控制列表acl,所述第一acl对应的匹配内容为:vpls实例的cid值为第一预设值,对应的动作为:转发;
70.相应地,所述若判断获知所述cid值为第一预设值,则转发所述协议报文,包括:
71.根据所述协议报文进入的端口对应的所述vpls实例cid值匹配所述第一acl中的第一预设值,根据所述第一acl对应的动作转发所述协议报文。
72.具体地,在pe设备的端口绑定vpls实例之后,就可针对该端口下发控制策略,在该端口安装访问控制表acl,记为第一acl,acl匹配内容为:vpls实例的cid值为第一预设值,对应的动作为转发,这样仅需针对cid值下发安装一条acl的控制策略即可,无需对每个vpls实例都下发策略。如果接收到的协议报文的端口对应的vpls实例的cid值为第一预设值,则根据第一acl对应的动作,直接转发该协议报文到对端设备。
73.图3为本发明实施例提供的报文转发方法中开启协议报文透传流程图,如图3所示,该流程包括:
74.步骤s31、判断vpls实例是否已经开启协议报文透传功能,即vpls实例对应的端口是否已经使能协议报文透传功能,若是,则执行步骤s32,否则执行步骤s35;
75.步骤s32、判断针对该vpls实例是否已经下发过控制策略,若是,则结束,否则,执行步骤s33;
76.步骤s33、针对该vpls实例下发控制策略,匹配内容为cid,动作为转发;
77.步骤s34、将控制策略设置到硬件策略表,即安装第一acl;
78.步骤s35、更新vpls实例的cid值为第二预设值;
79.步骤s36、在vpls实例的硬件属性中设置cid值。
80.上述流程中,策略的匹配内容match主要配置实例里面的cid属性,只有开启了协议报文透传功能时,该cid属性才有效。但实例关闭报文透传功能时,更新该实例的cid值为第二预设值即可,这样可以对不同vpls实例设置开启或关闭协议报文透传功能,对未开启协议报文透传功能的其他实例不会造成影响。
81.在上述实施例的基础上,可选地,将协议报文转发至对端设备是指,对协议报文进行二层虚拟专用网络l2vpn封装之后,将封装后的协议报文转发至对端pe设备。在实际应用中,还可以下发第二条控制策略,在pe设备的端口安装第二acl,第二acl的匹配内容为vpls实例对应的报文,对应的动作为:进行二层虚拟专用网络l2vpn封装后转发,并设置第一acl优先级高于第二acl,这样,当接收到协议报文之后,首先根据第一acl匹配是否cid值为第一预设值,若是,则确定匹配第一acl,之后再判断是否匹配第二acl,若是则根据第二acl,对协议报文进行l2vpn封装之后转发出去。同时由于第一acl优先级最高,若不匹配第一acl,则直接将协议报文上传至本地cpu。通过上述流程中可以看出,本发明实施例可以实现vpls下协议报文透传功能,对未开启协议报文透传的其他实例不会造成影响,同时通过只匹配cid字段实现协议报文透传,对所有开启透传的vpls实例只需要更新cid值即可实现策略的命中,因此策略只需要一条即可对不同的vpls实例生效,极大节省策略资源。
82.例如,pe1的端口1绑定vpls实例vpls1,且端口1已使能协议报文透传功能,vpls1的cid值为第一预设值1,pe1的端口2绑定vpls实例vpls2,且端口2没有使能协议报文透传
功能,vpls2的cid值为第二预设值2,端口1和端口2上均安装了第一acl和第二acl。当通过端口1接收到ce设备发送的报文1之后,根据报文属性dmac=0180:c200:0000,判断出该报文为bpdu协议报文,端口1对应的vpls1的cid值为1,匹配第一acl,然后根据第二acl,对报文1进行l2vpn封装之后,将封装后的报文转发至pe2。当通过端口2接收到ce设备发送的报文2之后,根据报文属性dmac=0180:c200:0000,判断出该报文为bpdu协议报文,端口2对应的vpls2的cid值为0,不匹配第一acl,直接将报文2上传至pe1的cpu,供cpu处理,不影响其他未开启报文透传的协议报文上送cpu的功能。
83.图4为本发明又一实施例提供的报文转发方法流程示意图,如图4所示,该转发方法包括:
84.步骤s41、pe设备接收ce设备发送的报文;
85.步骤s42、pe设备判断该报文是否需要进行l2vpn转发,若是则执行步骤s44,否则执行步骤s43;
86.步骤s43、将该报文通过非l2vpn业务进行转发;
87.步骤s44、将报文送入到处理l2vpn转发流程中;
88.步骤s45、判断该报文是否为协议报文,若是,则执行步骤s47,否则执行步骤s46;
89.步骤s46、对该报文进行l2vpn封装之后转发;
90.步骤s47、对协议报文进行策略匹配,若cid值命中第一预设值,则执行步骤s46,否则上送至cpu。
91.本发明实施例提供的报文转发方法,通过pe设备的端口接收用户边缘设备ce设备发送的协议报文;若端口绑定的vpls实例已使能协议报文透传功能,则获取vpls实例的硬件属性cid值,若判断获知cid值为第一预设值,则转发该协议报文,避免将协议报文上传至本地cpu处理,实现了在只支持mpls l2vpn业务的设备上进行协议报文透传的功能,且只需要下发一条针对cid的策略,节省了策略资源。
92.基于同样的发明构思,本发明实施例还提供一种报文转发装置,应用于运营商边缘路由器pe设备中,如图5所示,包括:预处理模块51、接收模块52、判断获取模块53和判断转发模块54,其中:
93.预处理模块51用于在所述pe设备的端口上绑定虚拟专用局域网服务vpls实例,接收模块52用于通过所述pe设备的端口接收用户边缘设备ce设备发送的协议报文;判断获取模块53用于若所述端口绑定的vpls实例已使能协议报文透传功能,则获取所述vpls实例的硬件属性cid值;判断转发模块54用于若判断获知所述cid值为第一预设值,则转发所述协议报文。
94.如上述装置,可选地,还包括:安装模块;
95.所述安装模块用于在所述端口安装第一访问控制列表acl,所述第一acl对应的匹配内容为:vpls实例的cid值为第一预设值,对应的动作为:转发;
96.相应地,判断转发模块54具体用于:
97.根据所述协议报文进入的端口对应的所述vpls实例cid值匹配所述第一acl中的第一预设值,根据所述第一acl对应的动作转发所述协议报文。
98.如上述装置,可选地,所述预处理模块51还用于:
99.判断所述vpls实例是否已使能协议报文透传功能,若是,则将所述vpls实例的cid
值设置为第一预设值;
100.否则,将所述vpls实例的cid值设置为第二预设值。
101.如上述装置,可选地,所述判断转发模块54具体用于:
102.对所述协议报文进行二层虚拟专用网络l2vpn封装之后,将封装后的协议报文转发至对端pe设备。
103.如上述装置,可选地,所述安装模块还用于:
104.在所述端口安装第二acl,所述第二acl对应的匹配内容为:vpls实例对应的报文,对应的动作为:进行二层虚拟专用网络l2vpn封装后转发;
105.其中,所述第一acl的优先级高于所述第二acl。
106.如上述装置,可选地,所述接收模块52具体用于:
107.通过所述pe设备的端口接收ce设备发送的第一报文;
108.通过所述第一报文的属性信息判断获知所述第一报文为协议报文。
109.本发明实施例提供的装置,用于实现上述方法,其功能具体参照上述方法实施例,此处不再赘述。
110.图6为本发明实施例提供的电子设备的结构示意图,如图6所示,所述设备包括:处理器(processor)61、存储器(memory)62和总线63;
111.其中,处理器61和存储器62通过所述总线63完成相互间的通信;
112.处理器61用于调用存储器62中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:通过pe设备的端口接收用户边缘设备ce设备发送的协议报文;若所述端口绑定的vpls实例已使能协议报文透传功能,则获取所述vpls实例的硬件属性cid值;若判断获知所述cid值为第一预设值,则根据所述cid值,转发所述协议报文。
113.本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:通过pe设备的端口接收用户边缘设备ce设备发送的协议报文;若所述端口绑定的vpls实例已使能协议报文透传功能,则获取所述vpls实例的硬件属性cid值;若判断获知所述cid值为第一预设值,则根据所述cid值,转发所述协议报文。
114.本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:通过pe设备的端口接收用户边缘设备ce设备发送的协议报文;若所述端口绑定的vpls实例已使能协议报文透传功能,则获取所述vpls实例的硬件属性cid值;若判断获知所述cid值为第一预设值,则根据所述cid值,转发所述协议报文。
115.本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
116.以上所描述的装置等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其
中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
117.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
118.最后应说明的是:以上各实施例仅用以说明本发明的实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明的实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明的各实施例技术方案的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1