描述交换机性能可以使用“线速”这个概念,那它是什么意思呢?所谓的线速是指经过交换机处理的理想状态下最大数据率。描述数据率可以用bps(bit per second)和mpps(million packets per second)这两个单位来描述。
当用bps来描述时,直接用bit数来表示。当用mpps来描述时,需要进行一定的转换。如:
1Gbps=1000000000/8/64+12+8)=1.488Mpps
利用这个式子,可以将bps转化为mpps。
那么交换机的背板带宽以及二层三层的线速怎么算呢?一般来讲,计算方法如下:
1)线速的背板带宽
考察交换机上所有端口能提供的总带宽。计算公式为端口数*相应端口速率*2(全双工模式)如果总带宽≤标称背板带宽,那么在背板带宽上是线速的。
2)第二层包转发线速
第二层包转发率=千兆端口数量×1.488Mpps+百兆端口数量*0.1488Mpps+其余类型端口数*相应计算方法,如果这个速率能≤标称二层包转发速率,那么交换机在做第二层交换的时候可以做到线速。
3)第三层包转发线速
第三层包转发率=千兆端口数量×1.488Mpps+百兆端口数量*0.1488Mpps+其余类型端口数*相应计算方法,如果这个速率能≤标称三层包转发速率,那么交换机在做第三层交换的时候可以做到线速。
那么计算那个1.488和0.1488式子中的12和8怎么来的呢?这个要涉及到以太网帧的发送过程中的帧间隙了(IFG)。
1.什么是 IFG?(What)
IFGInterframe Gap),帧间距,以太网相邻两帧之间的时间断;以太网发送方式是一个帧一个帧发送的,帧与帧之间需要间隙,即帧间距IFG也可称其为IPG Interpacket Gap)。IFG指的是一段时间,不是距离,单位通常用微秒(μs)或纳秒(ns)。如下图所示:
图 1 帧间距
2.为什么需要IFG?(Why)
网络设备和组件在接收一个帧之后,需要一段短暂的时间来恢复并为接收下一帧做准备。
3.IFG的大小为多少?(Importance)
IFG的最小值是 96 bit time,即在媒介中发送96位原始数据所需要的时间,在不同媒介中IFG的最小值是不一样的:
不管 10M/100M/1000M的以太网,两帧之间最少要有96bit;IFGmin=96bit/speed s)
则:10Mmin: 9600 ns
100Mmin: 960 ns
1000Mmin: 96 ns
4.如何使用IFG?(How)
举个具体例子说明,IFG在以太网的流控机制中解决速度匹配问题;
这里涉及到以太网的流控机制,如下图:
图 2以太网传输示例
1) 设备1以其自身的工作时钟OSC1)向设备2发送到待发数据;
2) 数据包进入设备2:
a) 经过时钟数据恢复器(CDR)的处理,从数据中提取时钟,并基于提取的时钟(CLK2),将数据包存入接收缓存,此时,CLK2和OSC1是同步的;
b) 数据从接收缓存,经过上层协议的处理,存入发送缓存;
3) 发送缓存以设备2的工作时钟OSC2)发送数据,由于以太网是异步工作的,故OSC1和OSC2作为不同设备的本地时钟,并不能做到完全同频以太网设备的工作时钟允许有正负50ppm的频差),上图假设OSC1大于OSC2,那么设备2的接收的速度将大于发送的速度,如果接收缓冲满了,将造成丢包;
如何解决上述丢包问题?
在设备2的发送侧通过减小IFG帧间距)来加快其发送有效数据包的速度,从而使得发送速度能跟上接收速度。
5.IFG在我们实际工作的应用?
这里主要提到Smartbit 6000C在产测中的使用。
使用原理:
IFG增大,设备的有效速度减小,可以解决因速度过快丢包的问题;
IFG减小(但必须大于 96 bit time),设备的有效速度增大,可以解决因速度过慢导致测试超时的问题。
补充:
以太网的发送方式是按照一个帧一个帧来发送的,帧与帧之间需要间隙,叫做帧间隙(InterFrame Gap,IFG)。IFG的长度是96bit(12 Byte),也称为以太网最小帧间隙。此外还可能有Idle时间。
互联网帧间隙共20字节,其中包括:
以太网最小帧间隙 12 Byte(IEEE802.3)
数据链路层帧 7 Byte前导字符(用于时钟同步)
帧开始标识 1 Byte(标识帧的开始)