複製鏈接
請複製以下鏈接發送給好友

延遲時間

鎖定
在計算機網絡中,由於不同的通信子網和網絡體系結構採用不同的中轉控制方式,在通信子網中存在的中轉延遲是由網絡狀態決定的。電信號響應帶來的延遲時間是固定的,響應時間越小,延遲就越小,帶寬大,傳輸速率高,所以信道的帶寬越大,延遲越小。延遲時間是表示從特定點得到一個數據包(packet)所花的時間,延遲時間一般是響應延遲和傳輸延遲之和
中文名
延遲時間
外文名
delay time
學    科
通信網絡
定    義
傳輸一個數據包所花時間
組    成
傳輸時延、響應時延、排隊時延
原    因
帶寬不足、傳輸飽和

延遲時間定義

在網絡,延遲時間(latency),同義詞為延遲,是表示從特定點得到一個數據包(packet)所花的時間。在一些情況下,延遲時間用發送出包到回到發送端這個運行一個週期的時間就是延遲時間。網絡傳輸延遲時間的原因包括:傳輸,包在兩地之間以光速傳播所花的時間。發送:媒介本身(不論是光纖(fiber optic)、無線或其他介質)導致了一些延遲。大包導致的延遲往往要比小包導致的時間長。路由器和其它處理,各個網關、節點(node)花時間檢測可能會改變包的頭(比如,改變生存時間(time-to-live)域內的躍點(hop)計數)。其它計算機和存貯延遲,在網絡之內各個傳輸的端點,小包也許會被存儲並且硬盤要存取,延遲就發生在中間設備比如交換機(switch)和網橋中。
對用户來説,延遲時間,又稱網絡延遲,是指用户發出請求到遠端系統對該請求作出響應傳回給用户的這一段時間。對基於 TCP/IP 協議的 Internet 來説,對每一請求都要作如下處理:路由處理、ADU(用户數據單元)在網絡上傳輸以及服務器對請求進行處理,這些過程都會引起延遲。

延遲時間路由延遲

首先來看路由延遲,它包括域名請求延遲、TCP連接建立延遲、TCP連接釋放延遲和IP在各個網關上的尋徑延遲。若用户應用中使用的是對方主機的域名而不是IP地址,在應用程序通信之前應解析出對方IP地址域名解析過程引起的延遲稱作域名請求延遲。應用程序將域名交給本地解析器軟件,該軟件首先在本地緩存區中查找相應域名— 地址聯編;如找不到, 本地解析器構造一個詢問報文,發往初始域名服務器(本地服務器),域名服務器根據解析情況回答一個響應報文。域名服務器解析採用二步法: 當初始服務器找不到該域名時,則將詢問報文發往根服務器,進行自頂向下的搜索(域名服務器組織成樹形層次結構)。本地緩存區對域名請求的響應延遲是由CPU、內存、外存速度決定的,該延遲相對來説很小。域名服務器的響應與網絡負載、服務器的速度和負載有關。當需要從根服務器開始查找域名時,傳輸延遲則成為 LAN 上的延遲,此延遲相對較大。TCP 連接建立延遲指從傳輸服務用户要求建立連接到收到連接證實之間的時間,它包括遠端傳輸層的處理工作時延 。連接釋放延遲指從一端的傳輸層用户發起釋放連接請求到另一端的釋放實際發生為止之間的時延。連接建立和釋放延遲與網絡負載及服務器負載有關。TCP/ IP 協議中,每個IP 數據包是獨立尋徑的。IP尋徑延遲指IP 數據包從源端到目的端的各個網關上的尋徑延遲,包括網關尋徑表處理延遲和地址解析延遲。網關地址解析由 TCP/ IP 提供的ARP( Address Resolution Protocol,地址解析協議) 來完成。由於網關尋徑在本機內完成, 而地址解析也在本網內進行,所以IP尋徑延遲相對較小。

延遲時間傳輸延遲

位於應用層的用户數據單元 ( ADU)在應用層協議調用下層協議提供的服務之後形成協議數據單元( PDU),PDU 作為獨立的數據單元在網絡上傳輸。PDU 在網絡上的傳輸延遲由以下幾部分組成:打包延遲、傳送延遲、傳播延遲、排隊延遲及處理延遲。打包延遲是實時流應用獨有的延遲。實時流應用是指對基於時間的信息( 比如視頻 、音頻和動畫等)進行實時傳送的應用。實時信息流是有時間性的,按時間順序有規律地產生,要等待信息流達到一定的數量以滿足協議數據單元( PDU) 有效負載才打包成PDU,這段等待時間稱作打包延遲。打包延遲Sp /K,其中Sp為 PDU 有效負載長度,K 為應用的編碼速度。因此對於低速編碼器來説,延遲比較大 。傳送延遲是指 PDU 數據全部傳送到線路上的這段時延,或者説 PDU 的第一個比特從端點傳送到線路上直到最後一個比特離開端點的這段時間間隔。傳送延遲與 PDU 大小以及局部線路上的傳送速率有關,對於低速鏈接 ,傳送延遲相當可觀 。
傳播延遲是 PDU 在介質中傳播所用的時間,取決於信號穿過介質的速度。也就是説,這個延遲由鏈路的物理特性決定,與鏈路的業務量無關。傳播延遲隨距離線性增加,LAN 和 MAN 中的傳播延遲只50 ~200us,這並不是重要的延遲組成部分。而 WAN 中的傳播延遲就變得比較重要了,因為遠距離傳送使得傳播延遲可以達到幾十毫秒。排隊延遲是分組交換網中的主要延遲,它指的是PDU 在傳輸路徑上每交換一次所引起的緩衝延遲的集合。若分組交換臨時過載,每一個 PDU 的目的輸出端口上可能有許多分組排隊。 隊列中位於 PDU 前的每一個分組都會產生一個等於傳送延遲的附加延遲。在先進先出( FIFO) 隊列機制的交換中, 新到達的分組的排隊延遲等於已在該輸出端口上排隊的所有分組傳送延遲的總和。所以排隊延遲既與隊列前面的分組數量有關,也與輸出端口的傳送速度有關 。作為主要延遲的排隊延遲受當前網絡負載影響, 它也是分組交換網中延遲變化的主要因素。由於 Internet 主幹網上每個路由器都有大量的數據包排隊,排隊延遲也成為Internet 上的主要延遲。如若經過10個路由器,每個路由器平均有10個IP數據包排隊, 在這條路徑上的排隊延遲能夠達到上百毫秒。處理延遲是路徑上每次交換以及源端和目的端對數據包進行處理花費的時間的總和,它不包括排隊延遲。在分組交換的交換過程中,處理延遲與排隊延遲相比較可以忽略不計,但在端點它還是相當可觀的,特別是象視頻解壓這樣的應用 [1] 

延遲時間測量方法

網絡性能測量方法按照測量方式分為主動測量和被動測量。主動測量是將探測包注入到被測網絡中,該探測包記錄在網絡中的傳遞情況,在終端通過解析探測包來獲取網絡性能數據。被動測量方式使用監測設備或工具,通過捕獲被測網絡中所傳遞的數據包來分析網絡特性。這兩種方法各有優缺點。主動測量方法具有靈活的可控性,能夠根據測量者自己的意圖進行參數設定,如包的類型及大小等。但是注入網絡的測量數據流會增加網絡負載,從而影響網絡性能,測得的數據不能真實反映網絡實際性能。被動測量的優點是在測量時並不會增加網絡上的流量,所測得的數據能夠真實反映網絡性能。缺點是可控性差,並且採集數據的保密性和安全性將會受到影響。因此,有時常常將這兩種方法結合起來進行網絡測量。根據關於網絡延遲度量的定義可知任何層的延遲可歸結為單向延遲或往返延遲,只是協議不同而已。所以以下測試方法都能實用到網絡層以上的延遲測量中。
單向延遲測量方法
首先選擇測量所使用的協議,如TCP、UDP、ICMP (Internet Control Message Protocol,因特網控制報文協議)、OWDP (One Way Delay Protocol,單向延遲協議)、IPMP (Internet Protocol Measurement Protocol,IP層測量協儀)等,確定所選協議更細節問題,如TCP、UDP端口號,超時等待時間及測量包的大小等。當確定了這些參數以後,按如下步驟進行:
(1)協商源端和目的端同步:即源端和目的端的時鐘之間必須精確同步。
(2)在源端,確定目的端的IP地址,根據所選測量協議的結構來填充測試包。空缺部分應該填充為隨機比特位,以避免所測量出來的時延低於路徑中採用了壓縮技術後的時延。在測試包中設置時間戳,然後發送填寫好的測試包到目的主機。
(3)在目的端,準備接收該包(使用被動測量方法,即利用監測工具進行抓包)。如果包在一個合理的時間內到達,立刻將接收時間減去包中的發送時間,就可計算出估計的單向延遲值。該值在源端和目的端時鐘同步的前提下才有效。如果包不能在一個合理的時間內到達,則該單向延遲值應被設置為未定義。解決時鐘同步問題的方法主要有兩種:軟件同步和硬件同步。基於GPS(Global Position System,全球定位衞星系統)的同步屬於硬件同步;基於網絡時間協議(Network Time Protocol)的同步和基於算法估計的同步屬於軟件同步。在互聯網上時間同步多利用NTP服務器來實現,NTP服務器採用GPS接收機來提供參考時鐘,主機通過網絡時間協議NTP來獲得NTP服務器的時間。消除時鐘不同步的算法有線性迴歸算法、中值線適應算法、分段最小算法、Convex Hull Approach算法及線性規劃算法等等。
往返延遲測量方法
準備工作同單向延遲測量方法,測量按以下步驟進行:
(1)在源端,確定目的端的IP地址,根據所選測量協議的結構來填充測試包。為了避免由於路徑上的壓縮技術而使被測延遲低於預期結果,空缺部分應該填充為隨機比特位;並且測試包必須設置ID號,以便源主機收到響應包後能夠判斷出是自己發出測試包的迴應。
(2)在源端,設置測試包中的發送時間戳,然後發送填寫好的測試包到目的主機。時間戳可以放在包內,也可以放在包外,只要包含一個合適的標識符以便接收的時間戳能夠和發送的時間戳相比較。
(3)在目的端,準備接收測試包。如果測試包到達了目的主機,要快速產生響應包併發送到源端。
(4)在源端,準備接收相應的響應包。根據ID號來判斷是不是自己測試包的迴應。如果響包在超時等待時間內到達,立刻將接收時間減去響應包中的發送時間,就可計算出往返延遲值。如果響應包不能在超時等待時間內到達,該往返延遲值被設置為未定義 [2] 
參考資料