[发明专利]基于Libnids的协议还原方法有效

专利信息
申请号: 201610532683.4 申请日: 2016-07-07
公开(公告)号: CN106209698B 公开(公告)日: 2019-07-23
发明(设计)人: 白肖;陈宏伟;何建锋;刘亚轩 申请(专利权)人: 西安交大捷普网络科技有限公司
主分类号: H04L12/953 分类号: H04L12/953;H04L29/06
代理公司: 西安新思维专利商标事务所有限公司 61114 代理人: 黄秦芳
地址: 710075 陕*** 国省代码: 陕西;61
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种基于Libnids的协议还原方法,根据接收到的数据包为IP分片的第一个包获取所述第一个包对应的四元组,之后,根据所述第一个包对应的四元组查找流结构,并且对所述查找到的流结构重建加入用于保存IP分片序列号的序列号队列;当接收到的数据包为IP分片的非第一个包时,根据该数据包的目的IP查找到对应的HOST,在查找到的HOST对应的若干个流结构中查找对应的流结构,将该数据包直接写入该流结构的对应的内存中。本发明将零散的内存分配和释放改为大内存,有效地节省了内存的分配和释放的时间,提高了内存管理的效率,有效节省了文件操作所消耗的时间,无需线程中的文件拷贝等操作,节省了很大的时间。
搜索关键词: 基于 libnids 协议 还原 方法
【主权项】:
1.一种基于Libnids的协议还原方法,其特征在于,该方法为:接收到的数据包为IP分片的第一个包时,获取所述第一个包对应的四元组,之后,根据所述第一个包对应的四元组查找流结构,并且对所述查找到的流结构重建加入用于保存IP分片序列号的序列号队列;当接收到的数据包为IP分片的非第一个包时,根据该数据包的目的IP查找到对应的HOST,在查找到的HOST对应的若干个流结构中查找对应的流结构,将该数据包直接写入该流结构的对应的内存中;所述将该数据包直接写入该流结构的对应的内存中,具体为:在Libnids的半连接结构体struct half_stream中加入内存节点的指针变量,在接收到连接数据,确定需要空间的时候则调用节点申请的接口获取一个内存节点;在连接关闭或者超时的时候,将内存节点作为参数传递给协议处理队列,协议处理线程也能够直接从内存中获取数据,等到协议处理线程将所有的解析工作完成之后,再将所有的内存信息写到磁盘文件中,最后调用内存节点的释放接口;Libnids写内存直接在Libnids里面判断连接的半连接数据是否需要,并且在连接结束的时候将对应的节点插入到对应线程的处理队列中;或者,所述将该数据包直接写入该流结构的对应的内存中,具体为:在接收到IP分片的第一个包时创建内存,所述内存的起始地址保存在流结构的半连接中,同时还保存着第一个数据包的序列号起始值、内存的当前偏移值、以及一个地址偏移队列;当一个需要写入的数据包到达时,根据序列号确定内存中的偏移地址,直接写入;如果该序列号与半连接中保存的当前偏移值相等,则说明该数据包是连续的,如果不相等,则说明该数据包比之前的数据包先到了,需要保存其序列号到地址偏移队列中,每次当前偏移值修改时都需要与这个队列中的值进行比较,如果找到相等的则证明之后的数据包已经到了,需要把当前偏移值继续修改到没有记录数据包的地方。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安交大捷普网络科技有限公司,未经西安交大捷普网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201610532683.4/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top