组图 优化路由软件,促进Internet可靠一


引言
Internet正快速地成为公共数据网的选择 。这个结论可以通过用户需求和新应用的快速增长 , 主流应用的增加 , 和重要业务的增长来证实 。由于客户们开始希望类似于公共电话交换网(PSTN)服务的可靠性和有效性 , Internet服务提供商(ISP)正在尽力地维持控制 , 以应付高速增长和不断增加的复杂性 。
传统路由器厂商也开始把目光集中到Internet核心网的吉位、特位 , 甚至“任何位”的包转发性能上来 。数字巨大得几乎难以理解 。不过 , 任何一个熟悉网络行业的人都不会对此感到惊奇 , 因为非凡应用集成电路(ASIC)和密波分复用(DWDM)技术的最新发展必然会使其一一实现 。在上面讨论中我们似乎忘记了一个重要的元素 , 那就是控制这个基本的问题 。提供了所有的带宽和转发能力 , ISP们如何在进入光Internet时代的同时对他们的网络进行控制和治理呢?
速度可以杀人!假如你在迪斯尼的Autotopia上以15m.p.h的速度玩赛车 , 控制是非常重要的 , 但你并不会受到伤害 。另一方面 , 假如你发现自己在Indianapolis500上 , 那么 , 高性能的刹车 , 轮胎 , 和驾驶所提供的控制 , 对您的生存将是非常重要的 。
这篇文章将假设我们已进入光Internet时代 , 高性能的转发引擎已经现实 。
Juniper网络公司已专为高性能和高速增长的Internet服务提供商开发出了一套JUNOSInternet软件 。这篇文章将讨论Juniper网络公司的JUNOS软件系统总体设计和一些相关的性能 , JUNOS软件已预备好服务于现在的Internet , 并对将来发展的控制奠定了坚实的基础 。当我们对一个路由软件进行评价时 , 对其软件结构 , 路由协议 , 策略定义语言 , 流量工程能力 , 用户界面 , 系统安全性 , 和网络治理性能的检验是非常重要的 。上述的每一个特性都将决定该软件可以为ISP提供成功进入Internet下一阶段成长所需控制的能力 。
Internet路由软件的体系结构
一个软件的结构决定了系统将被如何设计及不同组成部分间如何进行连接和相互操作 。许多关心路由协议和路由器配置的网络专家并不会花费时间去分析提供系统运行基础的下层结构 。正如我们将会了解到的 , 软件结构在决定网络的控制 , 稳定性 , 性能 , 可治理性 , 和复杂软件系统的可扩展性上将作为一个重要的角色 。
传统路由器软件结构的局限性
为全面理解传统路由器软件结构在今天的服务提供商网络中所面临的挑战 , 我们很有必要去了解这些软件系统的源头和发展 。最初 , 路由器软件结构假设底层的硬件仅有一个CPU , 这块CPU不仅负责提供实时的包转发 , 同时也要提供路由计算 , 建立路由更新 , 治理用户界面 , 和支持网络治理(图1) 。这种对单一CPU的依靠 , 决定了传统路由器操作系统被开发和实现的框架 。
 
图1:典型的传统路由软件体系结构
因为传统路由系统是在假设它们将支持对时间敏感的任务(即 , 包转发)的前提下被开发的 , 设计者必须要开发一个具有实时操作系统单元的运行环境 。即使他们意识到普通的操作系统可以提供极高的系统可靠性和稳定性 , 但同时他们也知道 , 一个多进程系统中所固有的由于内存治理及工作的重复而导致的性能低效性 。这些传统路由系统的设计人员决定 , 他们将通过合并代码和避免重复的方式来增强整个系统的性能 , 即使这意味着将要建立一个单一的 , 非模块化的代码库 。
以一种历史的观点来看 , 在那时的技术条件下 , 这个决定可能是一个最好的折中办法 。但是 , 为达到预期的效果 , 传统的路由系统也导致了惊人的费用 , 包括:

推荐阅读