端口速率與包個數計算 PPS 與 BPS

                     端口速率 與 包個數   PPS 與 BPS

                                                                 aTai  09.6.16  

                                    

 

下面是某位同事的面試題,

 

“交換機端口速率100Mbps代表什麼意思? 那每秒鐘能最多能發送多少個數據包 ? ”

 

如果你能回答請忽略下文。

 


一, PPS 和BPS的概念.

PPS = Packets Per Second  
Bps  = Bytes Per Second   
bps  = bits per Second

 

二, 計算公式,
   
  如以每秒 200個包的速率發送包大小爲100Bytes的數據包,  則其速率爲多少byteps / bps,

   ( 8 + 100 + 12 ) x 200 = 24000 Byte per seconds
其中 8 爲 8個字節的前倒符 ,  12爲12個字節的包間隔(gap)
  
   (64 +100x8 +12x8) x 200 =  192000 bitps

 


三, 詳細如下,

100m的以太網,全雙工就是200m,其單位就是bit/s,100m換算成byte則是100/8=12.5m byte/s,換算出來就是12500000bytes。那麼在以太網的數據包中,最小的數據包的大小是64byte/s,加上8個byte的前導字節以及12個byte幀間間隙,合計就是84byte。那麼用12500000/84=148809,得到在100m吞吐量單向環境下的每秒最大的包轉發個數148809,換算成k即爲148.8k pps。同上,則在雙向200m吞吐量的以太網中,每秒轉發個數297618,換算成k則包轉發率爲297.6k pps。

這是在二層交換上面所能達到的包轉發率,但是如果一個路由器在三層路由上面,甚至在開啓nat的情況下,其包轉發率會有很大降低,而這個值纔是真正用戶值得關心的,所以我們在看到很多商家在一直強調包轉發個數148810個包,其實這是二層交換的理論極限值,而不是真正的路由器在三層工作時候的值。

 

 

so, 端口速率 (bit/s)  == 包個數 x  (包大小+ 8Byte的前導碼 +12Byte的包間隔)x 8 

 

看似十分簡單的問題, 卻難倒了不少人。 自己也總結下。 以免面試時被侮辱。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章