加载中…
个人资料
H3C技术
H3C技术 新浪机构认证
  • 博客等级:
  • 博客积分:0
  • 博客访问:14,843
  • 关注人气:214
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

操作系统如何支撑安全产品的变革?

(2014-01-23 13:39:56)
标签:

操作系统

网络操作系统

安全平台

it

分类: 安全

/黄凤贤

一、     多核CPU的利用程度影响安全性能的提升

安全产品不同于网络中的转发设备,它承载了更多的业务处理,性能的提升既包括转发处理的能力也包括L3/L4层的处理性能。随着应用的复杂度增加,L7的处理性能也逐渐成为衡量重要标准。因此,提升系统的并发处理能力,达到转发和应用处理的高性能是安全产品的操作系统所面临的挑战。

处理器是性能提升的核心组件,多核CPU基本是业界必然的选择。但多核硬件的并发性能优势能否被很好的发挥,软件操作系统是关键所在。

要充分利用处理器的多核能力,操作系统必须是多线程的。对称多处理SMPSymmetrical Multi-Processing)技术是一种负载分担的软件架构,各CPU之间共享内存子系统以及总线结构,基于多线程的可并发程序在操作系统的调度下可以在多个CPU上并行执行,从而提高程序处理的性能。因此多核架构结合SMP非对称应用模型能很好的达成性能提升与业务可扩展的需求。

l  多核的控制与数据分离的系统架构

多核的控制与数据分离的系统架构,更好的保证了数据与业务处理的并发能力。如图1所示,在该架构中,包含在Control Plane Cpusets中的CPU称为控制核,包含在Data plane Cpusets中的CPU称为数据核。

控制核上可以接收和处理达到本设备的控制报文,运行各种控制协议。数据核支持报文转发和安全业务处理。

数据核上,内核态采用多核并充分保证了转发以及TCP/IP L4层以下的处理性能,用户态并发的应用处理线程则能并行的应对复杂多用的应用层安全需求。

http://www.h3c.com.cn/res/201305/20/20130520_1596708_image001_785023_30008_0.jpg

                                                                                 图1 H3C 新一代安全操作系统的多核架构

l  SMP的非对称模型

安全应用层的业务复杂多变,应用的复杂性和性能需求都在不断增加,在这种情况下,应用程序的用户态多线程、并发式设计将成为安全产品越来越重要的需求,而 SMP模型可以充分发挥多核的并发优势。

如图2所示,SMP模型通过一个OS管理全部系统资源,所有的应用及内核都运行一个操作系统实例,通过操作系统屏蔽多核硬件的细节,基于多线程的可并发程序在操作系统的调度下可以在多个CPU上并行执行,从而提高性能。

http://www.h3c.com.cn/res/201305/20/20130520_1596709_image002_785023_30008_0.jpg

                                                                                                          图2 SMP处理模型

SMP模型的优势表现在以下四点:

¡  SMP模型具有可扩展性,负载平衡是由操作系统实现的。当CPU数目增加时,应用程序不需要修改。

¡  SMP是一种共享架构,资源全局管理,因此进行全系统的状态收集,便于系统调试和性能优化。

¡  越来越多的应用程序都支持SMP架构。

¡  现代操作系统普遍支持SMP模型,如Windows NTLinux/FreeBSDQNXVxworks 6.0和各种商业UNIX系统。

基于以上的优势,可以看出SMP模型非常适用于安全产品所需要的软件架构。

但传统的SMP模型存在一个性能瓶颈:各个任务的动态调度以及在各个CPU之间的负荷均衡由操作系统完成,系统性能不能随CPU数目线性提升,当CPU数目持续增加时,内存的访问效率将是整个系统的性能瓶颈。

H3C的解决方案结合了SMP和非对称应用的技术优点,从而规避传统SMP模型存在的缺陷。其中,操作系统在 Linux SMP模式下运行,采用统一的操作系统管理全部资源。用户程序则“分配”到指定的CPU上运行,可以根据应用需求灵活控制,不再完全依赖于操作系统在CPU之间进行负荷均衡,提高了系统调度的性能。

整个系统无论是控制平面还是数据平面,都采用了这种对称多处理的模型,很好的实现性能的扩展。

二、     全代理模式是深度应用安全和交付的基础

全代理模式是全面了解应用协议的一种设计方式。客户端与全代理设备之间的连接完全独立于全代理设备与服务器间的连接。如图3所示,设备本身存在两套独立的TCP协议栈,一个是面向Client端,一个是面向Server端,两个协议栈之间是独立的,即Client端与设备的TCP连接,完全独立于设备与Server端的连接。

http://www.h3c.com.cn/res/201305/20/20130520_1596710_image003_785023_30008_0.jpg

                                                                                            图3 TCP协议栈的全代理模型

全代理模型是深度应用安全和交付的基础,设备完全接管流量,对应用作深度的分析,然后根据应用内容制定控制策略,同时,完全代理架构可以很好的隔离外界对服务器的攻击:设备隔离和接管流量,对异常报文进行拦截,根据需要智能化地对内容进行修改,进而提高安全性。

H3C为例,其新一代安全操作系统能提供完整的L4/L7层的协议栈,可以支持这种TCP应用的全代理模型。通过该模型,设备可以全面接管客户端和服务端的应用流量,能一目了然的“看透”应用,支持任何层次的协议字段的解析和优化。

全代理模型对于HTTP CacheWeb加速、HTTP压缩、TCP连接服用和TCP 连接优化等应用交付的特性有最好的支持。如图4所示的TCP连接复用功能,对于应用交付设备,使用了全代理模型,客户端与设备之间的连接是多个连接,而设备端和服务器之间的连接是一个接连,客户端的请求经过设备后,重新使用设备和服务器之间建立的长连接,完成与服务器的交互。对于压缩和缓存,如图5所示的HTTP压缩,也必须借助于代理模型才能得以实现。

http://www.h3c.com.cn/res/201305/20/20130520_1596711_image004_785023_30008_0.jpg

                                                                                                        图4 TCP的连接复用

http://www.h3c.com.cn/res/201305/20/20130520_1596712_image005_785023_30008_0.jpg

                                                                                                             图5 HTTP压缩

三、     模块化设计提升系统地定制和扩展能力

安全产品从最初的网络化特质向应用转变的趋势,要求系统软件架构更加弹性,要求操作系统采用模块化设计,模块化的设计也符合业界通用软件的设计思路。

http://www.h3c.com.cn/res/201305/20/20130520_1596713_image006_785023_30008_0.jpg

                                                                                        图6 系统的模块化及进程动态加载

H3C为例,新一代的安全操作系统基于Linux内核,采用了模块化的设计,将系统的特性合理的进程化(如图6所示),每个进程拥有独立的进程空间。同时,系统对进程进行精细管理,支持进程的空间独立、内存保护、故障隔离,进程的动态加载、重启、备份、加卸载等。

模块化设计给系统带来了进程级的保护和管理,系统通过模块化技术实现了进程级的故障隔离,同时使用进程级GRGraceful Restart 平滑重启)技术可以支持单进程和进程间的备份。

此外,多进程,多线程设计也使得用户态的应用程序可以并发运行,更加充分发挥多核CPU的性能。

四、     弹性虚拟化架构支持产品形态的虚拟化

操作系统对虚拟化的支持表现在包括安全板卡、集中式产品,多安全引擎的分布式产品的虚拟化。虚拟化形态包括N:1(多虚一)、1:N(一虚多)以及N:M混合的虚拟化。

l  1:N的虚拟化

如图7所示,一个安全引擎中每一个安全业务虚拟容器都拥有独立的CPU、内存、磁盘,网络接口,配置文件等资源。每一个容器有独立的资源,可以单独配置、独立运行和处理业务,就相当于一台独立的安全设备。虚拟的安全设备安全有效的对资源进行了隔离,同时安全策略等逻辑资源的独立,可以使得虚拟设备较方便的部署和迁移。

http://www.h3c.com.cn/res/201305/20/20130520_1596714_image007_785023_30008_0.jpg

                                                                                            图7 安全业务引擎的1:N虚拟化

l  N:1的虚拟化

安全引擎是安全业务的一个完整处理单元, N:1虚拟化技术可以使安全设备的处理能力横向扩展:在全分布式的产品形态中,可以根据处理能力的需求配置多个安全板卡(即多个安全引擎),多个引擎使用N:1的虚拟化达到扩展的需求;同时,多个物理形态独立的设备(集中式或者分布式产品)也可以通过N:1的虚拟化形成物理设备的集群,进一步扩展设备的处理能力。

http://www.h3c.com.cn/res/201305/20/20130520_1596715_image008_785023_30008_0.jpg

                                                                                               图8 安全虚拟化的横向扩展

五、     深度一体化系统实现网络安全紧耦合

传统的操作系统对“交换机+安全板卡”这种一体化产品形态的支持通常只能是松耦合模式,即交换机和安全板卡是各自独立没有紧密关系的系统。各部件完全独立,拥有各自的管理接口,独立的转发表项,安全板卡不作为整体设备的一个安全引擎,没有统一的配置界面,主控也不会管理和控制安全板卡的状态和转发,在网络转发路径中,它们也是各自独立的节点。

新的一体化系统架构下,安全板卡将作为整体系统的一部分,部分或全部受主控板的管理。在一体化的产品形态中,交换机的主控板上运行安全业务的配置进程,安全业务板运行的安全业务进程会从主控板上获取配置,同时在业务板上进行安全的业务处理。

和传统的松耦合方案不同,安全业务转发行为和系统中其他线卡类似,转发表项统一由主控板管理。安全引擎不再对外表现为一个独立的转发节点。

一体化的系统让安全板卡真正融入了整体的设备,它不再是和主体设备松耦和的一个独立节点,而是和整体设备结合在一起提供安全服务的安全引擎。

六、     结束语

新一代的安全操作系统有效促进了安全产品在多个特性上的提升,以适应云计算时代的用户需求。除以上的特性外,提供标准的开放接口已经逐渐成为安全操作系统的基本要求(例如H3C Comware操作系统提供了SNMPNetConfTCL脚本等开放形式)。设备的第三方管理、性能监控、云管理平台中资源的自动化部属等需求都对系统的开放性有了更进一步的要求。而且,随着应用的复杂度增加,和第三方的系统配合,共同完成业务的整合交付也成为用户的应用趋势。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有