交换机线速、背部带宽、转发速率他们三者是什么关系?

交换机的背板带宽,是交换机接口处理器或接口卡和数据总线间所能吞吐的最大数据量。背板带宽标志了交换机总的数据交换能力,单位为Gbps,也叫交换带宽,一般的交换机的背板带宽从几Gbps到上百Gbps不等。一台交换机的背板带宽越高,所能处理数据的能力就越强,但同时设计成本也会越高。
    一般来讲,计算方法如下:
1)线速的背板带宽
考察交换机上所有端口能提供的总带宽。计算公式为端口数*相应端口速率*2(全双工模式)如果总带宽≤标称背板带宽,那么在背板带宽上是线速的。
2)第二层包转发线速

交换机的背板带宽,是交换机接口处理器或接口卡和数据总线间所能吞吐的最大数据量。背板带宽标志了交换机总的数据交换能力,单位为Gbps,也叫交换带宽,一般的交换机的背板带宽从几Gbps到上百Gbps不等。一台交换机的背板带宽越高,所能处理数据的能力就越强,但同时设计成本也会越高。
一般来讲,计算方法如下:
1)线速的背板带宽
考察交换机上所有端口能提供的总带宽。计算公式为端口数*相应端口速率*2(全双工模式)如果总带宽≤标称背板带宽,那么在背板带宽上是线速的。
2)第二层包转发线速
第二层包转发率=千兆端口数量×1.488Mpps+百兆端口数量*0.1488Mpps+其余类型端口数*相应计算方法,如果这个速率能≤标称二层包转发速率,那么交换机在做第二层交换的时候可以做到线速。
3)第三层包转发线速
第三层包转发率=千兆端口数量×1.488Mpps+百兆端口数量*0.1488Mpps+其余类型端口数*相应计算方法,如果这个速率能≤标称三层包转发速率,那么交换机在做第三层交换的时候可以做到线速。
那么,1.488Mpps是怎么得到的呢?
包转发线速的衡量标准是以单位时间内发送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.1488kpps。
*对于OC-12的POS端口,一个线速端口的包转发率为1.17Mpps。
*对于OC-48的POS端口,一个线速端口的包转发率为468Mpps。
所以说,如果能满足上面三个条件,那么我们就说这款交换机真正做到了线性无阻塞
背板带宽资源的利用率与交换机的内部结构息息相关。目前交换机的内部结构主要有以下几种:一是共享内存结构,这种结构依赖中心交换引擎来提供全端口的高性能连接,由核心引擎检查每个输入包以决定路由。这种方法需要很大的内存带宽、很高的管理费用,尤其是随着交换机端口的增加,中央内存的价格会很高,因而交换机内核成为性能实现的瓶颈;二是交叉总线结构,它可在端口间建立直接的点对点连接,这对于单点传输性能很好,但不适合多点传输;三是混合交叉总线结构,这是一种混合交叉总线实现方式,它的设计思路是,将一体的交叉总线矩阵划分成小的交叉矩阵,中间通过一条高性能的总线连接。其优点是减少了交叉总线数,降低了成本,减少了总线争用;但连接交叉矩阵的总线成为新的性能瓶颈。
ps:其中几个名词需要说明下:
Mpps:
  一种解释是“million pulses per second”,百万脉冲(数)/秒,一般用在通信行业。
  另一种是“million packet per secend”,百万包/秒,指包转发率(也就是端口吞吐量)。是路由器/防火墙/交换机等设备的重要性能指标。
线速:
  这里的“线速”指网络设备交换转发能力的一个标准,而非通常所言的线速度和角速度。达到线速标准的设备,避免了非线速设备的转发瓶颈,称作“无阻塞处理”。即厂商标称交换能力大于设备上所有类型各个接口的带宽总和的2倍(全双工)。需要说明的的是通常二层线速指的是交换能力,单位Gbps ;三层线速指的是包转发率,单位Mpps 。
  千兆端口的包转发率是1.488Mpps ( 百兆端口为0.1488Mpps,其他类推)
  1,000,000,000/8/(64+8+12) = 1,488,095pps (最小数据包的大小为64byte,8byte的前导符,12byte的帧间隙)
  线速这一概念同时还用于绘画艺术中,指在速描或绘画中,线条表达运动感的能力。
了解了这些之后,突然发现自己懂的东西真的很少,也终于懂得一个行业标准时需要多么雄厚的知识底蕴,而我学习这一切的原因是系统+虚拟盘方案导致的,因为里面的一些数据当你去深入的问为什么的时候,就会发现有越来越深刻的答案,但是我感觉是非常有趣的!
了解了这些之后,在回头了解下测速那档子事吧:

这是我随便找了一个网吧测试得出的数据,虽然测试了这么多,我们就只拿64K的区块来做标准说明好了,至于为什么用64K区块作为说明,建议大家在机械硬盘上再根据使用场景,再用HDTUNE进行测速就OK了!拿我们看看这个内部网络的交换机性能如何吧!
64K区块测速为42MB/S,我们先来看下64K区块的包每秒能转发多少个:
42MB/S*1024/64K=672个;
那达到这个速度需要交换机有什么样的性能呢?网络转发的最小包大小是64byte,那么1个64K的数据包就要划分为:
64KByte*1024/64byte=1024个小包;
那么42MB/S的速度是每秒转发1024个64K的包,因此我们就可以得到此时交换机的转发性能了:
672个*1024个=1.048576Mpps;
那么标准的2层转发速率是1.488Mpps个包,而我们计算出来的是1.048Mpps,因此我得出一个结论说是这个网吧的交换机没能达到标准前兆交换机的性能,那这个说法是否正确呢?
目前只知道千兆网络的理论传输速度是1G=1000Mbps=125MB/S,但是这个值肯定是要受包转发的大小限制的,而理论上来说,越小的包测速越低,越大的包测速越高,而这里面的关系就太复杂了,以今天的墨水浓度时说不清楚了,等想清楚了再说!
不过这里可以抛下的一个确定答案是:
测试交换机性能用TCP协议是不能测试出来的,必须用UDP才行,因为TCP协议太复杂了,而对于应用程序来说的话,就要考虑网卡,网线,交换机等综合因素了!
那么前兆网络使用TCP协议,并且包大小为64K的情况下,理论可以达到多少MB/S?
刚才算出来是91MB/S左右!但是这个数据是有水分的,因为是tcp协议……