高速网络下数据捕获技术的

时间:2024-02-21 点赞:43879 浏览:83939 作者原创标记本站原创

本论文为计算机网络有关硕士论文多少分,关于高速网络下数据捕获技术的相关硕士学位论文,可用于计算机网络论文写作研究的大学硕士与本科毕业论文开题报告范文和优秀学术职称论文参考文献资料下载。免费教你怎么写计算机网络及大学计算机系及数据方面论文范文。

摘 要 :计算机网络正在迅猛地的发展,已经进入到我们生活的各个方面.网络速率的发展给数据捕获带来新的挑战,数据捕获技术在IDS、防火墙和高性能路由器等领域发挥着重要作用,但传统的捕包技术存在着一些系统瓶颈,致使在网络流量大时,出现许多的丢包现象,已无法适应高速网络环境的需求,研究对数据包捕获性能产生影响的主要因素,从而为提升数据包捕获效率提供直接理论依据.

关 键 词 :数据捕获;内存拷贝;Linux平台


中图分类号:TP393.02 文献标识码:A 文章编号:1671—7597(2012)0120033-01

0 引言

随着计算机网络的发展,网络带宽已经达到了千兆甚至万兆,传统的数据捕获平台已经无法满足高速网络的数据捕获需求.因而研究高流量,高负载情况下的数据捕获技术是很有必要的.目前网络监测,入侵检测以及防火墙大都是由Linux来实现的.Linux操作系统内核有着完善、强大的网络功能,并且占用系统资源较少,效率较高.随着网络应用和网络速度的发展,对数据包处理能力提出了更高的要求.

1.Linux下数据包捕获的流程

Linux平台下实现的包捕获系统一般是采用Libpcap函数库,经过SOCKET接口从内核空间将NIC得到的数据包复制到用户空间来,然后在用户空间对数据包采取进一步的处理分析.数据包到达NIC,通过DMA通道的方式存储到系统内核空间管理的内存块中.接着在用户空间,对得到的数据包进行分析解析等工作.整个网络体系结构分为物理层,数据链路层,网络层,传输层和应用层.通过网卡中断数据包被送入内核空间,同时在协议栈的等待队列中等待软中断处理的结果.对接收到的数据包逐层进行解析,将数据帧步步变化成用户可以读取的消息即为软中断的处理.数据包在每个网络层次为不同的角色,物理层是比特流,链路层称为帧,网络层是分组以及传输层是数据段,最后以消息的形式传到应用层.

2.数据捕获性能的瓶颈所在

数据捕获的影响就处于在网卡上面接收数据,传输数据,接着处理数据,这几个阶段中.分析得出影响数据捕获性能的瓶颈如下:

2.1 内存拷贝.最消耗CPU的操作之一就是内存拷贝.在传统网络中,内存总线的速度要高宽带网络速度一倍甚至数倍,数据包在内存中的拷贝对性能不会有很大影响.随着高速网络飞速发展,网络带宽已经达到内存带宽大小.对数据直接进行拷贝比由程序直接送到网络而不进行拷贝就会在系统性能上面有非常突显的区别.在以前传统捕包平台上,消耗了大量的CPU时间.

2.2 中断处理.经过中断原理的分析,我们得出:系统的每一次中断,都需要进行中断响应,保护现场等一系列操作.在低速网络的状况下,响应中断的平率比较低,因而对系统的干扰不大.但是在高速网络环境下,大量数据包一起来到网卡上,所有的数据报文全部发生中断,处理器被迫的响应每一次中断,浪费大量的CPU时钟,不能进行数据包捕获系统后面的处理和分析,大大影响了数据包捕获系统的高效性能.

2.3 协议处理.避开传统的内存拷贝方式之后,数据包通过DMA等方式直接进入系统内核而绕过协议栈.因此我们可以处理掉掉协议栈中没有作用的干扰要素,在用户程序太设计适合自身的协议栈,创造基于多协议栈的并行处理机技术,用来提高系统的处理能力和捕获效率.

2.4 数据校验.数据报文在内部空间和用户程序之间进行拷贝过程中,系统计算内部缓冲区内容的校验和是很有必要的,使数据包接收者保证接收到正确的数据.

3.提高数据包捕获的方法

从上面的分析得出,一个数据包在收发过程中,频繁的系统中断和多长内存拷贝都将消耗大部分的CPU.我们需要在这两个最主要方面加以改进.对于高速网络环境下的数据包捕获,以前低速网络上的数据包捕获技术已经不能够达到系统的需求.在下面我们介绍四种可以提高数据包捕获性能的技术.

3.1 零拷贝技术.零拷贝技术是指数据包的接收和发送进程中不会出现任何内存之间的复制拷贝.数据包从网络适配器到用户程序传送的进程中,降低系统的调用和数据复制的次数,降低CPU在数据拷贝时候的负载,实现CPU的零参与.

3.2 NAPI技术.NAPI技术是一种中断机制和轮询机制的结合体.使用NAPI技术,使数据捕获系统在网络负载情况较低的情况下使用中断的方法,系统的响应速率非常高;使数据捕获系统在网络负载比较重的情况下,使用轮询的方法.能够合理地分析和处理网卡上捕获的数据包.

3.3 基于TOE的专用捕包的网络适配器.在网卡上实现对数据包进行TCP/IP协议处理,这种技术属于采用硬件的方法来提升数据包的捕获能力.TOE技术省去的对TCP/IP协议处理的麻烦问题,可以把CPU时钟周期消耗在外界应用程序或系统的要求上.在数据捕包系统中,TOE技术的采用,使数据报文的协议过滤直接在网卡上面进行,数据包的过滤作用,节约了系统资源,对无用的数据包放弃捕获.

3.4 PF-RING套接字.PF-RING基本思想是将NIC接收的数据包存储在一个环状缓存.用户区程序从环形缓冲区读取数据,使CPU能够被更好的利用.零拷贝技术的具体延伸就是PF-RING套接字技术,它省去了网卡驱动的修改问题,并且还提供了数据包捕获函数库的各种接口,可以很好提升数据包捕获系统的性能,而且还拥有好的可移植性.

4.结束语

本文在研究Linux下数据包捕获流程的基础上,分析出了对数据包捕获性能产生影响的主要因素:内存拷贝、系统调用等,并研究了几种能够提升数据包捕获效率的方法,最后对各种据捕获技术的特点进行对比.完成了在大流量网络环境下数据包捕获的要求,提高了系统数据捕获的性能,为以后设计和使用数据捕获技术的系统创造了有利条件.

相关论文

计算机网络数据交换技术的

这是一篇报文类有关在职研究生毕业论文范文,与计算机网络数据交换技术的相关毕业论文参考文献格式。是软件开发专业与报文及数据及通信方面。

计算机网络数据交换技术的

本文是一篇计算机网络论文范文,关于计算机网络相关硕士毕业论文,关于计算机网络数据交换技术的相关专科毕业论文范文。适合计算机网络及计算。