崔鴻 顧兆軍
摘要:國(guó)內(nèi)大多數(shù)高校的《計(jì)算機(jī)網(wǎng)絡(luò)》教材,在介紹計(jì)算機(jī)網(wǎng)絡(luò)基本原理分組交換技術(shù)時(shí),給出相同的總時(shí)延公式,對(duì)該公式進(jìn)行了探討,提出其修正公式及分析。
關(guān)鍵詞: 關(guān)總時(shí)延公式;計(jì)算機(jī)網(wǎng)絡(luò)
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 引言
國(guó)內(nèi)大多數(shù)高校的本科“計(jì)算機(jī)網(wǎng)絡(luò)”課程選用的是《計(jì)算機(jī)網(wǎng)絡(luò)》1或《計(jì)算機(jī)網(wǎng)絡(luò):自頂向下方法》2為教材,這兩種教材在計(jì)算機(jī)網(wǎng)絡(luò)概述部分,在介紹網(wǎng)絡(luò)基本原理分組交換技術(shù)時(shí),給出了相同的分組交換總時(shí)延公式。筆者認(rèn)為該公式應(yīng)該修正。
2 總時(shí)延公式
計(jì)算機(jī)網(wǎng)絡(luò)的基本原理是分組交換技術(shù),分組從源主機(jī)出發(fā),經(jīng)過(guò)多個(gè)路由器,到達(dá)終點(diǎn)主機(jī)。分組從源端到目的端所花費(fèi)的時(shí)間為總時(shí)延。
2.1 總時(shí)延原公式與修正公式
兩種教材給出的總時(shí)延公式為:
總時(shí)延 = 發(fā)送時(shí)延 + 傳播時(shí)延 + 處理時(shí)延 + 排隊(duì)時(shí)延
筆者認(rèn)為總時(shí)延公式應(yīng)當(dāng)修正為:
總時(shí)延 = 發(fā)送時(shí)延 + 傳播時(shí)延 + 存儲(chǔ)時(shí)延
先介紹這幾個(gè)時(shí)延概念,再介紹本文提出的“存儲(chǔ)時(shí)延”的概念。
發(fā)送時(shí)延(dtrans)是指主機(jī)向網(wǎng)絡(luò)發(fā)送數(shù)據(jù)所花費(fèi)的時(shí)間,就是數(shù)據(jù)量除以網(wǎng)絡(luò)帶寬。舉例,鏈路的數(shù)據(jù)傳輸速率為100Mbps,分組大小為1000B,該分組的發(fā)送時(shí)延就是0.08ms。注意分組數(shù)據(jù)以字節(jié)為單位,網(wǎng)絡(luò)帶寬以比特為單位,要換算一下。
傳播時(shí)延(dprop)是指信號(hào)電磁波在信道中傳播一定的距離而花費(fèi)的時(shí)間,電磁波在電纜中的速度通常按200m/us計(jì)算。舉例:某兩個(gè)主機(jī)相距1000m,傳播時(shí)延的計(jì)算結(jié)果就是5us。
排隊(duì)時(shí)延(dqueue)分組在路由器內(nèi)排隊(duì)等待處理的時(shí)間,稱為排隊(duì)時(shí)延。排隊(duì)時(shí)間實(shí)質(zhì)是當(dāng)時(shí)網(wǎng)絡(luò)的擁塞程度。
處理時(shí)延(dproc)是指路由器CPU處理分組的時(shí)間,CPU處理時(shí)間也非常小。
2.2 修正公式的分析
計(jì)算機(jī)網(wǎng)絡(luò)基本原理是分組交換技術(shù),就是說(shuō)一個(gè)分組從源主機(jī)出發(fā),穿越多個(gè)路由器后,到達(dá)目的主機(jī)。其中的關(guān)鍵就是“路由器存儲(chǔ)-轉(zhuǎn)發(fā)分組(store and forward)”。分組在網(wǎng)絡(luò)中傳輸過(guò)程如圖1所示。
在這個(gè)過(guò)程中,關(guān)鍵是分析清楚分組在路由器內(nèi)部的過(guò)程,現(xiàn)在詳細(xì)分析一下分組在路由器內(nèi)的全過(guò)程。
第一步:接收分組
當(dāng)分組的第1個(gè)比特到達(dá)路由器的接口時(shí),接口芯片開(kāi)始接將分組數(shù)據(jù)存儲(chǔ)在I/O設(shè)備的緩沖區(qū)里,當(dāng)整個(gè)分組接收完畢,分組完全存入路由器的I/O設(shè)備的緩沖區(qū)后,路由器的I/O設(shè)備產(chǎn)生一個(gè)中斷信號(hào)給路由器CPU。從第1個(gè)比特到達(dá)路由器I/O接口,到分組接收完畢,這段時(shí)間我稱其為“存儲(chǔ)時(shí)延”,是“存儲(chǔ)-轉(zhuǎn)發(fā)”中存儲(chǔ)兩個(gè)字的意思,是路由器I/O設(shè)備的讀寫時(shí)間。
第二步:分組排隊(duì)
分組進(jìn)入路由器后,路由器可能已經(jīng)接收了多個(gè)分組,這些分組在路由器內(nèi)部排隊(duì),等待CPU處理。排隊(duì)的長(zhǎng)度是不確定的,依賴于路由器當(dāng)前的擁塞程度。這段時(shí)延稱為“排隊(duì)時(shí)延”。
第三步:轉(zhuǎn)發(fā)分組
當(dāng)分組排隊(duì)排到后,路由器的CPU開(kāi)始處理分組,就是檢索路由表,轉(zhuǎn)發(fā)分組,這段CPU處理所用時(shí)間很短。這段時(shí)間稱為“處理時(shí)延”。
路由器的存儲(chǔ)轉(zhuǎn)發(fā)原理絕不是分組的第1個(gè)比特到達(dá)路由器I/O設(shè)備時(shí),路由器就開(kāi)始轉(zhuǎn)發(fā)分組。而是要完成三個(gè)步驟,路由器接收分組,分組排隊(duì),轉(zhuǎn)發(fā)分組。接收分組所花的時(shí)間,不能忽略,必須計(jì)算。分組進(jìn)入路由器后,所花時(shí)間為排隊(duì)時(shí)延和處理時(shí)延,如無(wú)特殊需求,應(yīng)忽略不計(jì)。
總時(shí)延公式的瑕疵就是沒(méi)有將“路由器存儲(chǔ)轉(zhuǎn)發(fā)”原理與總時(shí)延公式匹配,沒(méi)有展開(kāi)詳細(xì)的討論。在總時(shí)延公式中,將不能忽略的忽略了,將通常忽略的寫入了,弄反了整件事情的方向和重點(diǎn)。這樣一來(lái),就無(wú)法說(shuō)明白存儲(chǔ)轉(zhuǎn)發(fā)原理與總時(shí)延公式是同一個(gè)事物,只是兩種表達(dá),文字表達(dá)和公式表達(dá)。讀者就無(wú)法將存儲(chǔ)轉(zhuǎn)發(fā)原理與總時(shí)延公式匹配在一起。
總時(shí)延 = 發(fā)送時(shí)延 + 傳播時(shí)延 + 存儲(chǔ)時(shí)延
現(xiàn)對(duì)“存儲(chǔ)轉(zhuǎn)發(fā)”原理展開(kāi)了詳細(xì)的討論,明確提出了“存儲(chǔ)時(shí)延”的概念,修正了總時(shí)延的計(jì)算公式,明確表述存儲(chǔ)轉(zhuǎn)發(fā)原理與總時(shí)延公式是同一個(gè)事物,將原理、公式、分析圖統(tǒng)一在一起。
3 總時(shí)延修正公式的應(yīng)用
此處通過(guò)一例題(2010年考研題34題單選題),詳述存儲(chǔ)轉(zhuǎn)發(fā)原理、總時(shí)延公式、分析圖,給出總時(shí)延公式的實(shí)際應(yīng)用。
例1在下圖所示的采用“存儲(chǔ)-轉(zhuǎn)發(fā)”方式分組的交換網(wǎng)絡(luò)中,所有鏈路的數(shù)據(jù)傳輸速率為100Mbps,分組大小為1000B,其中分組首部大小20B,若主機(jī)H1向主機(jī)H2發(fā)送一個(gè)大小為980000B的文件,則在不考慮分組拆裝時(shí)間和傳播延遲的情況下,從H1發(fā)送到H2接收完為止,需要的時(shí)間至少是() A.80ms B.80.08ms C.80.16ms D.80.24ms? ?單項(xiàng)選擇