Comware是用于网络设备的网络操作系统,所有功能都针对网络设备设计,更加有针对性。Comware包含了设备上全部软件功能,使得设备上只需要使用Comware单一系统就可以支持设备的全部软件功能。另外从低端到高端、以及各种类型的网络设备均只使用Comware单一的网络操作系统,保证了功能的一致。
Comware发展到V5版本已经是一个非常完善的单进程多任务的网络操作系统,在非常广泛的网络设备上得到了使用。要更进一步发展,就是要实现完全的模块化,以解决单进程无法解决的问题;同时提高系统的开放性。
Comware V7就是为了解决这些问题开发的全新的系统。其采用多进程的实现方式,实现了完全的模块化。通过模块化使得系统在可靠性、虚拟化、多核多CPU应用、分布式计算、动态加载升级等方面都有了很大的改进。同时,Comware V7使用了主流的Linux操作系统,使得网络操作系统从一个封闭的专用系统向更加通用、开放转变。Comware V7在一些细节上也进行了改进,例如使用抢先的调度,提高了系统的实时性。
与Comware V5相比,Comware V7还具有如下优势:
完善了虚拟化功能。不仅支持将多台物理设备虚拟为一台逻辑设备(称为N:1的虚拟化,即IRF技术),还支持将一台物理设备虚拟为多台逻辑设备(称为1:N的虚拟化,即MDC技术),并且支持两种虚拟化的混合使用。
完善了辅助CPU、OAA等功能,使得设备更加容易扩展功能。
支持TRILL、EVB、EVI等多种新技术,使得使用Comware V7的设备更加便于数据中心等网络的部署。
增强了开放性:
Comware V7使用通用的Linux操作系统,提供开放的标准编程接口,可供用户利用Comware V7提供的基础功能实现自己的专用功能。
Comware V7内嵌了TCL功能,用户可以利用TCL脚本语言直接编写脚本;用户还可以利用Comware V7提供的命令行、SNMP Get、SET操作以及Comware V7公开的编程接口等实现所需功能。
Comware V7模块化的结构确保可以运行各种应用程序。利用Comware V7开放的编程接口,用户可以编写第三方程序在Comware V7系统上运行。
增强了可操作性和维护性。Comware V7在用户界面上完全继承Comware V5的风格,确保使用过Comware V5的用户容易上手。在此基础上,Comware V7丰富了设备维护功能,为使用者提供更加清晰、详实的设备运行信息。Comware V7还支持EAA,系统发生变化时进行所需动作,在提高系统可维护性的同时,满足用户一些个性化需求。
图1 Comware V7体系结构
Comware V7包括4个平面:管理平面、控制平面、数据平面和基础设施平面。
基础设施平面在操作系统的基础上提供业务运行的软件基础,包括操作系统基础服务和业务支撑功能。基础服务功能是与业务无关的各种软件功能,包括Linux操作系统的各种基本功能,C语言库函数,数据结构操作,标准算法等。业务支撑系统是整个系统业务运行的基础,为Comware各进程提供软件和业务基础设施,后面提到的各种系统架构中涉及的基础功能均在这部分提供
数据平面提供数据报文转发功能,包括本地报文的收发,即IPv4/IPv6协议栈、socket、基于各层转发表的数据转发功能等。
控制平面运行路由、MPLS、链路层、安全等各种路由、信令和控制协议,生成各种转发表项以控制数据平面的转发行为。
管理平面对外提供设备的管理接口,如Telnet、SSH、SNMP、HTTP和Web Services等。通过管理平面,实现人机交互,对Comware V7进行设置、监控、管理。
图2 Comware V7模块化体系结构
Comware V7采用模块化设计,实现了全面的模块化功能。Comvare V7基于Linux内核,各个网络服务功能分别运行各自的进程,实现模块化。Linux天然支持多进程的调度,进程间运行空间隔离,单个进程的异常不会影响系统其他部分,提高了系统的可靠性。Linux中各线程采用抢先的调度,保证各种服务及时得到处理。同时Linux在多核、多CPU以及SMP(Symmetrical Multi-Processing,对称多处理)技术方面也有很好的支持,可以发挥多CPU的作用。
模块化的设计使得Comware V7的体系结构完全不同于以前版本,在很多方面有了新变化。
进程隔离
Comware V7中各个特性均运行于独立的进程,相互内存隔离,提高了系统的可靠性。同时对每个进程还可以分别管理,这种精细化的管理更利于系统整体的稳定和性能。
故障隔离
Comware V7的模块化设计使软件的各个部分做到故障隔离。一个进程的异常不会影响其他进程以及内核的正常运行。软件的故障也可以通过自行恢复,不影响硬件的运行。
多核支持
Comware V7对多核的支持不再仅限于数据平面,可以全面的支持Multi-core CPU及SMP技术。模块化的实现,使得可以通过Linux的调度直接完成线程间的并行运行,从而发挥多CPU的作用,可以通过增加CPU个数提高系统整体性能。通过运算性能的提高,使路由更快的收敛;同时在出现在异常时,减少了恢复时间,增强系统可用性。
Comware V7系统还支持将指定进程集合运行在专用的CPU Set上,为关键任务的运行提供资源保障。配合线程的抢先调度,及合理的优先级设置,保证系统CPU负荷高时,有实时性要求的功能仍然可以及时响应事件进行处理。
通过控制平面支持多核,可以在多核上完成以前必须由辅助CPU完成的功能,减少了对硬件的依赖,简化了软件运行。
按需运行
模块化以后,进程可以做到动态加载,只加载运行需要的功能,当前未使用的功能完全不占用系统资源,提高系统性能。同时由于不使用的功能完全不运行,使得这些功能既不会影响系统运行,也不会遭受攻击,提高了系统的安全性。
模块升级
模块化后可对单个特性进行升级,使得升级操作对系统的影响降到最小。模块化对系统的扩展性也有很大好处,在不影响系统运行的情况下可以很容易地添加新功能。
裁减性
模块化的结构使得Comware V7中各个进程是分别独立的可执行程序,这样每个特性天然就是相互独立存在的,因此裁减变得更加简单,无需重新编译,只需要将所需功能打包即可完成裁减。
多包发布
如果产品需要,Comware V7的版本可以以多个包的形式发布。即一个基础包及多个功能包。与裁减类似,这也是模块化带来的便利。
基于功能的License
还可以基于功能提供License,使得Comware软件使用更加灵活,避免无关功能的干扰。
开放接口
Comware V7模块化的结构确保可以运行各种应用程序,同时还可以以动态链接库的形式提供编程接口,这些为用户提供了编写在Comware V7系统上运行的第三方程序的可能,即Comware V7开放编程接口,供用户编写个性化的、在Comware V7系统上运行的程序。这种方式比以前的OAA功能更加灵活。
Comware V7虽然支持各种硬件形态,以及虚拟化等不同分布式结构的设备,但只有单一的分布式架构。
Comware V7的分布式架构将系统抽象为逻辑上全连接的多节点协同工作的体系结构。节点分为具有全部功能的主控系统节点及只有节点本地处理功能的接口板系统节点。此软件系统架构与拓扑无关。这样保证软件在各设备处理一致,增强了软件适应多种网络设备的扩展性及稳定性。