电脑技术学习

核心路由器发展趋势

dn001

  为了提高路由器的性能,满足未来网络发展的需要,处于Internet骨干位置的核心路由器进行了一个又一个的技术变革。目前无论从整体的系统结构还是细微的实现方面都与传统路由器有着很大的差别。
  
  以专用网络处理器替代通用处理器
  为了缓解互连瓶颈,在最近几年涌现出新了许多新的系统和解决方案,其中采用专用ASIC来完成规定的数据包处理工作是十分理想的,但它的开发周期太长,复杂的ASIC要18个月到2年时间,每一个ASIC的开发都必须经历一个设计和制造的周期,适应不了当今越来越短的产品开发周期。
  
  网络处理器从2000年初出现到现在被许多网络设备制造商选作新一代高端路由器设备的核心处理器。而在这段时间里,能够开发出成熟的NPU芯片的公司也从开始的两三个迅速增加到了十几个,而且NPU的处理能力也从2.5Gbps扩展到10Gbps。这些都说明网络处理器技术在网络产品的市场中越来越占用重要的位置。尤其在高端路由器市场,网络处理器以其杰出的包处理性能及可编程性已经成为构成路由转发引擎不可替代的部分。
  
  与传统的处理器相比,网络处理器具有以下的优势:
  
  1、网络处理器可以提供数据包的线速转发功能,包括数据包的分类、统计和转发。另外还可以根据用户程序的要求进行数据包的重组和分拆;
  
  2、网络处理器可以根据用户需要进行带宽的分配和优先级定义,实现对各类用户数据包的分类治理;
  
  3、实现对三层及三层以上协议的分析。
  
  由于看到了网络处理器巨大的应用前景,网络处理器的制造商在提供IC产品的同时,也开始提供各种通用的软件功能模块。这些软件功能块大大节省了使用这些NPU的设备商的产品设计时间,提高了产品的竞争力。
  
  总的来说,网络处理器一方面保持了基于CPU设计的灵活性,一方面在实际上消除了传统CPU的瓶颈问题。在这类体系结构中,网络处理器存在于物理接口器件与交换结构之间的接口卡上,担负本卡上数据包的转发和治理。
  
  大容量交换矩阵的应用
  在最初的交换式结构中,由接口卡负责发送信息包的报头,通过交换结构送至一个转发引擎,由它做出转发决定,并将处理结果返回接口卡。接口卡再将信息包转发至相应的输出接口。随着网络处理器的引入,交换结构更加不可缺少。在这种系统中,网络处理器位于各个线卡上,而交换结构在输入线卡与输出线卡之间提供一对一的直接连接。
  
  交换结构的实现方式可以分为三种:共享内存、共享总线和矩阵式交换。其中共享内存方式实现简单、也可以达到比较高的速率(20Gbps),但是速率的进一步提高将受到内存速度的限制,很难有更大的突破;共享总线易于扩展,也比较轻易实现,但是速率相对较低。而矩阵式交换则可以达到比较高的交换速率,而且随着技术的发展,速率还可以进一步提高。目前最常用的结构形式是输入口与输出口的8×8,或16×16矩阵,带宽范围涵盖了OC—3至OC—192。
  
  矩阵式交换结构一般包括两个部分流量治理单元和交换矩阵。其中流量治理单元位于各个线卡上,与不同的网络处理器相连,实现以下的功能:
  
  1、作为网络处理器与交换矩阵的接口,接收网络处理器输出的数据包,进行数据缓冲并转换成可以为交换矩阵接收的数据格式;
  
  2、与NPU紧密结合,实现多播、广播、端口流量分配、优先级治理等功能。
  
  Crossbar是交换结构的核心部分。Crossbar的容量是非常灵活的,理论上可以随着端口数的增加无限增长。目前已经有许多IC公司公布可以提供从最常用的40G交换矩阵到T级规模的交换矩阵产品。
  
  以硬件查找路由表代替软件查表
  传统的基于软件的路由查找策略,如树或哈希算法,其执行过程都是相当慢的,而且与路由表的大小相关联。所以,这些方法只能用于比较小的、性能较低的包转发应用。
  
  采用哈希算法和树相结合的方法通常可以减少每次搜索对寄存器的访问次数。例如,动态编程和附加二级查找树可以减少路由查找需要的访问次数。尽管这种方式可以使得查找过程流水线化,但是数据结构的高度优化和压缩使得路由表的更新需要花费更多的寄存器访问和处理器周期。当路由表增大时,这个值还会增加。在路由表更新时,输入的数据包必须被缓存或丢弃,降低了路由器的性能。
  
  另外,基于软件查找和更新路由表的不确定性增加了包传输时的抖动,因此必须进行包的缓存,在高速率时还会造成丢包。
  
  因此,为了适应网络的发展,理想的包转发方案必须能够不但保证线速的数据转发速率,并且要提供足够大的路由表来满足下一代的路由设备的需要(在边界位置应达到512K)。同时它还要能够以很小的更新时延来处理长时间的突发路由表更新。
尽管通常路由表的更新为每秒几百次,但瞬间突发更新则可能会高出很多。
  
  要解决这个问题,目前来看最为有效的办法是采用专门的协处理器结合内容寻址寄存器CAM来完成快速路由查找或更新。下一代网络发展的总体趋势必然是带宽的迅速增长和速度的不断提高。核心路由器这个中心节点的交换容量也必然会以几十~几百倍的速度增长。这时,路由器的发展就会面临两个问题:
  
  1、核心路由器的端口数量大大增加。按照一个交换容量为160G的系统计算,假如都采用速率为OC192的线卡,则系统中线卡的数量将达到64个。为了容纳如此多的线卡,路由器的体积不可避免的会变得非常之庞大。
  
  2、线卡数量的增加及每个线卡上数据速率的提高都对路由器背板的设计提出了更高的要求,需要更多的屏蔽和更多的信号层,也就是更厚的背板。这样的要求显然是不可能实现的。
  
  这两个问题的解决方法都是相同的,也就是试图将线卡和交换系统分离开来。目前,许多Switch Fabric的制造商已经在其产品中采用了一种称为SERDES的接口来连接位于线卡上的TM单元和交换板上的Crossbar。SERDES接口是一种类似SDH标准的接口,在其数据帧中也分为开销和净荷两部分。其中开销字节传输的是一些请求信息或流控信息。在交换板上,各输入端口的同步通过SERDES数据帧中传递的同步时钟来保证。SERDES接口虽然现在还没有被NP论坛接受为一种通用的接口标准,但它的出现为以后实现线卡与交换单元的光连接打下了基础。