- 经验
- 162
- 分贝
- 0
- 家园分
- 244
- 在线时间:
- 45 小时
- 最后登录:
- 2021-11-11
- 帖子:
- 57
- 精华:
- 0
- 注册时间:
- 2006-7-20
- UID:
- 114909
注册:2006-7-20
|
发表于 2012-5-29 11:01:35
|显示全部楼层
谈到 "线速"的问题,有很多人认为链路就是用百兆或者千兆速度来全部传输数据。我在这里想提醒读者的是:链路是不会用自身的全部带宽来处理数据包的,实际情况是它的一部分带宽"开了小差",被用来做其他用了。在这里,我将用测试仪器向大家实地展示根据线速的标准,到底实际传输数据的速率是多少。
我这次采用的是Spirent(思博伦)通信企业的SmartBits测试仪器,本次测试次仅仅用到其中的两个端口作演示,将这两个端口分别用网线接到一台百兆交换机的两个端口上,我设定测试仪上的两个端口互发64字节大小的数据包,测试时间两分钟,然后大家来再看最后测试数据,在最终的测试结果中,有一项是包转发率(fps),记录了端口每秒转发的数据包数,由于链路的吞吐量是一定的,那么大数据包的转发率会比小数据包的转发率要小。在这里64字节显示的是148,809。那现在大家可以利用这个数据来计算交换机一个端口实际处理数据包的带宽大小,计算方法是:148,809×64(字节)×8(1Byte=8bit)=76,190,208≈72.66Mbps,通过以上的计算,大家看到实际上只有72.66Mbps的带宽用来实际处理数据。其他带宽都干吗去了?
在以太网中,每个帧头都要加上了8个字节的前导符(preamble),前导符的作用在于告诉监听设备数据将要到来。然后,以太网中的每个帧之间都要有帧间隙(interframe gap),即每发完一个帧之后要等待一段时间再发另外一个帧,在以太网标准中规定最小是12个字节,然而帧间隙在实际应用中有可能会比12个字节要大,在这里我用了最小值。每个帧都要有20个字节的固定开销,现在大家再来算一下交换机单个端口的实际吞吐量:148,809×(64+8+12)×8=99,999,648≈100Mbps,我想我说到这里大家已经明白我的意思了,交换机端口链路的"线速"数据吞吐量实际上只有72.66Mbps,另外一部分被用来处理了额外的开销,这两者加起来才是标准的百兆或者千兆。
文章到这里还没结束,还忘了提示大家一点,根据以上的计算方法,大家也可以倒推出来千兆、百兆交换机单个端口链路64字节以及其他字节数据包下的线速包转发率,例如:百兆交换机的一个端口的线速包转发速率为:100Mbps÷8÷(64+8+12)=0.1488Mpps,那么千兆交换机的单个端口线速包转发速率就应该是乘以10的关系,数值就应该是1.488 Mpps。
|
|