- 計(jì)算機(jī)網(wǎng)絡(luò)
- 謝希仁編著
- 4532字
- 2018-12-27 20:22:25
1.6.1 計(jì)算機(jī)網(wǎng)絡(luò)的性能指標(biāo)
性能指標(biāo)從不同的方面來度量計(jì)算機(jī)網(wǎng)絡(luò)的性能。下面介紹常用的七個(gè)性能指標(biāo)。
1.速率
我們知道,計(jì)算機(jī)發(fā)送出的信號(hào)都是數(shù)字形式的。比特(bit)是計(jì)算機(jī)中數(shù)據(jù)量的單位,也是信息論中使用的信息量的單位。英文單詞bit來源于binary digit,意思是一個(gè)“二進(jìn)制數(shù)字”,因此一個(gè)比特就是二進(jìn)制數(shù)字中的一個(gè)1或0。網(wǎng)絡(luò)技術(shù)中的速率指的是連接在計(jì)算機(jī)網(wǎng)絡(luò)上的主機(jī)在數(shù)字信道上傳送數(shù)據(jù)的速率,它也稱為數(shù)據(jù)率(data rate)或比特率(bit rate)。速率是計(jì)算機(jī)網(wǎng)絡(luò)中最重要的一個(gè)性能指標(biāo)。速率的單位是b/s(比特每秒)(或bit/s,有時(shí)也寫為bps,即bit per second)。當(dāng)數(shù)據(jù)率較高時(shí),就可以用kb/s(k = 103 =千)、Mb/s(M = 106 = 兆)、Gb/s(G = 109 = 吉)或Tb/s(T = 1012 = 太)①。現(xiàn)在人們常用更簡單的但很不嚴(yán)格的記法來描述網(wǎng)絡(luò)的速率,如100M以太網(wǎng),而省略了單位中的b/s,它的意思是速率為100Mb/s的以太網(wǎng)。順便指出,上面所說的速率往往是指額定速率或標(biāo)稱速率。
①注:在通信領(lǐng)域和計(jì)算機(jī)領(lǐng)域,應(yīng)特別注意數(shù)量單位“千”、“兆”和“吉”等的英文縮寫所代表的數(shù)值。如計(jì)算機(jī)中的數(shù)據(jù)量往往用字節(jié)作為度量的單位。一個(gè)字節(jié)(byte,記為大寫的B)代表8個(gè)比特。“千字節(jié)”的“千”用大寫K表示,它等于210,即1024,而不是103。同樣,在計(jì)算機(jī)中,1 MB或1 GB也并非表示106或109個(gè)字節(jié),而是表示220(1048 576)或230(1073 741 824)個(gè)字節(jié)。在通信領(lǐng)域小寫的k表示103而不是1024。但有的書也不這樣嚴(yán)格區(qū)分,大寫K有時(shí)表示1000而有時(shí)又表示1024,作者認(rèn)為從概念上還是區(qū)分為好。
2.帶寬
“帶寬”(bandwidth)有以下兩種不同的意義:
(1) 帶寬本來是指某個(gè)信號(hào)具有的頻帶寬度。信號(hào)的帶寬是指該信號(hào)所包含的各種不同頻率成份所占據(jù)的頻率范圍。例如,在傳統(tǒng)的通信線路上傳送的電話信號(hào)的標(biāo)準(zhǔn)帶寬是3.1kHz (從300 Hz到3.4kHz,即話音的主要成分的頻率范圍)。這種意義的帶寬的單位是赫(或千赫、兆赫、吉赫等)。在過去很長的一段時(shí)間,通信的主干線路傳送的是模擬信號(hào)(即連續(xù)變化的信號(hào))。因此,表示通信線路允許通過的信號(hào)頻帶范圍就稱為線路的帶寬(或通頻帶)。
(2) 在計(jì)算機(jī)網(wǎng)絡(luò)中,帶寬用來表示網(wǎng)絡(luò)的通信線路傳送數(shù)據(jù)的能力,因此網(wǎng)絡(luò)帶寬表示在單位時(shí)間內(nèi)從網(wǎng)絡(luò)中的某一點(diǎn)到另一點(diǎn)所能通過的“最高數(shù)據(jù)率”。在本書中在提到“帶寬”時(shí),主要是指這個(gè)意思。這種意義的帶寬的單位是“比特每秒”,記為b/s。在這種單位的前面也常常加上千(k)、兆(M)、吉(G)或太(T)這樣的倍數(shù)。
在“帶寬”的兩種表述中,前者為頻域稱謂,而后者為時(shí)域稱謂,其本質(zhì)是相同的。也就是說,一條通信鏈路的“帶寬”越寬,其所能傳輸?shù)摹白罡邤?shù)據(jù)率”也越高。
3.吞吐量
吞吐量(throughput)表示在單位時(shí)間內(nèi)通過某個(gè)網(wǎng)絡(luò)(或信道、接口)的數(shù)據(jù)量。吞吐量更經(jīng)常地用于對(duì)現(xiàn)實(shí)世界中的網(wǎng)絡(luò)的一種測(cè)量,以便知道實(shí)際上到底有多少數(shù)據(jù)量能夠通過網(wǎng)絡(luò)。顯然,吞吐量受網(wǎng)絡(luò)的帶寬或網(wǎng)絡(luò)的額定速率的限制。例如,對(duì)于一個(gè)100Mb/s的以太網(wǎng),其額定速率是100Mb/s,那么這個(gè)數(shù)值也是該以太網(wǎng)吞吐量的絕對(duì)上限值。因此,對(duì)于100Mb/s的以太網(wǎng),其典型的吞吐量可能只有70Mb/s。請(qǐng)注意,有時(shí)吞吐量還可用每秒傳送的字節(jié)數(shù)或幀數(shù)來表示。
4.時(shí)延
時(shí)延(delay或latency)是指數(shù)據(jù)(一個(gè)報(bào)文或分組,甚至比特)從網(wǎng)絡(luò)(或鏈路)的一端傳送到另一端所需的時(shí)間。時(shí)延是個(gè)很重要的性能指標(biāo),它有時(shí)也稱為延遲或遲延。
需要注意的是,網(wǎng)絡(luò)中的時(shí)延是由以下幾個(gè)不同的部分組成的:
(1) 發(fā)送時(shí)延 發(fā)送時(shí)延(transmission delay)是主機(jī)或路由器發(fā)送數(shù)據(jù)幀所需要的時(shí)間,也就是從發(fā)送數(shù)據(jù)幀的第一個(gè)比特算起,到該幀的最后一個(gè)比特發(fā)送完畢所需的時(shí)間。因此發(fā)送時(shí)延也叫做“傳輸時(shí)延”。發(fā)送時(shí)延的計(jì)算公式是:

由此可見,對(duì)于一定的網(wǎng)絡(luò),發(fā)送時(shí)延并非固定不變,而是與發(fā)送的幀長(單位是比特)成正比,與發(fā)送速率成反比。
(2) 傳播時(shí)延 傳播時(shí)延(propagation delay)是電磁波在信道中傳播一定的距離需要花費(fèi)的時(shí)間。傳播時(shí)延的計(jì)算公式是:

電磁波在自由空間的傳播速率是光速,即3.0×105km/s。電磁波在網(wǎng)絡(luò)傳輸媒體中的傳播速率比在自由空間要略低一些:在銅線電纜中的傳播速率約為2.3×105km/s,在光纖中的傳播速率約為2.0×105km/s。例如,1000km長的光纖線路產(chǎn)生的傳播時(shí)延大約為5ms。
以上兩種時(shí)延不要弄混。只要理解這兩種時(shí)延發(fā)生的地方,就不會(huì)把它們弄混。發(fā)送時(shí)延發(fā)生在機(jī)器的內(nèi)部的發(fā)送器中(一般就是發(fā)生在網(wǎng)絡(luò)適配器中,見第3章3.3.1節(jié)),而傳播時(shí)延則發(fā)生在機(jī)器外部的傳輸信道媒體上。可以用一個(gè)簡單的比喻來說明。假定有10輛車的車隊(duì)從公路收費(fèi)站入口出發(fā)到相距50公里的目的地。再假定每一輛車過收費(fèi)站要花費(fèi)6秒鐘,而車速是每小時(shí)100公里。現(xiàn)在可以算出整個(gè)車隊(duì)從收費(fèi)站到目的地總共要花費(fèi)的時(shí)間:發(fā)車時(shí)間共需60秒(相當(dāng)于網(wǎng)絡(luò)中的發(fā)送時(shí)延),行車時(shí)間需要30分鐘(相當(dāng)于網(wǎng)絡(luò)中的傳播時(shí)延),因此總共花費(fèi)的時(shí)間是31分鐘。
下面兩種時(shí)延也需要考慮,但比較容易理解。
(3) 處理時(shí)延 主機(jī)或路由器在收到分組時(shí)要花費(fèi)一定的時(shí)間進(jìn)行處理,例如分析分組的首部、從分組中提取數(shù)據(jù)部分、進(jìn)行差錯(cuò)檢驗(yàn)或查找適當(dāng)?shù)穆酚傻鹊龋@就產(chǎn)生了處理時(shí)延。
(4) 排隊(duì)時(shí)延 分組在經(jīng)過網(wǎng)絡(luò)傳輸時(shí),要經(jīng)過許多路由器。但分組在進(jìn)入路由器后要先在輸入隊(duì)列中排隊(duì)等待處理。在路由器確定了轉(zhuǎn)發(fā)接口后,還要在輸出隊(duì)列中排隊(duì)等待轉(zhuǎn)發(fā)。這就產(chǎn)生了排隊(duì)時(shí)延。排隊(duì)時(shí)延的長短往往取決于網(wǎng)絡(luò)當(dāng)時(shí)的通信量。當(dāng)網(wǎng)絡(luò)的通信量很大時(shí)會(huì)發(fā)生隊(duì)列溢出,使分組丟失,這相當(dāng)于排隊(duì)時(shí)延為無窮大。
這樣,數(shù)據(jù)在網(wǎng)絡(luò)中經(jīng)歷的總時(shí)延就是以上四種時(shí)延之和:

一般說來,小時(shí)延的網(wǎng)絡(luò)要優(yōu)于大時(shí)延的網(wǎng)絡(luò)。在某些情況下,一個(gè)低速率、小時(shí)延的網(wǎng)絡(luò)很可能要優(yōu)于一個(gè)高速率但大時(shí)延的網(wǎng)絡(luò)。
圖1-14畫出了這幾種時(shí)延所產(chǎn)生的地方,希望讀者能夠更好地分清這幾種時(shí)延。

圖1-14 幾種時(shí)延產(chǎn)生的地方不一樣
必須指出,在總時(shí)延中,究竟是哪一種時(shí)延占主導(dǎo)地位必須具體分析。現(xiàn)在我們暫時(shí)忽略處理時(shí)延和排隊(duì)時(shí)延。假定有一個(gè)長度為100 MB的數(shù)據(jù)塊(這里的M顯然不是指106而是指220,即1048 576。B是字節(jié),1字節(jié) = 8比特),在帶寬為1Mb/s的信道上(這里的M是106)連續(xù)發(fā)送,其發(fā)送時(shí)延是
100×1048576×8÷106 = 838.9 s
即大約要用14分鐘才能把這樣大的數(shù)據(jù)塊發(fā)送完畢。然而,若將這樣的數(shù)據(jù)塊用光纖傳送到1000km遠(yuǎn)的計(jì)算機(jī),那么每一個(gè)比特在1000km的光纖上只需用5ms就能到達(dá)目的地。因此對(duì)于這種情況,發(fā)送時(shí)延占主導(dǎo)地位。如果我們把傳播距離減小到1km,那么傳播時(shí)延也會(huì)相應(yīng)地減小到原來數(shù)值的千分之一。然而,由于傳播時(shí)延在總時(shí)延中的比重是微不足道的,因此總時(shí)延的數(shù)值基本上還是由發(fā)送時(shí)延來決定的。
再看一個(gè)例子。要傳送的數(shù)據(jù)僅有1個(gè)字節(jié)(如鍵盤上鍵入的一個(gè)字符,共8bit),在1Mb/s的信道上的發(fā)送時(shí)延是
8÷106 = 8×10-6 s = 8 μs
當(dāng)傳播時(shí)延為5ms時(shí),總時(shí)延為5.008ms。在這種情況下,傳播時(shí)延決定了總時(shí)延。這時(shí),即使把數(shù)據(jù)率提高到1000倍(即將數(shù)據(jù)的發(fā)送速率提高到1Gb/s),總時(shí)延也不會(huì)減小多少。這個(gè)例子告訴我們,不能籠統(tǒng)地認(rèn)為:“數(shù)據(jù)的發(fā)送速率越高,傳送得就越快”。這是因?yàn)閿?shù)據(jù)傳送的總時(shí)延是由公式(1-3)右端的四項(xiàng)時(shí)延組成的,不能僅考慮發(fā)送時(shí)延一項(xiàng)。
必須強(qiáng)調(diào)指出,初學(xué)網(wǎng)絡(luò)的人容易產(chǎn)生這樣錯(cuò)誤的概念,就是“在高速鏈路(或高帶寬鏈路)上,比特應(yīng)當(dāng)跑得更快些”。但這是不對(duì)的。我們知道,汽車在路面質(zhì)量很好的高速公路上可明顯地提高行駛速率。然而對(duì)于高速網(wǎng)絡(luò)鏈路,我們提高的僅僅是數(shù)據(jù)的發(fā)送速率而不是比特在鏈路上的傳播速率。荷載信息的電磁波在通信線路上的傳播速率(這是光速的數(shù)量級(jí))與數(shù)據(jù)的發(fā)送速率并無關(guān)系。提高數(shù)據(jù)的發(fā)送速率只是減小了數(shù)據(jù)的發(fā)送時(shí)延。還有一點(diǎn)也應(yīng)當(dāng)注意,就是數(shù)據(jù)的發(fā)送速率的單位是每秒發(fā)送多少個(gè)比特,是指某個(gè)點(diǎn)或某個(gè)接口上的發(fā)送速率。而傳播速率的單位是每秒傳播多少公里,是指傳輸線路上比特的傳播速率。因此,通常所說的“光纖信道的傳輸速率高”是指向光纖信道發(fā)送數(shù)據(jù)的速率可以很高,而光纖信道的傳播速率實(shí)際上要比銅線的傳播速率還略低一點(diǎn)。這是因?yàn)榻?jīng)過測(cè)量得知,光在光纖中的傳播速率是每秒20.5萬公里,它比電磁波在銅線(如5類線)中的傳播速率(每秒23.1萬公里)略低一些。上述這個(gè)概念請(qǐng)讀者務(wù)必弄清。
5.時(shí)延帶寬積
把以上討論的網(wǎng)絡(luò)性能的兩個(gè)度量——傳播時(shí)延和帶寬——相乘,就得到另一個(gè)很有用的度量:傳播時(shí)延帶寬積,即

我們可以用圖1-15的示意圖來表示時(shí)延帶寬積。這是一個(gè)代表鏈路的圓柱形管道,管道的長度表示鏈路的傳播時(shí)延(請(qǐng)注意,現(xiàn)在以時(shí)間作為單位來表示鏈路長度),而管道的截面積表示鏈路的帶寬。因此,時(shí)延帶寬積就表示這個(gè)管道的體積,表示這樣的鏈路可容納多少個(gè)比特。例如,設(shè)某段鏈路的傳播時(shí)延為20ms,帶寬為10Mb/s,算出
時(shí)延帶寬積 = 20×10-3×10×106 = 2×105bit。
這就表示,若發(fā)送端連續(xù)發(fā)送數(shù)據(jù),則在發(fā)送的第一個(gè)比特即將達(dá)到終點(diǎn)時(shí),發(fā)送端就已經(jīng)發(fā)送了20萬個(gè)比特,而這20萬個(gè)比特都正在鏈路上向前移動(dòng)。因此,鏈路的時(shí)延帶寬積又稱為以比特為單位的鏈路長度。

圖1-15 鏈路像一條空心管道
不難看出,管道中的比特?cái)?shù)表示從發(fā)送端發(fā)出的但尚未達(dá)到接收端的比特。對(duì)于一條正在傳送數(shù)據(jù)的鏈路,只有在代表鏈路的管道都充滿比特時(shí),鏈路才得到了充分的利用。
6.往返時(shí)間RTT
在計(jì)算機(jī)網(wǎng)絡(luò)中,往返時(shí)間RTT (Round-Trip Time)也是一個(gè)重要的性能指標(biāo),它表示從發(fā)送方發(fā)送數(shù)據(jù)開始,到發(fā)送方收到來自接收方的確認(rèn)(接收方收到數(shù)據(jù)后便立即發(fā)送確認(rèn)),總共經(jīng)歷的時(shí)間。對(duì)于上述例子,往返時(shí)間RTT是40ms,而往返時(shí)間和帶寬的乘積是4×105 (bit)。在互聯(lián)網(wǎng)中,往返時(shí)間還包括各中間結(jié)點(diǎn)的處理時(shí)延、排隊(duì)時(shí)延以及轉(zhuǎn)發(fā)數(shù)據(jù)時(shí)的發(fā)送時(shí)延。
顯然,往返時(shí)間與所發(fā)送的分組長度有關(guān)。發(fā)送很長的數(shù)據(jù)塊的往返時(shí)間,應(yīng)當(dāng)比發(fā)送很短的數(shù)據(jù)塊的往返時(shí)間要多些。
往返時(shí)間帶寬積的意義就是當(dāng)發(fā)送方連續(xù)發(fā)送數(shù)據(jù)時(shí),即使能夠及時(shí)收到對(duì)方的確認(rèn),但已經(jīng)將許多比特發(fā)送到鏈路上了。對(duì)于上述例子,假定數(shù)據(jù)的接收方及時(shí)發(fā)現(xiàn)了差錯(cuò),并告知發(fā)送方,使發(fā)送方立即停止發(fā)送,但這時(shí)發(fā)送方也已經(jīng)發(fā)送了40萬個(gè)比特了。
當(dāng)使用衛(wèi)星通信時(shí),往返時(shí)間RTT相對(duì)較長,是很重要的一個(gè)性能指標(biāo)。
7.利用率
利用率有信道利用率和網(wǎng)絡(luò)利用率兩種。信道利用率指出某信道有百分之幾的時(shí)間是被利用的(有數(shù)據(jù)通過)。完全空閑的信道的利用率是零。網(wǎng)絡(luò)利用率則是全網(wǎng)絡(luò)的信道利用率的加權(quán)平均值。信道利用率并非越高越好。這是因?yàn)椋鶕?jù)排隊(duì)論的理論,當(dāng)某信道的利用率增大時(shí),該信道引起的時(shí)延也就迅速增加。這和高速公路的情況有些相似。當(dāng)高速公路上的車流量很大時(shí),由于在公路上的某些地方會(huì)出現(xiàn)堵塞,因此行車所需的時(shí)間就會(huì)增長。網(wǎng)絡(luò)也有類似的情況。當(dāng)網(wǎng)絡(luò)的通信量很少時(shí),網(wǎng)絡(luò)產(chǎn)生的時(shí)延并不大。但在網(wǎng)絡(luò)通信量不斷增大的情況下,由于分組在網(wǎng)絡(luò)結(jié)點(diǎn)(路由器或結(jié)點(diǎn)交換機(jī))進(jìn)行處理時(shí)需要排隊(duì)等候,因此網(wǎng)絡(luò)引起的時(shí)延就會(huì)增大。如果令 D0表示網(wǎng)絡(luò)空閑時(shí)的時(shí)延,D 表示網(wǎng)絡(luò)當(dāng)前的時(shí)延,那么在適當(dāng)?shù)募俣l件下,可以用下面的簡單公式(1-5)來表示D和D0及網(wǎng)絡(luò)利用率U之間的關(guān)系:

式中,U是網(wǎng)絡(luò)的利用率,數(shù)值在0到1之間。當(dāng)網(wǎng)絡(luò)的利用率達(dá)到其容量的1/2時(shí),時(shí)延就要加倍。特別值得注意的是:當(dāng)網(wǎng)絡(luò)的利用率接近最大值1時(shí),網(wǎng)絡(luò)的時(shí)延就趨于無窮大。因此我們必須有這樣的概念:信道或網(wǎng)絡(luò)利用率過高會(huì)產(chǎn)生非常大的時(shí)延。圖1-16給出了上述概念的示意圖。因此,一些擁有較大主干網(wǎng)的ISP通常控制他們的信道利用率不超過50%。如果超過了就要準(zhǔn)備擴(kuò)容,增大線路的帶寬。

圖1-16 時(shí)延與利用率的關(guān)系
- 機(jī)器學(xué)習(xí)實(shí)戰(zhàn):基于Sophon平臺(tái)的機(jī)器學(xué)習(xí)理論與實(shí)踐
- 自動(dòng)控制工程設(shè)計(jì)入門
- HBase Design Patterns
- 人工智能工程化:應(yīng)用落地與中臺(tái)構(gòu)建
- 深度學(xué)習(xí)中的圖像分類與對(duì)抗技術(shù)
- 大數(shù)據(jù)處理平臺(tái)
- 大數(shù)據(jù)時(shí)代
- 電氣控制與PLC技術(shù)應(yīng)用
- 工業(yè)機(jī)器人運(yùn)動(dòng)仿真編程實(shí)踐:基于Android和OpenGL
- 軟件工程及實(shí)踐
- 人工智能:語言智能處理
- 漢字錄入技能訓(xùn)練
- 實(shí)戰(zhàn)Windows Azure
- 計(jì)算機(jī)硬件技術(shù)基礎(chǔ)學(xué)習(xí)指導(dǎo)與練習(xí)
- 網(wǎng)絡(luò)信息安全項(xiàng)目教程