《Cisco IOS XR技术精要》一1.4 Cisco IOS XR高级介绍

简介:

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

1.4 Cisco IOS XR高级介绍

Cisco IOS XR技术精要
随着世界对IP网络基础结构的依赖程度日益加剧,网络运营商需要一个具有高度可靠性和可用性的网络。Cisco IOS XR软件被设计用来满足网络运营商的迫切需求。IOS XR可提供如下特性:

高度可扩展性;
分布式转发架构;
极高的可靠性与弹性;
服务分离和灵活性;
健壮的安全性;
软件构件模块化;
层次性配置和健全的配置管理;
更优的可管理性。
Cisco IOS XR软件是一款高级分布的、安全的、模块化的、高度扩展的、支持不间断运作的网络操作系统,也是一款使用抢占多任务处理、内存保护、快速内容交换机制的微内核操作系统。微内核提供了包括内存管理、任务调度、同步服务、内容交换,以及进程间通信(IPC)在内的基本操作系统功能。

Cisco IOS XR中使用的微内核是一款由QNX Software Systems公司开发的QNX Neutrino实时操作系统,其使用的内核是轻量级的,不包括例如设备驱动器、文件系统和网络栈之类的系统服务。图1-2给出了IOS XR的微内核架构。


695d326e073bd6e59935adefdb2529f85eb8d3e0

所有在微内核(procnto)外部的进程都可以单独地重新启动。任何进程(SysMgr、SysDB、Qnet或BGP)的重启不会导致系统重新引导。当进程重启后,会通过永久存储或peer进程(也叫做协作者[collaborator])恢复其状态。例如,如果路由信息库(RIB)进程重新启动后,会通过其协作者恢复RIB表,RIB的协作者包括如OSPF、BGP、IS-IS之类的路由选择协议进程。因此,如果RIB进程重启,RIB表将会被重建并且不会发生流量中断。

Cisco IOS XR通过部署两种分布式模型来获得更高的性能和扩展性。第一种分布模型使用本地化的方式,更靠近资源地执行数据处理和存储操作。在这种模型中,节点专用的数据库将安置在该节点上。同样,进程也被安置在节点上,从而更好地与资源进行交互。例如,地址解析协议(ARP)、接口管理器(IM)、双向故障检测(BFD)、邻接管理器,以及转发信息库(FIB)管理器功能都会安置在线卡上,仅负责管理相应线卡的资源和表项。线卡专用的系统数据库,例如接口相关配置、接口状态等,将会存储于线卡上。这种方式可使IOS XR实现更快的数据处理和更高的可扩展性。

第二种分布模型使用负载分布的方式,可以向系统中增加额外的路由处理器(RP或分布式RP[DRP]),使得进程被分布到不同的RP和/或DRP模块中。路由选择协议、管理实体和系统进程都是可以分布使用这些模块的进程。例如,用户可以将进程分类按照如下方式分类进3个组内,然后再把每个组分配给不同的RP或冗余RP对。

组1:所有路由选择协议或进程,包括BGP、ISIS、LDP、RSVP、PIM、MSDP和RIB。
组2:所有管理实体,包括SNMP服务器、SSH、Telnet、XML和HTTP。
组3:所有其他进程。
这种模型可以使运营商在系统中按需添加额外的RP或DRP来缓解单RP的压力,从根本上增加了系统的整体处理能力。

Cisco IOS XR提供了一种将管理平面、控制平面、数据平面清晰分离的系统结构。图1-3说明了IOS XR架构以及管理、控制、数据平面之间的关系。


ae89faa6d4397545ac2eb72d506ea29d78430890

控制平面、数据平面相互分离

每个控制平面或管理平面可以运行在一个或多个路由处理器(RP)和/或分布式RP(DRP)节点上。数据平面进程分布在参与包转发的每个节点中,包括RP和线卡(LC)。

Cisco IOS XR支持在物理边界上将一个系统划分成多个安全域路由器(SDR)。多个SDR共享同一个机框、电源组、风扇组以及相关的系统组件。每块线卡或RP只能属于一个SDR。由于SDR是在物理边界上定义的,所以Cisco XR SDR可提供故障和安全隔离功能。一个SDR的故障、资源耗尽,或者安全系统遭到破坏,不会影响到同一系统下的其他SDR。一个SDR可以定义成仅包含一个RP,也可以包含多个RP和多块LC。

图1-4给出了一台逻辑上划分成了3个SDR的系统:默认SDR、SDR 1和SDR 2。SDR中,具有指定机框控制器(DSC)的SDR被称为默认SDR。DSC是系统上的主RP(或冗余RP对)。


ccb979ddff814ae94cc4d3394d51dd1b5e40a35b

Cisco IOS XR使用一种两级的、完全分布式的转发架构。每块线卡都会带有与自身接口相关的转发信息库(FIB)和本地的邻接信息库(AIB)。当某个数据包开始进入系统,入站线卡将执行入站特性处理和FIB查找。随后,入站线卡会基于FIB查找的结果将数据包交付给相应的出站线卡,而不需要知道出站接口的完整邻接信息。入站线卡通过交换矩阵将数据包发送给出站线卡。之后,出站线卡执行特性处理和FIB查找来获取完整的邻接信息和2层重写信息。数据包将带着相应的2层头部被发送到出站接口。

两级转发可使系统具有更强的扩展性和更优的性能。这对于Cisco IOS XR来说是至关重要的,因为IOS XR设计的初衷就是在众多方面实现极高的可扩展性,包括带宽能力、路由数
量、用户连接数等。

在Cisco IOS XR中,所有的穿越流量都是通过硬件来处理的,不涉及LC或RP的CPU计算。只有去往路由器或由路由器发起的流量会使用LC或RP的CPU进行处理。Cisco针对目的为路由器的数据包研发了一种创新的处理机制和交付机制,该机制称为本地数据包传输服务(LPTS)。如果一个进入系统的数据包在硬件中经过FIB查找之后确定了该数据包是发送给本系统的,那么该数据包将会被移交给LPTS进行额外的硬件处理。LPTS判断数据包是属于哪个应用的,并将数据包发送给执行应用的节点。比如,当收到了一个BGP数据包,入站LC会将其直接发送给用来处理BGP进程的RP。LC上的硬件转发引擎会通过交换矩阵将数据包发送给RP,LC的CPU不会参与数据包的处理。

Cisco IOS XR LPTS还可以扮演动态防火墙的角色,保护系统免受拒绝服务(DoS)及其他形式的攻击。LPTS会监控并监管去往路由器的流量来防御DoS攻击。例如,去往RP的BGP或其他类型的控制流量会被控制在LPTS进程设定的监管门限范围之内。在正常情况下,设定的监管门限值不会影响正常的BGP更新流量。不过,如果有攻击者恶意发送大量的BGP更新,LPTS将会保护RP的CPU不被伪造的BGP流量所冲垮。监管值的大小还取决于被发送数据包所对应的BGP会话状态。如果数据包来自某个已配置的邻居,并且BGP会话仍未建立,那么监管速率将会相对降低。另一方面,如果数据包匹配某个已建立成功的会话,监管速率将会调高。要知道模拟已建立会话的BGP数据包是非常困难的,因为攻击者除了要获知源和目的IP地址之外,还必须要知道BGP会话的源和目的端口号。

LPTS机制无需用户参与配置:LPTS默认开启并且会根据系统配置以及活动会话数,动态地进行更新调整。不过,LPTS的监管门限值是用户可配置的。

相关文章
|
29天前
|
安全 Android开发 iOS开发
Android vs. iOS:构建生态差异与技术较量的深度剖析###
本文深入探讨了Android与iOS两大移动操作系统在构建生态系统上的差异,揭示了它们各自的技术优势及面临的挑战。通过对比分析两者的开放性、用户体验、安全性及市场策略,本文旨在揭示这些差异如何塑造了当今智能手机市场的竞争格局,为开发者和用户提供决策参考。 ###
|
25天前
|
安全 Android开发 iOS开发
安卓与iOS的较量:技术深度对比
【10月更文挑战第18天】 在智能手机操作系统领域,安卓和iOS无疑是两大巨头。本文将深入探讨这两种系统的技术特点、优势以及它们之间的主要差异,帮助读者更好地理解这两个平台的独特之处。
41 0
|
10天前
|
监控 iOS开发 开发者
iOS性能优化:深入函数调用栈与符号化技术
在iOS开发中,函数调用栈是理解程序执行流程和优化性能的关键。当应用出现性能问题或崩溃时,能够准确地读取和解析调用栈信息对于快速定位问题至关重要。本文将探讨iOS中的函数调用栈,以及如何通过符号化技术进行有效的性能调优。
24 3
|
15天前
|
安全 搜索推荐 Android开发
揭秘安卓与iOS系统的差异:技术深度对比
【10月更文挑战第27天】 本文深入探讨了安卓(Android)与iOS两大移动操作系统的技术特点和用户体验差异。通过对比两者的系统架构、应用生态、用户界面、安全性等方面,揭示了为何这两种系统能够在市场中各占一席之地,并为用户提供不同的选择。文章旨在为读者提供一个全面的视角,理解两种系统的优势与局限,从而更好地根据自己的需求做出选择。
38 2
|
16天前
|
安全 搜索推荐 Android开发
揭秘iOS与安卓系统的差异:一场技术与哲学的较量
在智能手机的世界里,iOS和Android无疑是两大巨头,它们不仅定义了操作系统的标准,也深刻影响了全球数亿用户的日常生活。本文旨在探讨这两个平台在设计理念、用户体验、生态系统及安全性等方面的本质区别,揭示它们背后的技术哲学和市场策略。通过对比分析,我们将发现,选择iOS或Android,不仅仅是选择一个操作系统,更是选择了一种生活方式和技术信仰。
|
21天前
|
安全 Android开发 iOS开发
iOS与安卓:技术生态的双雄争霸
在当今数字化时代,智能手机操作系统的竞争愈发激烈。iOS和安卓作为两大主流平台,各自拥有独特的技术优势和市场地位。本文将从技术架构、用户体验、安全性以及开发者支持四个方面,深入探讨iOS与安卓之间的差异,并分析它们如何塑造了今天的移动技术生态。无论是追求极致体验的苹果用户,还是享受开放自由的安卓粉丝,了解这两大系统的内在逻辑对于把握未来趋势至关重要。
|
23天前
|
安全 搜索推荐 Android开发
揭秘iOS与Android系统的差异:一场技术与哲学的较量
在当今数字化时代,智能手机操作系统的选择成为了用户个性化表达和技术偏好的重要标志。iOS和Android,作为市场上两大主流操作系统,它们之间的竞争不仅仅是技术的比拼,更是设计理念、用户体验和生态系统构建的全面较量。本文将深入探讨iOS与Android在系统架构、应用生态、用户界面及安全性等方面的本质区别,揭示这两种系统背后的哲学思想和市场策略,帮助读者更全面地理解两者的优劣,从而做出更适合自己的选择。
|
26天前
|
安全 Android开发 iOS开发
安卓vs iOS:探索两种操作系统的独特魅力与技术深度###
【10月更文挑战第16天】 本文旨在深入浅出地探讨安卓(Android)与iOS这两种主流移动操作系统的特色、优势及背后的技术理念。通过对比分析,揭示它们各自如何塑造了移动互联网的生态,并为用户提供丰富多彩的智能体验。无论您是科技爱好者还是普通用户,都能从这篇文章中感受到技术创新带来的无限可能。 ###
49 2
|
27天前
|
机器学习/深度学习 人工智能 Android开发
安卓与iOS:技术演进的双城记
【10月更文挑战第16天】 在移动操作系统的世界里,安卓和iOS无疑是两个最重要的玩家。它们各自代表了不同的技术理念和市场策略,塑造了全球数亿用户的移动体验。本文将深入探讨这两个平台的发展历程、技术特点以及它们如何影响了我们的数字生活,旨在为读者提供一个全面而深入的视角,理解这两个操作系统背后的哲学和未来趋势。
32 2
|
1月前
|
Java Android开发 Swift
掌握安卓与iOS应用开发:技术比较与选择指南
在移动应用开发领域,谷歌的安卓和苹果的iOS系统无疑是两大巨头。它们不仅塑造了智能手机市场,还影响了开发者的日常决策。本文深入探讨了安卓与iOS平台的技术差异、开发环境及工具、以及市场表现和用户基础。通过对比分析,旨在为开发者提供实用的指导,帮助他们根据项目需求、预算限制和性能要求,做出最合适的平台选择。无论是追求高度定制的用户体验,还是期望快速进入市场,本文都将为您的开发旅程提供有价值的见解。