高速路由器的原理( 二 )


(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),即使把握了这些技术,还需要高效的内存治理 。

推荐阅读