西安电子科技大学 综合业务网国家重点实验室
陕西 西安 710071
摘 要:端到端时延是评估Internet的网络性能的重要参数之一,也是近年来的研究热点。由于端到端时延的测量存在收发时钟不同步问题,所以常用的网络时延测量方法大多是通过测往返时延来间接求得端到端时延,测量结果的误差较大。文中基于GPS接收机的同步方法设计出网络时延测量仪来测量端到端时延,解决了收发时钟不同步的问题,提高了测量的精度。
关键词:互联网;性能;端到端时延;测量;方法
一、 引言
由于互联网网络结构越来越复杂,而且变化随机多样,加之新的信息传输技术、新的网络环境和新型网络服务不断产生,使得掌握互联网运行规律、为网络技术的改进提供可靠的理论依据成为网络发展的一项重要课题。目前,IETF的IPPM(IP Performance Metric)工作组已定义了一些Internet度量的指标,并指出了度量的框架。其中端到端时延是评估Internet的网络性能的重要参数之一。在VoIP[1]应用中需要提供端到端时延的限制(如当单向时延超过250 ms,VoIP应用的性能将大打折扣)。了解网络中时延的分布,可根据Internet的QoS要求进行网络规划设计。通过对端到端时延的测量,能够分析当前Internet的基本特性,为网络协议和控制机制等的改进提供可靠的依据。
二、常用的端到端时延测量方法的局限性
在端到端网络时延测量配置中[2],发送固定大小的IP探测数据包,源端离开的时标和到达目的端的时标之差被称为IP探测数据包的端到端时延。常用的网络端到端时延测量方法,存在收发主机时钟不同步的局限性,在IP数据包中的是各自主机的时钟时间。由于两个主机时钟的频率和初始相位不同,如果没有时间同步机制,会造成测量数据的错误。我们发送数据包来测试端到端时延,发送200字节长的1 000个数据包,时间间隔是200 ms,用UDP协议,从源主机(西电科大校园网) 到目的主机(中国电信数据网)。测试结果见图1,横轴为发送分组序列号,纵轴为测得的时延(单位为ns),收发时钟分别采用各自的时钟,由于在源主机和目的主机之间时钟不同步的影响,测试的结果有一个线性的趋势。
用Ping命令来测网络的时延,它只能测网络的往返时延,由于网络链路的非对称性,不能简单的用除以2的方法来获得端到端时延,加之其性能和TCP、UDP或其他IP协议有一定的出入(路由器给ICMP协议的优先性较低),所以测得的数据有一定的局限性,时间精度只能在毫秒级,不能满足要求。本文提出了依靠GPS接收机进行授时网络时延测量的设计方案,解决收发时钟不同步的问题,可以测出网络的前向、反向和往返时延,时间精度可以达到200 ns。
三、基于GPS的端到端时延测量仪的设计方案
1网络时延测量仪功能描述
网络时延测量仪通过单片机控制网卡在互联网上一端发送带有GPS时间戳的IP数据包,在另一端记录该测量分组的到达时的GPS时间来获得端到端的时延测量值,计算出网络的前向、反向和往返时延值,时间精度可以达到200 ns。发送端主机A发送带有GPS时间戳的IP数据包i,记录下发送时标Ti,0,同时接收端主机B在接收到IP数据包i后记录下接收GPS时标Ti,1;另一方面,接收端主机B回复一个带有GPS时间戳的IP数据包,其中记录回复时标Ti,2,原发送端主机A接收到该回复包记下接收时的GPS时标Ti,3。由此可得到在网络上的3个时延时间:
(1)前向时延:Ti,1- Ti,0;
(2)反向时延:Ti,3- Ti,2;
(3)往返时延:Ti,3- Ti,0。
网络时延测量仪总框图如图2所示。
2网络时延测量仪的硬件电路
硬件电路结构如图3所示。
单片机选用AT89c55,它负责从GPS中提取时间信息,根据键盘输入的IP数据包参数(IP数据包的大小和IP地址),按照TCP/IP协议的格式封装成一个IP数据包,然后对网卡进行初始化,把封装好的IP数据包通过网卡发送出去。
网卡选用Realtek公司生产的基于PCI总线的10M以太网控制器芯片RTL8029AS[3],它集成了介质访问控制子层(MAC)和物理层的功能,主要负责IP数据包的发送和接收。网卡RTL8029AS提供了2个DMA通道:一个是本地DMA,另一个是远程DMA通道。
网卡RTL8029AS的帧发送是由本地DMA实现的。有3个寄存器用来控制本地DMA进行帧的发送:
(1)发送页起始地址寄存器(TPSR):用来存放待发送帧的页起始地址;
(2)发送字节计数寄存器1(TBCR1):用来存放待发送帧的帧长度的高8位;
(3)发送字节计数寄存器2(TBCR2):用来存放待发送帧的帧长度的低8位。
当发送帧时,本地DMA将把TPSR寄存器指定的帧(首地址)发送到发送缓冲区FIFO(16KB),由网卡产生和填加帧头,帧起始定界符和CRC,然后启动远程DMA的写操作来完成帧的传输。
网络上的数据帧接收并缓存于网卡的接收缓冲环中,然后由单片机控制程序将缓冲环中的帧读出,存于外部存储器RAM中。主要分两步:
(1)由网卡通过本地DMA将帧存入接收缓冲环;
(2)通过远程DMA并在单片机的配合下将接收缓冲环中的帧读入外部RAM。
帧接收是由RTL8029通过本地DMA自动完成的,只需要在初始化时对与帧接收相关的寄存器进行适当的初始化。
FPGA采用ALTERA公司的MAX7000系列的EPM7128[4]。由于网卡RTL8029AS是PCI总线网卡,所以我们采用FPGA来产生一个PCI总线的时序,控制PCI网卡;另外FPGA还要完成IP数据包的协议检测,从接收到的数据包中提取时间信息。
GPS接收机采用嵌入式的GPS模块,它提供高精度的时间信息,通过RS232异步数据通信口由单片机读取,精度可达200 ns。
键盘和显示的功能为输入和显示控制信息,如IP数据包的参数等。
3.网络时延测量仪的软件工作流程
图4和图5分别给出了网络时延测量仪发送和接收过程软件流程。
四、结束语
本文提出了基于GPS的网络时延测量仪设计方案,设计了相关的硬件电路。该方案用于网络时延测量中,大大提高了网络时延测量的精度,为网络规划设计和改进提供了可靠的依据。
参考文献
[1]A Van Moffaert,D De Vleeschauwer, J Janssen. Tuning the VoIP Gateways to Transport International Voice Calls over a Best-Effort IP Backbone[A].Proceedings ofthe 9th IFIP Conference on Performance Modelling and Evaluation of ATM&IP Networks2001[C].Budapest: IFIP,2001.
[2]RIPE NCC[EB/OL].http://www.ripe.net.
[3]RTL8029(AS) Specification[EB/OL].http://www.realtek.com.tw/downloads.
[4]ALTERA'DATA BOOK[Z].MAX7000 Programmable Logic Device Family,2001.176~218.
摘自《电讯技术》