2)創建類型為SOCK_RAW的一個原始套接字,同時設定協議為IPPROTO_ICMP;
3)記錄當前高精度拘束其數值Query peformanceceCounter(&begintime);
4)用sendio將ICMP請求發送給遠程主機;
5)調用recvfrom接收PCMP應答;
6)獲得當前高精度計數器數值
Query peformanceceCounter(&endtime);
7)計算網絡時延值
RTT=((double(endtime.quadpart-begintime.quadpart))/frequency.quadpart;
8)判斷是否繼續測試,否則結束程序。
為了對網絡時延進行連續的測試,在程序中設置了定時器,可以周期性的進行時延測試。另外,設定了超時時間,超過時間即認為該次測試超時,該程序可以用來測試從當前主機到目的主機之間的網絡時延情況。
3 測試結果的分析
經統計得,不同時段網絡延時有不同的特點,主要因素是不同時段網絡負載情況。基於TCP協議下的時延(平均值在50mms左右)比UDP的時延(平均值在45mms左右)要大,但是相對穩定,幾乎無丟包現象,而UDP則有一定比例的丟包現象。不同時段受網絡負載的影響,延時均值變化不大,但延時的方差變化較大。網絡負載較小時,時延值比較集中,而網絡負載較大時,時延有較大的不確定性。在NCS中,對於控製信息通過Internet傳輸的情況,基於以上延時測試分析,得出如下結論:
1)基於TCP協議下的網絡延遲平均值大於基於UDP協議下的網絡延遲;
2)當網絡負載較小時,由於時延變化較小,且相對穩定,可在設計控製器時針對不同時段網絡時延進行均值補償;
3)內網Ping中心交換機偶爾延遲過大,通過交換機不同,數據所走的路線也不盡相同,路由節點的數據交換也不相同;
4)當網絡負載較大時,時延變化明顯,此時設計控製器或延時補償器時應考慮時延的變化,否則可能導致控製係統性能的下降甚至係統的不穩定;
5)若NCS中通信網絡為Internet時,應考慮數據包丟失時的特殊情況。
4 結論
本文討論了網絡時延的測試方法,對基於TCP和UDP的Internet網絡時延進行了測試和分析,預測和估計控製係統設備和節點的時延特性,討論了NCS控製器分析和設計時時延的影響。分析在NCS中因網絡負載等變化,將會出現網絡時延,時延可能是固定的也可能是隨機的,如果在設計控製器時不考慮時延,則會導致係統性能下降甚至不穩定。
參考文獻
[1]張文傑,錢德沛,李忠誠,等.網絡測量中的性能數據空間分析[J].計算機研究與發展,2004(2).
[2]鄭英,方華京,謝林柏,等.具有隨機時延的網絡化控製係統基於等價空間的故障診斷[J].信息與控製,2004,32(2):155-159.
[3]於之訓,陳輝堂,王月娟.時延網絡控製係統均方指數穩定的研究[J].控製與決策,2003.