基于DPDK的报文采集系统的研究与实现(硕士)(论文30000字)
摘 要
当今世界,移动互联网对人们生活的影响日益加强,使用各种移动终端访问互联网已经成为一种趋势,同时也带来了海量的移动互联网流量。爆炸式增长的数据给数据采集终端带来巨大的压力,因此有必要研究如何提高Linux 环境下的数据包捕获效率,进而及时优化网络以及对用户提供有针对性的网络服务。
本文首先介绍了Linux下数据包捕获的一般流程,分析了高速网络环境的收包瓶颈,然后提出了解决方案——Intel DPDK。本文进而对DPDK的目前发展状况进行了简单的介绍,分析了DPDK的主要特点及优点。然后进一步设计实现了基于DPDK的高速报文采集系统。详细说明了系统的各个子模块的具体实现,包括收包、IP重组、报文分发。同时对该系统进行日志状态监控,以便能够及时地检测出异常情况。
随后通过实际的千兆和万兆环境测试深入地分析了采集系统的总体性能以及各个子模块的性能。通过在实际环境中应用基于DPDK的高速报文采集系统,我们对网络上的流到达数和流连接持续时间进行了深入地分析与建模。最后我们使用Intel Vtune软件,分析了系统的性能热点与瓶颈,并从代码层面提出了优化方法。对于修改后的报文采集系统,我们进行了测试,并与之前的性能结果进行了分析对比,发现我们的改进是卓有成效的。最后,论文对基于DPDK的高速报文采集系统的研究成果进行了总结和展望。
关键词:移动互联网 Intel DPDK 高速报文采集系统 流量分析 泊松过程 Intel Vtune 热点性能
RESEARCH AND IMPLEMENTATION OF DATA ACQUISITION SYSTEM BASED ON DPDK
ABSTRACT
With the rapid increasing impact of the mobile Internet on people’s daily life in the current world, accessing the Internet via mobile devices is showing an obvious trend, which brings a large amount of network traffic at the same time. Explosive growth of data to the data acquisition terminal has brought tremendous pressure, it is necessary to study how to improve the efficiency of packet capture in the Linux environment, and then optimize the network as well as the user to provide targeted network services.
This thesis first introduces the general process of the packet capture in Linux, analyzes the bottleneck of the high speed network environment, and then puts forward the solution - DPDK Intel. In this thesis, the current development of DPDK is briefly introduced, and the advantages of DPDK are analyzed. In this thesis, a high speed data acquisition system based on DPDK is designed and implemented. Details of the system's each sub module of the specific implementation, including the collection, IP restructuring, distribution. At the same time, the system is monitored in order to detect the abnormal situation in time.
Then the overall performance of the acquisition system and the performance of the sub modules are analyzed in depth by the actual Gigabit and 10 Gigabit environment tests. Through the use of Vtune Intel software, we analyze the performance of the system hot spots and bottlenecks, and from the code level proposed optimization method. We have tested the modified packet capture system, and compared with the previous performance results, we found that our improvement is very effective. At last, the thesis summarizes the research results of high speed packet acquisition system based on DPDK.
KEY WORDS: Mobile Internet, DPDK, Intel, Vtune, Intel, performance hotspots
目 录
第一章 绪论 1
1.1 课题背景 1
1.2 研究意义 1
1.3 论文结构 2
第二章 DPDK概述 3
2.1 Linux数据包捕包流程 3
2.2 DPDK简介 4
2.3 DPDK主要优点 5
2.4 DPDK安装 6
2.4.1 准备 6
2.4.2 编译 7
2.4.3 配置 8
2.4.4 测试 9
2.5 总结 10
第三章 基于DPDK的报文采集系统的设计与实现 11
3.1 功能概述 11
3.1.1 系统整体架构 11
3.1.2 系统工作原理 11
3.1.3 系统工作流程 11
3.1.4 系统模块分解 12
3.2 收包模块 14
3.2.1 生产者-消费者模型 14
3.2.2 DPDK收包 14
3.2.3 对模型的改进 18
3.3 IP重组模块 19
3.3.1 研究意义 19
3.3.2 布谷鸟哈希 19
3.4 报文分发模块 20
3.5 状态收集模块 21
3.6 总结 22
第四章 基于DPDK的报文采集系统性能分析及应用 23
4.1 测试环境 23
4.2 千兆环境测试 24
4.2.1 Dispatcher全功能测试 24
4.2.2 Dispatcher子模块测试 25
4.2.3 网卡接收数组 26
4.3 万兆环境测试 26
4.4 报文采集系统的应用 27
4.4.1 流到达数 27
4.4.2 流连接持续时间 30
4.5 总结 32
第五章 基于DPDK的报文采集系统性能改进 33
5.1 Intel Vtune简介 33
5.2 Intel Vtune安装和使用 34
5.3 系统Vtune测试 36
5.3.1 测试环境 36
5.3.2 结果分析 37
5.4 代码改进 38
5.4.1 内联函数 38
5.4.2 算法改进 39
5.4.3 配置策略 41
5.4.4 其他 41
5.5 系统改进后性能分析 42
5.6 总结 42
第六章 总结与展望 43
参考文献 44
致 谢 46 |