具有衛(wèi)星鏈路的TCP/IP網(wǎng)絡(luò)性能測量方法
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1概述
一個(gè)用于測控的TCP/IP網(wǎng)絡(luò)系統(tǒng),傳輸了包括視頻、語音和實(shí)時(shí)數(shù)據(jù)等多媒體信息。由于該系統(tǒng)運(yùn)行在一個(gè)不可到達(dá)的環(huán)境,對(duì)其業(yè)務(wù)承載能力及傳輸質(zhì)量的評(píng)估需要在模擬系統(tǒng)上進(jìn)行,包括建設(shè)網(wǎng)絡(luò)實(shí)驗(yàn)平臺(tái)、設(shè)計(jì)合理的測量方法、研制性能測試綜合軟件等。通過在模擬平臺(tái)上測量信號(hào)傳輸質(zhì)量及網(wǎng)絡(luò)性能,整理和分析測試數(shù)據(jù),參考設(shè)計(jì)實(shí)際網(wǎng)絡(luò)配置和對(duì)實(shí)際網(wǎng)絡(luò)進(jìn)行性能評(píng)估。該網(wǎng)絡(luò)包括一條長鏈路的衛(wèi)星接入信道,傳輸速率具有可任意設(shè)置的特點(diǎn)。
為了實(shí)現(xiàn)上述目標(biāo),開展了以下工作:①構(gòu)建仿真網(wǎng)絡(luò)實(shí)驗(yàn)平臺(tái),具有大延時(shí)特性和萊斯噪聲的衛(wèi)星模擬鏈路;可手動(dòng)設(shè)置接入帶寬,最高傳輸速率為2Mb/s,可變速率為n?64Kb/s;②模擬接入多路數(shù)字視頻和語音,通過增減業(yè)務(wù)數(shù)來控制網(wǎng)絡(luò)背景流量;③在具有一定背景流量的情況下,通過增減可控速率的數(shù)據(jù)業(yè)務(wù),對(duì)網(wǎng)絡(luò)傳輸能力和信號(hào)傳輸質(zhì)量進(jìn)行測量,測量內(nèi)容包括鏈路可用帶寬、鏈路時(shí)延和時(shí)延抖動(dòng),數(shù)據(jù)信號(hào)丟包率等;④根據(jù)所測數(shù)據(jù)來分析網(wǎng)絡(luò)參數(shù)和傳輸質(zhì)量之間的關(guān)系,繪制曲線并歸納模型,為網(wǎng)絡(luò)設(shè)計(jì)及信道租用提供依據(jù)。
2衛(wèi)星鏈路模擬器的設(shè)計(jì)
在衛(wèi)星信道上采用TCP協(xié)議進(jìn)行高速數(shù)據(jù)傳輸時(shí),會(huì)受到BDP(時(shí)延帶寬積)的“瓶頸”制約[1]。TCP是采取超時(shí)重發(fā)的策略來進(jìn)行流量控制的,其窗口字節(jié)(在TCP協(xié)議中是16比特)制約了數(shù)據(jù)的傳輸性能,傳統(tǒng)TCP中的16比特窗口限制了最大的時(shí)延帶寬積只能為64K,這使得在長延時(shí)鏈路上的吞吐量受到很大的限制。(向同步軌道衛(wèi)星傳輸數(shù)據(jù),其時(shí)延約為200ms)[2],可以得到:64kb/0.2=320k。為了適應(yīng)這一特點(diǎn),應(yīng)允許“大窗口”存在,使窗口值超過64K,這樣在信道上同時(shí)可以有更多的數(shù)據(jù)分組在傳輸,緩解時(shí)延長帶來的影響,TCP在避免出現(xiàn)擁塞的前提下會(huì)逐漸增大窗口值以提高傳輸效率。
在衛(wèi)星通信中,誤碼率較高也是必須注意的一個(gè)特點(diǎn)。同其他無線通信方式一樣,信息易受白噪聲、突發(fā)噪聲的干擾,氣候等各種因素都會(huì)對(duì)信道的誤碼特性產(chǎn)生影響。在數(shù)據(jù)的收端,TCP通過“校驗(yàn)和”決定數(shù)據(jù)是否受到干擾,“校驗(yàn)和”錯(cuò)誤的數(shù)據(jù)包將被丟棄。然而在數(shù)據(jù)的發(fā)端,TCP假定數(shù)據(jù)未正確到達(dá)的主要原因是信道擁塞,將通過對(duì)發(fā)送窗口的調(diào)整來適應(yīng)信道特性。這樣數(shù)據(jù)傳送速率將逐漸降低,將導(dǎo)致衛(wèi)星通信效率的低下。
如上所述,實(shí)驗(yàn)網(wǎng)絡(luò)中的衛(wèi)星信道模擬器將具有以下特點(diǎn):①只涉及星地鏈路;②衛(wèi)星鏈路模擬器主要考慮傳輸時(shí)延和無線誤碼兩大基本特性。
對(duì)于衛(wèi)星信道傳輸時(shí)延,擬采用環(huán)形儲(chǔ)存器結(jié)構(gòu)實(shí)現(xiàn)[3][4]。由于FPGA片上存儲(chǔ)器資源有限,衛(wèi)星信道的傳輸時(shí)延從幾個(gè)毫秒到幾百毫秒變化范圍較大,因此對(duì)傳輸時(shí)延的模擬利用外部SDRAM實(shí)現(xiàn),每條信道通過獨(dú)立的輸入輸出緩沖,F(xiàn)IFO,實(shí)現(xiàn)與SDRAM的連接。
衛(wèi)星信道誤碼考慮包括傳播損耗、衰落、多普勒頻移、噪聲等帶來的影響。根據(jù)有關(guān)衛(wèi)星信道的理論研究,衛(wèi)星信道可用多種模型建模,如C.LOO模型,CORRAZA模型等,這些模型中均假定信道衰落特性服從一定概率分布特性。衛(wèi)星信道中的自由傳輸損耗、天線增益、極化損耗、轉(zhuǎn)發(fā)器的功率損耗等特性最后影響的都是接收端的信噪比。因此,整個(gè)衛(wèi)星信道從仿真的角度可以看成由包括直接影響信噪比特性的AGWN信道部分和影響衰落特性部分的多徑衰落信道相加構(gòu)成,假定多徑衰落信道具有直射分量,則信道衰落特性具有萊斯分布[3][4]。
信道仿真模塊結(jié)構(gòu)框圖如圖1所示。
圖1衛(wèi)星信道模擬器結(jié)構(gòu)示意圖
3具有衛(wèi)星接入鏈路的可變帶寬網(wǎng)絡(luò)實(shí)驗(yàn)?zāi)P?/p>
圖2是根據(jù)項(xiàng)目要求設(shè)計(jì)和建造的網(wǎng)絡(luò)實(shí)驗(yàn)平臺(tái),特點(diǎn)如下:①SDH構(gòu)成一個(gè)環(huán)型骨干網(wǎng),傳輸帶寬為155Mb/s;②2M速率的PCM終端,具有手動(dòng)可設(shè)置n?64Kb/s速率的以太網(wǎng)口,在實(shí)驗(yàn)中設(shè)置網(wǎng)絡(luò)瓶頸帶寬;③衛(wèi)星信道模擬器,模擬具有長時(shí)延帶寬積的衛(wèi)星信道,用以實(shí)驗(yàn)改進(jìn)TCP協(xié)議的缺省窗口,增加衛(wèi)星鏈路的最大吞吐量。
圖2具有衛(wèi)星接入鏈路的可變帶寬實(shí)驗(yàn)網(wǎng)絡(luò)模型
4網(wǎng)絡(luò)測量方法研究
網(wǎng)絡(luò)測量的方法和工具多種多樣,可以分為主動(dòng)測量和被動(dòng)測量兩大類。主動(dòng)測量通過向網(wǎng)絡(luò)中注入探測流量來進(jìn)行,通過結(jié)果響應(yīng)數(shù)據(jù)來獲得網(wǎng)絡(luò)狀態(tài)信息;被動(dòng)測量是在網(wǎng)絡(luò)的主要出入口監(jiān)聽和記錄網(wǎng)絡(luò)中的分組流量并進(jìn)行測量,從中提取數(shù)據(jù),進(jìn)行分析從而得到網(wǎng)絡(luò)狀態(tài)信息。
在網(wǎng)絡(luò)測評(píng)中,確定網(wǎng)絡(luò)性能指標(biāo)或測度最為關(guān)鍵,直接影響網(wǎng)絡(luò)測評(píng)的內(nèi)容及其全面性、合理性和有效性。例如帶寬、時(shí)延、時(shí)延抖動(dòng)、丟包率、流量或吞吐量等指標(biāo)都是眾所周知的測度。目前IETFsIPPM(IPPeRFormanceMetrics)定義的網(wǎng)絡(luò)測量指標(biāo)分為RFC已經(jīng)定義的指標(biāo)和目前還是IETF中的一個(gè)草案的指標(biāo),前者包括連通性(RFC 2678)、單向延遲(RFC 2679)、單向包丟失(RFC 2680)、往返延遲(RFC 2681),后者包括瞬間包延遲變化、IP包延遲變化、單向丟失模式采樣[5][6]。
4.1測試方法及性能參數(shù)選擇
本項(xiàng)目采用主動(dòng)測試方法:在網(wǎng)絡(luò)上布置測試機(jī)器,主動(dòng)發(fā)送測試流量,如,從A端到B端,獲得兩端點(diǎn)間的測試結(jié)果信息。
本項(xiàng)目選擇的網(wǎng)絡(luò)測量內(nèi)容包括帶寬、時(shí)延、時(shí)延抖動(dòng)、丟包率、流量和吞吐量等。
4.2試驗(yàn)要點(diǎn)
①將實(shí)驗(yàn)網(wǎng)絡(luò)設(shè)為某專用網(wǎng)絡(luò)帶寬,逐步加大業(yè)務(wù),測量信息丟包率、時(shí)延和時(shí)延抖動(dòng)等指標(biāo),目測視頻傳輸?shù)馁|(zhì)量情況,標(biāo)定上述指標(biāo)的可容忍度。
②在給定業(yè)務(wù)容量情況下,逐步調(diào)低網(wǎng)絡(luò)傳輸速率,按照標(biāo)定指標(biāo)進(jìn)行判斷,得出傳輸給定業(yè)務(wù)的所需的最小帶寬。
③加入衛(wèi)星信道模擬器,逐步加入噪聲或加大時(shí)延,測試信息傳輸丟包率的變化情況,繪制丟包率、時(shí)延、噪聲功率的雙變量曲線。
④變化業(yè)務(wù)數(shù),記錄視頻質(zhì)量變化、各段帶寬值的變化、各段時(shí)延值變化,丟包率指標(biāo)變化,查找專用網(wǎng)絡(luò)在帶寬和時(shí)延上的“瓶頸”。這里的時(shí)延專指傳播時(shí)延,不包括傳輸時(shí)延,因?yàn)閭鬏敃r(shí)延已經(jīng)由瓶頸帶寬反映出來[7]。
4.3測試程序架構(gòu)
測量程序采用Winpcap+Winsock的層次化測量架構(gòu)。
Winpcap源于BPF(BerkleyPacketFilter)和libpcap函數(shù)庫,支持Win32的網(wǎng)絡(luò)監(jiān)測程序設(shè)計(jì)。Winsock是人們很熟悉的Windows套接字編程工具,源于Berkley Socket技術(shù)。這兩款網(wǎng)絡(luò)開發(fā)工具各有特色,結(jié)合使用可以取長補(bǔ)短,提高軟件開發(fā)的效率,增強(qiáng)軟件的運(yùn)行性能。Winpcap支持網(wǎng)絡(luò)原始數(shù)據(jù)包的接收和發(fā)送,繞開了TCP/IP協(xié)議棧,有利于高速的數(shù)據(jù)包檢測和分析;支持對(duì)數(shù)據(jù)包的過濾,只處理應(yīng)用程序感興趣的數(shù)據(jù),可以提高程序運(yùn)行性能,減少系統(tǒng)開銷,但不能為端到端的應(yīng)用提供面向連接和無連接的網(wǎng)絡(luò)服務(wù)。
Winsock是建立在TCP/IP協(xié)議棧之上的程序開發(fā)工具,提供面向連接和的連接得網(wǎng)絡(luò)服務(wù),可以大大降低程序開發(fā)工作量。但是,網(wǎng)絡(luò)程序必須從協(xié)議棧獲取數(shù)據(jù)包,增加了運(yùn)行的開銷,降低了性能;由于鏈路層幀首部在提交給IP層之前就已經(jīng)去掉,不便于網(wǎng)絡(luò)低層的數(shù)據(jù)分析,應(yīng)用范圍有限。
圖3測量程序架構(gòu)
程序采用三層架構(gòu):網(wǎng)絡(luò)接口層、網(wǎng)絡(luò)層、測試層。
其中網(wǎng)絡(luò)接口層就是網(wǎng)卡驅(qū)動(dòng)程序模塊,負(fù)責(zé)程序與網(wǎng)絡(luò)設(shè)備間的交互。
網(wǎng)絡(luò)層包括兩部分:一個(gè)是基于NPF(網(wǎng)絡(luò)數(shù)據(jù)包過濾器)的網(wǎng)絡(luò)模塊,一個(gè)是基于TCP/IP的網(wǎng)絡(luò)模塊。
測試層通過Winpcap編程接口來訪問NPF,檢測出原始數(shù)據(jù)包并獲取數(shù)據(jù)包到達(dá)時(shí)刻;通過Winsock編程接口來訪問TCP/IP,獲取TCP會(huì)話信息。主從程序測試層均包括兩個(gè)基本功能模塊:數(shù)據(jù)包檢測和TCP會(huì)話。數(shù)據(jù)包檢測模塊利用Winpcap接口獲取網(wǎng)絡(luò)中的原始數(shù)據(jù)包,測量開始后,主程序數(shù)據(jù)包檢測模塊直接解析出發(fā)送端計(jì)算機(jī)發(fā)出的數(shù)據(jù)包IP標(biāo)識(shí),記錄進(jìn)主測試窗口,從程序的數(shù)據(jù)包檢測模塊直接解析出接收端計(jì)算機(jī)接收的數(shù)據(jù)包IP標(biāo)識(shí),記錄進(jìn)從測試窗口,同時(shí)記錄視頻包的達(dá)到時(shí)刻;TCP會(huì)話模塊利用Winsock接口建立主從程序間的TCP連接,控制測量步驟,并交互測量過程中獲取的數(shù)據(jù)。窗口調(diào)節(jié)模塊利用這兩個(gè)基本功能動(dòng)態(tài)調(diào)整測試窗口尺寸。根據(jù)正確接收的數(shù)據(jù)包和主程序通知確認(rèn)的數(shù)據(jù)包序列,從程序的丟包確認(rèn)模塊檢查數(shù)據(jù)包的丟失情況,并把丟包數(shù)據(jù)反饋給主程序。根據(jù)反饋的丟包信息,主程序的丟包率計(jì)算分析模塊計(jì)算丟包率。從程序的延遲計(jì)算模塊通過時(shí)間提取,計(jì)算相繼到達(dá)視頻包的延遲,并通過TCP會(huì)話連接將最后的延遲統(tǒng)計(jì)值返回給主程序的延遲獲取模塊。
5結(jié)論
通過將測量軟件用于實(shí)驗(yàn)平臺(tái)進(jìn)行測試,驗(yàn)證了所選性能測量指標(biāo)的可用性和測量方法的有效性。特別針對(duì)專用網(wǎng)絡(luò)的具體情況,制定了適合網(wǎng)絡(luò)承載業(yè)務(wù)傳輸?shù)膬?yōu)先級(jí)方案,提出了改進(jìn)網(wǎng)絡(luò)性能的方案措施,為項(xiàng)目順利結(jié)題打下了基礎(chǔ)。在今后的工作中,將根據(jù)目標(biāo)任務(wù)書要求,加強(qiáng)故障管理功能研究,并把網(wǎng)絡(luò)性能測試和故障定位技術(shù)推廣到新一代自組織網(wǎng)絡(luò)中。在衛(wèi)星信道模擬器方面,將把研究具有星際網(wǎng)絡(luò)的綜合性多功能模擬器作為目標(biāo)。
本文作者的創(chuàng)新點(diǎn)是:(1)試驗(yàn)平臺(tái)的可變速率設(shè)計(jì)為網(wǎng)絡(luò)可用帶寬的測試提供了條件;(2)引入衛(wèi)星信道模擬器,實(shí)現(xiàn)大時(shí)延信道的TCP/IP傳輸研究。