路由器技术的变革


为核心的设备 , 路由器在IP网上处于至关重要的位置 。随着因特网应用的普及 , 网络带宽的迅速增加 , 用户对服务质量要求的提高 , 路由器技术也面临着新的变革 。交换式路由技术就是这一领域的热门话题 , 它不仅解决了通信流量问题 , 而且具有更高的网络控制能力和治理能力 。
80/20规则的演变
基于软件的路由器的缺点已是众所周知 。当网络流量主要是在工作组内部进行时 , 基于软件的路由器是够用的 。因为主要的网络流量不是跨路由边界的 , 路由器缓慢的转发性能不会过于影响路由协议的实施 。这就是所谓的 80/20规则 , 即80%的网络流量发生在工作组内部 , 20%的网络流量跨工作组进行 。
但是现在网络环境已经发生巨变 , 具体表现在Web应用呈爆炸性增长 , 网络流量的分布模式已变得无法猜测 , 用户数量呈指数曲线增长等等 。但控制网络流量仍然是一项重要的网络要求 , 人们再也无法接受基于软件的路由器的性能缺陷了 。现在 , 80/20的规则已转换为20/80 。
在业界对交换式路由器的热烈讨论中 , 性能占据了中心位置 。基于软件的路由器以每秒数十万包的速率转发数据包 , 而交换式路由器转发数据包的速率则达到了每秒数千万包 。这种在性能上数百倍的提高是通过体系结构变化而实现的:传统路由器采用运行于微处理器上的软件来转发数据包;而交换式路由器使用的则是硬件 , 如专用集成电路(ASICs) 。
尽管包转发技术的基础已经发生了变化 , 但需要完成的任务却是相同的:检查进入的数据包 , 将其目标地址与路由表中的项目相比较 , 然后从正确的接口发送出去 。在这一过程中 , 数据包还接受一些额外处理任务 。
网络控制能力的提高
传统路由器无法同时保证性能和控制功能 。控制功能是由一系列规则所提供的 , 举例来说可能是优先权、拒绝访问或提供记账数据 。当数据包进入路由器时 , 这些相关的规则也同样作用于数据包 。在基于软件的路由器中 , 这些规则被存储于一个软件数据库内 , 每个数据包通过时都必须与该数据库进行核对 。这正是问题的根源:处理路由功能的微处理器还必须查询数据库 , 此时数据包不会被发送 , 因而路由器的转发能力较低 。
新一代交换式路由器不会碰到这种问题 , 因为查询和控制功能都是在硬件中实现的 。交换式路由器性能与控制功能结合起来的要害在于ASIC能够读阅每一数据包内容的多少 。
ASIC能够收集到的关于每一数据包流量的信息越多 , 可作用于该数据包流的控制水平就越精细 。
每一次的客户机/服务器对话都会在客户机与服务器之间产生一串数据包 。这些数据包构成的数据流可分别在OSI第二、三或四层进行识别 。每层都会提供关于该流的更为具体的信息 。治理一个网络的最基本的工作就是控制这些网络流量 。在第2层 , 数据流中的每个数据包通过源站点和目的站点的MAC地址加以识别 。在第3层 , 数据流通过源和目的网络地址被识别 , 控制数据流的能力仅限于源/目的地址对 , 如现在市场上的被称为第3层交换机的交换式路由器 。假如一台客户机正在同时使用同一服务器上的多个应用程序 , 则第3层信息就不会对每一应用程序流作出具体描述 , 这样就无法为每个数据流逐一实施不同的控制规则了 。
——传统路由器都具有阅读第4层报头信息的能力 。实际上 , 传统路由器中的大部分高级控制特性都是在第4层上实现的 。例如 , 在基于软件的路由器中 , 第4层信息被用来建立安全过滤器 , 这在控制网络流量的过程中是一个重要组成部分 。但是对于基于软件的路由器来说 , 由于前面所述的理由 , 对数据包的深入阅读将会极大地牺牲性能 。的确 , 在许多基于软件的路由器中 , 当启用安全过滤器时 , 性能最多可下降70% 。

推荐阅读