如何理解計算機網路性能指標之速率與帶寬的區別?

我先講一下自己的理解

--------------------------------

速率,指的是連接在計算機網路上的主機在數字信道上傳送數據的速率,它也稱為數據率或比特率,單位是bps。速率往往指的是額定速率或者標稱速率,意思也就是在非常理想的情況下才能達到的數據傳送的速率,然而在現實生活中是達不到的。

帶寬,在計算機網路中用來表示網路的通信線路傳送數據的能力,因此網路帶寬表示在單位時間內從網路中的某一點到另一點所能通過的「最高數據率」,單位也是bps。也就是說單位時間內線路中允許通過的比特的最大值。

----------------------------------------------------------------------------------------

再簡潔點說,我認為速率就是設備發出數據的速率,帶寬就是線路上跑的數據在單位時間上的數量。

----------------------------------------------------------------------------------------

正確的是這樣的

我理解不了的就是,每秒有更多的bit從計算機注入線路,那麼我覺得寬頻的帶寬數值**bit/s就會比窄帶線路傳輸速率的值大。

求大神指出我的理解誤區在哪裡,感謝。


你的理解感覺也沒啥大問題。我們常常說的傳輸速率,或者說網速,本質上就是指數據的大小與從主機a完全傳遞到主機b上所消耗的時間的比值。你把網線想像成水管,兩個主機之間的通信想像成一頭送水一頭出水。我們知道,網線中數據的傳輸實際上就是電信號的傳輸,速率接近於光速,因此這個傳輸速率是恆定的且一般可以忽略不計的,與網速不是一個概念。因此我們假定管道內水的流速也是快到忽略不計的。因此,你發送水的快慢取決於水管的容量,這就是帶寬。帶寬的單位為bps,表示管道每秒可接收新水的量。比如說,要發送100mbit的數據,帶寬為10mbit/s,那麼發送完畢所需的時間應為10s,網速則為100mbit/10s=10mbit/s。因此粗略來講這個網速實際上與帶寬是一回事。專業術語中一般都是使用帶寬而不是速率來描述鏈路的性能,因為這個速率就是由帶寬所決定的,且這詞有歧義。


教材上的理解:兩者幾乎是同義詞

Date rate:數字信道上數據傳送的速率(bps)。如100M乙太網(省略了單位中的b/s),它的意思是data rate為100Mb/s的乙太網。譯:數據傳輸速率、特率。

Bandwidth:單位時間內從網路中的某一點到另一點所能通過的」最高Data rate「。(bps)表示網路的通信線路所能傳送數據的能力。Ma:這裡的通信線路應該指的是數字信道

線路是比特的傳播速度是電磁波在該線路中的速度,線路確定了該速度即為定值。如電磁波在光纖中的傳播速度為2.0E+8m/s.

網路帶寬受計算機往信道上注入數據速率的影響很大。


這個回答認為題主的速率與帶寬分別對標英文中的speed和network。

speed更多的是涉及物理概念,描述的是一個網路線路中硬體所能承載的最大的bit/s值。舉個例子,一段網路電纜,根據其物理特性,speed最多也就是10Gbps。你可以這樣想像,你站在一個管子的出口,在你面前不斷地有一種叫做bit的生物跑出來,一會兒是0一會兒是1,它們「奔跑的速度」就是我們講的speed。不同硬體技術可能會有不同的speed,比如無線網路的speed就會比電纜的speed小一點(可能吧,反正不同就是了)。

bandwidth更多涉及邏輯概念,描述的是你在一秒裡面能接收到多少bit的數據。這裡可能有人會覺得這跟speed好像聽不出來什麼區別,別急,我們還是舉上面那個bit生物的例子。現在,你觀察的不是一根管子,而是兩個管子,這兩個管子裡面都不斷的有bit生物跑出來。我們可以確信的是,它們「奔跑的速度」是不變的,因為生物還是那個生物,即speed不變。但是在一秒時間內,你看到的生物卻多了一倍,因為現在是兩根管子啊!bandwidth就是用來描述這個物理量。由此我們也能知道,bandwidth和speed的度量單位是一樣的,都是比特每秒。

那麼,有沒有可能bandwidth會小於speed呢?這是有可能的。我們再舉上面比特生物的例子。現在,有兩種比特生物,一種是在黑漆漆的管子里開手電筒照明,讓其餘比特知道路怎麼走,另一種是身上背著信息,從管子里跑出來之後把信息告訴你。由於管子太長,比特們決定每4個背著信息的比特前面都必須另外有一個比特專門負責照明。這樣,從管子里每出來5個比特,實際上只有4個對你而言是有用的。此時,這條線路的bandwidth = speed * (4/5)。總結一下,就是bandwidth實際上是對於你而言這條線路裡面有用的bit的傳輸速率。

此外,通過上面的講述,你還會發現,假如你要從網路中接收一個很小的文件,小到只有一個bit,那麼,此時對於你而言,bandwidth實際是沒有多大意義的,你的接收快慢幾乎僅取決於speed。但是,如果你想接收一個很大很大的文件,那麼,bandwidth對於你完成接收的快慢就有至關重要的作用。

最後一點, 如上所述,因為speed是物理概念,討論的是一段網路線路的物理極限,所以在現代所有網路技術的討論中, speed通常是一個硬性條件,沒有多少迴旋的餘地,很少有人會在這上面做文章,所以討論speed的情況很少。更多時候,大家都是關心bandwidth。


速率是物理層的事,帶寬除了物理層還有其他層的影響。

如果你買了電信的20M帶寬,但是接入的乙太網是百兆的,那麼,速率是百兆,帶寬是20M。

那麼線路上的表現是什麼呢?只有五分之一的時間是有數據傳的,其餘時間是空閑。

整個帶寬控制機制包括了交換機和網關上的限速、帶寬復用、tcp擁塞控制、伺服器流量控制等部分。但最終在你的網線上,表現出來的就是抽瘋似的發、停、發、停;只有1/5的時間在100M速率上發包。收包類似。

更詳細的可以參考這個文章:網路帶寬問題 - 知乎專欄


謝邀 就我所在的工作環境來說 沒有專業人士用到過速率這個詞 描述一段線路的質量 通常用帶寬和延遲

所接觸過的英文文獻里也很少提到速率(rate)即使有也是在總綱部分籠統的介紹時用到 涉及到具體技術具體參數時印象中是沒有 猜想應該是比較民間的一種表述


傳播速率與帶寬大小是沒有關係的。這裡用中文非常容易誤解,「傳播」、「傳輸」,這兩個詞在計算機網路中是不一樣的概念。帶寬所代表的是傳輸速率,是描述發送數據的發送器的發送能力的,單位是比特/秒。而傳播速率是信號在信道上的傳播速率,單位是米/秒。

這麼說,帶寬越大,說明網路中這個結點把數據注入鏈路中的時間越短,這是「傳輸」,也可以說「發送」,這裡的速率就是帶寬——發送器的能力強不強。這部分花的時間叫做「傳輸時延」或「發送時延」。

而注入鏈路後,就是「傳播」了,這裡的速率是傳播速率——信號走得快不快。信號即電磁波走得快不快跟發送器是沒有關係的,是個純物理概念。這部分花的時間叫做「傳播時延」。

  • 傳輸(發送)時延:

delay_{transmission}= frac{dataLength(bit)}{rate_{transmission}(bit/s)}

  • 傳播時延:

delay_{propagation}= frac{channelLength(m)}{rate_{propagation}(m/s)}

望能解決題主的疑惑。


推薦閱讀:

在電腦前,不知道做什麼,卻又不想關掉它。這是為什麼?怎麼克服?
SDN(軟體定義網路)初體驗----Mininet
他給多個科學領域當爹,離世30年才拿第一個獎

TAG:計算機 | 計算機網路 | 網路帶寬 |