路由器的关键技术


近年来,互联网的发展异常迅猛,应用日益商业化,网上用户数的发展难以猜测 。此外,越来越多的用户需要高速接入 。有关资料表明,在我国,上网速度慢是众多网民抱怨的首要问题 。因此,提高网络带宽、网络服务质量、路由器上的网络治理系统变得日益重要 。在保证质量的前提下,最大限度地利用带宽,及早发现并诊断设备故障,迅速方便地根据需要改变配置等网络治理功能,成为直接影响网络用户和网络运营商利益的重要因素 。总地来说,路由器的结构正朝着速度更快、服务质量更好和更易于综合化治理三个方向发展 。
路由器的两大功能
数据通路功能:对于每个到达路由器的数据包,在不丢失的情况下,负责寻路 。此功能主要包括:转发决定,经由背板输出链路队列调度 。转发功能是通过专门硬件来实现的,每一个通过路由器的分组包都要执行这个操作 。数据通路功能对改进路由器的性能是很重要的 。
控制功能:主要包括路由表的治理和系统的配置与治理,以及与相邻路由器交换路由表信息,通过软件实现等 。这些功能不是针对每个数据包的,因此使用频度相对低一些 。
路由器的要害技术问题
就目前路由器设计中的一些要害技术,有的问题已经取得了阶段性的成果,有的才刚刚开始研究 。需要说明的是,这个领域的发展非常快 。为了便于系统地理解这些要害技术问题,我们根据路由器发展的三大趋势,大致将这些问题分为三类 。一是与高速有关的问题,如路由表快速查找、总线背板和交换结构等 。二是QoS问题,如数据流和数据包的分类,流量工程和阻塞控制等 。三是与软件有关的问题,如软件的稳定性、配置和治理等 。需要说明的是,这种分类法并不严格,有些问题可以同时属于两类 。
1.与速度有关的技术
* 路由表的快速查找技术
为了解决地址资源紧缺,减少路由表的规模,降低治理难度,互联网采用了CIDR(Classless Inter-Doma in Routing) 。这样,路由表中存放的不是一个个具体的IP地址,而是可变长度的网络前缀 。路由器在对IP包寻址时,采用最长的网络前缀匹配(LPM-Longest Prefix Matching) 。例如,假设路由表中有两个表项“202.168.X.X,输出端口1”和“202.168.16.X,输出端口2”(X表示任意),假如有一个IP包的目的地址为202.168.16.5,那么这个包应该从端口2输出 。传统的路由器执行最长网络前缀匹配的时间很长,使得路由表查找成为路由器速度的瓶颈 。最近两年出现了一些快速查表算法,能够支持吉比特链路 。这些算法包括改进的精确匹配法、基于trie法、并行硬件法、协议改变简化路由表的查询和缓冲法等 。这些算法,有些易于硬件实现,有些适合软件实现 。对于组播地址寻址,要根据IP包的源地址和组播地址查表,对源地址采用最长前缀匹配法,对目的地址采用精确匹配法 。
* 交换结构和调度算法
交换结构有Crossbar、共享存储器和总线三种方式 。Crossbar结构的速度由调度器决定,共享存储器结构的速度由存储器的读写速度决定,共享总线结构的速度由总线的容量和仲裁的开销决定 。调度器是Crossbar交换结构的核心,它在每个调度时隙内收集各输入端口有关数据包队列的信息,经过一定的调度算法得到输入端口和输出端口之间的一个匹配,提供输入端口到输出端口的通路 。采用输入缓冲无阻塞方式的Crossbar,用ESLIP算法实现调度已被一些厂家所采用 。调度器设计的难点在于,既要满足系统吞吐率达到100%的要求,又要支持CoS(Classes of Service) 。调度算法中,加权公平排队算法(WFQ-Weighted Fair Queuing)和经过改进后的加权公平流排队算法(WF2Q-Weighted Fair Flow Queuing)比较轻易实现,而且性能也不错 。总之,要让互联网真正能够综合多种业务,作为网络连接核心设备的路由器,必须提高端口速率和交换容量,提供QoS保证和流量工程(TE-Traffic Engineering)功能 。

推荐阅读