论文部分内容阅读
网络测试是评估网络性能、定位网络故障和优化网络系统的有效手段。流量回放在网络测试中发挥着重要作用,能够快速实现真实网络场景的重现,从而完成对网络设备及系统的测试。回放流量的质量非常关键,其生成速度和时间精度直接决定着网络测试结果的准确性。为了降低开发和维护成本,流量回放系统往往被部署在通用X86平台,然而目前部署在通用X86平台上的流量回放系统在流量生成的速度和精度上都存在问题:1)在生成速度方面,受限于通用操作系统标准I/O机制,无法回放高速的网络流量,从而完成多样化的性能测试;2)在时间精度方面,受限于通用操作系统低精度高开销软件时钟,无法精确控制数据包之间的时间间隔,从而完成时间敏感系统的测试。因此有必要研究基于通用X86平台的高速可控网络流量回放方法与系统。 本文围绕基于通用X86平台的网络流量回放技术展开研究,针对流量回放的核心需求提出了适用于通用X86平台的高速可控网络流量回放方法,并以此为基础设计并实现了高速可控网络流量回放原型系统,并对其有效性进行了验证。论文主要研究成果包括: 1.提出基于通用X86平台的高速可控网络流量回放方法。一方面通过预处理(数据包L2-L4层重写、校验和计算和数据包方向判定)、大内存页提前加载回放的网络流量日志文件和基于DPDK的高速网络发包引擎来提高网络流量回放的性能;另一方面基于TSC实现低开销高分辨率的计时器,提高流量回放时间精度,从而提升网络流量回放的可控性。两者结合,形成基于通用X86平台的高速可控网络流量回放的完善解决方法。 2.实现基于通用X86平台的高速可控网络流量回放原型系统PCAPReplay。该系统包括Web服务器、预处理模块、流量回放引擎和高速网络发包引擎。支持数据包L2-L4层数据修改,支持高性能单向和双向流量回放,支持高精度的流量回放控制,实现精确的原样回放、流量放大与缩小以及流量的平滑回放。实验表明,该系统能够实现64字节小包万兆网卡单向线速回放,64字节小包万兆网卡双向回放速度能够达到7.50Mpps;同时能够将回放生成数据包间的延时和原始延时的平均时间误差控制在几十纳秒以内。