http://www.douban.com/group/topic/7837915/ 参考文章
内部结构
背板带宽资源的利用率与交换机的内部结构息息相关。目前交换机的内部结构主要有以下几种:
一是共享内存结构,这种结构依赖中心交换引擎来提供全端口的高性能连接,由核心引擎检查每个输入包以决定路由。这种方法需要很大的内存带宽、很高的管理费用,尤其是随着交换机端口的增加,中央内存的价格会很高,因而交换机内核成为性能实现的瓶颈;
二是交叉总线结构,它可在端口间建立直接的点对点连接,这对于单点传输性能很好,但不适合多点传输;
三是混合交叉总线结构,这是一种混合交叉总线实现方式,它的设计思路是,将一体的交叉总线矩阵划分成小的交叉矩阵,中间通过一条高性能的总线连接。其优点是减少了交叉总线数,降低了成本,减少了总线争用;但连接交叉矩阵的总线成为新的性能瓶颈。
目前,背板都采用无源设计。背板总线技术主要有三种:LVDS、LVTDL、GLT等。对于如2.5Gbit/s和2.5Gbit/s以下中低速系统,由于系统容量不是非常大,系统的瓶颈不在背板总线,所以对背板总线速率没有严格要求,一般采用LVTDL或GLT技术,背板总线为77Mbit/s或38Mbit/s,如此已经完全满足系统的要求。倘若采用LVDS(低压差分信号)技术使背板总线速率提高到622Mbit/s,除了方便背板布线外对系统几乎没有优化作用。对于高速通信系统,如10Gbit/s或其以上设备,由于系统速率和交叉容量非常高,对背板总线的速率和布线提出了更高的要求,所以一般采用LVDS技术。目前业界的背板速率一般为622Mbit/s或者777Mbit/s。
线性无阻塞传输 传输包时即位流时,即像线条一样无中断就叫线速。
我们购买交接机最佳性能,就是要求这款交换机做到了线性无阻塞传输。
1、所有端口容量X端口数量之和的2倍应该小于背板带宽,可实现全双工无阻塞交换,证明交换机具有发挥最大数据交换性能的条件。
2、满配置吞吐量(Mbps)=满配置GE端口数×1.488Mpps,其中1个千兆端口在包长为64字节时的理论吞吐量为1.488Mpps。例如,一台最多可以提供64个千兆端口的交换机,其满配置吞吐量应达到 64×1.488Mpps = 95.2Mpps,才能够确保在所有端口均线速工作时,提供无阻塞的包交换。
如果一台交换机最多能够提供176个千兆端口,而宣称的吞吐量为不到261.8Mpps(176 x 1.488Mpps = 261.8),那么用户有理由认为该交换机采用的是有阻塞的结构设计。
一般是两者都满足的交换机才是合格的交换机。
背板相对大,吞吐量相对小的交换机,除了保留了升级扩展的能力外就是软件效率/专用芯片电路设计有问题;
背板相对小。吞吐量相对大的交换机,整体性能比较高。不过背板带宽是可以相信厂家的宣传的,可吞吐量是无法相信厂家的宣传的,因为后者是个设计值,测试很困难的并且意义不是很大。
一般来讲,计算方法如下:
1)线速的背板带宽
考察交换机上所有端口能提供的总带宽。计算公式为端口数*相应端口速率*2(全双工模式)如果总带宽≤标称背板带宽,那么在背板带宽上是线速的。
以h3c S1526-R0011为例,它的背板带宽为24*100*2(全双工)+2*1000*2(全双工)=8.8Gbps≤说明手册上标称的8.8Gbps
2)第二层包转发线速
第二层包转发率=千兆端口数量×1.488Mpps+百兆端口数量*0.1488Mpps+其余类型端口数*相应计算方法,如果这个速率能≤标称二层包转发速率,那么交换机在做第二层交换的时候可以做到线速。
以h3c S1526-R0011为例,它的包转发速率为2*1.488+24*0.1488=6.5472约等于6.55Mpps≤说明手册上标称的6.55Mpps
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。
考验转发能力以能够处理最小包长来衡量,对于以太网最小包为64BYTE,加上帧开销20BYTE,因此最小包为84BYTE。
*对于万兆以太网,一个线速端口的包转发率为14.88Mpps。
*对于千兆以太网,一个线速端口的包转发率为1.488Mpps。
*对于快速以太网,一个线速端口的包转发率为0.1488Mpps。
*对于OC-12的POS端口,一个线速端口的包转发率为1.17Mpps。
*对于OC-48的POS端口,一个线速端口的包转发率为468MppS。
所以说,如果能满足上面三个条件,那么我们就说这款交换机真正做到了线性无阻塞;
1、背板带宽
只有模块交换机(拥有可扩展插槽,可灵活改变端口数量)才有这个概念,固定端口交换机是没有这个概念的,并且固定端口交换机的背板容量和交换容量大小是相等的。背板带宽决定了各板卡(包括可扩展插槽中尚未安装的板卡)与交换引擎间连接带宽的最高上限。由于模块化交换机的体系结构不同,背板带宽并不能完全有效代表交换机的真正性能。固定端口交换机不存在背板带宽这个概念。背板带宽,是交换机接口处理器或接口卡和数据总线间所能吞吐的最大数据量。背板带宽标志了交换机总的数据交换能力,单位为Gbps,也叫交换带宽。
2、交换引擎的转发性能 (交换容量、转发能力)
由于交换引擎是作为模块化交换机数据包转发的核心,所以这一指标能够真实反映交换机的性能。对于固定端口交换机,交换引擎和网络接口模板是一体的,所以厂家提供的转发性能参数就是交换引擎的转发性能,这一指标是决定交换机性能的关键。支持第三层交换的设备,厂家会分别提供第二层转发速率和第三层转发速率,一般二层能力用bps,三层能力用pps,采用不同体系结构的模块化交换机,这两个参数的意义是不同的。但是,对于一般的局域网用户而言,只关心这两个指标就可以了,它是决定该系统性能的关键指标。对于大型园区网和城域网用户,讨论交换机的体系结构和第三层优化算法是有意义的。
3、另外,讲一下PPS是如何计算的:
我们知道1个千兆端口的线速(包转发率是1.4881MPPS),百兆端口的线速包转发率是0.14881MPPS,这是国际标准,但是如何得来的呢?
具体的数据包在传输过程中会在每个包的前面加上64个(前导符)preamble也就是一个64个字节的数据包,原本只有512个bit,但在传输过程中实际上会有512+64+96(96bit 帧间隙)=672bit,也就是这时一个数据包的长度实际上是有672bit的
千兆端口线速包转发率=1000Mbps/672=1.488095Mpps,约等于1.4881Mpps,百兆除以10为0.14881Mpps
设备选型时需要注意的几个方面:
线速只能作为一个参考,绝大多数情况下端口实际速率不会达到线速;
主频高点没有坏处,但是CPU在一般业务中的实际占用率是个很重要的指标。
背板带宽就像高速公路,车道越多,承载的车辆越多。
交换容量就像汽车,能跑多快全靠引擎带。如果交换机的引擎好,就能把背板带宽跑满。但是,交换容量永远<=背板带宽
上图中,由于Cisco采用了VS-S720-10-3C引擎,实现了完全分布式转发,所以可以将背板带宽跑满(交换容量=背板带宽),而H3C的交换机由于引擎的原因,不能实现完全分布式转发,所以不能将带宽跑满(交换容量<背板带宽)。
包转发率就像高速公路每秒能通过汽车的数量,车道越宽,汽车引擎越好,每秒通过的车辆就越多。