close

計算機網絡的性能一般是指它的幾個重要的性能指標。但除了這些重要的性能指標外,還有一些非性能特徵(nonperformance characteristics)也對計算機網絡的性能有很大的影響。

那麼,計算機網絡的性能指標分別是哪七個?

1、速率

計算機發送出的信號都是數字形式的。比特(bit)是計算機中數據量的單位,也是信息論中使用的信息量的單位。英文單詞bit來源於binary digit,意思是一個「二進制數字」,因此一個比特就是二進制數字中的一個1或0.計算機網絡中的速率指的是連接在計算機網絡上的主機在數字信道上傳送數據的速率,它也稱為數據率(datarate)或(bit rate)。

速率是計算機網絡中最重要的一個性能指標。速率的單位是b/s(比特每秒)(或bit/s,有時也寫為bps,即bit per second)。當數據率較高時,就可以用kb/s(k=10^3=千)、Mb/s(M=10^6=兆)、Gb/s(G=10^9=吉)或Tb/s(T=10^12=太)現在人們常用更簡單的但很不嚴格的記法來描述網絡的速率,如100M以太網,而省略了單位中的b/s,它的意思是速率為100Mb/s的以太網。上面所說的速率往往是指額定速率或標稱速率。

在通信領域和計算機領域,應特別注意數量單位「千」、「兆」和「吉」等的英文縮寫所代表的數值。如計算機中的數據量往往用字節作為度量的單位。一個字節(byte,記為大寫的B)代表8個比特。「千字節」的「千」用大寫K表示,它等於2^10,即1024,而不是10^3。同樣,在計算機中,1MB或1GB也並非表示10^6或10^9個字節,而是表示2^20(1048 576)或2^30(1073 741 824)個字節。在通信領域小寫的K表示10^3而不是1024。但有的書也不這樣嚴格區分,大寫k有時表示1000而有時又表示1024,作者認為從概念上還是區分為好。

2、帶寬

「帶寬」(bandwidth)有以下兩種不同的意義:

(1) 帶寬本來是指某個信號具有的頻帶寬度。信號的帶寬是指,該信號所包含的各種不同頻率成份所占據的頻率範圍。例如,在傳統的通信線路上傳送的電話信號的標準帶寬是3.1kHz(從300Hz到3.4kHz,即話音的主要成分的頻率範圍)。這種意義的帶寬的單位是赫(或千赫、兆赫、吉赫等)。

在過去很長的一段時間,通信的主幹線路傳送的是模擬信號(即連續變化的信號)。因此,表示通信線路允許通過的信號頻帶範圍就稱為線路的帶寬(或通信頻帶)。

(2) 在計算機網絡中,帶寬用來表示網絡的通信線路傳送數據的能力,因此網絡帶寬表示在單位時間內從網絡中的某一點到另一點所能通過的「最高數據率」。在本書中提到「帶寬」時,主要是指這個意思。這種意義的帶寬的單位是「比特每每秒」,記為b/s。在這種單位的前面也常常加上千(K)、兆(M)、吉(G)或太(T)這樣的倍數。

在「帶寬」的兩種表述中,前者為頻域稱謂,而後者為時域稱謂,其本質是相同的。也就是說,一條通信鏈路的「帶寬」越寬,其所能傳輸的「最高數據率」也越高。

(3) 吞吐量。吞吐量(throughput)表示在單位時間內通過某個網絡(或信道、接口)的數據量。吞吐量更經常地用於對現實世界中的網絡的一種測量,以便知道實際上到底有多少數據量能夠通過網絡。

顯然,吞吐量受網絡的帶寬或網絡的額定速率的限制。例如,對於一個100Mb/s的以太網,其額定速率是100Mb/s,那麼這個數值也是該以太網吞吐量的絕對上限值。因此,對於100Mb/s的以太網,其典型的吞吐量可能只有70Mb/s。

請注意,有時吞吐量還可用每秒傳送的字節數或幀數來表示。

3、時延

時延(delay或latency)是指數據(一個報文或分組,甚至比特)從網絡(或鏈路)的一端傳送到另一端所需的時間。時延是個很重要的性能指標,它有時也成為延遲或遲延。

需要注意的是,網絡中的時延是由以下幾個不同的部分組成的:

(1) 發送時間

發送時延(transmission delay)是主機或路由器發送數據幀所需要的時間,也就是發送數據幀的第一個比特算起,到該幀的最後一個比特發送完畢所需的時間。因此發送時延也叫做「傳輸時延」。發送時延的計算公式是:

發送時延=數據幀長度(b)/發送速率(b/s)

由此可見,對於一定的網絡,發送時延並非固定不變,而是與發送的幀長(單位是比特)成正比,與發送速率成反比。

(2)傳播時延

傳播時延(prop agation delay)是電磁波在信道中傳播一定的距離需要花費的時間。傳播時延的計算公式是:

傳播時延=信道長度(m)/電磁波在信道上的傳播速率(m/s)

電磁波在自由空間的傳播速率是光速,即3*10^5km/s。電磁波在網絡傳輸媒體中的傳播速率比在自由空間要略低一些:在銅線電纜中的傳播速率約為2.3*10^5km/s,在光纖中的傳播速率約為2.0*10^5km/s.例如,1000km長的光纖線路產生的傳播時延大約為5ms.

以上兩種實驗不要弄混。只要理解這兩種事驗發生的地方,就不會把它們弄混。發送時延發生在機器內部的發送器中,而傳播時延則發生在機器外部的傳輸信道媒體上。

(3) 處理時延

主機或路由器在收到分組信息時要花費一定的時間進行處理,例如分組的首部,從分組中提取部分數據、進行差錯檢驗或查找適當的路由等等,這就產生了處理時延。

(4) 排隊時延

分組在經過網絡傳輸時,要經過許多路由器。但分組在進入路由器後要先在輸入隊列中排隊等待處理。在路由器確定了轉發接口後,還要在輸出隊列中排隊等待轉發。這就產生了排隊時延。排隊時延的長短往往取決於網絡當時的通信量。當網絡的通信量很大時會發生隊列溢出,使分組丟失,這相當於排隊時延為無窮大。

這樣,數據在網絡中經歷的總時延就是以上四種時延之和:

總時間=發生時延+傳播時延+處理時延+排隊時延

圖1-14 時延

必須指出,在總實驗中,究竟是哪一種實驗占主導地位必須具體分析。先把處理時延和排隊時延忽略,如有一個長度為100MB的數據塊(這裡的M顯然不是指10^6而是指2^20,即1048 576。B是字節,1字節=8比特),在帶寬為1Mb/s的信道上(這裡的M是10^6)連續發送,其發送時延是 100*1048576*8/10^6=838.9s

大約要用14分鐘才能把這樣大的數據塊發送完畢。然而,若將這樣的數據塊用光纖傳送到1000km遠的計算機,那麼每一個比特在1000km的光纖上只需用5ms就能到達目的地。因此對於這種情況,發送時延占主導地位。如果我們把傳播距離減小到1km,那麼傳播時延也會相應地減小到原來數值的千分之一。然而,由於傳播時延在總時延中的比重是微不足道的,因此總時延的數值基本上還是由發送時延來決定的。

再看一個例子。要傳送的數據僅有一個字節(如鍵盤上鍵入的一個字符,共8bit),在1Mb/s的信道上的發送時延是8/10^6=8*10^-6s=8us

當傳播時延為5ms時,總時延為5.008ms.在這種情況下,傳播時延決定了總時延。這時即使把數據率提高到1000倍(即將數據的發送速率提高到1Gb/s),總時延也不會減小多少。這個例子告訴我們,不能籠統地認為:「數據的發送速率越高,傳送得就越快」。這是因為數據傳送的總時延是由:總時延=發送時延+傳播時延+處理時延+排隊時延,四項時延組成的,不能僅考慮發送時延一項。

必須強調指出,初學網絡的人容易產生這樣錯誤的概念,就是「在高速鏈路(或高帶寬鏈路)上,你應當跑得更快些」。但這是不對的。我們知道,汽車在路面質量很好的高速公路上可以明顯地提高行駛速率。然而,對於高速網絡鏈路,我們提高的僅僅是數據的發送速率而不是比特在鏈路上傳播速率。荷載信息的電磁波在通信線路上的傳播速率(這是光速的數量級)與數據的發送速率只是減小了數據的發送時延。

還有一點也應當注意,就是數據的發送速率的單位是每秒發送多少個比特,是指某個點或某個接口上的發送速率。而傳播速率的單位是每秒傳播多少公里,是指傳輸線路上比特的傳播速率。

因此,通常所說的「光纖信道的傳輸速率高」是指向光纖信道發送數據的速率可以很高,而光纖信道的傳播速率實際上要比銅錢的傳播速率還略低一點。這是因為經過測量得知,光在光纖中的傳播速率是每秒20.5萬公里,它比電磁波在銅線(如5類線)中的傳播速率(每秒23.1萬公里)略低一些。上述這個概念請讀者務必弄清楚。

4、時延帶寬積

把以上討論的網絡性能的兩個度量一一傳播時延和帶寬一一相乘,就得到另一個很有用的度量:傳播時延帶寬積,即

時延帶寬積=傳播時延*帶寬

圖1-15 鏈路

如圖1-15所示表示時延帶寬積。這是一個代表鏈路的圓柱形管道,管道的長度表示鏈路的傳播時延(請注意,現在以時間作為單位來表示鏈路長度),而管道的截面積表示鏈路的帶寬。因此,時延帶寬積就表示這個管道的體積,表示這樣的鏈路可容納多少個比特。例如,設某段鏈路的傳播時延為20ms,帶寬為10Mb/s,算出時延帶寬積=20*10^-3*10*10^6=2*10^5bit.

這就表示,若發送端連續發送數據,則在發送的第一個比特即將達到終點時,發送端就已經發送了20萬個比特,而這20萬個比特都正在鏈路上向前移動。因此,鏈路的時延帶寬積又稱為以比特為單位的鏈路長度。

不難看出,管道中的比特數表示從發送端發出的但尚未達到接收端的比特。對於一條正在傳送數據的鏈路,只有在代表鏈路的管道都充滿比特時,鏈路才得到了充分的利用。

5、往返時間RTT

在計算機網絡中,往返時間RTT(Round-Trip Time)也是一個重要的性能指標,它表示從發送方發送數據開始,到發送方收到來自接收方的確認(接收方收到數據後便立即發送確認),總共經歷的時間。對於上述例子,往返時間RTT是40ms,而往返時間和帶寬的乘積是4*10^5(bit)。在互連網中,往返時間還包括各中間結點的處理時延、排隊時延以及轉發數據時的發送時延。

顯然,往返時間與所發送的分組長度有關。發送很長的數據塊的往返時間,應當比發送很短的數據塊的往返時間要多些。

往返時間帶寬積的意義就是當發送方連續發送數據時,即使能夠及時收到對方的確認,但已經將許多比特發送到鏈路上了。對於上述例子,假定數據的接收方及時發現了差錯,並告知發送方,使發送方立即停止發送,但這時發送方也已經發送了40萬各比特了。

當使用衛星通信時,往返時間RTT相對較長,是很重要的一個性能指標。

6-7、信道利用率和網絡利用率

信道利用率指出某信道有百分之幾的時間是被利用的(有數據通過)。完全空閒的信道的利用率是零。網絡利用率則是全網絡的信道利用率的加權平均值。信道利用率並非越高越好。這是因為,根據排隊論的理論,當某信道的利用率增大時,該信道引起的時延也就迅速增加。這和高速公路上的情況有些相似。

由於在公路上的車流量很大時,由於公路上的某些地方會出現堵塞,因此行車所需的時間就會增長。網絡上也有類似的情況。當網絡的通信量很少時,網絡產生的時延並不大。但在網絡通信量不斷增大的情況下,由於分組在網絡結點(路由器或結點交換機)進行處理時需要排隊等候,因此網絡引起的時延就會增大。

如果令Do表示網絡空閒時的時延,D表示網絡當前的時延,那麼在適當的假定條件下,可以用簡單公式D=Do/1-U來表示D和Do及網絡利用率U之間的關係式中,U是網絡的利用率,數值在0到1之間。當網絡的利用率達到其容量的1/2時,時延就要加倍。

特別值得注意的是:當網絡的利用率接近最大值1時,網絡的時延就趨於無窮大。因此我們必須有這樣的概念:信道或網絡利用率過高會產生非常大的時延。

圖1-16 時延與利用率的關係

如圖1-16所示,一些擁有較大主幹網的ISP通常控制它們的信道利用率不超過50%。如果超過了就要準備擴容,增大線路的帶寬。

作者:土豆居士
來源:一口Linux
版權歸原作者所有,如有侵權,請聯繫刪除。

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鑽石舞台 的頭像
    鑽石舞台

    鑽石舞台

    鑽石舞台 發表在 痞客邦 留言(0) 人氣()