具有衛(wèi)星鏈路的TCP/IP網(wǎng)絡(luò)性能測量方法
本項目采用主動測試方法:在網(wǎng)絡(luò)上布置測試機器,主動發(fā)送測試流量,如,從A端到B端,獲得兩端點間的測試結(jié)果信息。
本項目選擇的網(wǎng)絡(luò)測量內(nèi)容包括帶寬、時延、時延抖動、丟包率、流量和吞吐量等。
4.2試驗要點
①將實驗網(wǎng)絡(luò)設(shè)為某專用網(wǎng)絡(luò)帶寬,逐步加大業(yè)務(wù),測量信息丟包率、時延和時延抖動等指標,目測視頻傳輸?shù)馁|(zhì)量情況,標定上述指標的可容忍度。
②在給定業(yè)務(wù)容量情況下,逐步調(diào)低網(wǎng)絡(luò)傳輸速率,按照標定指標進行判斷,得出傳輸給定業(yè)務(wù)的所需的最小帶寬。
③加入衛(wèi)星信道模擬器,逐步加入噪聲或加大時延,測試信息傳輸丟包率的變化情況,繪制丟包率、時延、噪聲功率的雙變量曲線。
④變化業(yè)務(wù)數(shù),記錄視頻質(zhì)量變化、各段帶寬值的變化、各段時延值變化,丟包率指標變化,查找專用網(wǎng)絡(luò)在帶寬和時延上的“瓶頸”。這里的時延專指傳播時延,不包括傳輸時延,因為傳輸時延已經(jīng)由瓶頸帶寬反映出來[7]。
4.3測試程序架構(gòu)
測量程序采用Winpcap+Winsock的層次化測量架構(gòu)。
Winpcap源于BPF(BerkleyPacketFilter)和libpcap函數(shù)庫,支持Win32的網(wǎng)絡(luò)監(jiān)測程序設(shè)計。Winsock是人們很熟悉的Windows套接字編程工具,源于Berkley Socket技術(shù)。這兩款網(wǎng)絡(luò)開發(fā)工具各有特色,結(jié)合使用可以取長補短,提高軟件開發(fā)的效率,增強軟件的運行性能。Winpcap支持網(wǎng)絡(luò)原始數(shù)據(jù)包的接收和發(fā)送,繞開了TCP/IP協(xié)議棧,有利于高速的數(shù)據(jù)包檢測和分析;支持對數(shù)據(jù)包的過濾,只處理應(yīng)用程序感興趣的數(shù)據(jù),可以提高程序運行性能,減少系統(tǒng)開銷,但不能為端到端的應(yīng)用提供面向連接和無連接的網(wǎng)絡(luò)服務(wù)。
Winsock是建立在TCP/IP協(xié)議棧之上的程序開發(fā)工具,提供面向連接和的連接得網(wǎng)絡(luò)服務(wù),可以大大降低程序開發(fā)工作量。但是,網(wǎng)絡(luò)程序必須從協(xié)議棧獲取數(shù)據(jù)包,增加了運行的開銷,降低了性能;由于鏈路層幀首部在提交給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ū)動程序模塊,負責(zé)程序與網(wǎng)絡(luò)設(shè)備間的交互。
網(wǎng)絡(luò)層包括兩部分:一個是基于NPF(網(wǎng)絡(luò)數(shù)據(jù)包過濾器)的網(wǎng)絡(luò)模塊,一個是基于TCP/IP的網(wǎng)絡(luò)模塊。
測試層通過Winpcap編程接口來訪問NPF,檢測出原始數(shù)據(jù)包并獲取數(shù)據(jù)包到達時刻;通過Winsock編程接口來訪問TCP/IP,獲取TCP會話信息。主從程序測試層均包括兩個基本功能模塊:數(shù)據(jù)包檢測和TCP會話。數(shù)據(jù)包檢測模塊利用Winpcap接口獲取網(wǎng)絡(luò)中的原始數(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結(jié)論
通過將測量軟件用于實驗平臺進行測試,驗證了所選性能測量指標的可用性和測量方法的有效性。特別針對專用網(wǎng)絡(luò)的具體情況,制定了適合網(wǎng)絡(luò)承載業(yè)務(wù)傳輸?shù)膬?yōu)先級方案,提出了改進網(wǎng)絡(luò)性能的方案措施,為項目順利結(jié)題打下了基礎(chǔ)。在今后的工作中,將根據(jù)目標任務(wù)書要求,加強故障管理功能研究,并把網(wǎng)絡(luò)性能測試和故障定位技術(shù)推廣到新一代自組織網(wǎng)絡(luò)中。在衛(wèi)星信道模擬器方面,將把研究具有星際網(wǎng)絡(luò)的綜合性多功能模擬器作為目標。
本文作者的創(chuàng)新點是:(1)試驗平臺的可變速率設(shè)計為網(wǎng)絡(luò)可用帶寬的測試提供了條件;(2)引入衛(wèi)星信道模擬器,實現(xiàn)大時延信道的TCP/IP傳輸研究。
tcp/ip相關(guān)文章:tcp/ip是什么
評論