[发明专利]数据包处理的方法及装置有效
申请号: | 201310048013.1 | 申请日: | 2013-02-06 |
公开(公告)号: | CN103152268A | 公开(公告)日: | 2013-06-12 |
发明(设计)人: | 李伟;邓振波;苏云琳 | 申请(专利权)人: | 北京奇虎科技有限公司;奇智软件(北京)有限公司 |
主分类号: | H04L12/741 | 分类号: | H04L12/741;H04L12/865 |
代理公司: | 北京市中伦律师事务所 11410 | 代理人: | 程义贵;张思悦 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据包 处理 方法 装置 | ||
技术领域
本发明属于计算机技术领域,尤其涉及一种数据包处理的方法及装置。
背景技术
连接跟踪(conntrack),就是跟踪并且记录连接状态。Linux(是一种自由和开放源码的类Unix操作系统)为每一个经过网络堆栈的数据包,生成一个新的连接记录项(Connection entry),该连接记录可由ip_conntrack结构表示。此后,所有属于此连接的数据包都被唯一地分配给这个连接,并标识连接的状态。连接跟踪是防火墙模块的状态检测的基础,同时也是地址转换中实现SNAT(Source Network Address Translation,源地址转换)和DNAT(Destination Network Address Translation,目的地址转换)的前提。
目前应用协议(例如P2P协议、IM协议、Email协议等)控制的通常方法是基于连接状态的数据包检测。数据包从网卡进来后被分割为独立的连接,通过识别该连接属于何种应用层协议之后,再对这条连接上所有的数据包打上对应的标签(mark)。通过维护此条连接的上下行数据包以及字节计数,实现对该协议类型的流量统计。
然而,现有技术没有实现在不同的应用环境中使用不同的优先级配置进行数据包的输出,例如:在协议识别时确保数据量较大的协议的输出顺序的优先级较高,数据量小并且使用不广泛的协议的输出顺序的优先级较低。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的数据包处理的方法及装置,以实现根据数据包的优先级标识来控制数据包的输出顺序。
依据本发明的一个方面,提供了一种数据包处理的方法,通过内核空间中注册的第一钩子函数对数据包进行目的地址转换处理;目的地址转换处理后,通过内核空间中注册的第二钩子函数对数据包进行路由处理;在所述数据包路由处理之后,通过内核空间中注册的第三钩子函数对数据包进行源地址转换处理;以及获取所述数据包的优先级标识,并根据所述数据包的优先级标识控制所述数据包的输出顺序。
根据本发明的另一方面,提供了一种数据包处理的装置,目的地址转换模块,用于通过内核空间中注册的第一钩子函数对数据包进行目的地址转换处理;路由模块,用于在源地址转换处理后目的地址转换处理后,通过内核空间中注册的第二钩子函数对数据包进行路由处理;源地址转换模块,用于在所述数据包路由处理之后,通过内核空间中注册的第三钩子函数对数据包进行源地址转换处理;以及输出模块,用于获取所述数据包的优先级标识,并根据所述数据包的优先级标识控制所述数据包的输出顺序。
根据本发明的数据包处理的方法和数据包处理的装置,数据包在输出之前在内核空间中仅需通过三个钩子函数的处理,相对于现有技术中需经过五个钩子函数的处理,有效减少了数据包通过钩子函数的数量,其次可通过数据包的优先级标识来控制数据包的输出顺序,例如数据量较大的数据包的输出顺序的优先级较高,数据量小且使用不广泛的数据包的输出顺序的优先级较低,最后,本发明实施例的可扩展性较强,可根据识别数据包的需求配置协议识别模块。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的数据包处理的方法100的流程图;
图2示出了根据本发明一个实施例的数据包的处理示意图;
图3示出了根据本发明一个实施例的ip NAC协议识别模块的包处理的流程示意图;
图4示出了根据本发明一个实施例的链表数据管理各模块的示意图;
图5示出了根据本发明一个实施例的协议识别模块注册的示意图;以及
图6示出了根据本发明又一个实施例数据包处理的装置600结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司,未经北京奇虎科技有限公司;奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310048013.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:基于信号消除进行噪声估计的方法及系统
- 下一篇:一种服装吊挂链