扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
尽管业务需求每年都会对网络提出越来越多的期望,然而在过去的十年里,底层路由平台的基本软件架构几乎没有变化。 传统路由器操作系统(OS)在设计时从未考虑到今天的动态 IP 流量,这使用户在业务需求和运营需求之间很难进行适当的权衡和妥协。
传统路由器的基本设计局限性在于老式 Internet 操作系统的整体式软件架构。为了试图不被淘汰,传统 OS 的代码库成长为庞然大物,约束了支持动态 IP 流量所需要的智能和敏捷。老式操作系统所面对的挑战包括:安全问题,诸如分布式拒绝服务(DDOS)攻击期间的控制端口锁定;软件稳定性;性能退化(特别是激活服务之后);以及管理复杂系统的运营消耗。
为了应对这些挑战,Juniper 网络公司开发了模块化的操作系统 JUNOS。 JUNOS 的现代软件架构允许企业构建智能网络以满足动态IP数据流的多样性需求。 JUNOS 的性能和完整性在全球最大的一些 IP 网络中已经得以证实。现在,企业、政府机构以及研究/教育组织只要引入 Juniper 网络公司的 J 系列/M 系列路由器,即可使用 JUNOS。
JUNOS 的模块化软件架构提供了完整的路由器控制权:每项功能都有受保护的处理资源,而且还有可以简化配置/管理的新一代命令行接口(CLI)。 JUNOS 只有一条代码链,从首次出货时就确保了特性的连续性——可根据预期计划无故障运行。
部署了 Juniper 网络公司的路由器之后,网络的安全性、工作时间、性能和运营灵活性都将提高到新的水平,另外还有很多有助于平台入门的系统和工具。 利用 Juniper 网络公司的路由器,企业可以紧跟其不断变化的需要,满足关于安全、稳定的新一代 IP 网络的整体需求。
现状再思考
以前,IP 网络的应用需求相对直观,那时主要关心的仅仅是连通性。 现在,不但引入了新的语音应用和视频应用,而且公司内部/外部的用户群也在不断扩展,这些都带来了很多新的需求。 今天的 IP 网络必须在传统的运营需求(性能、可靠性和安全性等)与不断扩展的业务需求(更强的网络智能、更广泛的访问策略和更高的设备灵活性等)之间进行权衡;
图1 今天的网络需要很多权衡
尽管业务需求每年都会对网络提出越来越多的期望,然而在过去的十年里,路由系统底层基础设施的基本软件架构几乎没有变化。 传统路由器的操作系统是在今天大多数动态 IP 应用尚未开发出来之前设计出来的,而当时的设计受到当时的硬件/软件技术的制约。
当有新兴需求出现时,传统路由器的单一软件架构的局限性立刻体现出来了。为了试图紧跟所有这些新兴需求,传统操作系统的代码库成长为庞然大物,约束了支持动态 IP 流量所需要的智能和敏捷。 现在,由于这个已经过于庞大的代码库集成了越来越多的服务,因此以前路由器的操作系统对这些服务的控制变得越来越虚弱。
传统的操作系统设计会有一个整体式代码库,其中的所有路由功能均相互缠绕、分享相同的 CPU 周期。过于庞大、缠绕混合的架构会带来固有的处理冲突,这会影响到路由器的安全性、稳定性和性能。举例来说,相互分享、缠绕混合的架构使得路由器的包转发功能要消耗所有的处理资源,控制和服务功能不得不等待,需要更多的周期才能完成。
由于这一原因,分布式拒绝服务(DDOS)攻击期间传统路由器的控制端口经常会被锁定。关于混合架构的处理经常局限性还有另外一个例子:大多数企业会明显过载其网络设计能力,而不是使用可行的 QOS 机制。 在传统路由器操作系统中,由于不能有效地管理处理资源,因此激活这些 QOS 工具会严重地降低吞吐量性能。
图2 混合传统操作系统的架构
混合架构同样也无法隔离故障,于是小问题会很快变成大范围的停机。 诸如有一个小故障:一项任务出现了内存泄漏或内存错误,将会导致重写另一项任务的代码或数据结构。 这类错误会导致更多的任务失败,最终是整个操作系统的崩溃。 唯一恢复这类故障的方法是,重新启动整个路由器。
另外,路由器本质上是复杂的,难以配置和维护,它需要大量的时间和很高的专业技术水平。 例如,传统的 CLI 需要多个步骤或命令才能执行一些基本的功能,而且对那些导致安全漏洞或性能退化的简单错误只有最基本的保护措施。一项特性/功能如何影响到另一项特性/功能,这要求考虑到很多细节;因此网络的变动要求更认真的前期设计、工程设计和实现,这都会导致应用的首发日期滞后数月。
混合架构的另一项挑战是,新特性的开发和为了支持所有可能平台排列而导致的大量操作系统的镜像。整个软件架构变得如此庞大,使其失去了灵活性、可伸缩性和系统稳定性。修改变得特别难以进行——因为仅仅是添加一项新特征,就会影响到整个代码库。另外,因为需要更正重要的网络问题或添加重要的新特性,所以代码的规模和复杂性也决定了厂商发布新软件版本的速度。
尽管在上一个十年里,传统系统试图紧跟所有这些不断变化的需求,但“每个特性或修订都有一个版本”的传统方式只会带来更多的挑战。传统路由器代码的补丁包可以根据平台、接口及版本指定,这样企业级设备将会有5000多种可用的软件版本。一些企业运行着多达100种不同的软件版本。为每个设备找出合适的版本以满足特定的需求,这本身就是一件令人望而生畏的工作。
考虑到传统路由器操作系统中明显的软件复杂性,企业通常会尽可能地避免软件维护,因为即便像添加一项特性这样的简单操作也会影响到整个代码库。 如果确实需要补丁和升级,将需要花费数月的时间来评估、测试不同的版本以确保系统的稳定性和互操作性。由于软件升级的麻烦,企业也通常会订购比实际需要更多的特性和内存,以避免将来改动时的混乱。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。