登录站点

用户名

密码

路由交换产品主要性能概念(总结)

2已有 2505 次阅读  2013-03-09 11:37   标签交换机  路由器  性能参数 

网上找了很多资料,总结出来的,供参考。详细说明了下面这些概念。

转发性能、吞吐率、包转发性能  背板带宽、背板吞吐量、交换容量

路由器转发性能

    转发性能是路由器最关键的技术参数。路由器的主要功能是做IP报文转发,由于中低端路由器多采用CPU上运行的软件来实现该功能,因此多数中低端路由器不具备线速(wire speed)转发能力。转发性能,有时候也叫作吞吐率。

 

    所谓线速转发(wire speed,就是指的是:连接两个网络的路由器,就像是一根网线一样连接了两个网络一样,路由器上没有任何丢包、延迟和抖动现象。这是一种理想状态,在目前的技术发展水平下,商用的中低路由器一般是无法达到的。

 

那么就需要一个参数来衡量路由器的转发性能,最常用的参数是pps,是packet per second的所写,也就是报文每秒。有些公司也用bps来衡量路由器转发性能,比如JuniperBpsbit per second的缩写,是比特每秒的意思。对中低端路由器来说,pps更合理,因为其瓶颈主要在CPU上软件,一般来说,无论大包,还是小包,软件的处理开销都一样,并不会因为报文大,软件的开销就大。因此pps是一个一致性很高的单位,不容易造成混淆和歧义。

 

对于100M以太网来说,线速转发性能是大约150k pps,怎么计算的呢?一般来说,测量转发性能的时候,采用小报文来进行测试,也就是64ByteIP报文,加上以太网头,加上开销(PreembleSFD等),计算出一个报文的bit数量,然后再用100M / bit数量,就是这个约150k了。千兆以太网线速是1.5M,万兆以太网是15M

  
 

很多厂家在宣传转发性能的时候,有一种夸大的方法,就是重复计算,下面举例说明。假设我们要测试一个有两个100M以太网接口的路由器,用smartbit连接两个以太接口,单向发送数据。也就是从一个接口进去,另外一个接口出来。那么如果用100M线速发送没有丢包,该路由器的转发性能是150kpps,还是300kpps?正确答案应该是150k pps,因为一个报文从一个以太口进去,从另外一个以太口出来,对路由器来说,只作了一次转发,不能重复计算转发性能。

 

 

    处理器(CPU)类型是决定转发性能的最关键的因素。一般来说,采用集中式CPU转发IP报文的路由器,其处理性能都不会太高。下面是一些经验数据:

 

    采用多核处理器的系统,其最高性能不会超过10M pps

    采用单核处理器的系统,不会超过1M pps

    采用ARM7MPC86xMPC85x转发性能应该在20k pps以下。

    采用MPC82xx/MPC88x/MPC87x的系统,转发性能在200k以下。

    IntelIXP425的在转发性能最高,也不会超过1Mpps。其性价比也最高,多被一些网吧宽带路由器采用。

 

    除了处理器之外,软件质量也是影响转发性能的关键因素。另外,内存带宽,内存的访问延迟,PCI总线带宽和访问延迟等,都会影响转发性能。例如:MPC8245PCI驱动能力有限,其总线最多只能挂接5PCI设备。如果要用MPC8245支持多个扩展板插槽,而每个扩展板上还有多个PCI设备,就必须通过多级PCI桥来扩展MPC8245PCI驱动能力。每增加一级PCI桥,都要至少增加约5-10个时钟周期的PCI访问时间。一般来说,而对每个报文的处理都需要访问PCI总线。这就增加了程序运行时间,降低了转发性能。

 

    很多厂商在转发性能这个指标上,都闪烁其词,含糊宣传。作为用户,一定要以测试数据为准,不能相信厂商的宣传。下面某厂商的RG3600系列为例来做个简单分析,看看有多少漏洞。

 

    网站上该路由器的CPUMPC8245,并且宣称是“64位的微处理器技术”,这是一处矛盾,Freescale网站上的技术资料表明,MPC8245不是64位的。只是它的内存总线带宽可以配置为64模式。一般来说,64位微处理器,这个技术术语有两层含义:(1ALU64位的;(2)寻址空间是64位的。仅仅内存总线的带宽是64位的,不能算是64位的CPUMPC824564CPU的说法,是可能是失误,也可能是故意误导用户。

 

    该厂商宣称,RG3600系列的转发性能达到了350k pps,这个参数也值得推敲。从其网站上给出的多级PCI总线结构可以推测其总线带宽和延迟问题会比较严重。MPC8245的处理性能也没有这么高。

 

    一般来说,厂商夸大其转发性能的手段主要有:(1)测试性能专用的软件,或者专用的命令开关。(2)模糊计算,就是上文提到过的夸大方法。

 

性能测试专用软件版本,一般来说去掉了某些必备的功能,例如:正常软件,在转发路径都要判断是否配置了ACL,而专用软件可能就去掉了这个判断语句,这样就减少了一条if语句的开销,至少减少了一次内存数据访问。甚至有些软件会去掉一些必须的功能,例如:判断IP报文的合法性,其中计算checksum是最浪费处理性能的,性能测试专用版本的软件可能省掉了这个环节。这样测试出来的性能其实不是真实的性能。

 

交换机主要性能指标详解

 

背板吞吐量(bps  
也称背板带宽,是交换机接口处理器或接口卡和数据总线间所能吞吐的最大数据量。一台交换机的背板带宽越高,所能处理数据的能力就越强,但同时设计成本也会上去。

 

背板带宽,是交换机接口处理器或接口卡和数据总线间所能吞吐的最大数据量。一台交换机的背板带宽越高,所能处理数据的能力就越强,但同时设计成本也会上去。
但是,我们如何去考察一个交换机的背板带宽是否够用呢?显然,通过估算的方法是没有用的,我认为应该从两个方面来考虑:


1
、)所有端口容量X端口数量之和的2倍应该小于背板带宽,可实现全双工无阻塞交换,证明交换机具有发挥最大数据交换性能的条件。
2
、)满配置吞吐量(Mpps)=满配置GE端口数×1.488Mpps其中1个千兆端口在包长为64字节时的理论吞吐量为1.488Mpps。例如,一台最多可以提供64个千兆端口的交换机,其满配置吞吐量应达到 64×1.488Mpps = 95.2Mpps,才能够确保在所有端口均线速工作时,提供无阻塞的包交换。如果一台交换机最多能够提供176个千兆端口,而宣称的吞吐量为不到261.8Mpps(176 x 1.488Mpps = 261.8),那么用户有理由认为该交换机采用的是有阻塞的结构设计。一般是两者都满足的交换机才是合格的交换机。

比如:
2950G-48  2
1000M48100M端口
 
实际背板带宽,全双工无阻塞交换
相当于13.6/2=6.8个千兆口
吞吐量=6.8×1.488=10.1184Mpps  也可(2×1.488+48×0.1488=10.1184Mpps)

4506
背板64G
满配置千兆口
4306×5
2(引擎)=32
吞吐量=32×1.488=47.616    吞吐量也叫转发性能,包转发率

一般是两者都满足的交换机才是合格的交换机。 也就是要交换机的背板带宽和转发性能同时过关,才算合格。

背板相对大,吞吐量相对小的交换机,除了保留了升级扩展的能力外就是软件效率或专用芯片电路设计有问题;背板相对小。吞吐量相对大的交换机,整体性能比较高。不过背板带宽是可以相信厂家的宣传的,可吞吐量是无法相信厂家的宣传的,因为后者是个设计值,测试 很困难的并且意义不是很大。 (这句话好像说反了)

交换机的背版速率一般是:Mbps,指的是第二层

对于三层以上的交换才采用Mpps(如路由器,三层交换机)


背板带宽资源的利用率与交换机的内部结构息息相关。目前交换机的内部结构主要有以下几种:一是共享内存结构,这种结构依赖中心交换引擎来提供全端口的高性能连接,由核心引擎检查每个输入包以决定路由。这种方法需要很大的内存带宽、很高的管理费用,尤其是随着交换机端口的增加,中央内存的价格会很高,因而交换机内核成为性能实现的瓶颈;二是交叉总线结构,它可在端口间建立直接的点对点连接,这对于单点传输性能很好,但不适合多点传输;三是混合交叉总线结构,这是一种混合交叉总线实现方式,它的设计思路是,将一体的交叉总线矩阵划分成小的交叉矩阵,中间通过一条高性能的总线连接。其优点是减少了交叉总线数,降低了成本,减少了总线争用;但连接交叉矩阵的总线成为新的性能瓶颈。



交换机的交换容量

交换容量是指系统中用户接口之间交换数据的最大能力,用户数据的交换是由交换矩阵实现的。传统的总线式交换方式容量有限,不再被万兆以太网交换机所采用,取而代之的是矩阵式交换,这也是中高端千兆以太网交换机的主要交换形式。在无阻塞交换结构中,

交换容量=交换矩阵与线卡之间的带宽×线卡插槽数

交换容量=缓存位宽*缓存总线频率  这个公式不理解???HW的公式

而背板带宽,是交换机接口处理器或接口卡和数据总线间所能吞吐的最大数据量。

所以交换容量和背板带宽不是一个概念。(有的地方写的就是一个概念)

背板带宽和包转发率之间什么关系?
背板带宽=包转发速率*8*64812=1344*包转发速率  

但当我看到CISCO Catalyst 3560G-24TS--24的参数的时候,无法验证该公式。
Cisco Catalyst 3560G-24TS--24
个以太网10/100/1000端口,4SFP千兆位以太网端口;1RU
性能参数: 32Gbps转发带宽  基于64字节分组的转发速率:38.7Mpps

我判断该交换机不是线速交换机。如果是线速,转发速率=24+4)*1.48809=41.66652M,
转发带宽=(24+4)*1*2=56G   也可1344*41.66652=56G
是不是公式错了,但很多产品的参数都验证了该公式啊

分享 举报