网络通信 频道

JUNOS:企业级路由器操作系统白皮书


  摘要
  尽管业务需求每年都会对网络提出越来越多的期望,然而在过去的十年里,底层路由平台的基本软件架构几乎没有变化。 传统路由器操作系统(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种不同的软件版本。为每个设备找出合适的版本以满足特定的需求,这本身就是一件令人望而生畏的工作。

  考虑到传统路由器操作系统中明显的软件复杂性,企业通常会尽可能地避免软件维护,因为即便像添加一项特性这样的简单操作也会影响到整个代码库。 如果确实需要补丁和升级,将需要花费数月的时间来评估、测试不同的版本以确保系统的稳定性和互操作性。由于软件升级的麻烦,企业也通常会订购比实际需要更多的特性和内存,以避免将来改动时的混乱。

  新一代操作系统--JUNOS简介
  现代 IP 应用需要一种智能网络,可以安全满足关于安全性、工作时间、性能和灵活运营等不同需求的集合。 应对这些挑战需要一种植根于软件模块化和现代编程技术的新设计方法。

  Juniper 网络公司的 JUNOS 操作系统通过目的导向构建,可保护目前动态IP流量的安全并满足网络要求。 Juniper 网络公司路由器在受保护系统资源上运行模块化的 JUNOS软件,克服了传统路由器操作系统的众多设计缺陷。

  Juniper 网络公司的路由产品在电信运营商群体中以其高级的系统设计和运营设计而闻名。 今天,90% 以上的 Internet 流量都要流经 Juniper 网络公司的路由器。 现在,由于商业环境的不断变化,使得企业的网络应用也在发生不断变化,为了支持不断变化的网络应用,企业的网络也需要不断改进。而越来越多的企业要求自己的网络能提供与运营商基础设施提供的相同服务级别。Juniper 网络公司将其高级 JUNOS 操作系统由T系列、M系列路由器扩展至J系列路由器平台以便让企业网络也能达到和运营商网络相同的级别。

  Juniper 网络公司的系统架构为路由平台的设计和开发带来了一系列本质变化。 Juniper 网络公司的路由器利用一种严格的分工,提供了任何其他平台都无法比拟的智能和性能。 模块化的系统架构使得企业能够满足新一代 IP 基础设施的不同需求。
  开发方法基于 4 大重要设计原则。
  - 受保护的处理--始终可用的资源确保了路由器的稳定性和控制
  - 模块化的软件架构--清晰地分隔开相互独立的软件功能
  - 新一代 CLI--高级的配置/诊断工具
  - 单版本链--通过严格发布过程开发出来的通用代码

  在下一节中,我们将结合这些主要设计原则所带来的许多优势,对其逐一进行详细介绍。

  受保护的处理资源--Juniper 网络公司的平台通过严格的分工保证了各项功能的资源,避免其互相影响。模块化设计将包转发功能、服务处理功能和控制功能完全分开。

  图3  模块化系统架构--Juniper 路由器

  这种世界级架构由 3 大独立系统组件组成,即路由引擎、转发引擎和服务引擎。每个引擎都有着自己专用的 ASIC 或指派的 CPU 资源(连同受保护的内存),因此处理冲突将不再是问题。
  - 路由引擎--管理系统的所有路由/控制功能,包括对等关系的维护、路由协议的处理以及路由表/转发表的创建和更新等。
  - 包转发引擎--接收包,执行路由查找,并向输出接口发送包。
  - 服务引擎--提供高级的包处理服务,诸如网络地址转换(NAT)、加密、状态防火墙过滤器、审计和实时性能监控等。

 

  这种世界级架构由 3 大独立系统组件组成,即路由引擎、转发引擎和服务引擎。每个引擎都有着自己专用的 ASIC 或指派的 CPU 资源(连同受保护的内存),因此处理冲突将不再是问题。
  - 路由引擎--管理系统的所有路由/控制功能,包括对等关系的维护、路由协议的处理以及路由表/转发表的创建和更新等。
  - 包转发引擎--接收包,执行路由查找,并向输出接口发送包。
  - 服务引擎--提供高级的包处理服务,诸如网络地址转换(NAT)、加密、状态防火墙过滤器、审计和实时性能监控等。

  Juniper 网络公司路由器强韧的受保护内存架构为每个操作进程分配了一个唯一的地址空间。 由于每项任务有着自己专用的ASIC或受保护的处理资源,因此,JUNOS提供了任何其他操作系统都无法比拟的智能和性能。

  JUNOS 对每个进程维持着 CPU/内存使用情况的可见性,带来了前所未有的 IP 基础设施控制力和可预测性。网络管理员拥有了实时信息和更强的 IP 网络控制能力,可以主动地阻止诸如性能退化和停机之类的问题。

  模块化的软件架构--JUNOS 操作系统的模块化软件架构是处理资源分工的补充。 JUNOS软件的构建考虑到使用现代操作系统设计原则时的稳定性,确保一个模块的变化或复杂性不会影响到整个操作系统。
  为了安全、可靠地支持性能需求不同的大量动态IP流量,模块化软件架构是基础。JUNOS操作系统,这种完全模块化的软件平台,为很多高级特性/功能的无缝开发和运营带来了功能上的分工。
  对软件系统进行划分之后,任务会分割成一些很少交互的可管理子集。加载一个子集而不会影响到其他子集,这样便消除了传统路由器的一种常见故障模式。在这些相互独立的模块之间,有一些清晰的、定义明确的接口可以提供进程间通讯,从而带来一种高度可靠的软件架构。

  路由协议、接口管理、机箱管理、SNMP管理和其他关键功能均作为独立的进程执行,每个进程都具有各自的内存保护。诸如路由协议守护进程和SNMP之类的关键进程可以独立地重新启动或改动,而不会对路由器运营造成不利的影响。

  模块化 JUNOS 在过去 8 年里的发展已经推动操作系统架构成为联网行业的新一代技术。现在,模块化已经被作为所有新一代系统的非常好的软件设计方法。虽然Juniper网络公司竞争对手的最新 1.0 版系统使用了模块化软件,但企业级设备仍然局限于传统软件代码及其混合架构的缺陷。

  新一代 CLI--JUNOS 扩展了自己的现代设计,不再只是带有一种高级管理特性的系统架构。对于用户而言,JUNOS 的结构化 CLI 是一目了然的。其智能化、分层式的组织非常适合任务操作,另外还内置了很多创新特性,简化了整个网络的部署、配置及恢复。

  - 命令帮助和命令补全--JUNOS CLI 提供了上下文敏感的帮助,在每个命令层次级别都完整地列出了所有可用的命令。另外,CLI 还将补全只输入一部分的命令或选项。
  - 提交检查(Commit Check)--在 CLI 编辑器中,用户做的一系列改动会作为一个分组命令集合应用。在编辑器中,用户可以验证命令集的语法,然后一次性运用所有改动,而不像其他厂商那样,要单个的命令逐行输入改动。
  - 提交确认(Commit Confirm)--在对远程配置设备中,始终存在意外断开设备或终止管理会话的风险。Commit Confirm 命令有助于防范在这些情况下失去连通性--如果系统没有收到确认改动的通知,系统就会回退到此前的配置。
  - 回滚(Rollback)--如果激活的配置导致运营性能退化,JUNOS CLI 提供了一个Rollback命令可以快速恢复到此前的50种配置之一。与撤销单个命令相比,使用回滚功能恢复此前的配置更快、更容易。
  - 配置比较--J 系列路由器的 J-Web 图形管理界面显示了命令提交历史以及当前的配置文件。网络管理员还可以发起两份不同配置版本之间的比较,从而强调文件差别。
  - 救援按钮--J 系列路由器有一个隐藏式按钮,该按钮指向一个的救援配置文件(该配置文件可能是用户长期使用验证的最稳定可靠的配置)。救援按钮与路由器重启不同,路由器重启通常会重新启动到同样的问题配置。利用救援按钮,现场任何(即使没有技术背景的)员工都可以进行快速安全的救援配置回滚。

  单版本链--Juniper 网络公司遵循一种严格的、定义明确的开发发布过程,在其 J 系列、M 系列和 T 系列等路由平台上都使用同一个代码库。这个公用代码库和 JUNOS 独立模块的内在灵活性一起,支持有效的特性开发和严格的逆向测试,可以快速地引入顾客所需要的新功能。

  在 Juniper 网络公司的严格开发标准之下,可以不断地添加、支持、测试和可靠地承载转发--每年有 4 次重要的发布,而小规模升级每月都会有。作为一种模块化软件平台,很多开发者可以同时为 JUNOS 创建新的特性而不会影响彼此的工作。针对一种平台开发的适合特征也可以用于其他平台(企业和电信运营商),通过产品组合,支持快速的特性引入和一致性。
  JUNOS 的统一代码库允许软件开发者在不同版本之间履行严格的逆向测试;这种逆向测试是产品开发过程的一个基本部分。 这种方式为系统维护和升级提供了一种一致的、可预测的途径,确保了特性的持续性,从首次出货开始就拥有如预期工作、毫无问题的优质代码。

  JUNOS校准网络功能和业务需求
  Juniper 网络公司的路由器配备了模块化操作系统 JUNOS 之后,允许企业设计出安全、稳定的网络以满足动态 IP 数据流的多样化需求。 部署了 Juniper 网络公司的路由器之后,让安全性、工作时间、性能和运营灵活性等提高到了新的水平,而且有很多有助于网络入门和运营团队入门的系统和工具。

  JUNOS 操作系统的SUPOR优势
  Juniper 网络公司路由器的高级架构设计有很多优势,可以用 S-U-P-O-R 这5个字母来帮助记忆。 Juniper 网络公司将路由器的安全性、正常运行时间、性能和运营提高到了新的水平;如下表所示。

  表1: SUPOR 优势
  SUPOR 优势 关键的区分点
  安全性(security) 受保护的系统资源确保了完整的路由器控制。 即使受到攻击,仍可通过控制端口,通过几个简单步骤即可添加新的过滤器和策略。
  正常运行时间(uptime) 模块化的 JUNOS 在故障扩散之前就对其进行了隔离,带来了很高的软件稳定性,其新一代 CLI 提供了配置错误防范功能。
  性能(performance) 资源受保护的模块化 JUNOS 软件支持 QOS、组播、过滤器、MPLS 及其他一些综合包处理功能,而不会影响性能。
  运营(operation) 一个公用 JUNOS 代码库简化了部署、补丁和软件升级,另外还带有多个用于帮助设备部署和管理的工具。
  路由器(routers) 业内唯一面向企业用户提供电信运营商质量级别路由器和所有特性

  安全性--任何网络的总体安全性水平总是由最弱一点决定的,因此设备级安全性是每个网络节点的首要考虑因素。 JUNOS 架构的软件模块性防御了基础设施攻击--它始终保护着控制方的处理资源。 诸如新增过滤器条件之类的升级始终可以使用控制功能,而路由器也可以与其他系统交换控制消息。

  控制端口从来不会像传统设备中那样锁定或变慢,运营始终处于控制之中。可以随时添加过滤器以阻塞分布式DOS攻击,而不会让路由器停止服务。使用JUNOS的新一代CLI可以快捷而轻松地在脱机编辑器中输入改动,然后通过一次快速升级再提交给路由器。

  另外一个重要的安全注意事项是路由器支持的过滤器条件数目。Juniper网络公司路由器支持一个接口多个过滤器,在提供细粒度流量控制的同时而不影响系统性能。IT员工可以定义控制以阻塞、限速或监控特殊的数据流和应用,在问题尚未凸现之前就将其扼杀在开始阶段,并且无需做出性能权衡。

  工作时间--由于网络主要是软件控制式的,因此,提高软件的可靠性和永续性是改善网络稳定性的基础。JUNOS的构建考虑到使用现代操作系统设计原则时的稳定性,其中包括模块化的程序架构和强韧的受保护内存架构。JUNOS可确保一个模块中的变化不会扩散到其他地方。每项处理功能都是独立且能胜任的。

  JUNOS的模块化软件设计也支持模块个体的快速重启和升级,因为这里没有必要重启整个路由器。例如,如果路由协议进程出现故障或出于某个原因而需要重启,而不会影响到它的转发进程,路由器可以在"优雅重启"期间仍然可以继续进行数据转发。 同样的机制也允许用户升级特定的JUNOS模块而不用重启整个系统。

  Juniper网络公司的软件可靠性不仅仅是代码的可靠性,其管理特征也设计成具有运营错误防范能力。配置错误是网络故障和安全故障的最大原因之一。JUNOS CLI高级的改动管理功能有助于降低运营风险和停机时间。 其智能化、分层式的组织非常适合于运营任务,另外还内置了很多特性,从而简化了整体网络部署和配置。

  性能--JUNOS 的受保护处理为企业提供了综合的、实时的、细粒度的网络流量控制。 路由器不仅是一种可用的综合性能管理工具箱,它还维持着较高的转发率,甚至还开启了越来越多的高级路由服务。 企业不需要再抉择较高的吞吐量与严格的流量控制。

  Juniper 网络公司路由器启用了对实时应用的支持,诸如对服务质量(QOS)有较高要求的语音应用和视频应用。JUNOS内部的高级 QOS 工具集针对流量优先级划分包含多个级别的细粒度QOS--逐个端口、逐个逻辑电路(DLCI、VC/VP、VLAN)、逐个通道(至DS0)。可用的QOS机制包括分类、限速、修整、加权循环调度、严格优先级队列、加权随机早期检测、随机早期检测和包标记。

  在拥塞期间,员工可以在最需要的时候依赖Juniper 网络公司的QOS特征。M系列的专用硬件和J系列的高级调度机制,确保了QOS任务即使在高流量负载之下的资源可用性。

  运营--横跨所有平台和实施的公用JUNOS软件简化了运营,实现了直观的软件更新和软件升级。 JUNOS 只有一条代码链,支持快速的版本认证和产品间的完全互操作性。与使用基于ASCII的CLI编辑命令相比,使用结构化的JUNOS CLI来管理路由器将会更加直观、更不容易出错。

  另外,JUNOS 的模块化软件设计支持一种许可证模型,允许及时地融合业务需求和操作系统特征。 虽然具有证书许可能力,JUNOS 还提供了灵活的软件特性升级功能,甚至在 J 系列路由器的多端口卡上添加了接口。正如企业需要改变一样,证书许可也支持快速激活新的功能,而不用长时间测试、验证新软件,也不用转到单个的站点。

  互操作性和适应性
  部署了 Juniper 网络公司的路由器之后,将安全性、工作时间和性能等提高到了新的水平,但也为员工带来了运营功能的互操作性注意事项和潜在的改动。为了向网络和运营团队引入这种新的路由设备,Juniper网络公司提供了管理所需的工具和支持。

  关于与思科IOS型平台交互操作的解决方案,Juniper 网络公司具有多年的解决方案提供、设计和实施经验。 Juniper网络公司的系统同时部署在全世界的设备中--不仅出现在数以千计的公司网络、政府网络和教育网络中,而且出现在全球最大的25家电信运营商网络中。

  第一次使用Juniper网络公司路由器的顾客会发现很多能帮助他们的工具和支持服务。JUNOS 操作系统的CLI既直观又易学易用,特别是对于那些有经验的网络操作员--他们一般会在几个小时之后就会挑选关键的功能。 对于新员工,Juniper 网络公司还提供了基于浏览器的接口 J-Web。 JUNOS 软件还包括 JUNOScript;JUNOScript 是一种简化了脚本编写和系统集成,强韧且基于 XML 的 API。 另外,还有一个强大的客户服务和支持小组负责提供 24X7 的支持、广泛的培训/专业服务、技术文档以及很多在线工具,其中包括一种可将Cisco CLI 转换为JUNOS CLI 的IOS-to-JUNOS 转化软件。

  小结
  JUNOS 是一种高级的软件解决方案,它校准了网络功能与业务需求,使得企业可以满足其不同的业务/运营需求集合。JUNOS 软件模块化的、一致的设计与传统路由器OS有着根本的不同,也就是传统路由器OS受到混合软件架构的抑制。

  JUNOS克服了传统 OS 的操作挑战,确保了操作员始终具有完整的控制能力,提供了系统高度稳定的强大安全性,带来了可预测的、不会降低的性能--所有这些都基于一个统一的代码库。

  JUNOS的性能和完整性已经在全球最大的一些 IP 网络中得以证实,其中包括全球最大的25家电信运营商网络。Juniper网络公司路由器在受保护的系统资源上运行模块化JUNOS软件,其中结合了可靠性与灵活性,支持高级路由、QOS、过滤、安全/管理策略以及使用情况/性能监控等功能。

  JUNOS和Juniper网络公司路由器的高级架构设计有很多优势,可以用 S-U-P-O-R 这5个字母来帮助记忆。Juniper网络公司将路由器的安全性、正常运行时间、性能和运营等提高到了新的水平。Juniper网络公司的路由平台提供了非常好的的基础设施基石来构建能支撑越来越多的动态IP流量所需要的安全、稳定的网络,。

0
相关文章