上次我去某二级城市参加招标答疑会,本来以为是个很简单的形式而已,结果开会才知道形势凶险的很。当中有个问题引起了大家的注意,就是交换机的交换容量与包转发率的问题,用户本来是需要24口千兆的交换机,参数要求是交换容量>=32Gbps, 包转发率>=35Mpps. 咋一看没有什么问题,结果有人提出,参数肯定有问题,包转发率为35Mpps,那么对应的交换容量=35Mpps*8*84*2=47Gbps. 那么为什么这里只要求达到32G以上,如果只是满足32G的话,那么端口就无法做到线路转发了,这个设备参数是不是有问题?
当时我也楞了一下,因为是投标,可能大部分集成商都会投刚好满足32G的,而不会投超过32G的设备,我正在考虑这个问题的时候,用户说了一句话出来:我可能用24口的少部分,我不会用完24个端口,那么就可以满足了吧,况且我写的是>=32G,你们完全可以投32G以上的。对不对?这时提问的集成商代理就没做声了,气氛很尴尬,估计他想也没有办法,就算了。
从这个案例中,我想到了交换容量与包转发率的计算方法,特贴下下面,供大家欣赏:
包转发线速的衡量标准———是以单位时间内发送64byte的数据包(最小包)的个数作为计算基准的。对于千兆以太网来说,计算方法如下:1,000,000,000bps/8bit/(64+8+12)byte=1,488,095pps 说明:当以太网帧为64byte时,需考虑8byte的帧头和12byte的帧间隙的固定开销。故一个线速的千兆以太网端口在转发64byte包时的包转发率为1.488Mpps。快速以太网的线速端口包转发率正好为千兆以太网的十分之一,为148.8kpps。
*对于万兆以太网,一个线速端口的包转发率为14.88Mpps。
*对于千兆以太网,一个线速端口的包转发率为1.488Mpps。
*对于快速以太网,一个线速端口的包转发率为0.1488Mpps。
*对于OC-12的POS端口,一个线速端口的包转发率为1.17Mpps。
*对于OC-48的POS端口,一个线速端口的包转发率为468MppS
交换带宽=包转发速率8(64+8+12)2 (全双工)=1344包转发速率
一、背板带宽
交换机背板带宽含义
交换机的背板带宽也叫背板容量,是交换机接口处理器或接口卡和数据总线间所能吞吐的最大数据量。背板带宽标志了交换机总的数据交换能力,单位为Gbps,一般的交换机的背板带宽从几Gbps到上百Gbps不等。一台交换机的背板带宽越高,所能处理数据的能力就越强,但同时设计成本也会越高。
二、交换容量
它是内核CPU与总线的传输容量,一般比背板带宽小
H3C低端LSW交换均采用存储转发模式,交换容量的大小由缓存(BUFFER)的位宽及其总线频率决定。即,交换容量=缓存位宽*缓存总线频率=96*133=12.8Gbps
H3C高端的交换机的 交换容量可以等于端口总容量的2倍,端口总容量=2*(n*100Mbps+m*1000Mbps)(n:表示交换机有n个100M端口,m:表示交换机有m个1000M端口)
三、包转发率
转发能力以能够处理最小包长来衡量,对于以太网最小包为64BYTE,加上帧开销20BYTE,因此最小包为84BYTE。
对于1个全双工1000Mbps接口达到线速时要求:转发能力=1000Mbps/((64+20)*8bit)=1.488Mpps
对于1个全双工100Mbps接口达到线速时要求:转发能力=100Mbps/((64+20)*8bit)=0.149Mpps
单位:Mpps (兆个包每秒)
100Mbit/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,也就是0.1488M pps。
0.1488M pps这个包转发率是100M的网络而言,那么1000M的网络,算出来的包转发率就应是1.488Mpps,对于10G网络对应的是14.88Mpps。
下面,我按这个数值来验证一下H3C的交换机在其网站上公布的数据,是否满足全端口“线速转发”。
1)
设备:H3C S3600-28P-EI
公布包转发率:9.6Mpps
接口:24个10/100Base-TX以太网端口,4个1000Base-X SFP千兆以太网端口(就是24个100M+4个1000M)
计算:0.1488Mpps*24+1.488Mpps*4=3.5712Mpps+5.952Mpps=9.5232Mpps
结果9.5232Mpps < 公布包转发率:9.6Mpps,满足全端口“线速转发”。
2)
设备:S5500-28C-EI
包转发率(整机): 95.2Mpps
接口:24个10/100/1000Base-T以太网端口,4个复用的1000Base-X千兆SFP端口,2个扩展插槽(每个扩展插槽接口卡最大配置2×10G接口);
(也就是24*1000M+2×2*10GE)
计算:1.488Mpps*24+14.88Mpps*2*2=35.712Mpps+59.52Mpps=95.232Mpps
结果95.232Mpps =包转发率(整机): 95.2Mpps,满足全端口“线速转发”。
通过这样事例,可以清楚交换机厂商所公布的数据是“如何”的了吧!
这是在二层交换上面所能达到的包转发率,但是如果一个路由器在三层路由上面,甚至在开启nat的情况下,其包转发率会有很大降低,而这个值才是值得关心的,所以我们在看到很多商家在一直强调包转发个数148810个包,其实这是二层交换的理论极限值,而不是真正的路由器在三层工作时候的值。