一种Linux系统的QinQ报文处理方法及平台技术方案

技术编号:14276535 阅读:243 留言:0更新日期:2016-12-24 19:02
本申请公开了一种Linux系统的QinQ报文处理方法,包括:预先分别为每个网络设备创建相对应的配置位图;若需要第一网络设备启动针对第一QinQ报文的报文接收处理流程,则在第一QinQ报文能够在第一网络设备中进行传输的情况下,对QinQ对象集合进行相应地更新;若需要第二网络设备启动报文发送处理流程,则对QinQ对象集合进行查找,若查找到与第二网络设备对应的QinQ对象,则相应地生成第二QinQ报文,并对第二QinQ报文进行相应地发送处理。本申请通过利用配置位图以及QinQ对象集合实现了QinQ功能,而且在这过程中,无需依赖虚拟设备。另外,本申请还相应公开了一种QinQ报文处理平台。

【技术实现步骤摘要】

本专利技术涉及网络通信
,特别涉及一种Linux系统的QinQ报文处理方法及平台
技术介绍
Linux因其完善的网络功能和灵活的可定制性,在网络设备和服务器中均有大量使用。在实际环境中,一些Linux设备经常面临QinQ的终结和处理任务。例如在QinQ网络中的PPPoE认证服务器(PPPoE,即PPP over Ethernet,以太网上的点对点协议),需要识别并终结用户报文中的QinQ信息,实现依据VlanId(即Vlan ID,虚拟局域网ID号)的认证策略;再者,DHCP服务器(DHCP,即Dynamic Host Configuration Protocol,动态主机配置协议)有时也需要具有QinQ功能,并依据VlanId作为ip分配的一种因素。现有技术是通过在以太网设备上新建一个虚拟设备的方式来实现Vlan技术,而要实现QinQ技术则需要在Vlan虚拟设备上再建一个虚拟设备,也即,现有技术需要使用双层虚拟设备来表达QinQ环境中的一个Vlan,这也就意味着,现有技术需要通过大量的双层虚拟设备来实现对QinQ报文的处理。然而,在QinQ环境中,通常会存在成千上万个Vlan,这样不仅需要大量虚拟设备的支持,也会给Linux系统带来较大的负载。综上所述可以看出,如何在实现QinQ功能的过程中减少对虚拟设备的依赖性是目前有待解决的问题。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种Linux系统的QinQ报文处理方法及平台,在实现QinQ功能的过程中减少了对虚拟设备的依赖性。其具体方案如下:一种Linux系统的QinQ报文处理方法,包括:预先分别为每个网络设备创建相对应的配置位图;其中,任一网络设备所对应的配置位图用来指示能够在该网络设备中进行传输的QinQ报文;若需要第一网络设备启动针对第一QinQ报文的报文接收处理流程,则利用所述第一网络设备所对应的配置位图,判断所述第一QinQ报文是否能够在所述第一网络设备中进行传输,如果是,则依据所述第一QinQ报文,对预先创建的QinQ对象集合进行相应地更新,所述QinQ对象集合为预先创建的用于记录当前网络系统的所有处于有效状态的QinQ对象;其中,任一QinQ对象均相应地包括VlanID编码和设备信息;若需要第二网络设备启动报文发送处理流程,则利用所述第二网络设备对应的设备信息,对所述QinQ对象集合进行查找,若从所述QinQ对象集合中查找到与所述第二网络设备对应的QinQ对象,则利用该QinQ对象所对应的VlanID编码,相应地生成第二QinQ报文,并利用所述第二网络设备对所述第二QinQ报文进行相应地发送处理。优选的,任一网络设备所对应的配置位图中包括VlanID编码以及与VlanID编码对应的比特位;其中,若配置位图中任一VlanID编码对应的比特位为1,则表示与该VlanID编码对应的QinQ报文能够在相应的网络设备中进行传输;若配置位图中任一VlanID编码对应的比特位为0,则表示与该VlanID编码对应的QinQ报文不能在相应的网络设备进行传输。优选的,所述利用所述第一网络设备所对应的配置位图,判断所述第一QinQ报文是否能够在所述第一网络设备中进行传输的过程,包括:从所述第一QinQ报文中提取出相应的QinQ信息,并利用该QinQ信息,对相应的VlanID编码进行计算,得到第一VlanID编码;若在所述第一网络设备所对应的配置位图中,与所述第一VlanID编码对应的比特位为1,则判定所述第一QinQ报文能够在所述第一网络设备中进行传输;若在所述第一网络设备所对应的配置位图中,与所述第一VlanID编码对应的比特位为0,则判定所述第一QinQ报文不能在所述第一网络设备中进行传输。优选的,任一QinQ对象均具体包括VlanID编码、网络设备索引、设备MAC地址以及用于表示该QinQ对象的剩余有效时间的超时值。优选的,所述依据所述第一QinQ报文,对预先创建的QinQ对象集合进行相应地更新的过程,包括:利用所述第一QinQ报文所对应的源MAC地址,并结合第一映射表,对所述QinQ对象集合进行查找;其中,所述第一映射表为用于记录设备MAC地址与QinQ对象之间映射关系的映射表;若在所述QinQ对象集合中查找到与所述第一QinQ报文对应的QinQ对象,则对该QinQ对象中的超时值进行相应地刷新处理;若在所述QinQ对象集合中查找不到与所述第一QinQ报文对应的QinQ对象,则在所述QinQ对象集合中相应地新建一个与所述第一QinQ报文对应的QinQ对象,并对所述第一映射表进行相应地更新。优选的,所述第一映射表的类型为哈希表。优选的,所述利用所述第二网络设备对应的设备信息,对所述QinQ对象集合进行查找的过程,包括:依据所述第二网络设备对应的目的MAC地址,并结合所述第一映射表,对所述QinQ对象集合进行查找。优选的,任一QinQ对象还具体包括该QinQ对象被引用次数。本专利技术还公开了一种Linux系统的QinQ报文处理平台,包括:位图创建模块,用于预先分别为每个网络设备创建相对应的配置位图;其中,任一网络设备所对应的配置位图用来指示能够在该网络设备中进行传输的QinQ报文;报文接收处理模块,用于当需要第一网络设备启动针对第一QinQ报文的报文接收处理流程,则利用所述第一网络设备所对应的配置位图,判断所述第一QinQ报文是否能够在所述第一网络设备中进行传输,如果是,则依据所述第一QinQ报文,对预先创建的QinQ对象集合进行相应地更新,所述QinQ对象集合为预先创建的用于记录当前网络系统的所有处于有效状态的QinQ对象;其中,任一QinQ对象均相应地包括VlanID编码和设备信息;报文发送处理模块,用于当需要第二网络设备启动报文发送处理流程,则利用所述第二网络设备对应的设备信息,对所述QinQ对象集合进行查找,若从所述QinQ对象集合中查找到与所述第二网络设备对应的QinQ对象,则利用该QinQ对象所对应的VlanID编码,相应地生成第二QinQ报文,并利用所述第二网络设备对所述第二QinQ报文进行相应地发送处理。本专利技术中,Linux系统的QinQ报文处理方法,包括:预先分别为每个网络设备创建相对应的配置位图;其中,任一网络设备所对应的配置位图用来指示能够在该网络设备中进行传输的QinQ报文;若需要第一网络设备启动针对第一QinQ报文的报文接收处理流程,则利用第一网络设备所对应的配置位图,判断第一QinQ报文是否能够在第一网络设备中进行传输,如果是,则依据第一QinQ报文,对预先创建的QinQ对象集合进行相应地更新,QinQ对象集合为预先创建的用于记录当前网络系统的所有处于有效状态的QinQ对象;其中,任一QinQ对象均相应地包括VlanID编码和设备信息;若需要第二网络设备启动报文发送处理流程,则利用第二网络设备对应的设备信息,对QinQ对象集合进行查找,若从QinQ对象集合中查找到与第二网络设备对应的QinQ对象,则利用该QinQ对象所对应的VlanID编码,相应地生成第二QinQ报文,并利用第二网络设备对第二QinQ报文进行相应地发送处理。可见,本专利技术预先为每个网络设备创建相应的配置位图,并且创建了QinQ对象集合,用于记录当前网本文档来自技高网...
一种Linux系统的QinQ报文处理方法及平台

【技术保护点】
一种Linux系统的QinQ报文处理方法,其特征在于,包括:预先分别为每个网络设备创建相对应的配置位图;其中,任一网络设备所对应的配置位图用来指示能够在该网络设备中进行传输的QinQ报文;若需要第一网络设备启动针对第一QinQ报文的报文接收处理流程,则利用所述第一网络设备所对应的配置位图,判断所述第一QinQ报文是否能够在所述第一网络设备中进行传输,如果是,则依据所述第一QinQ报文,对预先创建的QinQ对象集合进行相应地更新,所述QinQ对象集合为预先创建的用于记录当前网络系统的所有处于有效状态的QinQ对象;其中,任一QinQ对象均相应地包括VlanID编码和设备信息;若需要第二网络设备启动报文发送处理流程,则利用所述第二网络设备对应的设备信息,对所述QinQ对象集合进行查找,若从所述QinQ对象集合中查找到与所述第二网络设备对应的QinQ对象,则利用该QinQ对象所对应的VlanID编码,相应地生成第二QinQ报文,并利用所述第二网络设备对所述第二QinQ报文进行相应地发送处理。

【技术特征摘要】
1.一种Linux系统的QinQ报文处理方法,其特征在于,包括:预先分别为每个网络设备创建相对应的配置位图;其中,任一网络设备所对应的配置位图用来指示能够在该网络设备中进行传输的QinQ报文;若需要第一网络设备启动针对第一QinQ报文的报文接收处理流程,则利用所述第一网络设备所对应的配置位图,判断所述第一QinQ报文是否能够在所述第一网络设备中进行传输,如果是,则依据所述第一QinQ报文,对预先创建的QinQ对象集合进行相应地更新,所述QinQ对象集合为预先创建的用于记录当前网络系统的所有处于有效状态的QinQ对象;其中,任一QinQ对象均相应地包括VlanID编码和设备信息;若需要第二网络设备启动报文发送处理流程,则利用所述第二网络设备对应的设备信息,对所述QinQ对象集合进行查找,若从所述QinQ对象集合中查找到与所述第二网络设备对应的QinQ对象,则利用该QinQ对象所对应的VlanID编码,相应地生成第二QinQ报文,并利用所述第二网络设备对所述第二QinQ报文进行相应地发送处理。2.根据权利要求1所述的Linux系统的QinQ报文处理方法,其特征在于,任一网络设备所对应的配置位图中包括VlanID编码以及与VlanID编码对应的比特位;其中,若配置位图中任一VlanID编码对应的比特位为1,则表示与该VlanID编码对应的QinQ报文能够在相应的网络设备中进行传输;若配置位图中任一VlanID编码对应的比特位为0,则表示与该VlanID编码对应的QinQ报文不能在相应的网络设备进行传输。3.根据权利要求2所述的Linux系统的QinQ报文处理方法,其特征在于,所述利用所述第一网络设备所对应的配置位图,判断所述第一QinQ报文是否能够在所述第一网络设备中进行传输的过程,包括:从所述第一QinQ报文中提取出相应的QinQ信息,并利用该QinQ信息,对相应的VlanID编码进行计算,得到第一VlanID编码;若在所述第一网络设备所对应的配置位图中,与所述第一VlanID编码对应的比特位为1,则判定所述第一QinQ报文能够在所述第一网络设备中进行传输;若在所述第一网络设备所对应的配置位图中,与所述第一VlanID编码对应的比特位为0,则判定所述第一QinQ报文不能在所述第一网络设备中进行传输。4.根据权利要求3所述的Linux系统的QinQ报文处理方法,其特征在于,任一QinQ对象均具体包括VlanID编码、网络设备索引、设备MAC地址以及用于表示该QinQ对象的剩余有效时...

【专利技术属性】
技术研发人员:侯志远
申请(专利权)人:浪潮北京电子信息产业有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1