本公开涉及通信,具体而言,涉及一种qinq报文处理方法、qinq报文处理装置、计算机可读介质和电子设备。
背景技术:
1、随着物联网快速发展,海量设备接入因特网,设备(即用户)数量达到千万级别,网络流量巨大,qinq(802.1q-in-802.1q)协议是基于ieee 802.1q技术的二层隧道协议。qinq是一项扩展vlan(virtual local area network,虚拟局域网)空间的技术,通过在802.1q标签报文的基础上再增加一层802.1q的标签来达到扩展vlan空间的功能,可以使私网vlan透传公网。而qinq终结主要是用来实现对携带两层及以上vlan标签的报文的vlan终结。
2、现有qinq网络报文处理过程,网卡驱动确定接收报文的网络物理接口,接收报文的网络物理接口按照报文携带的外层vlan标签信息匹配对应的vlan接口后,剥离报文的外层vlan标签;再通过vlan接口按照报文携带的内层vlan标签信息匹配对应的qinq接口,剥离报文的内层vlan标签;最后将报文进行三层转发或交由其它业务处理。
3、现有qinq报文处理过程中,qinq接口依赖vlan接口进行接口匹配,报文需要经过vlan接口后才能查找qinq接口,即需要经过两层接口才能实现qinq终结。该过程中存在网络接口之间相互依赖,网络接口利用率低、报文处理效率低和对硬件资源的消耗较大的问题。
4、需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
1、本公开实施例的目的在于提供一种qinq报文处理方法、qinq报文处理装置、计算机可读介质和电子设备,进而在一定程度上解决了现有技术中网络接口利用率低、报文处理效率低和对硬件资源的消耗较大的问题。
2、根据本公开的第一方面,提供了一种qinq报文处理方法,包括:
3、确定双层vlan标签信息和qinq接口信息之间的匹配关系;qinq接口信息包含qinq接口标识;
4、向网络物理接口中配置所述匹配关系;
5、根据所述匹配关系,通过网络物理接口将qinq报文携带的双层vlan标签信息与qinq接口标识进行匹配,确定qinq报文对应的qinq接口标识;
6、根据业务信息,通过与qinq接口标识对应的qinq接口处理所述qinq报文。
7、在本公开的一种示例性实施例中,基于前述方案,所述确定双层vlan标签信息和qinq接口信息之间的匹配关系,包括:
8、将双层vlan标签信息添加至qinq接口信息中,形成含双层标签的qinq接口信息;
9、根据含双层标签的qinq接口信息,建立双层vlan标签信息和qinq接口信息之间的匹配关系。
10、在本公开的一种示例性实施例中,基于前述方案,所述根据含双层标签的qinq接口信息,建立双层vlan标签信息和qinq接口信息之间的匹配关系,包括:
11、根据含双层标签的qinq接口信息中的双层vlan标签信息和qinq接口标识,建立相应的自平衡二叉查找树;自平衡二叉查找树中的一个节点对应一个qinq接口标识。
12、在本公开的一种示例性实施例中,基于前述方案,所述将双层vlan标签信息添加至qinq接口信息中,包括:
13、在linux内核的802.1q模块对qinq接口信息进行重新配置,以使qinq接口信息中含有双层vlan标签信息。
14、在本公开的一种示例性实施例中,基于前述方案,所述向网络物理接口中配置所述匹配关系,包括:
15、在linux内核的802.1q模块配置qinq接口信息的存储信息,以使所述匹配关系存储于网络物理接口中。
16、在本公开的一种示例性实施例中,基于前述方案,所述根据所述匹配关系,通过网络物理接口将qinq报文携带的双层vlan标签信息与所述qinq接口标识进行匹配,包括:
17、通过网络物理接口中存储的所述自平衡二叉查找树中查找与qinq报文携带的双层vlan标签信息相同的节点信息;
18、根据查找到的节点信息,确定对应的qinq接口标识。
19、在本公开的一种示例性实施例中,基于前述方案,所述根据业务信息,通过与qinq接口标识对应的qinq接口处理所述qinq报文,包括:
20、确定业务类型信息,所述业务类型信息包含终结和转发;
21、基于所述业务类型信息,通过与qinq接口标识对应的qinq接口对所述qinq报文进行终结或转发。
22、在本公开的一种示例性实施例中,基于前述方案,所述方法还包括:
23、将单层vlan标签信息添加至vlan接口数据中;
24、向网络物理接口中配置含有单层vlan标签信息的vlan接口数据。
25、根据本公开的第二方面,提供了一种qinq报文处理装置,包括:
26、匹配关系构建模块,用于确定双层vlan标签信息和qinq接口信息之间的匹配关系;qinq接口信息包含qinq接口标识;
27、匹配关系配置模块,用于向网络物理接口中配置所述匹配关系;
28、接口匹配模块,用于根据所述匹配关系,通过网络物理接口将qinq报文携带的双层vlan标签信息与所述qinq接口标识进行匹配,确定qinq报文对应的qinq接口标识;
29、报文处理模块,用于根据业务信息,通过与qinq接口标识对应的qinq接口处理所述qinq报文。
30、根据本公开的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的qinq报文处理方法。
31、根据本公开的第四方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的qinq报文处理方法。
32、本公开示例性实施例可以具有以下部分或全部有益效果:
33、在公开示例实施方式所提供的qinq报文处理方法中,可以首先确定双层vlan标签信息和qinq接口信息之间的匹配关系;向网络物理接口中配置匹配关系;根据所述匹配关系,通过网络物理接口将qinq报文携带的双层vlan标签信息与qinq接口标识进行匹配,确定qinq报文对应的qinq接口标识;根据业务信息,通过与qinq接口标识对应的qinq接口处理所述qinq报文。一方面解除了qinq报文处理过程中,qinq接口与vlan接口之间的依赖关系,使qinq报文能够直接通过qinq接口处理,提高了qinq报文处理效率;另一方面避免了双层vlan标签信息的逐层识别、剥离过程,减少硬件资源消耗。此外,qinq接口的创建、管理状态、mtu(最大传输单元)、收发包操作完全独立于vlan接口,且qinq接口的mtu独立于网络物理接口,便于整个系统的管理维护。
34、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。