IPv6高速网络环境下数据分组捕获技术的研究

IPv6高速网络环境下数据分组捕获技术的研究

ID:37814418

大小:846.85 KB

页数:9页

时间:2019-05-31

IPv6高速网络环境下数据分组捕获技术的研究_第1页
IPv6高速网络环境下数据分组捕获技术的研究_第2页
IPv6高速网络环境下数据分组捕获技术的研究_第3页
IPv6高速网络环境下数据分组捕获技术的研究_第4页
IPv6高速网络环境下数据分组捕获技术的研究_第5页
资源描述:

《IPv6高速网络环境下数据分组捕获技术的研究》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、研究与开发IPv6高速网络环境下数据分组捕获技术的研究王相林,沈清姿,朱展,刘立朋(杭州电子科技大学计算机学院杭州310018)I圉针对传统的数据分组捕获技术在IPv6高速网络环境下表现出的严重分组丢失问题,采用“零拷贝”的思想设计并实现了一个适用于IPv6高速网络环境的数据分组捕获平台(HSPCP)。以Inte182541GI吉比特网卡驱动程序elO00为基础,对网络数据分组的接收流程进行改进,在内核中注册一个杂项设备,实现了其mmap和ioctl方法,并编写了与改进后零拷贝驱动相对应的用户空间报文捕获程序。通过实验将HSPCP与Libpc

2、ap进行了分组捕获效率对比测试,实验证明HSPCP相对于传统的Libpcap分组捕获方式在性能上有较明显的提高。的提高。.21古l-,l曰2传统数据分组捕获技术数据分组捕获是入侵检测系统、网络流量分析系统、数据分组过滤防火墙等十分重要的一个环节.因为它们都Libpcap是开发具有数据分组采集功能的系统最常用的依赖于接收到的网络数据分组。随着网络的不断发展,网一个开源分组捕获函数库【2_。它为开发者提供了统一的络用户逐渐增多,网络带宽也迅速增大,流量加倍,传统的API,屏蔽了底层数据分组捕获技术的不同,是对各种数据数据分组捕获技术已经不能满足日

3、益增长的网络带宽需分组捕获技术的二次封装。目前,Libpeap底层所依赖的数求【】1,尤其是在IPv6网络环境下,各种流媒体应用增多,高据分组捕获技术包括基于PF_PACKET套接字的数据分组速率、高带宽是其明显的特征。随之而来的数据分组捕获捕获技术、基于PACKET_MMAP套接字的数据分组捕获技阶段的分组丢失问题逐渐成为入侵检测系统等的性能瓶术以及基于PF—RING套接字的数据分组捕获技术,接下来颈。随着带宽的持续增长,这个影响会越来越明显。分别对3种数据分组捕获技术的原理与存在的性能瓶颈进本文采用零拷贝(zerocopy)的思想设计实现

4、了一个行分析。适用于IPv6高速网络环境的数据分组捕获平台(high2.1基于PF—PACKET的数据分组捕获技术speedpacketcaptureplatform.HSPCP).实验证明HSPCPPFPACKET是当前Linux中一个独立的协议族,与相对于传统的Libpcap分组捕获方式在性能上有较明显TCP/IP协议族、IPv6协议族是并行的同级别内核模块。PF_PACKET工作在数据链路层.从PF_PACKET得到的数国家自然科学基金资助项目(No.60971046,No.60804064),浙江据分组是没有经过TCP/IP或者IPv

5、6协议栈处理的,同时省大学生新苗人才计划科技成果推广项目(No.2010R407052),它也是Libpcap最早支持的一种数据分组捕获技术。基于浙江省大学生新苗人才计划创新创业孵化项目(N02O1OR4O7O60)电信科学囊理函数PFPACKET注册的类型ETHj'_ALL,ETH—P_ALL用户空间程序(如Snort等)_这个类型表示接收所有类型的数据分组,函数packet_rcvIlLibpcap将接收到的数据分组放人自己的接收队列(socketbuffer)中recvfrom()recvfrom()等待用户空间程序来取。用户程序(如S

6、nort)直接调用或通1,Isocket~过Libpcap函数库间接调用recvfrom系统调用.依次调用函sys_recvfrom()BSD数sys_recvfrom、sock—recvmsg、packet_recvmsg将数据分组从sockrecvfromOsocket_接收队列(socketbuffer)中拷贝到用户空间缓冲区中。从上述分组捕获过程看,基于PF_PACKET套接字的1·数据链路屋数据分组捕获方式将数据分组直接从数据链路层提交给paket_recvms)应用层,这个过程存在2次内存拷贝,分别是网卡驱动程JI接收队列序的DM

7、A环形缓存到PF_PACKET的套接字缓存和内JLPF核_PACKET的套接字缓存到用户程序的缓存。而且空recvfrom系统调用引起的内核空间与用户空间之间的上下间文切换在网络流量很高的时候,会造成极大的开销.影响packet_rcv()JI系统的性能。因为系统调用实质上是一个中断.在进行大流量分组捕获时,操作系统要不停地处理中断和进程间的上下文切换,最终会导致中断淹没.而使CPU没有空余的软中断时间处理其他任务,从而导致大量的分组丢失现象产生,f使得分组捕获系统不能捕获全部的网络数据分组,造成漏硬中断f报率升高,系统整体性能下降。2.2基

8、于PACKET驱动程序的DMA环形缓存_MMAP的数据分组捕获技术(动态分配的内核skPACKETMMAP是Linux内核从2.3.15版本开始对_buf暖冲区)J

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。