姜天露
随着社会信息化进程的深入发展,因特网作为信息化的基础设施正以前所未有的速度发展。作为因特网重要设备的路由器的开发与研制能力已经成为一个国家信息化能力的重要标志。本文以支持IP协议路由器为例,介绍高速路由器的原理与组成。
路由器技术发展到现阶段已经历了3代的发展,并在继续演进。
第一代路由器是由软件集中进行IP包转发的,所有的IP包都要经过中央CPU进行转发处理,吞吐率比较低,转发能力约几万包每秒。
第二代路由器是基于软件的分布式转发,每个接口板上都有CPU,主控板生成的路由表被下发到各接口板形成转发表,每块接口板根据转发表独立进行转发工作,转发能力超过100万包每秒。第二代路由器的技术要点是各接口板转发表的刷新和同步技术。
由于CPU的处理能力增长是每18个月翻一番,而因特网的流量却每6个月就翻一番,因此基于软件转发的路由器一度成为网络中的瓶颈。90年代后期,IP业务呈爆炸式发展,路由器技术也实现了向第三代的飞跃,并在接口速率上超过了一度有望成为数据网络主要技术的ATM。目前,ATM交换机的高速接口只达到了2.5Gbit/s,而高速路由器的最高端口速率已达到10Gbit/s。同时,由于IP技术自身的QoS技术不断发展,特别是MPLS技术的引入,QoS问题正在IP领域逐步得到解决,高速路由器重新占据了IP网络的核心位置。
第三代路由器基于硬件进行IP包的转发,转发引擎可以是ASIC(专用集成电路),也可以是专门为IP转发而设计的网络处理器。代表性的产品有华为公司的NetEngine 50高速路由器和Cisco的12000系列路由器等。转发数据包的速率达到了数千万包每秒,能够充分利用传输技术进步提供的大量带宽。
尽管包转发技术的基础已经发生了变化,但路由器需要完成的任务却是相同的:检查进入的数据包,将其目标地址与路由表中的项目相比较,然后从正确的端口发送出去。在这一过程中,数据包还接受一些额外处理任务,如QoS判断、流量工程、流量统计等。
不同的设备厂家生产的高速路由器结构是不同的,例如Juniper的M40和M160是共享内存的交换网,而华为、Cisco等厂家使用Crossbar纵横制交换网。由于Crossbar交换网可扩展性好、模块结构清晰、便于升级到更高速的产品,从而保护用户的投资,是高速路由器的主流技术。下面以主流技术为例,介绍高速路由器的原理,不涉及各厂家的实现细节。
高速路由器的结构如图1所示。
高速路由器通常由主控板、交换板、线路接口板组成,它们通过高速背板连接,插在一个具有电源、风扇的机框中组成一台完整的路由器。
(1) 主控板:主控板是路由器的控制中心,CPU和存储器就在主控板中。主控板负责整个路由器的管理和控制,IP路由协议在主控板上运行。主控板直接接收来自网管中心的指令,并下发到各接口板执行指令,同时各接口板把运行状态和统计数据传送到主控板,由主控板进行必要的处理,需要时发给网管中心。网络管理员配置的静态路由以及通过运行路由协议生成的动态路由由主控板进行管理,并下发到各接口板,使各接口板可以独立地进行数据包的转发工作。
主控板的作用举足轻重,一旦它发生故障,整个路由器将不能正常工作。对于电信网的核心网络设备来说,要求可用率达到99.999%,即1年的停机时间不能超过5min。所以主控板通常配有两块,一般以主备的方式工作。主备板周期性地交换握手信号,一旦备用板收不到主用板的握手信号,则会启动倒换流程,接替主用板工作。
(2) 交换板:高速路由器的整机吞吐量很大,早期路由器的基于背板共享总线传递数据的方式已不能满足高速数据传递的需要。首先,共享总线不能避免内部冲突;第二,共享总线的负载效应使得高速总线的设计难度很大。交换结构的引入逐步克服了共享总线的以上缺点。
Crossbar交换网可以形象地比喻为纵横制电话交换机的交换网,通过点到点的连接把需要通信的输入端口和输出端口连接起来。Crossbar结构可以支持高带宽的原因主要有两个:第一,线路卡到交换结构的物理连接简化为点到点连接,这使得该连接可以运行在非常高的速率上。半导体厂商目前已经可以用传统CMOS 技术制造出4~10Gbit/s速率的点对点串行收发芯片。第二个原因是它的结构可以支持多个连接同时以最大速率传输数据,即多个输入/输出端口对可以同时通过这个交换网进行通信。这一点极大地提高了整个系统的吞吐量。只要同时闭合多个交叉节点,多个不同的端口就可以同时传输数据。从这个意义上看,我们称所有的Crossbar在内部是无阻塞的,因为它可以支持所有端口同时以最大速率传输(或称为交换)数据。
数据包通过Crossbar的时候,可以是以定长单元的形式(通过数据包的定长分割),也可以不进行分割直接进行变长交换。一般高性能的Crossbar交换结构都采用了定长交换的方式,在数据包进入Crossbar以前把它分割为固定长度的cell,这些cell通过交换结构以后被按照原样组织成原来的变长包(packet)。定长交换方式更利于交换网的控制,分组长度一样,判断其传输和离开的时刻就很容易。在时隙结束时,调度表检查等待传送的分组,决定下一个时隙哪个输入与哪个输出相连,避免输出或输入端的空闲,保持交换机的高效率。而且从硬件设计的角度讲,处理固定长度分组比处理不同长度的分组更简单、快速。同时定长交换可以避免某些业务流的大长度包长时间占用交换网,影响高优先级业务和实时业务的交换。
由于交换网板的故障也会导致整机的瘫痪,所以通常也设有主备板。另外,大容量交换网通常是多平面的,由多块交换网板组成,所以主备方式通常为N:1。
(3) 线路接口板:线路接口板提供多种线路接口,目前常见的有10M、100M、1 000M、10Gbit/s以太网口,155M、622M、2.5G、10Gbit/s的POS接口,155M、622M、2.5Gbit/s的ATM接口等。线路接口板从不同的物理层和数据层信息中提取出IP数据包提交给专用ASIC或网络处理器进行处理。这种处理已不再局限于简单地把IP包转发到目的端口。
目前IP网不仅承载数据业务,还要承载语音和视频等实时业务,另外随着企业向国际扩展,各分支机构和总部之间需要在公用网上组建企业虚拟专网(VPN),同时传统的因特网没有QoS保证,运营商也无法从重要客户手里收取附加费用,网络业务无法增值,整个网络产生的效益就会很低。在路由器中,对不同QoS优先级的用户数据流要实施不同的转发策略。所有这些业务的支持要求对用户的数据流进行分类、排队、基于优先级的调度、整形、流量统计、数据封装等操作。
对于10Gbit/s这样的高速端口,要求高速路由器做到线速处理,这确实是一个严峻的挑战。例如支持10Gbit/s端口时仅排队就有很多困难。传统的内存芯片(SRAM或SDRAM)通常工作在100MHz,对于64位总线来说,芯片的带宽不超过6.4Gbit/s,排队时需要读写两次操作,则一块内存只可以支持3.2Gbit/s接口的数据排队。对于10Gbit/s端口,需要更宽的总线或更先进的内存技术(如RAMBUS),即使掌握了这些技术,还需要高效的内存管理。
早期高速路由器的IP转发和业务处理由专门定制的ASIC实现,由硬件逻辑完成以前由软件完成的工作,以加快IP包的处理速度。ASIC一旦设计完成,复制成本比较低,但增加新的业务则比较困难。近两年一些芯片厂商推出专门适用于IP包处理的网络处理器,内部包含多个微处理器和专用任务处理线程,有的厂商还把大量的内存做在芯片内部,以方便实现对IP包的7层处理。使用时将微代码下载到网络处理器中,网络处理器根据微代码的指令执行IP处理工作。有了网络处理器,可在路由器运行过程中,下载新的微代码,以增加新的业务或改变业务处理流程,增加了路由器的灵活性,但网络处理器比ASIC要昂贵。
(4) 高速背板:传统路由器一般使用共享式总线传递数据,并在近几年引入了越来越高速的共享式总线,从ISA到EISA和现在的PCI,但依然存在上文所述的缺点。在高速路由器中引入了交换网后,在背板上用点到点的高速连线把用户板连接到交换网,进行高速数据传递。由于交换网是备份的,背板上的数据线也是双套的。同时背板上仍存在控制总线,用于交换控制信息,当然控制信息也可以在数据通道的带内传送。由于高速连线众多,背板的设计和加工也比较复杂。
(5) 风扇和电源:高速路由器内部芯片密集,功耗很大,对风扇和电源同样有很高的要求。风扇的设计要充分考虑机箱内各器件的位置,使各器件产生的热量能够及时排放出去。同时风扇的转速要根据机箱内温度可以调节,风扇损坏以后要进行告警,并可以方便地进行更换。电源模块除了在功率上要留有余量外,要考虑备份。
高速路由器在网络中通常处于核心位置,一种组网应用如图2所示,高速路由器间通过高速接口互联。
由传输技术的不断进步所引发的带宽革命正汹涌而来,国内已大量部署32×10Gbit/s的DWDM传输系统,实验室里单根光纤的传输速率已达到1000Gbit/s以上。宽带接入正成为各运营商建设的重点,是争夺用户的关键战役。带宽革命正在进行着,它不可能停下来,甚至不可能慢下来。高速路由器也向着更高端口速率、更大吞吐量、更丰富的业务的方向演进。目前第四代路由器已在国外初步商用,第四代路由器是多机架的,采用光背板进行高速互联,线路接口总容量达到1Tbit/s(1 000Gbit/s)以上。多个机架被当做一台路由器来管理,简化了管理负担,同时节约了多个不同设备互联时昂贵的端口开销。加拿大已有一家小公司着手研制线路接口总容量达1Pbit/s(1000Tbit/s)以上的路由器。可以想见,未来的高速路由器设备市场必定异彩纷呈,目前由少数几家设备供应商垄断市场的局面将一去不复返了,这对运营商和用户都是有利的。华为公司将锐意创新,不断推出新的产品,以满足日益增加的网络带宽和不断涌现的新业务对设备的需求。
摘自《北极星电力电信网》