西安電子科技大學(xué) 綜合業(yè)務(wù)網(wǎng)國家重點(diǎn)實(shí)驗(yàn)室
陜西 西安 710071
摘 要:端到端時(shí)延是評估Internet的網(wǎng)絡(luò)性能的重要參數(shù)之一,也是近年來的研究熱點(diǎn)。由于端到端時(shí)延的測量存在收發(fā)時(shí)鐘不同步問題,所以常用的網(wǎng)絡(luò)時(shí)延測量方法大多是通過測往返時(shí)延來間接求得端到端時(shí)延,測量結(jié)果的誤差較大。文中基于GPS接收機(jī)的同步方法設(shè)計(jì)出網(wǎng)絡(luò)時(shí)延測量儀來測量端到端時(shí)延,解決了收發(fā)時(shí)鐘不同步的問題,提高了測量的精度。
關(guān)鍵詞:互聯(lián)網(wǎng);性能;端到端時(shí)延;測量;方法
一、 引言
由于互聯(lián)網(wǎng)網(wǎng)絡(luò)結(jié)構(gòu)越來越復(fù)雜,而且變化隨機(jī)多樣,加之新的信息傳輸技術(shù)、新的網(wǎng)絡(luò)環(huán)境和新型網(wǎng)絡(luò)服務(wù)不斷產(chǎn)生,使得掌握互聯(lián)網(wǎng)運(yùn)行規(guī)律、為網(wǎng)絡(luò)技術(shù)的改進(jìn)提供可靠的理論依據(jù)成為網(wǎng)絡(luò)發(fā)展的一項(xiàng)重要課題。目前,IETF的IPPM(IP Performance Metric)工作組已定義了一些Internet度量的指標(biāo),并指出了度量的框架。其中端到端時(shí)延是評估Internet的網(wǎng)絡(luò)性能的重要參數(shù)之一。在VoIP[1]應(yīng)用中需要提供端到端時(shí)延的限制(如當(dāng)單向時(shí)延超過250 ms,VoIP應(yīng)用的性能將大打折扣)。了解網(wǎng)絡(luò)中時(shí)延的分布,可根據(jù)Internet的QoS要求進(jìn)行網(wǎng)絡(luò)規(guī)劃設(shè)計(jì)。通過對端到端時(shí)延的測量,能夠分析當(dāng)前Internet的基本特性,為網(wǎng)絡(luò)協(xié)議和控制機(jī)制等的改進(jìn)提供可靠的依據(jù)。
二、常用的端到端時(shí)延測量方法的局限性
在端到端網(wǎng)絡(luò)時(shí)延測量配置中[2],發(fā)送固定大小的IP探測數(shù)據(jù)包,源端離開的時(shí)標(biāo)和到達(dá)目的端的時(shí)標(biāo)之差被稱為IP探測數(shù)據(jù)包的端到端時(shí)延。常用的網(wǎng)絡(luò)端到端時(shí)延測量方法,存在收發(fā)主機(jī)時(shí)鐘不同步的局限性,在IP數(shù)據(jù)包中的是各自主機(jī)的時(shí)鐘時(shí)間。由于兩個(gè)主機(jī)時(shí)鐘的頻率和初始相位不同,如果沒有時(shí)間同步機(jī)制,會造成測量數(shù)據(jù)的錯(cuò)誤。我們發(fā)送數(shù)據(jù)包來測試端到端時(shí)延,發(fā)送200字節(jié)長的1 000個(gè)數(shù)據(jù)包,時(shí)間間隔是200 ms,用UDP協(xié)議,從源主機(jī)(西電科大校園網(wǎng)) 到目的主機(jī)(中國電信數(shù)據(jù)網(wǎng))。測試結(jié)果見圖1,橫軸為發(fā)送分組序列號,縱軸為測得的時(shí)延(單位為ns),收發(fā)時(shí)鐘分別采用各自的時(shí)鐘,由于在源主機(jī)和目的主機(jī)之間時(shí)鐘不同步的影響,測試的結(jié)果有一個(gè)線性的趨勢。
用Ping命令來測網(wǎng)絡(luò)的時(shí)延,它只能測網(wǎng)絡(luò)的往返時(shí)延,由于網(wǎng)絡(luò)鏈路的非對稱性,不能簡單的用除以2的方法來獲得端到端時(shí)延,加之其性能和TCP、UDP或其他IP協(xié)議有一定的出入(路由器給ICMP協(xié)議的優(yōu)先性較低),所以測得的數(shù)據(jù)有一定的局限性,時(shí)間精度只能在毫秒級,不能滿足要求。本文提出了依靠GPS接收機(jī)進(jìn)行授時(shí)網(wǎng)絡(luò)時(shí)延測量的設(shè)計(jì)方案,解決收發(fā)時(shí)鐘不同步的問題,可以測出網(wǎng)絡(luò)的前向、反向和往返時(shí)延,時(shí)間精度可以達(dá)到200 ns。
三、基于GPS的端到端時(shí)延測量儀的設(shè)計(jì)方案
1網(wǎng)絡(luò)時(shí)延測量儀功能描述
網(wǎng)絡(luò)時(shí)延測量儀通過單片機(jī)控制網(wǎng)卡在互聯(lián)網(wǎng)上一端發(fā)送帶有GPS時(shí)間戳的IP數(shù)據(jù)包,在另一端記錄該測量分組的到達(dá)時(shí)的GPS時(shí)間來獲得端到端的時(shí)延測量值,計(jì)算出網(wǎng)絡(luò)的前向、反向和往返時(shí)延值,時(shí)間精度可以達(dá)到200 ns。發(fā)送端主機(jī)A發(fā)送帶有GPS時(shí)間戳的IP數(shù)據(jù)包i,記錄下發(fā)送時(shí)標(biāo)Ti,0,同時(shí)接收端主機(jī)B在接收到IP數(shù)據(jù)包i后記錄下接收GPS時(shí)標(biāo)Ti,1;另一方面,接收端主機(jī)B回復(fù)一個(gè)帶有GPS時(shí)間戳的IP數(shù)據(jù)包,其中記錄回復(fù)時(shí)標(biāo)Ti,2,原發(fā)送端主機(jī)A接收到該回復(fù)包記下接收時(shí)的GPS時(shí)標(biāo)Ti,3。由此可得到在網(wǎng)絡(luò)上的3個(gè)時(shí)延時(shí)間:
。ǎ保┣跋驎r(shí)延:Ti,1- Ti,0;
。ǎ玻┓聪驎r(shí)延:Ti,3- Ti,2;
(3)往返時(shí)延:Ti,3- Ti,0。
網(wǎng)絡(luò)時(shí)延測量儀總框圖如圖2所示。
2網(wǎng)絡(luò)時(shí)延測量儀的硬件電路
硬件電路結(jié)構(gòu)如圖3所示。
單片機(jī)選用AT89c55,它負(fù)責(zé)從GPS中提取時(shí)間信息,根據(jù)鍵盤輸入的IP數(shù)據(jù)包參數(shù)(IP數(shù)據(jù)包的大小和IP地址),按照TCP/IP協(xié)議的格式封裝成一個(gè)IP數(shù)據(jù)包,然后對網(wǎng)卡進(jìn)行初始化,把封裝好的IP數(shù)據(jù)包通過網(wǎng)卡發(fā)送出去。
網(wǎng)卡選用Realtek公司生產(chǎn)的基于PCI總線的10M以太網(wǎng)控制器芯片RTL8029AS[3],它集成了介質(zhì)訪問控制子層(MAC)和物理層的功能,主要負(fù)責(zé)IP數(shù)據(jù)包的發(fā)送和接收。網(wǎng)卡RTL8029AS提供了2個(gè)DMA通道:一個(gè)是本地DMA,另一個(gè)是遠(yuǎn)程DMA通道。
網(wǎng)卡RTL8029AS的幀發(fā)送是由本地DMA實(shí)現(xiàn)的。有3個(gè)寄存器用來控制本地DMA進(jìn)行幀的發(fā)送:
(1)發(fā)送頁起始地址寄存器(TPSR):用來存放待發(fā)送幀的頁起始地址;
(2)發(fā)送字節(jié)計(jì)數(shù)寄存器1(TBCR1):用來存放待發(fā)送幀的幀長度的高8位;
(3)發(fā)送字節(jié)計(jì)數(shù)寄存器2(TBCR2):用來存放待發(fā)送幀的幀長度的低8位。
當(dāng)發(fā)送幀時(shí),本地DMA將把TPSR寄存器指定的幀(首地址)發(fā)送到發(fā)送緩沖區(qū)FIFO(16KB),由網(wǎng)卡產(chǎn)生和填加幀頭,幀起始定界符和CRC,然后啟動(dòng)遠(yuǎn)程DMA的寫操作來完成幀的傳輸。
網(wǎng)絡(luò)上的數(shù)據(jù)幀接收并緩存于網(wǎng)卡的接收緩沖環(huán)中,然后由單片機(jī)控制程序?qū)⒕彌_環(huán)中的幀讀出,存于外部存儲器RAM中。主要分兩步:
(1)由網(wǎng)卡通過本地DMA將幀存入接收緩沖環(huán);
(2)通過遠(yuǎn)程DMA并在單片機(jī)的配合下將接收緩沖環(huán)中的幀讀入外部RAM。
幀接收是由RTL8029通過本地DMA自動(dòng)完成的,只需要在初始化時(shí)對與幀接收相關(guān)的寄存器進(jìn)行適當(dāng)?shù)某跏蓟?br />
FPGA采用ALTERA公司的MAX7000系列的EPM7128[4]。由于網(wǎng)卡RTL8029AS是PCI總線網(wǎng)卡,所以我們采用FPGA來產(chǎn)生一個(gè)PCI總線的時(shí)序,控制PCI網(wǎng)卡;另外FPGA還要完成IP數(shù)據(jù)包的協(xié)議檢測,從接收到的數(shù)據(jù)包中提取時(shí)間信息。
GPS接收機(jī)采用嵌入式的GPS模塊,它提供高精度的時(shí)間信息,通過RS232異步數(shù)據(jù)通信口由單片機(jī)讀取,精度可達(dá)200 ns。
鍵盤和顯示的功能為輸入和顯示控制信息,如IP數(shù)據(jù)包的參數(shù)等。
3.網(wǎng)絡(luò)時(shí)延測量儀的軟件工作流程
圖4和圖5分別給出了網(wǎng)絡(luò)時(shí)延測量儀發(fā)送和接收過程軟件流程。
四、結(jié)束語
本文提出了基于GPS的網(wǎng)絡(luò)時(shí)延測量儀設(shè)計(jì)方案,設(shè)計(jì)了相關(guān)的硬件電路。該方案用于網(wǎng)絡(luò)時(shí)延測量中,大大提高了網(wǎng)絡(luò)時(shí)延測量的精度,為網(wǎng)絡(luò)規(guī)劃設(shè)計(jì)和改進(jìn)提供了可靠的依據(jù)。
參考文獻(xiàn)
。郏保軦 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.
。郏常軷TL8029(AS) Specification[EB/OL].http://www.realtek.com.tw/downloads.
[4]ALTERA'DATA BOOK[Z].MAX7000 Programmable Logic Device Family,2001.176~218.
摘自《電訊技術(shù)》