高速路由器技术<1>
胡军武
摘 要:社会的需求和技术的进步使Internet进入快速发展阶段,并逐步成为新一代的公众
信息网。高速 路由器作为数据通信网络,尤其是IP网络中必不可少的网络组件,越来越受
到人们的普遍重视,其性能好坏直接影响到数据通信网络的性能。本文介绍高速路由器技术。
关键词:高速路由器 crossbar 路由表 队列 调度
传统的路由器通常是基于总线和集中处理器结构的,其处理能力一般为几十万个包/秒,最大
的吞吐能力约1Gbit/s左右,而未来网络的接口速率一般为622Mbit/s、1Gbit/s、2.5Gbit/s,
甚至更高的速率,传统的路由器显然不能适应于未来网络发展的需要。随着Internet骨干网
上业务量的激增,对路由器的处理能力、容量提出了更高的要求,这样必然就出现了许多新
的路由器设计,这些新型路由器抛弃了传统的总线/背板加集中处理器的结构,代之以高性能
的专用或通用的交换矩阵,有些甚至直接采用了ATM交换矩阵;同时将原来集中在中央处理器
的智能尽量分散至各个接口处理模块,希望通过高速缓存和其它的路由预处理手段来加速数
据包的转发,经过一系列结构上的改进,路由器的吞吐量有了很大的提高,形成了高速路由器。
1、高速路由器的概念
所谓的高速路由器是指系统吞吐量在每秒数千兆比特(multi gigabits)或更高速率的高性
能路由器,从外部看,它的功能实际上和传统路由器是一致的,最主要的特征是速度快,虽然
高速路由器和传统的低速路由器并没有一个精确的界线,但一般说来它具备以下的基本特征:
1)系统需要有足够宽的内部数据带宽来支持各端口之间数千兆的数据流量;
2)系统应具有足够高的数据包处理能力以达到每秒数百万包(Mpps)的转发能力,按Internet
上数据包的平均长度1000bits计算,每一千兆的带宽需要1Mpps的包处理和转发能力;
3)应具有有效的QoS手段来满足客户在不同场合对不同服务质量的要求;
4)具有能支持多种现行协议标准和支持未来协议发展的能力如IPv6,MPLS等。
高速路由器是一种新的交换机。它提供了网络的可扩展性、简单性和速度。它将IP路由的
功能集成到硬件中去。采用分布式处理的方法,达到高速路由的目的。它能以十分之一的路
由器代价取得十倍IP的性能。由于高速路由器没有引入新的协议,因此它能方便地加入到现
有的网络中,实现与现有网络的无缝连接。引入高速路由器的最大的好处是大大简化了网络
的设计,显著地降低网络成本,使路由和交换有相同的性能,使应用系统有较好的响应速度。
2、路由器的结构
路由器一般由4部分组成:输入端口、输出端口、交换背板和路由处理器。输入端口是物理
链路的连接点,负责分组信号进入路由器,端口安装在线路卡上,线路卡一般支持4、8或16个
端口;交换背板连接输入端口和输出端口;输出端口存储分组信号,并将其进行排列,安排进入
到输出链路中;路由处理器主要执行路由协议,创建转发表,用于包信号的转发。
为了清楚描述高速路由器的工作原理和流程,我们把路由器的功能区分为以下两类:数据通路
功能和控制功能。
●数据通路功能:指路由器对每个经过路由器的数据包都进行的一系列处理和操作动作,使数
据包得以正确转发的功能。这一系列处理和操作包括:转发判决、背板交换、队列管理等。
●控制功能:指路由器对一些非频繁发生的事件的处理和对系统的配置和维护管理的功能,用
路由协议(如RIP、OSPF等)了解网络拓扑结构,构造和维护路由表,并将路由表信息分发给各
个包转发处理功能,一般通过软件实现。
数据通路功能可进一步描述为三个步骤:
1)转发判决:当一个IP数据包到达路由器时,路由器首先把这个数据包的头中的目的地址提取
出来,在本地的转发表中查找这个地址所对应的出口,如果地址找到,数据包的存活时间减一,
校验包头和重新计算。
2)背板交换:数据包然后被送到交换结构,由交换结构再送到相应的输出端口。在数据包要求
交换结构服务的时候,有可能需要等待,为了避免阻塞和满足不同数据包的QoS要求,需要等待
的数据包有可能要进入不同队列。
3)输出调度:当数据包经过交换结构到达它所需要到达的输出端口后,等待进入输出线路。以
往的路由器基本上是按照先进先出的原则,对于高档的路由器,也可能需要组织不同优先级的
队列,满足不同QoS的需求。
3、高速路由器的关键技术
3.1 路由表查询
Internet上计算机的数量正处于急剧增长的阶段,同时用户对带宽的需求又在不断的增加,这
两个趋势对路由器的地址查找产生了巨大的压力。一方面,骨干网上路由器的路由表和转发
表越来越大;另一方面,为了高速度,路由器需要在越来越短的时间里完成一次转发表的查询。
高速路由器中的地址快速查询算法和解决方案是一个关键技术,从目前来讲主要有以下几种解
决方案:经典的快速算法;CAM解决方案;cache方案和基于协议的解决方案。
1)经典的快速查找算法:这些经典快速算法包括二分法查找算法,哈序算法,二进制搜索树等算
法。
2)CAM解决方法:CAM是Content addressable memory的缩写,即内容可寻址存储器。
3)cache解决方法:cache的方法对于企业级的路由器来说得到了很广泛使用,但是由于核心路
由器需要的转发表非常大,一台核心路由器可能同时有240000个不同目的地址的数据流在传输。
因此对于核心路由器,cache只是一种辅助的方法,我们最好需要有足够大的cache能把整个转
发表放进去,而且即使这样,我们仍然需要快速算法。
4)基于协议的解决方法:Internet主机的数量每天都在增加,带宽的需求每天都在加大,Ipv6的
地址长度增加到了128位,这只能增加地址查找的压力。以上介绍的快速方法即便能对付现在,
也不一定能应付未来。所以人们已经开始从协议本身的角度去寻求解决方案。其中之一就是
MPLS规范。
3.2 包过滤和分类
传统的包过滤处理一般是出于安全性和防火墙等方面的考虑,在路由器入口处设置一些过滤规
则,把不安全和未通过认证的数据包丢弃。对于合法的数据包,路由器只是根据数据包的目的
地址,采用尽力而为的简单策略进行转发。到现在,为了满足用户的不同服务质量要求,数据包
的转发不但要根据目的地址,还要根据不同的源地址,甚至不同的应用而实施不同的转发策略。
数据包分类的依据已经不仅仅是第三层的目的地址和源地址,而且需要用到第四、第五和以上
的信息。由于这种分类常常用到第四层TCP和UDP的端口号,所以我们经常把这种具有第四层或
以上分类能力的路由器和交换机称为具有第四层交换能力的路由器和交换机。
3.3 交换结构
虽然计算机工业在近几年引入了越来越高速的共享式总线:从ISA到EISA,现在的PCI。但是这
仍然跟不上网络发展的步子。首先,共享总线不可避免内部冲突;第二,共享总线的负载效应使
得高速总线的设计难度太大。
交换结构的引入逐步克服了共享总线的以上缺点。从技术上,目前使用较多的交换结构有共享
内存和crossbar两种。而crossbar的结构得到了更多的青睐和更广泛的采用,其主要原因是它
的简单性。
Crossbar结构可以支持高带宽的原因主要有两个:第一,线路卡到交换结构的物理连接现在简化
为点到点连接,这使得该连接可以运行在非常高的速率。半导体厂商目前已经可以用传统CMOS
技术制造出1Gb/s速度的点对点串行收发芯片,并且可以在今后几年里把速度进一步提高到
4~10Gb/s的水平。
Crossbar可以提供高性能的第二个原因是它的结构可以支持多个连接同时以最大速度传输数据,
这一点极大的提高了整个系统的吞吐量。只要同时闭合多个交叉节点,多个不同的端口就可以
同时传输数据。从这个意义上,我们称所有的crossbar在内部是无阻塞的,因为它可以支持所有
端口同时以最大速率传输(或称为交换)数据。
数据包通过crossbar的时候,可以是以定长单元的形式(通过数据包的定长分割),也可以不进行
分割直接进行变长交换。一般高性能的crossbar交换结构都采用了定长交换的方式,在数据包
进入crossbar以前把它分割为固定长度的cells,等这些cells通过交换结构以后再按照原样把
它组织成原来的变长包(packet)。
|