傳輸延時、傳播延時到底有何區別?
計算機網絡中的傳輸延時與傳播延時的區別?

老李從上海開車去北京,歷程1200KM,一路勻速120KM/H,途徑12個收費站,每個收費站耗時1分鐘,問老李需要多久可以到達北京?
總耗時 = 行車時間 + 過12個收費站時間 = 1200/120 + 12 * 1/60 = 10 + 0.2 =
10.2 小時
上文中的行車時間,在計算機網絡里對應的就是傳播延遲(Propagation Delay),即源主機到目的主機的物理距離(單位為KM)除以行車速度為光速 ≈ 30萬KM/H。
上文中的過12個收費站的總時間,即為傳輸延遲(Transmission Delay)的總和,收費站為交換機/路由器/防火墻/中繼設備。
一個1250 byte(10000bit)Packet(可以理解為小汽車),經過一個通行速率rate = 1Gbps的收費站,需要歷時多久(假設收費站0排隊)?
Transmission Delay = 10000/1000000000 = 0.000001s
=1us
這1us對應的時間,就是這10000個bit長的小汽車,汽車頭離開收費站開始計時,到汽車尾離開收費站為止所耗費的時間。
假設這12個收費站通行速率都是1Gbps,那么總的傳輸延時= 12 *1 = 12us,這個時間長度用光速跑,對應的距離為 = 0.000012
* 30萬= 3.6 KM。換句話說,由于收費站的存在,相當于把源主機到目的主機的物理距離增加了3.6KM。
如果沒有收費站,老李10個小時就可以到達北京。由于收費站多份存在,多出來的0.2小時,相當于把上海到北京的距離拉長了0.2 * 120 = 24KM。
問題回答完畢。
但是,在真實的計算機網絡里,從A地(源)到B地(目的),不僅有上文的Transmission Delay、Propagation Delay, 還有處理延遲(Processing Delay)和隊列延遲(Queue Delay)。
IP小汽車從入口(Incoming Interface)進入,到決定從哪個出口(Outgoing Interface)離開,需要查詢轉發表/路由表。光知道從哪個出口離開還不行,還需要通過內部高速總線(交換矩陣)把小汽車從入口搬運到出口處,這一系列操作所花費的時間總和,就是處理延遲(Processing Delay)。
如果出口處,已經有小汽車在排隊等待通行,這個剛到的小汽車還需要按照先來先走(FIFO)的排隊等待離開收費站,這個等待時間就是隊列延遲(Queue Delay)。
A地到B地的單向時間延遲= Propagation
Delay(1) + Transmission Delay(2) + Processing Delay(3) + Queue Delay(4)
上文的4個delay,
- 1取決于物理距離大小
- 2取決于收費站(路由器)出口通行速率rate
- 3取決于查表快慢以及內部總線
- 4 取決于收費站是否擁堵,如果不擁堵,該值為0
對于特定的IP小汽車,前3者是固定不變的,只有4是可變的(Variable),也是網絡工程師唯一可以通過QoS參數進行控制的。
如果想讓一輛IP小汽車優先通行,只要將它在入口處粉刷(Color Mark)成一輛救護車,救護車在收費站可以插隊,幾乎無需排隊(救護車最多等待一輛車的時間,因為收費站可能有一輛正在通行的小汽車),這樣就減少了從源到目的的總延遲。