崔鴻 顧兆軍



摘要:國內大多數高校的《計算機網絡》教材,在介紹計算機網絡基本原理分組交換技術時,給出相同的總時延公式,對該公式進行了探討,提出其修正公式及分析。
關鍵詞: 關總時延公式;計算機網絡
Abstract: When introducing the basic principle of computer network and packet switching technology, the same total delay formula is given in the textbook of computer network in most domestic colleges and universities. This paper discusses the formula, and puts forward its correction formula and analysis.
Key words: total delay formula; computer network
1 引言
國內大多數高校的本科“計算機網絡”課程選用的是《計算機網絡》1或《計算機網絡:自頂向下方法》2為教材,這兩種教材在計算機網絡概述部分,在介紹網絡基本原理分組交換技術時,給出了相同的分組交換總時延公式。筆者認為該公式應該修正。
2 總時延公式
計算機網絡的基本原理是分組交換技術,分組從源主機出發,經過多個路由器,到達終點主機。分組從源端到目的端所花費的時間為總時延。
2.1 總時延原公式與修正公式
兩種教材給出的總時延公式為:
總時延 = 發送時延 + 傳播時延 + 處理時延 + 排隊時延
筆者認為總時延公式應當修正為:
總時延 = 發送時延 + 傳播時延 + 存儲時延
先介紹這幾個時延概念,再介紹本文提出的“存儲時延”的概念。
發送時延(dtrans)是指主機向網絡發送數據所花費的時間,就是數據量除以網絡帶寬。舉例,鏈路的數據傳輸速率為100Mbps,分組大小為1000B,該分組的發送時延就是0.08ms。注意分組數據以字節為單位,網絡帶寬以比特為單位,要換算一下。
傳播時延(dprop)是指信號電磁波在信道中傳播一定的距離而花費的時間,電磁波在電纜中的速度通常按200m/us計算。舉例:某兩個主機相距1000m,傳播時延的計算結果就是5us。
排隊時延(dqueue)分組在路由器內排隊等待處理的時間,稱為排隊時延。排隊時間實質是當時網絡的擁塞程度。
處理時延(dproc)是指路由器CPU處理分組的時間,CPU處理時間也非常小。
2.2 修正公式的分析
計算機網絡基本原理是分組交換技術,就是說一個分組從源主機出發,穿越多個路由器后,到達目的主機。其中的關鍵就是“路由器存儲-轉發分組(store and forward)”。分組在網絡中傳輸過程如圖1所示。
在這個過程中,關鍵是分析清楚分組在路由器內部的過程,現在詳細分析一下分組在路由器內的全過程。
第一步:接收分組
當分組的第1個比特到達路由器的接口時,接口芯片開始接將分組數據存儲在I/O設備的緩沖區里,當整個分組接收完畢,分組完全存入路由器的I/O設備的緩沖區后,路由器的I/O設備產生一個中斷信號給路由器CPU。從第1個比特到達路由器I/O接口,到分組接收完畢,這段時間我稱其為“存儲時延”,是“存儲-轉發”中存儲兩個字的意思,是路由器I/O設備的讀寫時間。
第二步:分組排隊
分組進入路由器后,路由器可能已經接收了多個分組,這些分組在路由器內部排隊,等待CPU處理。排隊的長度是不確定的,依賴于路由器當前的擁塞程度。這段時延稱為“排隊時延”。
第三步:轉發分組
當分組排隊排到后,路由器的CPU開始處理分組,就是檢索路由表,轉發分組,這段CPU處理所用時間很短。這段時間稱為“處理時延”。
路由器的存儲轉發原理絕不是分組的第1個比特到達路由器I/O設備時,路由器就開始轉發分組。而是要完成三個步驟,路由器接收分組,分組排隊,轉發分組。接收分組所花的時間,不能忽略,必須計算。分組進入路由器后,所花時間為排隊時延和處理時延,如無特殊需求,應忽略不計。
總時延公式的瑕疵就是沒有將“路由器存儲轉發”原理與總時延公式匹配,沒有展開詳細的討論。在總時延公式中,將不能忽略的忽略了,將通常忽略的寫入了,弄反了整件事情的方向和重點。這樣一來,就無法說明白存儲轉發原理與總時延公式是同一個事物,只是兩種表達,文字表達和公式表達。讀者就無法將存儲轉發原理與總時延公式匹配在一起。
總時延 = 發送時延 + 傳播時延 + 存儲時延
現對“存儲轉發”原理展開了詳細的討論,明確提出了“存儲時延”的概念,修正了總時延的計算公式,明確表述存儲轉發原理與總時延公式是同一個事物,將原理、公式、分析圖統一在一起。
3 總時延修正公式的應用
此處通過一例題(2010年考研題34題單選題),詳述存儲轉發原理、總時延公式、分析圖,給出總時延公式的實際應用。
例1在下圖所示的采用“存儲-轉發”方式分組的交換網絡中,所有鏈路的數據傳輸速率為100Mbps,分組大小為1000B,其中分組首部大小20B,若主機H1向主機H2發送一個大小為980000B的文件,則在不考慮分組拆裝時間和傳播延遲的情況下,從H1發送到H2接收完為止,需要的時間至少是() A.80ms B.80.08ms C.80.16ms D.80.24ms? ?單項選擇