端口速率与包个数计算 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 

 

看似十分简单的问题, 却难倒了不少人。 自己也总结下。 以免面试时被侮辱。

你可能感兴趣的:(L2,Switch)