朱诺软件架构

  • 在Facebook上分享
  • 在Twitter上分享
  • 分享在LinkedIn
  • 在Reddit分享
  • 通过电子邮件分享
  • 印刷资源

以前的文章我给你简短的洞察朱诺软件架构的告诉你,它基于FreeBSD内核。Juniper开发商开始将FreeBSD内核变成朱诺内核通过回顾FreeBSD代码逐行,删除所有不需要的组件和驱动程序。一些代码重写匹配内部Juniper风格指南,并根据需要代码的注释。Juniper-specific“钩子”然后补充道。

这个过程(偶尔重复当Juniper决定FreeBSD更新合并到朱诺)导致内核,虽然基于FreeBSD,不再是FreeBSD。现在是朱诺的内核和治疗管理和变更控制流程和其他内部代码。

然后内核的基础和通用组件构建朱诺。这就引出了下一个朱诺的重要特征:这是一个模块化的操作系统。

模块化为何重要

朱诺的各个功能组件被分成模块,称为守护进程。例如,有路由协议守护进程(RPD)运行路由协议,设备控制守护进程(论证),控制的所有接口,底盘守护进程控制底盘硬件、管理的恶魔,等等。

每个模块运行在自己的受保护的内存空间,不属于另一个模块的模块可以使用内存,从而防止各种内存溢出和类似的错误。内核监督一切,管理模块之间的交际法和物理系统。

这种模块化的体系结构的好处之一是,如果一个软件缺陷或某种形式的网络事件引起故障,故障通常是孤立的模块支持函数,而不是导致系统崩溃。例如一个错误,一个严重的错误配置,或恶意攻击OSPF协议可能会导致RPD失败,但是系统的其余部分,你仍然可以获得这个盒子来纠正这个问题。

同样,一个bug修复可以颁发一个模块。而不是采取系统离线和更换整个操作系统,一个问题模块可以单独更换和带回来在线而不需要执行一个完整的系统重新启动。

主要的新功能组件也可以被添加到操作系统通过添加一个新模块,从而大幅减少的回归测试必须在执行新功能的开发。

模块化也很重要,当你有一个代码集定义了边界和接口点以外的通信模块,它是更容易对相当小的工程师团队管理并理解它紧密的代码。当更改,这些更改的完整效果可以清楚地理解;当错误出现时,它可以快速查找和纠正。

所有的这些品质意味着模块化操作系统更加可靠和稳定的。

IOS和模块化

思科IOS不是模块化的,由于不同的情况下的网络世界存在IOS时创建的。认为思科将是合理的,在某种程度上,发布一个模块化操作系统广泛使用在大部分路由器——不管这个系统称为IOS或不同的东西。

你已经可以看到早期与IOS-XR这个方向移动。这个操作系统是完全模块化的,有许多功能类似于朱诺。IOS-XR的问题,然而,是限于CRS GSR路由器;它不能在较小的平台上运行。

然后是离子,一种模块化的IOS但又局限于一些平台。

我问Russ白色思科如果有模块化IOS的计划。“问题不是还有其他模块化IOS的计划?”他回答说,“而是”,5968年现有计划将IOS的人选择吗?’”

我喜欢这个答案;它说有明确的计划正在进行,它只是一个选择正确的一个问题。这可能是一个相当大的挑战,因为平台的多样性,目前运行IOS和IOS版本的多样性。搬到一个“模块化IOS”可能是进化而不是突然从单片跳到模块化。

朱诺释放的火车

在IOS的多样性是思科系统公司和思科用户在很长一段时间。朱诺,另一方面,有一个线性发布培训:对于任何给定的版本有一个形象,所有路由平台上运行(除了E系列和防火墙,post-JUNOS收购已难以适应朱诺)。也没有单独的特性包;如果你想IPv6 MPLS或IP多播,这都是在一个图像。

Juniper也坚持不将新特性添加到现有的版本;新功能总是在下一个版本。

这一原则的一个图像平台,所有功能在一个图像,没有新功能开发生产版本意味着内部代码管理和回归测试可以大大简化的新特性。这也意味着简化,为Juniper客户安全升级。

在下一篇文章中,我们将开始看到朱诺的组织配置文件。

加入网络社区有个足球雷竞技app脸谱网LinkedIn上面的评论主题思想。

版权©2008 IDG通信公司。Raybet2

SD-WAN买家指南:关键问题要问供应商(和你)