随着通信技术的快速发展,网络资源需求的增長(cháng)以及高质量服務(wù)的诉求使的网络测量尤為(wèi)重要,目前网络测试仪大多(duō)為(wèi)國(guó)外产品且高精度测试仪价格昂贵。基于现状本方案设计了一种基于FPGA实现的高精度硬件测量解决方案,本方案通过主动测量的方式实现,其為(wèi)针对网络延时进行测量,实现结构如图1所示。其分(fēn)為(wèi)软件与硬件实现部分(fēn),软件部分(fēn)用(yòng)于实现测试数据的下发以及测试结果显示功能(néng)。硬件包括数据缓存、接收控制、发送控制功能(néng)。在此方案中為(wèi)了保证软硬件数据的交互,本方案提供了软件支撑层和DMA硬件支撑逻辑,同时為(wèi)了确保测试的高精度,测试报文(wén)的时间戳使用(yòng)硬件时间戳。

图1 硬件测量解决方案结构图
本方案中,通过软件测试报文(wén)生成器生成测试报文(wén),通过软件支撑层下发给硬件存储,硬件可(kě)以支撑多(duō)个数据存储,并可(kě)以根据需求设置每个报文(wén)的发送间隔。发送时软件下发开始发送信号,则硬件根据软件配置的报文(wén)以及下发的次序,按时间发送间隔逐个进行发送。在发送时硬件记录发送第一个报文(wén)的时间戳值以及发送的报文(wén)个数。待发送结束后软件读取相应的时间戳和报文(wén)个数值。
在报文(wén)返回时,接收端记录接收的报文(wén)的达到时间戳值,并将接收的报文(wén)发送给软件。软件的结果显示模块根据接收的报文(wén)时间戳以及接收的报文(wén)个数与发送时间戳及发送的个数进行比较,从而可(kě)以分(fēn)析出网络的发送延时以及网络的拥塞情况。

图2 硬件测量实现图
如图2 展示了硬件测量的实现的细节,本方案中硬件不仅支持测量报文(wén)的转发,同时也支持普通报文(wén)的处理(lǐ)。测量报文(wén)和普通报文(wén)由解析模块區(qū)分(fēn),当报文(wén)為(wèi)普通报文(wén)时,则可(kě)以正常转发输出,当為(wèi)测试报文(wén)时则进行缓存。软件下发每一个测量报文(wén)均携带一个MD信息,其中包含了当前报文(wén)相比前一个报文(wén)的发送间隔。定时发送器根据发送信号开始发送第一个报文(wén),待发送结束后判断后续报文(wén)的发送间隔,根据间隔依次发送后续报文(wén)。发送过程中由定时发送器记录发送报文(wén)的个数,以及第一个发送报文(wén)的时间戳值。发送的测量报文(wén)经网络转发后将返回给测量模块。接收的测量报文(wén)会在接收控制器添加MD信息,即接收报文(wén)的硬件时间戳值。并将携带时间戳值得报文(wén)发送给软件进行计算处理(lǐ)。接收控制器会记录接收的测试报文(wén)的数量。收发的测试报文(wén)计数以及时间戳供软件进行分(fēn)析网络情况时读取。
通过测试验证本测量方案可(kě)以实现纳秒(miǎo)级的测量精度,且可(kě)以实现延时的精度测试、网络拥塞情况测试以及网络传输延时变化测试。