《Cisco IOS XR技术精要》一1.2 运营商级NOS需求

  1. 云栖社区>
  2. 博客>
  3. 正文

《Cisco IOS XR技术精要》一1.2 运营商级NOS需求

异步社区 2017-05-02 17:38:00 浏览1461

本节书摘来自异步社区《Cisco IOS XR技术精要》一书中的第1章,第1.2节,作者 【美】Mobeen Tahir , Mark Ghattas , Dawit Birhanu , Syed Natif Nawaz,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.2 运营商级NOS需求

Cisco IOS XR技术精要
服务提供商力求能够提供一种完全满足用户需要的网络解决方案。公司需要将数据、语音、视频以及移动服务整合到一起,并具有高可用性、安全性,以及快速交付的特性。用户希望在一笔订单中获得语音、视频、移动无线以及数据等捆绑服务的宽带接入功能。政府也在致力于推动宽带接入到户以及可在灾难性故障中存活的弹性网络结构。

本节介绍了运营商级的NOS需求。

1.2.1 融合性

一款运营商级的NOS应具有可以利用现有的网络结构并将多种服务融合到一起的能力。网络融合在降低资金与运营开销方面至关重要。服务融合同样是实现客户需求并提供新型盈利服务的必要条件。

1.2.2 可扩展性

融合性网络结构应考虑在不中断现有业务的基础上,实现控制平面、数据平面和管理平面的无缝网络规模增长。用户数、接入带宽,以及每用户每年流量总量的持续增长正推动着网络结构中每个部分对可扩展性功能的需要。为了应对这种增长,网络运营商可能必须以增添网络端口、传输链路、线卡、引擎卡、电源模块,甚至多机框系统的方式进行硬件扩容。NOS必须能够在不影响当前业务的前提下支持各种系统组件的扩容操作。

1.2.3 可用性

在融合性网络中,路由器承载着如语音、紧急服务流量、视频广播、视频会议、关键性业务数据等关键性流量,并且需要达到99.999%的可用性。为了满足这一运营商级的可用性需求,网络操作系统应当具备以下高可用特性。

1.硬件冗余
正确使用、定期维护、优化工作环境等多种方法可以降低硬件的故障概率,但将发生故障的概率降为零是不可能的。因此,实现运营商级高可用性的重要的一点就是构建一种硬件组件冗余的系统,对于关键性系统的子级系统更是如此。除此之外,NOS在软件功能上必须支持热插拔等特性。当模块发生故障、执行模块插拔、升级或更换时,不对业务造成影响,或造成极小的影响。

2.故障恢复与基于微内核的NOS
今天的操作系统和应用程序是由数百名软件工程师研发而成,实现程度非常复杂。不过事实上,无缺陷的操作系统是不存在的。除了软件自身缺陷,内存数据损坏或恶意攻击也会导致软件运行发生故障。运营商级NOS必须具有在不影响业务的前提下,能够将故障控制在一定范围并从大多数软件故障中恢复的能力。

当今的操作系统具有内核和非内核两种组件。一般而言,非内核软件组件中发生的故障不会影响到内核或其他非内核组件。不过,内核故障将导致系统的重新启动。因此,建议的做法是将大多数软件组件放在内核之外,并且只在内核中保留最少的功能性。这种类型的操作系统被称为“基于微内核的操作系统(microkernel-based operating system)”。多任务处理、多线程,以及内存保护同样是运营商级NOS的关键性技术,这些技术将在下一小节进行介绍。

3.进程重启动特性
当一个软件进程发生故障时,操作系统将会重新启动这个进程。进程重启后将恢复到故障前的状态,这样可以无缝地连续执行其功能而不影响业务。这种功能被称为进程重启动特性。

4.故障检测
网络操作系统还应该支持快速故障检测和绕过故障链路、模块或路由器重新选路等网络特性。

5.软件升级和打补丁
运营商级NOS应支持尽可能不影响业务的软件升级和/或打补丁。补丁对于系统是非常重要的,补丁用来修复某些严重的软件漏洞,并可以降低整体软件升级的频率。

1.2.4 安全性

路由器具有两种主要的安全功能。

通过网络安全特性来保护用户和服务提供商的网络结构。例如单播反向路径转发(uRPF)、访问控制列表(ACL)过滤和前缀列表过滤。
保护路由器免受恶意或无意的安全攻击和入侵,这点是首要关注的。
操作系统必须提供有效的保护机制,使路由选择协议免受恶意流量的攻击,同时还应该提供具有颗粒度的访问控制来保护路由器阻止非授权访问。分布式拒绝服务攻击(DDoS)是一种常见的攻击技术,变种较多。NOS在处理此类攻击时,应将攻击对数据、控制,以及管理平面功能的影响降至最低。

1.2.5 服务灵活性

运营商会希望一款路由系统能持有较长的生命周期,这会要求新型服务的加入不能进行“铲车一体式”的升级。运营商级NOS必须能够在不影响或较小影响业务的前提下加入对新的软件特性、新型线卡和/或服务模块功能的支持。这些可以通过模块化的软件包、服务模块的支持性,以及将系统划分成多个路由域的方法来实现。