計算機網路常見的網路通訊效能指標
正文
頻寬
通道傳輸的是電磁波訊號,而電磁波是有一定的頻率範圍,頻寬指的就是這段有效的頻率範圍的值
即:頻寬 = 最高有效頻率 - 最低有效頻率
好比我們人的耳朵能聽見一定頻率範圍內的聲音(20 -20000Hz),那麼19000Hz就是我們耳朵的“頻寬”
不同的通道,其頻寬(頻率範圍)是不一樣的,根據頻寬的不同,可將通道劃分為窄帶通道(0 - 300Hz), 音訊通道(300 - 3400Hz)和寬頻通道(頻寬為3400Hz以上)。我們平常說的“裝寬頻”,意思就是安裝3400Hz以上頻寬的通道的意思
資料傳輸速率
資料傳輸速率通道每秒能傳輸的位元數,所以它的單位自然就是bps(位元每秒),除此外還有Kbps,Mbps等
【注意】理論分析證明,通道的最大資料傳輸速率和頻寬有直接聯絡,通道頻寬越寬,資料傳輸速率就越大,因此在許多情況下,“頻寬”和“傳輸速率”是可以互換的。
時延
以分組交換網路的時延為例(因為當前因特網和計算機網路主要採用的資料交換技術是分組交換)
時延
當一個分組在節點間傳輸時,主要的時延分為四種類型: 節點處理時延(nodal processing delay),排隊時延
如果將這四種類型的時延分別表示為d(proc), d(queue),d(trans), d(prop)
則對一個分組而言,兩個節點間的總時延d = d(proc) + d(queue) + d(trans) + d(prop)
假設傳送端到接收端間有N條鏈路
則對一個分組而言,忽略其他因素,端到端總時延d(end-end) = N × ( d(proc) + d(queue) + d(trans) + d(prop) )
下面我將從單個分組從路由器A到相鄰的路由器B的傳輸的情況入手,分別介紹這四種不同型別的時延
圖示如下:
處理時延
當分組到達路由器A時,首先要做的是檢查分組首部並決定將該分組導向何處,並檢查位元級差錯,這部分的時間消耗叫做處理時延。
排隊時延
分組在經過路由器A的處理後,下一步就是傳輸出去。一個分組的排隊時延取決於先到達的,正在排隊等待向鏈路傳輸的分組的數量。
1.如果前面沒有分組正在從路由器A向鏈路傳輸的話,排隊時延為0
2.如果流量很大,前面有很多分組正在傳輸或也在等待傳輸,那麼就要消耗很大的排隊時延了。
傳輸時延
傳輸時延是路由器A將分組的所有位元推出路由器A,推向鏈路所需要的時間。傳輸時延取決於兩個因素:
1. 單個分組長度
2. 資料傳輸速率
假設分組的長度為L位元,資料傳輸速率為R (bps) 那麼 傳輸時延 = L/R
【注意】傳輸時延又叫做儲存轉發時延
傳播時延
(這個概念聽起來和傳輸時延很相似,區別我下面會講)
傳播時延指的是分組的一個位元從路由器A到達到路由器B所需要的時間,傳播時延取決於兩個因素:
1.鏈路介質(雙絞線,光纖)的傳播速率
2. 節點間的距離(兩個路由器間的距離)
假設路由A,B距離為d, 鏈路介質傳播速率為s,那麼傳播時延 = d/s
傳輸時延和傳播時延的比較
我們把一個分組從路由器A傳輸到路由器B的過程,比作一批車隊(10輛汽車), 全部從收費站A行駛到收費站B的過程(中間經過高速公路)
一批車隊 == 一個分組
一輛汽車 == 一個位元 (暫時不管分組長度是否合理)
收費站A,B == 路由器A,B
這批車隊遵守一個“奇怪”的規則,那就是無論哪一輛汽車先到達收費站A,它都必須等待其他9輛汽車也都尾隨其後到達了A,才帶領這批車隊依次駛出收費站A。(這就是儲存轉發機制,只有當一個分組的所有位元都到達了路由器,“儲存完畢“後,才能轉發整個分組)
傳輸時延就是這批車隊依次(前後緊跟)地駛出收費站A所用的時間(將分組的所有位元推出路由器A,推向鏈路所用的時間)
傳播時延就是每輛汽車經過高速公路,從收費站A到達收費站B所用的時間(分組的一個位元從路由器A到達到路由器B所需要的時間)
假設收費站辦理手續,通過汽車的效率是 5 (輛/每分鐘),而汽車在高速公路上行駛速度是100km/h。那麼,因為兩個收費站間距離為100km,一批汽車有10輛
我們可以得出,這批汽車通過收費站所用的時間為10輛 ÷ 5(輛/每分鐘) = 2分 (傳輸時延)
汽車在高速公路上行駛所用的時間為100km ÷ 100km/h = 1h (傳播時延)
總共用時62分鐘
丟包率
丟包意為分組丟失,什麼原因會導致分組丟失呢? 這和我們上面所說的”排隊時延“有關,我們說到:當大量分組在短時間內到達路由器的時候,因為無法一次性處理完畢,分組需要”排隊“,但是基於路由器的設計和成本,分組佇列的長度是有限的。所以,當佇列滿了的時候,下一個分組到達的時候,路由器會選擇丟棄(drop)該分組, 這個分組便丟失了(lost),這就是所謂的丟包
丟包率與分組長度以及分組傳送頻率相關。
吞吐量
吞吐量的單位和資料傳輸速率一樣,也是bps,所以它雖然名為“量”,其實也還是一種“速率”
瞬時吞吐量和平均吞吐量
從伺服器到客戶機通過計算機網路傳送一個大檔案,任意時刻客戶機接收該檔案的速率叫做瞬時吞吐量(instantaneous throughput)
假設客戶機接收該檔案的所有F位元用了T秒,那麼 F/T就叫做平均吞吐量(average throughput)
吞吐量 == 瓶頸鍊路的傳輸速率
吞吐量等於瓶頸鍊路(bottle link)的傳輸速率
讓我們考慮下圖中儘可能簡單的情況,R(s)表示伺服器和路由器之間的鏈路速率,R(c)表示路由器和客戶機之間的鏈路速率,顯然,該伺服器不能以快於R(s)的速率向鏈路中輸送位元,路由器也不能以快於R(c)的速率轉發位元。
如果R(s) < R(c),那麼伺服器輸送的位元能夠"暢快地"通過路由器和客戶機間的鏈路到達客戶機。速率為R(s)
如果R(s) > R(c) 則因為路由器將不能以接收的速率轉發位元,所以鏈路速率為R(c)
所以 上圖中吞吐量為min{ Rc, Rs } bps
同樣的,對下面這n條鏈路
吞吐量為min{ R1, R2, ... Rn }
誤位元速率
誤位元速率是衡量通訊系統傳輸可靠性的指標,它指的是錯誤接收的碼元數在所傳輸的總碼元數的比例
計算公式: 誤位元速率=錯誤碼元數/傳輸總碼元數
參考書籍
《計算機網路-自頂向下》 作者 James F. Kurose
《計算機網路技術基礎教程》作者 劉四清
其實啊,我只是把你們喝咖啡的時間,都用來喝啤酒而已