一种隧道报文的内层报文匹配方法及装置与流程

文档序号:26804435发布日期:2021-09-29 02:21阅读:182来源:国知局
一种隧道报文的内层报文匹配方法及装置与流程

1.本技术涉及通信技术领域,特别是涉及一种隧道报文的内层报文匹配方法及装置。


背景技术:

2.acl(access control lists,访问控制列表)是应用在路由器接口的指令列表,用于指示路由器哪些数据包可以收、哪些数据包需要拒绝。
3.隧道报文是指利用一种网络协议来传输另一种网络协议的技术,隧道报文通常包括内层报文和外层隧道封装。
4.针对隧道网络,隧道的出端口需要识别隧道报文的内层报文的协议,例如ospf(open shortest path first,开放式最短路径优先)协议,dhcp(dynamic host configuration protocol,动态主机配置)协议等。识别内层报文的协议后,匹配acl,匹配成功则上送交换机芯片的cpu。
5.现有的交换机芯片中,部分交换机芯片支持匹配隧道内层报文,即可以通过匹配acl方式筛选报文并进行后续处理,但针对每种协议报文,都要向端口下发acl匹配项,耗费较多的acl资源。
6.另一部分交换机芯片不支持匹配隧道内层报文,这种情况下,通常采用udf(user defined field,用户自定义字段)方式对隧道报文进行偏移匹配,不同隧道报文偏移计算不一致,较为繁琐。且这种方式下,仍然需要针对每种报文下发acl。此外,交换机芯片一般只支持一定长度的udf偏移,对于ipv6(internet protocol version 6,互联网协议第6版)隧道报文,超出了芯片支持的udf偏移,导致无法正常匹配。


技术实现要素:

7.本技术实施例的目的在于提供一种报文匹配方法及装置,以实现减少匹配隧道报文的内层报文需要耗费的acl资源。具体技术方案如下:
8.为实现上述目的,本技术实施例提供了一种隧道报文的内层报文匹配方法,所述方法包括:
9.获取待匹配的隧道报文;
10.对所述隧道报文进行解封装,得到所述隧道报文的内层报文;
11.识别所述内层报文的目标协议标识,基于预先配置的微分段的配置信息,确定所述目标协议标识所属的目标微分段组;其中,微分段的配置信息包括:预设多个协议标识的微分段组分组信息;
12.基于所述目标微分段组匹配访问控制列表acl,其中,所述acl中包含针对各个微分段组的匹配项,以及各匹配项对应的报文处理动作;
13.确定与所述目标微分段组相匹配的匹配项,执行该匹配项对应的报文处理动作。
14.可选的,所述协议标识为协议的组播ip地址。
15.可选的,所述报文处理动作包括:上送报文至cpu、转发报文、或丢弃报文。
16.可选的,所述预先配置的微分段的配置信息还包括:微分段的组策略gbp,
17.所述acl中各匹配项对应的报文处理动作是基于所述gbp生成的。
18.为实现上述目的,本技术实施例提供了一种隧道报文的内层报文匹配装置,所述装置包括:
19.获取模块,用于获取待匹配的隧道报文;
20.解封装模块,用于对所述隧道报文进行解封装,得到所述隧道报文的内层报文;
21.确定模块,用于识别所述内层报文的目标协议标识,基于预先配置的微分段的配置信息,确定所述目标协议标识所属的目标微分段组;其中,微分段的配置信息包括:预设多个协议标识的微分段组分组信息;
22.匹配模块,用于基于所述目标微分段组匹配访问控制列表acl,其中,所述acl中包含针对各个微分段组的匹配项,以及各匹配项对应的报文处理动作;
23.动作执行模块,用于确定与所述目标微分段组相匹配的匹配项,执行该匹配项对应的报文处理动作。
24.可选的,所述协议标识为协议的组播ip地址。
25.可选的,所述报文处理动作包括:上送报文至cpu、转发报文、或丢弃报文。
26.可选的,所述预先配置的微分段的配置信息还包括:微分段的组策略gbp,
27.所述acl中各匹配项对应的报文处理动作是基于所述gbp生成的。
28.为实现上述目的,本技术实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
29.存储器,用于存放计算机程序;
30.处理器,用于执行存储器上所存放的程序时,实现上述任一方法步骤。
31.为实现上述目的,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法步骤。
32.本技术实施例有益效果:
33.采用本技术实施例提供的隧道报文的内层报文匹配方法及装置,获取待匹配的隧道报文;对隧道报文进行解封装,得到隧道报文的内层报文;识别内层报文的目标协议标识,基于预先配置的微分段的配置信息,确定目标协议标识所属的目标微分段组;其中,微分段的配置信息包括:预设多个协议标识的微分段组分组信息;基于目标微分段组匹配访问控制列表acl,其中,acl中包含针对各个微分段组的匹配项,以及各匹配项对应的报文处理动作;确定与目标微分段组相匹配的匹配项,执行该匹配项对应的报文处理动作。
34.可见,通过配置微分段方式对隧道报文的内层报文协议进行分组,将现有技术中针对内层报文的协议匹配转换为针对微分段组的匹配,无需针对每种待匹配协议下发acl匹配项,只需下发每个微分段组的acl匹配项即可。针对支持匹配隧道内层报文的交换机芯片,能够减少匹配隧道报文的内层报文需要耗费的acl资源;针对不支持匹配隧道内层报文的交换机芯片,尽管不支持直接匹配内层报文协议,但可以采用本技术实施例中匹配微分段组的方式,实现对内层报文的处理,从而无需采用udf方式对隧道报文进行偏移匹配,避免udf偏移过大导致无法正常匹配。
35.当然,实施本技术的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
36.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
37.图1为本技术实施例提供的隧道报文的内层报文匹配方法的一种流程示意图;
38.图2为本技术实施例提供的隧道报文的内层报文匹配方法的一种结构示意图;
39.图3为本技术实施例提供的电子设备的一种结构示意图。
具体实施方式
40.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员基于本技术所获得的所有其他实施例,都属于本技术保护的范围。
41.为了解决现有技术中匹配隧道报文的内层报文需要耗费较多acl资源的技术问题,本技术实施例提供了一种隧道报文的内层报文匹配方法及装置。
42.参见图1,图1为本技术实施例提供的隧道报文的内层报文匹配方法的一种流程示意图,如图1所示,方法可以包括以下步骤:
43.s101:获取待匹配的隧道报文。
44.本技术实施例提供的隧道报文的内层报文匹配方法可以应用于网络中的交换机芯片,具体可以为网络中配置为隧道公网口的端口,即隧道的出端口。
45.本领域技术人员可以理解,在隧道报文的传输过程中,隧道公网口需要预先加入相关协议的域。例如,一组交换机启用ospf协议,逻辑上组成的一个ospf协议的域。从而,域内的隧道公网口可以接收内层为ospf协议的隧道报文。
46.本技术实施例中,隧道公网口加入多种协议的域后,可以接收多种待匹配的隧道报文,这些隧道报文的内层报文的协议可以包括多种。
47.s102:对隧道报文进行解封装,得到隧道报文的内层报文。
48.本技术实施例中,隧道公网口接收到隧道报文后,需要先对隧道报文进行解封装。具体的,识别隧道封装所采用的封装协议,然后采用相应的方式进行解封装。
49.例如,若隧道报文的外层封装采用gre(generic routing encapsulation,通用路由)封装,则可以调用gre的解封装处理函数实现解封装,得到隧道报文的内层报文。
50.s103:识别内层报文的目标协议标识,基于预先配置的微分段的配置信息,确定目标协议标识所属的目标微分段组;其中,微分段的配置信息包括:预设多个协议标识的微分段组分组信息。
51.本技术实施例中,为了减少acl资源的消耗,可以结合微分段技术对内层报文进行匹配。其中,微分段(microsegmentation)可以理解为基于精细分组的安全隔离。
52.本技术实施例中,可以预先配置微分段的配置信息,具体包括预设多个协议标识的微分段组分组信息。
53.具体的,可以预先确定需要匹配的内层报文协议,例如,ospf协议,dhcp协议,bgp(border gateway protocol,边界网关协议),bfd(bidirectional forwarding detection,双向转发检测)协议和isis(intermediate system to intermediate system,中间系统到中间系统)协议等。
54.然后对这些内层报文协议的协议标识进行分组,每个微分段组包含多种协议的协议标识。
55.其中,协议标识可以是协议的组播ip地址。例如,ospf协议的组播ip地址224.0.0.5作为ospf协议的协议标识;dhcp协议的组播ip地址224.0.0.12作为dhcp协议的协议标识。
56.本技术实施例中,对隧道报文进行解封装,得到内层报文后,识别内层报文的目标协议标识,基于上述预设多个协议标识的微分段组分组信息,确定目标协议标识的目标微分段组。
57.s104:基于目标微分段组匹配访问控制列表acl,其中,acl中包含针对各个微分段组的匹配项,以及各匹配项对应的报文处理动作。
58.s105:确定与目标微分段组相匹配的匹配项,执行该匹配项对应的报文处理动作。
59.本技术实施例中,可以预先配置acl,并下发至已加入协议域的隧道出端口。预先配置的acl中包含针对各个微分段组的匹配项,以及各匹配项对应的报文处理动作。
60.本技术实施例中,不需要针对每种协议都下发对应的acl匹配项,减少了匹配隧道报文的内层报文需要耗费的acl资源。例如,待匹配的协议有9种,所划分的微分段组有3个,则匹配隧道报文的内层报文时,无需针对9种协议下发acl匹配项,仅需下发与微分段组数目相同的acl匹配项即可。
61.匹配项也可以理解为匹配规则,作为一个示例,可以将微分段组的标识作为匹配项。
62.从而,隧道出端口可以基于目标微分段匹配acl,能够得到与目标微分段组相匹配的匹配项,进而执行该匹配项对应的报文处理动作。
63.本技术实施例中,报文处理动作可以包括:上送报文至cpu、转发报文、或丢弃报文等。
64.作为一个示例,隧道出端口已加入多个协议域,对接收到的隧道报文进行解封装,得到内层报文,识别内层报文的协议标识,若内层报文的协议标识为:224.0.0.5,表示内层报文为ospf协议,然后根据预设多个协议标识的微分段组分组信息,确定ospf协议标识所属的微分段组,例如微分段组a,根据该微分段组的匹配acl,得到匹配项。该acl中包含微分段组a,微分段组b和微分段组c的匹配项,以及每个匹配项对应的报文处理动作。若该微分段组a的匹配项对应的报文处理动作为上送cpu,则隧道出端口将报文上述至交换机cpu,以使交换机cpu执行后续处理。
65.采用本技术实施例提供的隧道报文的内层报文匹配方法,获取待匹配的隧道报文;对隧道报文进行解封装,得到隧道报文的内层报文;识别内层报文的目标协议标识,基于预先配置的微分段的配置信息,确定目标协议标识所属的目标微分段组;其中,微分段的
配置信息包括:预设多个协议标识的微分段组分组信息;基于目标微分段组匹配访问控制列表acl,其中,acl中包含针对各个微分段组的匹配项,以及各匹配项对应的报文处理动作;确定与目标微分段组相匹配的匹配项,执行该匹配项对应的报文处理动作。
66.可见,通过配置微分段方式对隧道报文的内层报文协议进行分组,将现有技术中针对内层报文的协议匹配转换为针对微分段组的匹配,无需针对每种待匹配协议下发acl匹配项,只需下发每个微分段组的acl匹配项即可。针对支持匹配隧道内层报文的交换机芯片,能够减少匹配隧道报文的内层报文需要耗费的acl资源;针对不支持匹配隧道内层报文的交换机芯片,尽管不支持直接匹配内层报文协议,但可以采用本技术实施例中匹配微分段组的方式,实现对内层报文的处理,从而无需采用udf方式对隧道报文进行偏移匹配,避免udf偏移过大导致无法正常匹配。
67.此外,针对普通端口,即非隧道端口,也可以下发与隧道端口相同的acl匹配项,与隧道端口的处理过程相比,区别仅在于不用对报文进行解封装。
68.具体的,普通端口收到非隧道报文后,识别报文的协议标识,确定对应的微分段组,然后匹配acl匹配项,也可以实现对非隧道报文的处理。可见,针对非隧道端口,可以下发与隧道端口相同的acl匹配项,进一步节省了acl资源。
69.在本技术的一种实施例中,预先配置的微分段的配置信息还可以包括:微分段的组策略gbp。gbp可以理解为基于微分段的流量控制策略。
70.具体的,微分段的组策略包含针对每一微分段组的报文处理动作,作为一个示例,微分段组包括:微分段组a,微分段组b和微分段组c;微分段的组策略包含针对每一微分段组的报文处理动作,具体为:微分段组a的报文处理动作为上送报文至cpu;微分段组b的报文处理动作为向特定端口转发报文;微分段组c的报文处理动作为丢弃报文。
71.本技术实施例中,可以根据微分段的组策略生成acl中各匹配项对应的报文处理动作。
72.承接上例,若acl匹配项为微分段组a的标识,则对应的报文处理动作为上送报文至cpu;若acl匹配项为微分段组b的标识,则对应的报文处理动作为向特定端口转发报文;若acl匹配项为微分段组c的标识,则对应的报文处理动作为丢弃报文。
73.相应于本技术实施例提供的隧道报文的内层报文匹配方法,本技术实施例还提供了一种隧道报文的内层报文匹配装置,参见图2,图2为本技术实施例提供的隧道报文的内层报文匹配装置的一种结构示意图,包括以下模块:
74.获取模块201,用于获取待匹配的隧道报文;
75.解封装模块202,用于对隧道报文进行解封装,得到隧道报文的内层报文;
76.确定模块203,用于识别内层报文的目标协议标识,基于预先配置的微分段的配置信息,确定目标协议标识所属的目标微分段组;其中,微分段的配置信息包括:预设多个协议标识的微分段组分组信息;
77.匹配模块204,用于基于目标微分段组匹配访问控制列表acl,其中,acl中包含针对各个微分段组的匹配项,以及各匹配项对应的报文处理动作;
78.动作执行模块205,用于确定与目标微分段组相匹配的匹配项,执行该匹配项对应的报文处理动作。
79.在本技术的一种实施例中,协议标识为协议的组播ip地址。
80.在本技术的一种实施例中,报文处理动作包括:上送报文至cpu、转发报文、或丢弃报文。
81.在本技术的一种实施例中,预先配置的微分段的配置信息还包括:微分段的组策略gbp,
82.acl中各匹配项对应的报文处理动作是基于gbp生成的。
83.采用本技术实施例提供的隧道报文的内层报文匹配装置,获取待匹配的隧道报文;对隧道报文进行解封装,得到隧道报文的内层报文;识别内层报文的目标协议标识,基于预先配置的微分段的配置信息,确定目标协议标识所属的目标微分段组;其中,微分段的配置信息包括:预设多个协议标识的微分段组分组信息;基于目标微分段组匹配访问控制列表acl,其中,acl中包含针对各个微分段组的匹配项,以及各匹配项对应的报文处理动作;确定与目标微分段组相匹配的匹配项,执行该匹配项对应的报文处理动作。
84.可见,通过配置微分段方式对隧道报文的内层报文协议进行分组,将现有技术中针对内层报文的协议匹配转换为针对微分段组的匹配,无需针对每种待匹配协议下发acl匹配项,只需下发每个微分段组的acl匹配项即可。针对支持匹配隧道内层报文的交换机芯片,能够减少匹配隧道报文的内层报文需要耗费的acl资源;针对不支持匹配隧道内层报文的交换机芯片,尽管不支持直接匹配内层报文协议,但可以采用本技术实施例中匹配微分段组的方式,实现对内层报文的处理,从而无需采用udf方式对隧道报文进行偏移匹配,避免udf偏移过大导致无法正常匹配。
85.其中,方法和装置是基于同一申请构思的,由于方法和装置解决问题的原理相似,因此装置和方法的实施可以相互参见,重复之处不再赘述。
86.本技术实施例还提供了一种电子设备,如图3所示,包括处理器301、通信接口302、存储器303和通信总线304,其中,处理器301,通信接口302,存储器303通过通信总线304完成相互间的通信,
87.存储器303,用于存放计算机程序;
88.处理器301,用于执行存储器303上所存放的程序时,实现如下步骤:
89.获取待匹配的隧道报文;
90.对隧道报文进行解封装,得到隧道报文的内层报文;
91.识别内层报文的目标协议标识,基于预先配置的微分段的配置信息,确定目标协议标识所属的目标微分段组;其中,微分段的配置信息包括:预设多个协议标识的微分段组分组信息;
92.基于目标微分段组匹配访问控制列表acl,其中,acl中包含针对各个微分段组的匹配项,以及各匹配项对应的报文处理动作;
93.确定与目标微分段组相匹配的匹配项,执行该匹配项对应的报文处理动作。
94.上述电子设备提到的通信总线可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
95.通信接口用于上述电子设备与其他设备之间的通信。
96.存储器可以包括随机存取存储器(random access memory,ram),也可以包括非易
失性存储器(non

volatile memory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
97.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field

programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
98.采用本技术实施例提供的隧道报文的电子设备,获取待匹配的隧道报文;对隧道报文进行解封装,得到隧道报文的内层报文;识别内层报文的目标协议标识,基于预先配置的微分段的配置信息,确定目标协议标识所属的目标微分段组;其中,微分段的配置信息包括:预设多个协议标识的微分段组分组信息;基于目标微分段组匹配访问控制列表acl,其中,acl中包含针对各个微分段组的匹配项,以及各匹配项对应的报文处理动作;确定与目标微分段组相匹配的匹配项,执行该匹配项对应的报文处理动作。
99.可见,通过配置微分段方式对隧道报文的内层报文协议进行分组,将现有技术中针对内层报文的协议匹配转换为针对微分段组的匹配,无需针对每种待匹配协议下发acl匹配项,只需下发每个微分段组的acl匹配项即可。针对支持匹配隧道内层报文的交换机芯片,能够减少匹配隧道报文的内层报文需要耗费的acl资源;针对不支持匹配隧道内层报文的交换机芯片,尽管不支持直接匹配内层报文协议,但可以采用本技术实施例中匹配微分段组的方式,实现对内层报文的处理,从而无需采用udf方式对隧道报文进行偏移匹配,避免udf偏移过大导致无法正常匹配。
100.在本技术提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一隧道报文的内层报文匹配方法的步骤。
101.在本技术提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一隧道报文的内层报文匹配方法。
102.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
103.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存
在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
104.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于隧道报文的内层报文匹配装置、电子设备、计算机可读存储介质及计算机程序产品实施例而言,由于其基本相似于隧道报文的内层报文匹配方法实施例,所以描述的比较简单,相关之处参见隧道报文的内层报文匹配方法实施例的部分说明即可。
105.以上所述仅为本技术的较佳实施例,并非用于限定本技术的保护范围。凡在本技术的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本技术的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1