论文部分内容阅读
网络流量监测是互联网技术的一个重要内容,其对网络的规划扩容、网络的管理、网络的运行维护、流量计费、网络拥塞调整和故障排除、网络应用和用户行为分析等多种应用都有着极其重要的意义。对网络数据流量进行监测和分析,前提是获取网络中的流量数据,即网络报文采集是首要条件。但由于网络链路速率和业务流量的快速增长,目前常用的网络报文采集方法已经难以满足高速网络环境中的网络流量监测的要求。结合当前已经广泛通用的Linux多核平台,本文设计并实现了一种高性能的报文采集系统。本文首先简单介绍了系统所涉及到的基本知识,继而详细分析了传统报文采集机制的流程以及网络报文丢包的位置,并在此基础之上分析总结了影响报文采集系统性能的因素。同时,本文也对当前热点的PF_RING、零拷贝等几种报文采集方法进行了研究分析。紧接着,本文设计并实现了Linux平台下较为通用的报文采集系统,并详细介绍了该系统各个重要组成部分的设计与实现。在实现报文采集系统的基础之上,本文对该系统进行了改进和优化,采取了NAPI技术、零拷贝思想、Linux多核优化策略、用户空间RSS (Receive-side scaling)技术等改进方法,旨在提高整个报文采集系统的性能。最后,用实验的方法验证了所采取的改进方法对系统的效果影响,并最终使系统得到了较为理想的性能提升。最后对报文采集系统的研究成果进行总结和展望。