提高企业路由器性能技术详解(上)

日期: 2008-06-30 来源:TechTarget中国

    在目前的企业网络中,受到投入成本和传输速度等因素的影响,还是以有线网络居多。而路由器是局域网连接外部网络的重要桥梁,是网络系统中不可或缺的重要部件,也是网络安全的前沿关口,提高其性能就显得非常重要。


  在目前的路由器设备当中,越来越多的功能以硬件方式来实现,CMOS集成技术的提高使很多功能可以在专用集成电路(ASIC)芯片上实现,原来由软件实现的功能现在可由硬件更快、成本更低地完成,大大提高系统性能。分布式处理技术在路由器中采用,极大地提高了路由器的路由处理能力和速度。逐渐抛弃易造成拥塞的共享式总线,开始普遍采用交换式路由技术,在交换结构设计中采取巨型计算机内部互连网络的设计或引入光交换结构。另外路由表的快速查寻技术,QoS保证以及采用MPLS技术优化网络,在路由器中引入光交换等方面也逐渐受到人们的重视。


    ASIC技术


  由于厂商需要降低成本,ASIC技术在路由器中得到了越来越广泛的应用。在路由器中,要极大地提高速度,首无想到的是ASIC, ASIC可以用作包转发、查路由,并且目前已经有专门用来查找IPV4路由的商用ASIC芯片。ASIC技术的应用使路由器内的包转发速度和路由查找速度有显着的提高。


  高速路由器将路由计算、控制等非实时任务同数据转发等实时任务分开,由不同部分完成。路由计算、控制等非实时任务由CPU运行软件来完成, 数据转发等实时任务由专门的ASIC硬件来完成。自1997年下半年以来,一些公司开始陆续推出采用专用集成电路(ASIC)进行路由识别、计算和转发的新型路由器,转发器负责全部数据转发功能。这种路由器用硬件按照时钟的节拍实现逐个数据包的转发,实现线速转发。


  ASIC技术的进展意味着更多的功能可移向硬件,提高了性能水平,增加了功能。与软件执行相比,ASIC的性能是后者的3倍。但是全硬件化的路由器使用起来缺乏灵活性,且冒一定的风险,因为标准规范仍在不断演变过程中,于是出现了可编程ASIC。可编程ASIC是ASIC的发展趋势,因为它可通过改写微码来适应网络结构和协议的变化。目前,有两种类型的可编程ASIC:一种以3Com公司的FIRE(Flexible Intelligent Routing Engine)芯片为代表;另一种以Vertex Networks的HISC专用芯片为代表,这颗芯片是一颗专门为通信协议处理而设计的CPU,通过改写微码,使芯片具有处理不同协议的能力。


   分布式处理技术


  最初的路由器采用了传统计算机体系结构,包括共享中央总线、中央CPU、内存及挂在共享总线上的多个网络物理接口。接口卡通过总线将报文上送CPU,CPU完成路由计算、查表、做转发决定处理,然后又经总线送到另一个物理接口发送出去。这种单总线单CPU的主要局限是处理速度慢,一颗CPU完成所有的任务,从而限制了系统的吞吐量。另外,系统容错性也不好,CPU若出现故障容易导致系统完全瘫痪。这一切都造成传统路由器的转发性能很难有大的提高。


  现代的路由器采取对报文转发采用分布式处理,可以插多个线路处理板,每个线路板独立完成转发处理工作,即做到在每个接口处都有一个独立CPU,专门单独负责接收和发送本接口数据包,管理接收发送队列、查询路由表并做出转发决定等。通过核心交换板实现板间无阻塞交换,即一个板上输入的报文经过寻路后可以象通过导线直连那样,被交换到另一个板上输出,实现包交换,其整机吞吐量可以成倍扩充。而主控CPU仅完成路由器配置控制管理等非实时功能。这种体系结构的优点是本地转发/过滤数据包的决定由每个接口处理的专用CPU来完成,对数据包的处理被分散到每块接口卡上。线路板上有专用芯片完成二层、三层乃至四层的转发处理工作,硬件实现使转发能够达到线速(高速端口所连接线路的速率),达到了电路交换那样的性能,使路由器不会成为网络中的瓶颈。


  然而,单总线结构路由器存在一个最大缺陷就是一次只能有一个分组从入口交换到出口。如果能在入口和出口之间有多条数据传输通路,则能解决这种问题,同时大大提高系统的吞吐率。基于这种想法,同时借鉴ATM交换机结构的优点,提出了如图3所示的基于交换机结构的新一代路由器体系结构。


    交换式路由技术


  虽然计算机工业在近几年引入了越来越高速的共享式总线,从ISA到EISA直至现在的PCI。但是这仍然跟不上网络发展的步子。首先,共享总线不可避免内部冲突;第二,共享总线的负载效应使得高速总线的设计难度太大。


  1.单级交换结构


  交换结构的引入逐步克服了共享总线的以上缺点。从技术上,目前使用较多的交换结构有共享内存和Crossbar两种。而Crossbar的结构由于其简单性得到了更多的青睐和更广泛的采用。


  共享内存结构是通过共享输入输出端口的缓冲器,从而减少了对总存储空间的需求。分组的交换是通过指针调用来实现的,这提高了交换容量。但它的速度受限于内存的访问速度。


  Crossbar结构可以同时提供多个数据通路。一个Crossbar结构由N×N交叉矩阵构成。当交叉点(X,Y)闭合时,数据就从X输入端输出到Y输出端。交叉点的打开与闭合是由调度器来控制的。因此,Crossbar结构的速度要取决于调度器的速度。调度器是Crossbar交换结构的核心,它在每个调度时隙内收集各输入端口有关数据包队列的信息,经过一定的调度算法得到输入端口和输出端口之间的一个匹配,提供输入端口到输出端口的通路。


  Crossbar结构可以支持高带宽的原因主要有两个:第一,线路卡到交换结构的物理连接现在简化为点到点连接,这使得该连接可以运行在非常高的速率。半导体厂商目前已经可以用传统CMOS技术制造出1Gbit/s速度的点对点串行收发芯片,并且可以在今后几年里把速度进一步提高到4~10Gbit/s的水平。第二个原因是它的结构可以支持多个连接同时以最大速度传输数据,这一点极大的提高了整个系统的吞吐量。只要同时闭合多个交叉节点,多个不同的端口就可以同时传输数据。从这个意义上,我们称所有的Crossbar在内部是无阻塞的,因为它可以支持所有端口同时以最大速率传输(或称为交换)数据。


  数据包通过Crossbar的时候,可以是以定长单元的形式(通过数据包的定长分割),也可以不进行分割直接进行变长交换。一般高性能的Crossbar交换结构都采用了定长交换的方式,在数据包进入Crossbar以前把它分割为固定长度的cells,等这些cells通过交换结构以后再按照原样把它组织成原来的变长包(packet)。


  交叉开关和共享内存都能够达到比较高的吞吐率。共享内存的特点是实现简单,能达到比较高的吞吐率,但是其可扩展性比较差,当线路接口卡数量较多时,性能将受到一定的影响。而交叉开关能够达到比较高的速率,扩展性好,但是需要设计完善的调度算法并用高速硬件实现调度器。随着人们对交叉开关调度算法研究的深入,已经设计并实现了许多性能良好、实现简单的调度算法。因此,目前高性能路由器都趋向于使用交叉开关作为交换结构。


  但是交叉开关和共享内存结构仍属于单级交换结构范畴。当考虑大型系统时,单级交换结构有两个基本问题。第一、对于小规模系统,每端口成本还算合理,但随着规模的扩大,其成本涨得也特快。第二、所有的单级交换结构在技术上受限于其尺寸与速度。一旦达到这些极限,单级交换机无法再增加端口或提升线路速率。正因为如此,可扩展的交换系统必须采用多级结构。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐