Linux下自适应网络数据捕获系统设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux下自适应网络数据捕获系统设计

Linux下自适应网络数据捕获系统设计   【摘要】 本文在对零拷贝技术改进的基础上提出了一种适应不同网络负载环境下的自适应的数据捕获方法,重点介绍了其实现的关键技术、数据捕获整体结构,自适应数据捕获方法使用范围更广、在同等条件下有效的减轻了CPU的负荷,提高了数据捕获的效率 【关键词】 自适应 数据捕获 Linux系?y 一、引言 网络数据捕获是网络安全性分析过程中一种常用的方法,一般采用NAPI中断轮询机制、零拷贝技术和TOE等关键方法来提升数据捕获的性能,但是这些方案在实际应用中存在适用范围小性能提升有限等问题。本文提出了自适应网络数据捕获方法,实现一种应用范围更广的数据捕获方案 二、自适应数据捕获及其关键技术 为了提高数据捕获的效率,适应不同的网络环境,本文在零拷贝的基础上提出一种自适应的网络数据捕获机制 2.1 自适应网络数据捕获整体结构 与零拷贝技术相比,将接口程序中队列中的去写数据的方式从硬件中断方式改为轮询方式,设定自适应的轮询定时器,采用自适应的方式根据流量大小对定时器的工作时间进行调整,如果网络中数据流量较大时则增大定时器的定时时间间隔,如果流量较小时则减小定时器定时时间。通过这种方式可以减小中断带来的系统开销,同时能够根据不同的网络环境适时调整轮询频率,及时高效的处理网络数据 2.2 自适应定时器 自适应网络数据捕获方法减少中断次数的关键就是根据网络流量大小修正轮询时定时器计时的时间间隔。其核心是根据已经采集的数据流量大小预测定下一次定时器启动的时间。在预测时间时首先按照一定的时间间隔采集当前网络流量大小得到一个连续的时间序列,网络流量数据可以用如下数据形式描述: X={x1,x2,x3,…xt,t=1,2,3…} 其中xt表示网络中t到t+1时刻网络中数据流量大小,X表示为连续的网络流量时间序列。网络流量预测根据过去的现在已知的或者非确定的网络流量状态建立一个网络流量预测模型从而预测未来的流量,可以用如下函数表示: 其中为其与预测值。为了不增加额外的开销,在流量预测时使用计算相对简单预测也较准确的基于数理统计的泊松过程模型 2.3 内存地址映射 为了避免数据在内存之间的拷贝,在用户和内核中设置了一块共享的缓冲区,但是用户程序所使用的地址和硬件使用的物理地址是不相同的。Linux操作系统中每个应用程序维护一个多级页表来实现地址之间的转换 内存地址转换时首先将用户缓冲区UserBuff经过页对齐之后的首地址传入内核中并以此为首地址逐级映射到物理地址表phy_addr_table。物理地址表phy_addr_table一旦初始化后就锁定不可更改。具体过程如下: For(i=0;i1);i++,addr+=PAGE_SIZE) 经过映射之后,用户就可以直接访问送入Phy_addr_ table中的网络数据包 三、测试 为了对自适应网络数据数据捕获方法进行进一步分析,对整个系统进行了测试。测试是使用linux2.6.21操作系统,realtek rtl8168 8111网卡,CPU为Intel(R) i3-2100 CPU。为了测试自适应数据捕获系统的性能,测试了64字节小包发送不同速率的数据包对CPU资源的占用情况,测试结果如表1所示: 测试结果表明,自适应的网络数据捕获方法在不同的数据流量大小情况下占用CPU的资源均比使用libpcap库和零拷贝技术时要小,尤其是在发包数量大道150万个/s的情况下采用libpcap库和零拷贝机制的CPU使用率达到将近100%,自适应数据捕获CPU使用率仍然相对较低 四、结束语 本文在对零拷贝技术的改进的基础上提出了一种适应不同网络负载环境下的自适应的数据捕获方法,相比较与其他数据捕获机制,自适应数据捕获方法使用范围更广、在同等条件下有效的减轻了CPU的负荷,提高了数据捕获的效率 参 考 文 献 [1]马博.Linux下的高流量数据包监听技术[J].计算机应用,2009,29(5):1244-1250 [2]刘文涛.网络安全开发包详解[M].北京:电子工业出版社,2011 1

文档评论(0)

docman126 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:7042123103000003

1亿VIP精品文档

相关文档