您現在的位置是:首頁 > 動作武俠首頁動作武俠
聊一聊那些常見的網路通訊的效能指標
- 2021-08-26
通道頻寬是越大越好嗎
頻寬
通道傳輸的是電磁波訊號,而電磁波是有一定的頻率範圍,頻寬指的就是這段有效的頻率範圍的值
即:頻寬 = 最高有效頻率 - 最低有效頻率
好比我們人的耳朵能聽見一定頻率範圍內的聲音(20 -20000Hz),那麼19000Hz就是我們耳朵的“頻寬”不同的通道,其頻寬(頻率範圍)是不一樣的,根據頻寬的不同,可將通道劃分為窄帶通道(0 - 300Hz), 音訊通道(300 - 3400Hz)和寬頻通道(頻寬為3400Hz以上)。我們平常說的“裝寬頻”,意思就是安裝3400Hz以上頻寬的通道的意思
資料傳輸速率
資料傳輸速率通道每秒能傳輸的位元數,所以它的單位自然就是bps(位元每秒),除此外還有Kbps,Mbps等
【注意】理論分析證明,通道的最大資料傳輸速率和頻寬有直接聯絡,通道頻寬越寬,資料傳輸速率就越大,因此在許多情況下,“頻寬”和“傳輸速率”是可以互換的。
時延
以
分組交換網路
的時延為例(因為當前因特網和計算機網路主要採用的資料交換技術是分組交換)時延
當一個分組在節點間傳輸時,主要的時延分為四種類型:
節點處理時延
(nodal processing delay),
排隊時延
(queuing delay),
傳輸時延
(transmission delay)和
傳播時延
(propagation 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 }
回到頂部
誤位元速率
誤位元速率是衡量通訊系統傳輸可靠性的指標,它指的是錯誤接收的碼元數在所傳輸的總碼元數的比例
計算公式:
誤位元速率=錯誤碼元數/傳輸總碼元數