交换机背板带宽延迟如何计算和考察

摘要:交换机的背板带宽,是交换机接口处理器或接口卡和数据总线间所能吞吐的最大数据量。背板带宽标志了交换机总的数据交换能力,单位为Gbps,也叫交换带宽,一般的交换机的背板带宽从几Gbps到上百Gbps不等。一台交换机的背板带宽越高,所能处理数据的能力就越强,但同时设计成本也会越高。

一、包转发介绍

延迟(Latency)是指数据包进入一个网络设备到离开该设备所花的时间。
交换机的背板带宽,是交换机接口处理器或接口卡和数据总线间所能吞吐的最大数据量。背板带宽标志了交换机总的数据交换能力,单位为Gbps,也叫交换带宽,一般的交换机的背板带宽从几Gbps到上百Gbps不等。一台交换机的背板带宽越高,所能处理数据的能力就越强,但同时设计成本也会越高。
一般来讲,计算方法如下:
1)线速的背板带宽
考察交换机上所有端口能提供的总带宽。计算公式为端口数*相应端口速率*2(全双工模式)如果总带宽≤标称背板带宽,那么在背板带宽上是线速的。
2)第二层包转发线速
第二层包转发率=千兆端口数量×1.488Mpps+百兆端口数量*0.1488Mpps+其余类型端口数*相应计算方法,如果这个速率能≤标称二层包转发速率,那么交换机在做第二层交换的时候可以做到线速。
3)第三层包转发线速
第三层包转发率=千兆端口数量×1.488Mpps+百兆端口数量*0.1488Mpps+其余类型端口数*相应计算方法,如果这个速率能≤标称三层包转发速率,那么交换机在做第三层交换的时候可以做到线速。
那么,1.488Mpps是怎么得到的呢?
包转发线速的衡量标准是以单位时间内发送64byte的数据包(最小包)的个数作为计算基准的。
对于千兆以太网来说,计算方法如下:
1,000,000,000 bps/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端口,一个线速端口的包转发率为4.68MppS。
所以说,如果能满足上面三个条件,那么我们就说这款交换机真正做到了线性无阻塞背板带宽资源的利用率与交换机的内部结构息息相关。
目前交换机的内部结构主要有以下几种:
一是共享内存结构:这种结构依赖中心交换引擎来提供全端口的高性能连接,由核心引擎检查每个输入包以决定路由。这种方法需要很大的内存带宽、很高的管理费用,尤其是随着交换机端口的增加,中央内存的价格会很高,因而交换机内核成为性能实现的瓶颈;
二是交叉总线结构:它可在端口间建立直接的点对点连接,这对于单点传输性能很好,但不适合多点传输;
三是混合交叉总线结构:这是一种混合交叉总线实现方式,它的设计思路是,将一体的交叉总线矩阵划分成小的交叉矩阵,中间通过一条高性能的总线连接。其优点是减少了交叉总线数,降低了成本,减少了总线争用;但连接交叉矩阵的总线成为新的性能瓶颈。
如何考察交换机背板带宽是否够用
背板带宽,是交换机接口处理器或接口卡和数据总线间所能吞吐的最大数据量。一台交换机的背板带宽越高,所能处理数据的能力就越强,但同时设计成本也会上去。
但是,我们如何去考察一个交换机的背板带宽是否够用呢?显然,通过估算的方法是没有用的,我认为应该从两个方面来考虑:
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),那么用户有理由认为该交换机采用的是有阻塞的结构设计。
一般是两者都满足的交换机才是合格的交换机。
背板相对大,吞吐量相对小的交换机,除了保留了升级扩展的能力外就是软件效率/专用芯片电路设计有问题;背板相对小。吞吐量相对大的交换机,整体性能比较高。不过背板带宽是可以相信厂家的宣传的,可吞吐量是无法相信厂家的宣传的,因为后者是个设计值,测试很困难的并且意义不是很大。
交换机的背板速率一般是:Mbps,指的是第二层, 对于三层以上的交换才采用Mpps

二、端口速率计算

以太网传输最小包长就是64字节、POS口是40字节。包转发线速的衡量标准是以单位时间内发送64byte的数据包(最小包)的个数作为计算基准的。对于千兆以太网来说,计算方法如下:1,000,000,000bps/8bit/(64+8+12)byte=1,488,095pps 说明:当以太网帧为64byte时,需考虑8byte的帧头和12byte的帧间隙的固定开销。故一个线速的千兆以太网端口在转发64byte包时的包转发率为1.488Mpps。快速以太网的线速端口包转发率正好为千兆以太网的十分之一,为148.8kpps。 
各种链路下包转发率
序号
端口类型
包转发率
1
万兆以太网
14.88Mpps
2
千兆以太网
1.488Mpps
3
百兆以太网
0.1488Mpps
4
OC-3    POS
0.29Mpps
5
OC-12   POS
1.17Mpps
6
OC-48   POS
468Mpps

三、端口总速率

在以太网中,每个帧头都要加上了8个字节的前导符,前导符的作用在于告诉监听设备数据将要到来。然后,以太网中的每个帧之间都要有帧间隙,即每发完一个帧之后要等待一段时间再发另外一个帧,在以太网标准中规定最小是12个字节,然而帧间隙在实际应用中有可能会比12个字节要大,在这里我用了最小值。每个帧都要有20个字节的固定开销,现在我们再来算一下交换机单个端口的实际吞吐量:148,809×(64+8+12)×8≈100Mbps,通过这个公式不难看出,真正的数据交换量占到64/84=76%,交换机端口链路的"线速"数据吞吐量实际上只有76Mbps,另外一部分被用来处理了额外的开销,这两者加起来才是标准的百兆或者千兆。

附:bps与pps的区别

一、bps和pps如何换算?
比特转发率: bps(bits per second)/包转发率:pps(packets per second)
两者采用最短 64字节包进行换算。
1Gbps = 1000M bits/( (84字节)*8(bit 每字节))=1.488095 Mpps .
包的转发率在最短字节的时候最难达到线速,所以,采用最短字节做为计算包转发率 (pps)的包长参数。最短以太包长为64字节,包含DMAC(6)+SMAC(6)+Type(2)+IP Header(20)+填充+CRC(4)。
根据 Ethernet的CSMA/CD的工作原理,报文在发送之前,要先侦听一段时间线路是否空闲,空闲才能发送。这个监听时间为帧间隙( IFG: Interframe Gap; IPG: InterPacket Gap),为发送12个字节的时间。
为了能接受同步,在以太网帧结构前增加了 8个字节的前导码(Preamble),其中7个字节为AA(其二进制形式为01010101)用于与接收端同步,第8个字节为AB(帧定界符),用于定界,标明从现在开始后面的是以太网帧。
所以,最短帧的实际长度为 :
64字节+ 12(字节帧间隙)+8(前导码)= 84字节,从而得出前面的转换公式。
二、为什么以太网最短是64字节?
全双工方式下,允许两个站点通过支持全双工数据传输的点到点链路来交换数据,站点能同时传输和接收。没有别的站点来竞争对链路的访问权限,从而也不会出现冲突,不促要 CSMA/CD协议的限制,有帧要传输就可以马上发送。
半双工采用 CSMA/CD:一个站点要么传输,要么接收,它不可以同时做这两件事,所以存在冲突。由于半双工来自古老的过去,而恰恰最短64字节来10M的自半双工的机制。
半双工里面的,碰撞槽时间在以太网中是一个极为重要的参数,有如下特点:
( 1)它是检测一次碰撞所需的最长时间。
( 2)要求帧长度有个下限。(即最短帧长)
( 3)产生碰撞,就会出现帧碎片。
( 4)如发生碰撞,要等待一定的时间。t=rT。(T为碰撞槽时间)
最坏情况下,检测到冲突所需的时间描述如下:
( 1)A和B是网上相距最远的两个主机,设信号在A和B之间传播时延为τ,假定A在t时 刻开始发送一帧,则这个帧在t+τ时刻到达B,若B在t+τ-ε时刻开始发送一帧,则B在t+τ时就会检测到冲突,并发出阻塞信号。
( 2)阻塞信号将在t+2τ时到达A。所以A必须在t+2τ时仍在发送才可以检测到冲突,所以一帧的发送时间必须大于2τ。
( 3)按照标准,10Mbps以太网采用中继器时,连接最大长度为2500米,最多经过4个中继器,因 此规定对于10Mbps以太网规定一帧的最小发送时间必须为51.2μs。
( 3)51.2μs也就是512位数据在10Mbps以太网速率下的传播时间,常称为512位时。这个时间定 义为以太网时隙。512位时=64字节,因此以太网帧的最小长度为512位时=64字节。
对于半双工: 10Mbps以太网的最小帧长为512比特,覆盖的范围可以为2500米,而100Mbps以太网为了能够和10Mbps以太网兼容,同样也要求最小帧长为512比特,这时覆盖的范围只有200米。那么在1Gbps以太网中呢?
1G以太网的半双工对 CSMA/CD机制做了修改,在MAC帧的尾部附加了一些特殊的编码,这些编码不会和正常数据相同,这样使得帧的传输时间最少为4096比特时间。
所以,以太网帧采用 64字节(512 bits)做为最短帧。