集群设计指引提纲
一、 设备介绍
1.1. 系统结构
系统组成:
CRS-1是全分布式、模块化的多机架系统。支持单机架(Standalone)及多机架(Multi-Chassis)两种配置(Configuration)模式,以满足客户对不同容量的需求,单机架系统可以平滑地扩充成多机架配置。
CRS-1的分布式体系架构包括两个基本组成单元:
? 用户线卡机架LCC(Line Card Chassis) ? 交换矩阵机架FCC(Fabric Card Chassis)
其中,用户线卡机架装有路由处理器(Route Processor)及所支持的用户线卡(Line Card)和交换矩阵卡(Fabric Card)。主要负责路由计算,三层的转发,控制平面的管理等功能;
交换矩阵机架装有机架控制器(Shelf Controller)及交换矩阵卡(Fabric Card)。主要负责多个用户线卡机架的互联及交换。
集群系统至少包含一个交换框和两个线卡框。常见的系统组成可以是1+2、2+2、2+4等。
系统交换和端口容量(单向)
CRS-1单机架系统具有1.28T的交换容量,每个用户插槽支持40Gbps ,每线卡机箱端口容量(单向)640Gbps。
2个线卡机箱的CRS-1集群(2+2,4+2)具有2.56T的交换容量,每个用户插槽支持40Gbps ,每线卡机箱端口容量(单向)1280Gbps。
4个线卡机箱的CRS-1集群(2+4,4+4)具有5.12T的交换容量,每个用户插槽支持40Gbps ,每线卡机箱端口容量(单向)2560Gbps。
CRS-1集群系统最大可以包含72个用户线卡机架和8个交换矩阵机架,具有92T的交换容量。目前,CRS-1集群可以支持4+4 多机系统,在即将发布的IOS-XR 3.8 将支持4+8多机系统。
控制平面和转发平面
CRS-1集群系统采用分布式、模块化控制平面,可以从可扩展性、高度可用性和业务灵活性各方面有效地满足营运商的业务需求。
CRS-1集群系统每个线卡机箱配置2个冗余的控制引擎,执行控制平面的功能,如路由计算,
1
流量工程的计算,生成并分发三层转发表等。随着用户线卡机架的增加和系统的运算负载增加,可以通过增加CRS-1特有的分布式路由处理器DRP(Distributed Route Processor)的方法达到负载均衡,消除运算处理瓶颈。与IOS XR分布式软件系统相配合,用户可以指定某个或某些消耗CPU资源的应用,如BGP、MPLS 流量工程的进程(Process)运行在单一的DRP或者多个DRP上,从而提高系统的整体工作效率。从硬件结构上来讲,DRP是一个加强版的RP,DRP卡上配有两个对称性多处理器集群SMP(Symmetrical Multiprocessor Complexes)(RP卡上只有一个SMP),与增加RP只能构成主备用的工作方式不同,DRP卡可以插在任一用户线卡插槽,新增加的每一张DRP卡都可以以累加的方式提高系统的整体处理能力。
CRS-1采用了全新的IOS XR软件操作系统。IOS XR是一个基于微内核架构(Microkernel)的全分散式、模块化、针对多机架系统设计的软件操作系统。与传统的内核架构(Monolithic Kernel)相比,微内核架构大大精简了由内核完成的最基本操作,将传统的系统业务如设备驱动(Drivers),文件系统(File System)和网络堆栈(Network Stack)等移出内核之外,从而大大提高了内核的工作效率以及健壮性(Robust)。
在IOS XR软件系统中,采用了基于组元(Component-based)的开发模式,在这种模式下,原来的每个功能(Feature)如BGP、ISIS,MPLS TE等就变成一个单一的软件组元。每一个软件组元可以由一个或者多个进程(Process)来执行与之相关的操作。这种软件设计方法带来的好处是软件组元的颗粒性小(Granularity),可以将复杂的软件操作系统分解成多个具有单一功能的、具有清晰边界定义(Boundary Definition)的进程,其中每一个进程Process与某一个功能相对应,例如BGP就是一个进程。IOS XR软件操作系统支持对进程进行重启(Process Restart),关闭等操作,同时可以实时监视每一个进程的CPU和内存的使用情况。这种分散式的软件体系架构提高了系统的可用性,单一进程的故障不会影响整个系统的运行,同时出现故障的进程会尝试通过自动重启实现自我恢复。这一特性使得对单一进程提供软件缺陷(Bug)的更正程序(Fix)可以做到在不中断服务的情况下进行,因为它只会载入与故障进程相关的更正代码而不会重启与之无关的进程。另外这种分布式的软件架构可以按照功能相关的原则把相应的代码封装成不同的软件包(Software Package)。IOS XR软件操作系统中包含的软件包有基础软件包(Mini Composite),路由软件包(Routing Package),MPLS软件包(MPLS Package),组播软件包(Multicast Package),安全软件包(Security Package)以及管理软件包(Manageability Package)。对单个软件包进行升/降级的操作可以在线进行ISSU(In-Service Software Upgrade)而无需担心业务中断。
2
在分布式的软件操作系统中,多进程之间的通信IPC(Interprocess communication)是个难点,其设计的好坏直接影响系统的可靠性和有效性。IOS XR软件系统针对不同的进程之间的通信特点,分别开发了与之相对应的IPC通信方式,包括轻量级LWM(Light Weight Messaging)(专门针对驻留在同一节点的进程之间的Unicast通信方式),Qnet(专门针对不同节点间的进程之间的Unicast通信方式)和组群服务GSP(Group Service)(专门针对不同节点间的进程之间的Multicast通信方式)。
IOS XR软件操作系统支持热备用(Hot Standby)的路由处理器对(RP pair)以及分布式路由处理器对(DRP pair),支持不间断转发NSF(Non-Stop Forwarding)下的RP主备用倒换(Switchover)以及应用级的渐进式重启(如BGP, OSPF, ISIS, RSVP, MPSL LDP Graceful Restart)。
IOS XR是一个全分布式、模块化、分层次的软件操作系统,各模块、各层次之间的边界定义(Boundary Definition)非常清晰,因此可以在不改变现有体系结构的前提下方便的加入新的业务单元,并且新加入的单元不会影响原有业务单元之间的相互作用关系。我们只需要对新加入的业务单元和与之有相互作用关系的业务单元进行必要的应用接口API(Application Interface)定义就可以完成对新业务开发的支持。
CRS-1集群系统的转发平面也采用分布式设计。
每一张用户线卡上都有自己的转发处理器。对一个拥有N张用户线卡的系统来说,它就有N个转发处理器。与集中式转发模式相比,这种分布式设计的好处是即使在业务量增大的情况下也可做到对复杂业务的包处理实现线性转发。CRS-1的用户线卡机架可以根据用户的实际业务需要从单一机架平滑地扩容到72个机架。
3
与以往的用户线卡(Line Card)设计不同,CRS-1的用户线卡采用了独特的中板设计(Mid Plane)方式,每一张用户线卡由两部分组成:完成相关三层转发功能的模块化业务卡MSC(Modular Service Card)和完成一、二层相关功能的接口模块(Interface Module)。这种将通用的三层转发功能与不同的物理接口(比如POS,GE或者ATM)分离开来的设计方法有助于加速新业务的开发,实现跨平台的用户线卡共享,保护用户的投资。整个用户线卡的智能控制,对新业务的支持都将做在通用的模块化业务卡MSC上。这对减少板卡的种类,实现系统的可扩展性具有重要意义。(关于MSC的体系结构设计将在CRS-1的业务灵活性一节进行详细说明)
为了更好的支持大容量的多机架系统,CRS-1采用了两级转发(Two-Stage Forwarding)的体系架构,入口处(Ingress)的包转发处理器只做部分的查找(Lookup)并把包交给出口处(Egress)的用户线卡,再由出口处的包转发处理器进行另一次查找并确定是由哪一个出口接口(Egress Interface)出去。与传统的单级转发模式需要在入口用户线卡处保存所有系统出口信息相比,两级转发结构具有更好的可扩展性,因为入口用户线卡不需要保存整个系统的出口信息。传统的单级转发结构无法支持大容量的多机架系统。
多个交换框之间是什么关系,当交换框发生故障时,系统的故障恢复时间和整体性能的变化情况。
思科CRS-1采用了Benes三级交换矩阵架构。其主要特点是易于实现无阻塞的交换架构,支持差异性服务,可扩充性好,并且可靠性高。考虑到IP分组交换特有的并发(Bursty)特性,CRS-1的三级(S1/S2/S3)交换矩阵采用了1296 x 1296的带缓存的无阻塞架构,并且在出口级(S3)提供2.5倍的加速以进一步降低发生阻塞的可能性。在中间级(S2)提供组播复制功能(multicast replication),从而在不影响系统或者网络性能的情况下向大量用户提供统一服务(例如IPTV)。此外CRS-1的交换矩阵支持针对不同优先等级,如单播(unicast)、组播(multicast)和控制平面消息(control plane message)的队列机制。这一点对提高系统工作效率并且保证系统在DoS攻击下可靠工作非常重要。
CRS-1的三级交换矩阵可以随着用户业务量的增加平滑地从单机架的4张交换矩阵卡扩充到独立的8个交换矩阵卡机架(每个满配置机架装有24张交换矩阵卡)。
4
交换矩阵由8个独立的平面(plane)组成160 Gbps<--80Gbps -->4 x OC192Line Card2188 of 8.2 of 81 of 8..S1S2S3S3.................4 x OC192Line Card218S1S2S2S2....S3S3S3S3S3S3.S1S1LC Chassis –S13 CardsCisco CRS-1?2006 Cisco Systems, Inc. All rights reserved.Cisco Confidential..Fabric Chassis –S2 Cards13...S1S1S2S2S3S3S3S3 CRS-1 交换矩阵由8个独立的平面组成,在CRS-1集群系统中多个交换框共同组成八个平面的S2交换矩阵。每个交换框将平均分配八个平面的S2矩阵板卡。当交换框上某个交换板卡S2发生故障,该板卡所连接的交换矩阵平面将失效。S1交换矩阵会立即发现故障S2并不再向该S2转发数据。短暂丢包可能会发生。如果只是S2中的总线发生故障,S13会规避这些总线,该平面不会失效。
CRS-1系统交换矩阵8个交换平面实现7:1的冗余,即一个交换平面故障不会影响系统转发性能。当故障交换平面超过一个时,性能下降呈线性递减,最低到2个交换平面系统仍可以正常运行。
备注:统一采用交换框+线卡框的写法,即第1个数字代表交换框,第2个数字代表线卡框。
1.2. 交换框
1.2.1. 交换框正视图
5