程進榮 錢俊杰
【摘 要】本文討論端到端網絡時延測量的關鍵技術和影響因素, 介紹了網絡時延的有關概念,基于ICMP、TCP、UDP等幾種網絡通信協議的網絡時延測量技術,給出了幾種網絡時延測量的實現方法。
【關鍵詞】網絡測量;時延;測量技術
0 引言
隨著Internet的發展,其規模迅速擴大、網絡業務不斷出現、網絡拓撲結構日益復雜。但具有開放、分布式、不協作、異構等特點的因特網有效管理和控制變得更難。人們致力于在各種情況下尋找和建立連接,主要關注分組向那里發送,而較少關注發送分組的時間。分組到達的時間時延大大影響了因特網的服務質量。要提高網絡服務質量,就要找出存在問題。當前的網絡性能測量評價指標包括:時延、流量、丟包率、吞吐量(帶寬)等。其中網絡時延是最重要、最常用的性能指標。
1 網絡時延的基本概念和時延測量原理
時延是指一個報文或分組從一個網絡的一段傳送到另一端所需的時間。時延由發送時延、傳播時延和處理時延組成。發送時延是節點在發送數據時使數據塊從節點進入傳媒所需要時間,也就是數據塊的第一個比特開始發送算起,到最后一個比特發送完畢所需時間,也稱為傳輸時延。處理時延是指數據在交換節點為存儲轉發而進行必要的處理所花費時間。
2 時延測量中的關鍵技術和影響因素
時延測量首先要消除測量中出現的隨機性。網絡分組的時延是一個隨時間變化的隨機變量,由固定時延和可變時延兩部分構成。固定時延是基本上不變的,它由傳輸時延和傳播時延構成。傳輸時延由分組大小和鏈路的容量決定,一個分組的大小一旦固定,通過的鏈路容量便是固定的,其傳輸時延也是固定的。傳播時延由固定的物理傳輸介質確定并且是固定的。分組時延中的可變時延是由很多因素造成的。它可以分成中間路由器處理時延和排隊等待時延兩部分。對于任何一個分組,中間路由器總要對其進行路由查表以確定其轉發端口,這個時間可以看成是處理時間。同時,中間路由器繁忙可能導致分組排隊等待處理,也需要一段等待時間。處理和等待時間是不固定的,由路由器的具體性能以及鏈路的擁塞狀況而定,是一個隨機變量。所以如果鏈路不出現擁塞,一個分組的最小時延便與該分組的大小成線性關系。分組的時延具有突發性和偶然性,為了能夠使測量結果盡可能地反映網絡的真實情況,可以采用低通濾波的方法來消除隨機性。
其次,對網絡時延的測量,必須保證網絡入口點和出口點時鐘同步。如果時鐘不同步,則時延測量會有很大誤差。網絡中路徑往往是非對稱的,或者即使路由是對稱的但往返具有不同的性能特征。單向時延測量要求嚴格的時鐘同步。GPS時間同步技術是當前比較成熟的并在國際上廣泛使用的時間同步技術。單向時延測量一般要求、成本比較高。在實際的測量中,測量精度不是主要問題。網絡時延通常在數十到數百毫秒范圍內,測量存在幾毫秒的誤差完全可以接受。因此測量方案都采用往返時延,可以避開時鐘同步問題。
網絡時延總是隨著網絡的運行狀況而不斷變化。通過分析,可將影響網絡時延測量的因素歸為兩類:1)網絡本身的性能,即完全獨立于網絡測量方法、僅與網絡本身特性相關的部分;2)測量報文的特定性能,與網絡具體的測量方式密切相關.
目前,基于端到端的網絡時延測量方法,能達到快速準確的目的。這種方法,不是單個設備的時延測量,而是某一段甚至某一跳之間鏈路的時延測量。端到端往返時延的計算時間都在同一臺計算機上,不存在時間同步問題,無需在測量的兩端都安裝測量軟件,只需要固定一個測量點,另一個測量點可以任意選擇,使測量范圍擴充到整個因特網。端到端傳輸優點是鏈路建立后,發送端知道接收設備一定能收到,而且經過中間交換設備時不需要進行存儲轉發,因此時延較小。端到端傳輸缺點是直到接收端收到數據為止,發送端設備一直要參與傳輸。如果網絡時延很長,那么對發送端設備造成很大浪費。端到端傳輸的另一個缺點是如果接收設備關機或故障,那么端到端傳輸不可能實現。在端到端網絡時延測量中,要降低這種缺點帶來的影響,就要選擇合理的測量時段、數據包字長和測量樣本等。
3 網絡時延測量方法
根據網絡時延測量其承載數據包的協議不同,網絡時延測量方法可分為:基于ICMP協議的網絡時延測量。Ping是基于ICMP請求應答報文開發的應用軟件,用來診斷網絡故障,也是用來測量往返時延最常用的工具。Ping工具通過向網絡中特定地址發送ICMP echo報文,并監聽回應報文,根據回應報文的探測結果,來評估主機路徑的可靠性、往返時延大小等。將報文封裝在ICMP報文中是目前網絡測量工具最常用的方式,但是ICMP報文也是用來進行DOS攻擊的主要方式,因此在許多ICMP協議都被過濾了,可能會完全被阻塞。路由器可以限制ICMP回復的速率來避免被消耗過多的網絡帶寬和路由資源。這意味利用ICMP協議測量時延的結果是不可靠的?;赨DP協議的網絡時延測量。當對方主機或者中間節點過濾掉ICMP報文后,可以使用UDP報文來實現網絡的往返時延測量。UDP報文的實現和ICMP報文較相似,都是無連接的。不同的是UDP協議需要指定一個端口,在實際使用時,可以任選一個端口,當接收方該端口對應的服務不存在時,會立即返回一個“端口不可到達”的IC-MP報文。因此,在使用UDP報文進行測量時,要注意發送方發送一個UDP報文,接收方反饋的不一定是UDP報文,也有可能是ICMP報文,這兩種返回的報文都可以用來計算網絡的時延。此外,UDP協議在實現時要注意其最大報文長度與ICMP報文不同,通常應小于500 Byte。但是將報文封裝在UDP報文中也有疑問。UDP沒有TCP協議所固有的擁塞控制算法,在UDP報文使用達到高峰時,為了減少對TCP流的影響,UDP報文的速率可能會受到限制。
基于TCP協議的網絡時延測量。針對防火墻設置,雖比較復雜,但可適用于測量某些前兩種方法不能工作的特定環境。除了選取合適的承載報文,TCP協議測量網絡時延的難點包括TCP協議發送機制本身。TCP協議為提高傳輸效率,往往不是即時發送報文,而要收集足夠的數據后才發送,可能會產生發送方記錄的發送時間遠遠早于時間發送時間,而使得測量的結果大于實際值的現象。為避免此現象的發生,要求在主動測量時,不但要求發送方在承載的TCP報文中加入PSH標志,此時將立即發送此數據報文而無需等待,同時也要求接收方在反饋該報文時,也必須帶PSH標志。同理,在被動測量時,要注意承載的報文必須是帶有PSH標志的報文,并且對應的反饋報文也必須同樣帶有PSH報文。也可以利用其它協議實現網絡時延的測量。方法基本和UDP或TCP類似,關鍵根據所在網絡設置的具體情況,靈活選擇承載報文,即能在發送方立即發送,而接收方收到后又能立即反饋的報文。
4 結論
本文闡述了網絡時延的相關概念,討論了影響網絡時延測量的各種因素。在實際測量中可根據具體情況靈活選擇合適的測量方法。當前,利用端到端時延測量結果進行網絡斷層推測,是網絡測量的一個新興領域。隨著對網絡測量研究的深入,人們將更加深刻了解網絡的本質,讓網絡為人類的生活提供更好的支持。
[責任編輯:謝慶云]