《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的监管门限值是用户可配置的。

相关文章
|
23天前
|
安全 Android开发 iOS开发
安卓与iOS的较量:技术特性与用户体验的深度解析
在移动操作系统的战场上,安卓和iOS一直占据着主导地位。本文将深入探讨这两大平台的核心技术特性,以及它们如何影响用户的体验。我们将从系统架构、应用生态、安全性能和创新功能四个方面进行比较,帮助读者更好地理解这两个系统的异同。
47 3
|
29天前
|
物联网 区块链 vr&ar
未来已来:探索区块链、物联网与虚拟现实技术的融合与应用安卓与iOS开发中的跨平台框架选择
【8月更文挑战第30天】在科技的巨轮下,新技术不断涌现,引领着社会进步。本文将聚焦于当前最前沿的技术——区块链、物联网和虚拟现实,探讨它们各自的发展趋势及其在未来可能的应用场景。我们将从这些技术的基本定义出发,逐步深入到它们的相互作用和集成应用,最后展望它们如何共同塑造一个全新的数字生态系统。
|
1天前
|
安全 Android开发 数据安全/隐私保护
探索安卓与iOS的安全性差异:技术深度分析与实践建议
本文旨在深入探讨并比较Android和iOS两大移动操作系统在安全性方面的不同之处。通过详细的技术分析,揭示两者在架构设计、权限管理、应用生态及更新机制等方面的安全特性。同时,针对这些差异提出针对性的实践建议,旨在为开发者和用户提供增强移动设备安全性的参考。
|
4天前
|
监控 Android开发 iOS开发
深入探索安卓与iOS的系统架构差异:理解两大移动平台的技术根基在移动技术日新月异的今天,安卓和iOS作为市场上最为流行的两个操作系统,各自拥有独特的技术特性和庞大的用户基础。本文将深入探讨这两个平台的系统架构差异,揭示它们如何支撑起各自的生态系统,并影响着全球数亿用户的使用体验。
本文通过对比分析安卓和iOS的系统架构,揭示了这两个平台在设计理念、安全性、用户体验和技术生态上的根本区别。不同于常规的技术综述,本文以深入浅出的方式,带领读者理解这些差异是如何影响应用开发、用户选择和市场趋势的。通过梳理历史脉络和未来展望,本文旨在为开发者、用户以及行业分析师提供有价值的见解,帮助大家更好地把握移动技术发展的脉络。
|
8天前
|
开发工具 Android开发 iOS开发
掌握安卓与iOS应用开发:关键技术与未来展望
本文深入探讨了安卓和iOS平台下的应用开发技术,重点比较了两大平台的架构、开发工具和市场策略。通过分析最新的技术趋势和开发者社区的反馈,文章为读者提供了一个全面的对比视角,旨在帮助开发者做出更明智的平台选择和开发决策。
|
3天前
|
安全 Java Android开发
掌握安卓与iOS应用开发中的关键技术
本文深入探讨了安卓和iOS平台上应用开发的关键性技术,包括平台特性、开发工具选择、性能优化技巧及跨平台开发的可行性分析。通过对比两种平台的开发环境与实践案例,旨在为开发者提供全面的视角以理解和把握移动应用开发的核心技术。无论是安卓的Java与Kotlin之争,还是iOS的Swift语言革命,本文都将一一解析其优势与应用场景,帮助开发者在技术选型上有更明智的决策。此外,文章还将触及到当前流行的跨平台框架如React Native和Flutter,评估它们在项目实施中的实用性和限制,为有意进行多平台同步开发的团队提供参考。通过对这些关键技术的梳理,本文期望能够启发开发者深化对移动平台开发的理解,并
|
6天前
|
人工智能 vr&ar Android开发
探索安卓与iOS的无限可能:移动操作系统的技术革新与未来展望
本文旨在探讨安卓和iOS这两大主流移动操作系统在技术上的创新与突破,以及它们如何塑造我们的数字生活。通过深入分析两者的最新进展、面临的挑战以及未来的发展趋势,文章揭示了移动操作系统在推动科技进步和满足用户需求方面的关键作用。我们将从技术角度出发,解读安卓的开放性与iOS的封闭性如何影响应用生态和用户体验,并探讨这些差异背后的设计理念和商业考量。同时,我们还将关注两大系统在安全性、隐私保护、人工智能集成等方面的最新动态,以及它们如何应对日益增长的网络安全威胁和用户对隐私保护的需求。此外,文章还将展望未来移动操作系统的发展,分析5G、物联网等新兴技术如何为安卓和iOS带来新的机遇和挑战,以及这两大
25 6
|
8天前
|
安全 Linux Android开发
探索安卓与iOS的安全性差异:技术深度分析
本文深入探讨了安卓(Android)和iOS两个主流操作系统平台在安全性方面的不同之处。通过比较它们在架构设计、系统更新机制、应用程序生态和隐私保护策略等方面的差异,揭示了每个平台独特的安全优势及潜在风险。此外,文章还讨论了用户在使用这些设备时可以采取的一些最佳实践,以增强个人数据的安全。
|
14天前
|
API Android开发 iOS开发
掌握安卓与iOS应用开发中的依赖注入技术
本文探讨了在安卓和iOS应用开发中,如何有效利用依赖注入技术来提升代码的模块化、可测试性和可维护性。通过对比分析两种平台下依赖注入的实现方式与工具,本文旨在为开发者提供一套清晰、实用的依赖管理策略,助力打造高质量软件产品。
|
22天前
|
安全 Android开发 iOS开发
安卓与iOS的较量:技术特性与用户体验的深度剖析
在移动操作系统的战场上,安卓和iOS一直是两个重量级选手。本文将深入探讨两者的技术架构、安全性、应用生态以及用户体验等方面的差异,并尝试从用户和开发者的角度出发,分析这两个系统的优势与不足。通过比较,我们不仅能更好地理解各自的特点,还能洞察未来移动技术的发展趋势。