具有衛(wèi)星鏈路的TCP/IP網(wǎng)絡性能測量方法研究
1概述
一個用于測控的TCP/IP網(wǎng)絡系統(tǒng),傳輸了包括視頻、語音和實時數(shù)據(jù)等多媒體信息。由于該系統(tǒng)運行在一個不可到達的環(huán)境,對其業(yè)務承載能力及傳輸質(zhì)量的評估需要在模擬系統(tǒng)上進行,包括建設網(wǎng)絡實驗平臺、設計合理的測量方法、研制性能測試綜合軟件等。通過在模擬平臺上測量信號傳輸質(zhì)量及網(wǎng)絡性能,整理和分析測試數(shù)據(jù),參考設計實際網(wǎng)絡配置和對實際網(wǎng)絡進行性能評估。該網(wǎng)絡包括一條長鏈路的衛(wèi)星接入信道,傳輸速率具有可任意設置的特點。
為了實現(xiàn)上述目標,開展了以下工作:①構建仿真網(wǎng)絡實驗平臺,具有大延時特性和萊斯噪聲的衛(wèi)星模擬鏈路;可手動設置接入帶寬,最高傳輸速率為2Mb/s,可變速率為n?64Kb/s;②模擬接入多路數(shù)字視頻和語音,通過增減業(yè)務數(shù)來控制網(wǎng)絡背景流量;③在具有一定背景流量的情況下,通過增減可控速率的數(shù)據(jù)業(yè)務,對網(wǎng)絡傳輸能力和信號傳輸質(zhì)量進行測量,測量內(nèi)容包括鏈路可用帶寬、鏈路時延和時延抖動,數(shù)據(jù)信號丟包率等;④根據(jù)所測數(shù)據(jù)來分析網(wǎng)絡參數(shù)和傳輸質(zhì)量之間的關系,繪制曲線并歸納模型,為網(wǎng)絡設計及信道租用提供依據(jù)。
2衛(wèi)星鏈路模擬器的設計
在衛(wèi)星信道上采用TCP協(xié)議進行高速數(shù)據(jù)傳輸時,會受到BDP(時延帶寬積)的“瓶頸”制約[1]。TCP是采取超時重發(fā)的策略來進行流量控制的,其窗口字節(jié)(在TCP協(xié)議中是16比特)制約了數(shù)據(jù)的傳輸性能,傳統(tǒng)TCP中的16比特窗口限制了最大的時延帶寬積只能為64K,這使得在長延時鏈路上的吞吐量受到很大的限制。(向同步軌道衛(wèi)星傳輸數(shù)據(jù),其時延約為200ms)[2],可以得到:64kb/0.2=320k。為了適應這一特點,應允許“大窗口”存在,使窗口值超過64K,這樣在信道上同時可以有更多的數(shù)據(jù)分組在傳輸,緩解時延長帶來的影響,TCP在避免出現(xiàn)擁塞的前提下會逐漸增大窗口值以提高傳輸效率。
在衛(wèi)星通信中,誤碼率較高也是必須注意的一個特點。同其他無線通信方式一樣,信息易受白噪聲、突發(fā)噪聲的干擾,氣候等各種因素都會對信道的誤碼特性產(chǎn)生影響。在數(shù)據(jù)的收端,TCP通過“校驗和”決定數(shù)據(jù)是否受到干擾,“校驗和”錯誤的數(shù)據(jù)包將被丟棄。然而在數(shù)據(jù)的發(fā)端,TCP假定數(shù)據(jù)未正確到達的主要原因是信道擁塞,將通過對發(fā)送窗口的調(diào)整來適應信道特性。這樣數(shù)據(jù)傳送速率將逐漸降低,將導致衛(wèi)星通信效率的低下。
如上所述,實驗網(wǎng)絡中的衛(wèi)星信道模擬器將具有以下特點:①只涉及星地鏈路;②衛(wèi)星鏈路模擬器主要考慮傳輸時延和無線誤碼兩大基本特性。
對于衛(wèi)星信道傳輸時延,擬采用環(huán)形儲存器結構實現(xiàn)[3][4]。由于FPGA片上存儲器資源有限,衛(wèi)星信道的傳輸時延從幾個毫秒到幾百毫秒變化范圍較大,因此對傳輸時延的模擬利用外部SDRAM實現(xiàn),每條信道通過獨立的輸入輸出緩沖,F(xiàn)IFO,實現(xiàn)與SDRAM的連接。
衛(wèi)星信道誤碼考慮包括傳播損耗、衰落、多普勒頻移、噪聲等帶來的影響。根據(jù)有關衛(wèi)星信道的理論研究,衛(wèi)星信道可用多種模型建模,如C.LOO模型,CORRAZA模型等,這些模型中均假定信道衰落特性服從一定概率分布特性。衛(wèi)星信道中的自由傳輸損耗、天線增益、極化損耗、轉發(fā)器的功率損耗等特性最后影響的都是接收端的信噪比。因此,整個衛(wèi)星信道從仿真的角度可以看成由包括直接影響信噪比特性的AGWN信道部分和影響衰落特性部分的多徑衰落信道相加構成,假定多徑衰落信道具有直射分量,則信道衰落特性具有萊斯分布[3][4]。
信道仿真模塊結構框圖如圖1所示。
圖1衛(wèi)星信道模擬器結構示意圖
3 具有衛(wèi)星接入鏈路的可變帶寬網(wǎng)絡實驗模型
圖2是根據(jù)項目要求設計和建造的網(wǎng)絡實驗平臺,特點如下:①SDH構成一個環(huán)型骨干網(wǎng),傳輸帶寬為155Mb/s;②2M速率的PCM終端,具有手動可設置n?64Kb/s速率的以太網(wǎng)口,在實驗中設置網(wǎng)絡瓶頸帶寬;③衛(wèi)星信道模擬器,模擬具有長時延帶寬積的衛(wèi)星信道,用以實驗改進TCP協(xié)議的缺省窗口,增加衛(wèi)星鏈路的最大吞吐量。
圖2具有衛(wèi)星接入鏈路的可變帶寬實驗網(wǎng)絡模型
4 網(wǎng)絡測量方法研究
網(wǎng)絡測量的方法和工具多種多樣,可以分為主動測量和被動測量兩大類。主動測量通過向網(wǎng)絡中注入探測流量來進行,通過結果響應數(shù)據(jù)來獲得網(wǎng)絡狀態(tài)信息;被動測量是在網(wǎng)絡的主要出入口監(jiān)聽和記錄網(wǎng)絡中的分組流量并進行測量,從中提取數(shù)據(jù),進行分析從而得到網(wǎng)絡狀態(tài)信息。
在網(wǎng)絡測評中,確定網(wǎng)絡性能指標或測度最為關鍵,直接影響網(wǎng)絡測評的內(nèi)容及其全面性、合理性和有效性。例如帶寬、時延、時延抖動、丟包率、流量或吞吐量等指標都是眾所周知的測度。目前IETFs IPPM(IP Performance Metrics)定義的網(wǎng)絡測量指標分為RFC已經(jīng)定義的指標和目前還是IETF中的一個草案的指標,前者包括連通性(RFC 2678)、單向延遲(RFC 2679)、單向包丟失(RFC 2680)、往返延遲(RFC 2681),后者包括瞬間包延遲變化、IP包延遲變化、單向丟失模式采樣[5][6]。
4.1測試方法及性能參數(shù)選擇
本項目采用主動測試方法:在網(wǎng)絡上布置測試機器,主動發(fā)送測試流量,如,從A端到B端,獲得兩端點間的測試結果信息。
本項目選擇的網(wǎng)絡測量內(nèi)容包括帶寬、時延、時延抖動、丟包率、流量和吞吐量等。
4.2試驗要點
?、谠诮o定業(yè)務容量情況下,逐步調(diào)低網(wǎng)絡傳輸速率,按照標定指標進行判斷,得出傳輸給定業(yè)務的所需的最小帶寬。
?、奂尤胄l(wèi)星信道模擬器,逐步加入噪聲或加大時延,測試信息傳輸丟包率的變化情況,繪制丟包率、時延、噪聲功率的雙變量曲線。
④變化業(yè)務數(shù),記錄視頻質(zhì)量變化、各段帶寬值的變化、各段時延值變化,丟包率指標變化,查找專用網(wǎng)絡在帶寬和時延上的“瓶頸”。這里的時延專指傳播時延,不包括傳輸時延,因為傳輸時延已經(jīng)由瓶頸帶寬反映出來[7]。
4.3測試程序架構
測量程序采用Winpcap+Winsock的層次化測量架構。
Winpcap源于BPF(Berkley Packet Filter)和libpcap函數(shù)庫,支持Win32的網(wǎng)絡監(jiān)測程序設計。Winsock是人們很熟悉的Windows套接字編程工具,源于Berkley Socket技術。這兩款網(wǎng)絡開發(fā)工具各有特色,結合使用可以取長補短,提高軟件開發(fā)的效率,增強軟件的運行性能。Winpcap支持網(wǎng)絡原始數(shù)據(jù)包的接收和發(fā)送,繞開了TCP/IP協(xié)議棧,有利于高速的數(shù)據(jù)包檢測和分析;支持對數(shù)據(jù)包的過濾,只處理應用程序感興趣的數(shù)據(jù),可以提高程序運行性能,減少系統(tǒng)開銷,但不能為端到端的應用提供面向連接和無連接的網(wǎng)絡服務。
Winsock是建立在TCP/IP協(xié)議棧之上的程序開發(fā)工具,提供面向連接和的連接得網(wǎng)絡服務,可以大大降低程序開發(fā)工作量。但是,網(wǎng)絡程序必須從協(xié)議棧獲取數(shù)據(jù)包,增加了運行的開銷,降低了性能;由于鏈路層幀首部在提交給IP層之前就已經(jīng)去掉,不便于網(wǎng)絡低層的數(shù)據(jù)分析,應用范圍有限。
圖3 測量程序架構
程序采用三層架構:網(wǎng)絡接口層、網(wǎng)絡層、測試層。
其中網(wǎng)絡接口層就是網(wǎng)卡驅(qū)動程序模塊,負責程序與網(wǎng)絡設備間的交互。
網(wǎng)絡層包括兩部分:一個是基于NPF(網(wǎng)絡數(shù)據(jù)包過濾器)的網(wǎng)絡模塊,一個是基于TCP/IP的網(wǎng)絡模塊。
測試層通過Winpcap編程接口來訪問NPF,檢測出原始數(shù)據(jù)包并獲取數(shù)據(jù)包到達時刻;通過Winsock編程接口來訪問TCP/IP,獲取TCP會話信息。主從程序測試層均包括兩個基本功能模塊:數(shù)據(jù)包檢測和TCP會話。數(shù)據(jù)包檢測模塊利用Winpcap接口獲取網(wǎng)絡中的原始數(shù)據(jù)包,測量開始后,主程序數(shù)據(jù)包檢測模塊直接解析出發(fā)送端計算機發(fā)出的數(shù)據(jù)包IP標識,記錄進主測試窗口,從程序的數(shù)據(jù)包檢測模塊直接解析出接收端計算機接收的數(shù)據(jù)包IP標識,記錄進從測試窗口,同時記錄視頻包的達到時刻;TCP會話模塊利用Winsock接口建立主從程序間的TCP連接,控制測量步驟,并交互測量過程中獲取的數(shù)據(jù)。窗口調(diào)節(jié)模塊利用這兩個基本功能動態(tài)調(diào)整測試窗口尺寸。根據(jù)正確接收的數(shù)據(jù)包和主程序通知確認的數(shù)據(jù)包序列,從程序的丟包確認模塊檢查數(shù)據(jù)包的丟失情況,并把丟包數(shù)據(jù)反饋給主程序。根據(jù)反饋的丟包信息,主程序的丟包率計算分析模塊計算丟包率。從程序的延遲計算模塊通過時間提取,計算相繼到達視頻包的延遲,并通過TCP會話連接將最后的延遲統(tǒng)計值返回給主程序的延遲獲取模塊。
5 結論
通過將測量軟件用于實驗平臺進行測試,驗證了所選性能測量指標的可用性和測量方法的有效性。特別針對專用網(wǎng)絡的具體情況,制定了適合網(wǎng)絡承載業(yè)務傳輸?shù)膬?yōu)先級方案,提出了改進網(wǎng)絡性能的方案措施,為項目順利結題打下了基礎。在今后的工作中,將根據(jù)目標任務書要求,加強故障管理功能研究,并把網(wǎng)絡性能測試和故障定位技術推廣到新一代自組織網(wǎng)絡中。在衛(wèi)星信道模擬器方面,將把研究具有星際網(wǎng)絡的綜合性多功能模擬器作為目標。
本文作者的創(chuàng)新點是:(1)試驗平臺的可變速率設計為網(wǎng)絡可用帶寬的測試提供了條件;(2)引入衛(wèi)星信道模擬器,實現(xiàn)大時延信道的TCP/IP傳輸研究。
參考文獻
[1] H.Balakrishnan,V.N.Padmanabhan,G..Fairhurst,M.Sooriyabandara.TCP Performance Implications of Network Path Asymmetry[S].RFC3449,December2002.
[2] Padhye,J.; Firoiu,V.; Towsley,D.F.; Kurose,J.F. Modeling TCP Reno performance:a simple model and its empirical validation[J].IEEE/ACM Transac-tionson Networking,2000,8(4):133-145.
[3] H.Benaboud,N.Mikou.CANIT:A New Algo-rithm to improve the fairness of TCP Congestion Avoidance[A].ISCC2001,6th IEEE Symposiumon Computers and Communications[C].3-5Juillet2001,Hammamet,Tunis.
[4] 胡劍浩 吳詩其 李樂民 具有星際鏈路的衛(wèi)星移動通信網(wǎng)絡性能分析 電子學報1999年第11期
[5] Allman M. Measuring End-to-end Bulk Transfer Capacity. In Proceedings of ACM SIGCOMM Internet Measurement Workshop, 2001-11
[6] 畢經(jīng)平 吳起 李忠誠 Internet端到端性能監(jiān)測與分析系統(tǒng)的關鍵技術研究 計算機輔助設計與圖形學學報 2003年第1期
[7] 畢經(jīng)平 吳起 李忠誠 Internet延遲瓶頸的測量與分析 計算機學報 2003年第4期
[8] 姚遠程 軟件無線電的變頻技術研究 微計算機信息 2005年15期
評論