加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

可维护、可编程的开放体系架构

(2012-09-25 15:17:53)
标签:

xml技术

eaa技术

oaa开放应用架构技术

openflow技术

it

分类: 软件平台

文/王飓

随着新技术如EVB、EVI等逐步部署,数据中心网络已经越来越复杂。比如,为了解决虚拟服务器迁移问题,EVB解决方案要求网络管理中心和服务器管理中心配合,共同对服务器和网络设备作出协同管理。网络管理中心必须能够判断服务器迁移动作,并自动化的调整网络设备的部署策略,这就要求网络设备具备更高的可编程的自动化管理接口;同时为了及时处理网络中各种异常情况,必须能够及时对各种意外情况作出自动的补偿处理,这样才能有效提升复杂网络的可用性。

如何在构建复杂网络的同时避免管理成本的倍增?如何避免复杂网络的可用性降低?如何部署用户私有管理策略?这些问题的解决已经越来越迫在眉睫。云时代呼唤更高效的管理维护方式,新一代的网络操作系统必然要为这些问题给出相应的解决方案。

一、 XML技术

XML(EXtensible Markup Language)可扩展标记语言,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 XML是标准通用标记语言 (SGML) 的子集,非常适合 Web 传输。XML目前已经得到业界的广泛支持。NETCONF是一种全新的基于XML的网络配置协议,目前也得到了主流设备厂商的支持。

以H3C Comware新一代网络操作系统为例,NETCONF支持console、telnet、SSH、SOAP over HTTP/TLS传输层,如图1及表1所示。

 

http://www.h3c.com.cn/res/201112/20/20111220_1307730_image001_736175_30008_0.png图1 Comware XML/NETCONF技术架构模型

 

NETCONF分层

H3C XML分层

content

配置数据、状态数据、统计信息等

Operations

,,…

RPC

,

Transport Protocol

Console/Telnet/SSH/HTTP/TLS

表1 H3C XML技术与NETCONF概念分层模型对应关系

XML技术定义的PI(编程接口)定义了新的数据模型。使用这些PI,管理软件使用者和开发人员更为简便快捷的获取设备信息和修改配置数据。

XML开放式的架构,提供了一种通过XML脚本编程的途径。在WEB2.0时代,通过XML管理设备显然更加灵活有效,也更容易扩展。另外,通过这种途径可以实现管理设备,订阅系统内部事件、监控设备等操作,这样的监控比原来基于SNMP的控制更为智能,从而可以实现针对一些预定义事件的动态配置管理,而这正是EVB等快速部署方案所必须的。

二、 EAA技术

EAA(Embedded Automation Architecture 嵌入式自动化架构)是集成在网络操作系统上的一系列相关功能部件的总称。它允许用户订阅感兴趣的系统软硬件部件的事件,例如接口DOWN,和处理事件的策略。当订阅的事件发生时,EAA会执行用户定义的策略,并能通过email等形式将现场信息发送到技术支援或用户邮箱。

事实上EAA是一个开放的自动化架构,由多个部件组成,主要有RTM、RTN、RTD、Scheduler。

RTM(Real-Time event Manager 实时事件管理)是EAA核心引擎,负责管理事件订阅和策略执行。

RTN(Real-Time Notify实时消息通知)主要负责信息组装和email通知。

RTD(Real-Time Detector实时健康诊断)主要对关键系统软硬件组件进行健康诊断,尽量在故障发生前或者故障发生初期发现故障。RTD检测到软硬件故障时,可以触发RTM执行相关策略,例如尝试自动修复、收集第一现场信息等。

Scheduler实现类似Linux cron/atd的功能,能够一次性或者定时执行job。

RTM是核心,其架构如图2所示。

 

http://www.h3c.com.cn/res/201112/20/20111220_1307731_image002_736175_30008_0.png图2 RTM架构

“事件源”是软硬件部件,它们会触发事件,例如comsh命令执行触发“命令执行事件”,再比如syslog产生日志时会触发“syslog产生事件”。

RTM支持多种事件源:

序号

事件源

功能简述

1

comsh

支持comsh命令行帮助事件(tab、?)

支持comsh命令行执行事件

支持命令行正则表达式匹配

允许定制是否执行匹配命令

2

syslog

支持syslog严重级别匹配

支持syslog消息体正则表达式匹配

3

ifmgr

支持接口统计值阈值事件

4

oir

支持板卡热插拔事件

5

process

支持进程启动、停止、异常、重启事件

6

snmp

支持SNMP OID取值阈值事件

7

snmp notification

监控指定trap产生、取值,并触发事件

允许定制丢弃或者发生匹配的trap消息

其它事件源将会陆续添加到RTM框架中。

“RTM”根据用户订阅对事件源触发的事件进行过滤匹配,符合用户订阅条件的才会触发策略脚本执行。

“策略执行”按照RTM要求执行策略脚本。策略脚本可以是comsh命令行脚本,也可以是TCL脚本。

RTM还支持多种动作,如:reboot, cli, syslog, trap, switch-over等等。RTM是一种开放的框架,用户能够很容易将动作添加到RTM框架中。

有了EAA,网络系统不再是简单执行管理员动作的机器,而是被赋予了更多的智能,可以根据管理员预先定义的规则,自动应对更复杂的局面,作出更为灵活多变的相应,大大提升了系统的可维护性。

三、 OAA开放应用架构技术

OAA(Open Application Architecture,H3C专利技术)不是依靠可编程的脚本工作,而是对外提供了SNMP的控制接口,使第三方的程序可以控制运行网络设备的一些特定行为,从而实现联合工作的效果。

 

http://www.h3c.com.cn/res/201112/20/20111220_1307732_image003_736175_30008_0.png图3 OAA体系架构示意图

从硬件结构上看,OAA体系可以分成三部分:路由交换部件、独立业务部件、接口连接部件。如图3所示。

路由交换部件是路由器和交换机的主体部分,这部分有着完整的路由器或交换机的功能,也是用户管理控制的核心;独立业务部件是可以开放给第三方合作开发的主体,主要用来提供各种独特的业务服务功能;接口连接部件则是路由交换接部件和独立业务部件的接口连接体,通过这个部件将两个不同厂商的设备连接在一起,以形成一个统一的产品。

对于不同体系结构的产品,路由交换部件本身是存在差异的,如集中式的设备和分布式设备,体系结构上存在差异。但由于定义接口连接部件的开放性和统一性,完全可以做到在不同体系结构上,对业务部件屏蔽路由交换部件的差异性。

OAA技术架构中,根据路由交换部件和独立业务部件之间的配合工作方式不同,分成四类,如表2所示。

1、 主机(Host)模式

独立业务系统就象网络上的一台主机,拥有自己的IP地址,作为网络末梢存在。IP报文都是通过路由交换部件连接独立业务部件的高速以太网口转发的。我们在逻辑上称其为转发通道(Forwarding-Channel)。路由器就是独立业务系统的网关。这种方式,路由器和独立业务系统之间的耦合是最松的。

2、 镜像(Mirror)模式

路由器根据要求,把特定的报文复制一份给独立业务系统,原始报文继续完成正常的转发。而独立业务系统收到这个报文以后进行分析和处理,然后将报文丢弃。这种模式下,镜像报文也是通过路由交换部件连接独立业务部件的高速以太口转发。与1情况不同的是,这种模式下,要有一个虚拟的镜像通道(Mirror-Channel),以区别于上述1情况下的转发通道。

3、 重定向(Redirection)模式

路由器根据要求,把特定的报文重定向给独立的业务系统。独立的业务系统处理以后,或丢弃,或通过。如果通过,则报文被原封不动的还给路由器,路由器则继续从当初中断的地方继续处理,完成后续的转发工作。这种模式下,重定向的报文也是通过路由交换部件和独立业务部件间的高速以太口转发的。与2的情况相类似,这种模式下,需要一个虚拟的重定向通道(Redirection-Channel)。

4、 穿透(Pass-Through)模式

独立的业务系统没有配置IP地址,并且一定要有外在的以太网口,数据从这个接口流入,穿过独立业务系统,经过高速以太口到达路由交换部件,或者反方向。在路由交换部件看来,外部数据像是直接到达了连接部件上的高速以太网口,内嵌的业务系统似乎根本不存在一样。当然,流量通过的时候,独立业务系统还是会做相关的记录分析,必要的时候,业务系统还会报文会做一定的修改以完成相关的功能。这种模式下,业务数据也是通过路由交换部件和独立业务部件间的高速以太口转发,我们称这个通道为穿透通道(Pass-Through-Channel)。这种模式下,路由器和独立业务系统之间的耦合也是比较松的。

为了支持独立业务部件和路由交换部件之间的联动,OAA定义了两个协议:ACSEI和ACFP。ACSEI是一种二层Ethernet协议,用来完成网络交换部件和独立业务部件之间完成基本信息交互、时钟同步等功能;ACFP是一套基于SNMP的MIB接口,同时还包括集成在ComwareV7内部的转发逻辑。对于第三方开放的独立业务部件而言,ACFP就相当一套开放的可编程接口。通过这套接口,让独立业务部件能够控制网络交互部件完成上述4种工作模式的规定动作,从而达成联动的目的。

通过OAA技术,网络设备得以获得前所未有的融合进化能力,使得传统设备形态和界线进一步模糊,为云时代的各种网络技术的交互、融合和衍生发展提供可更广阔的空间。

四、 Openflow技术

OpenFlow是GENI(全球网络创新环境)的一个研究主题,目的是让科研人员能在现有的商用网络上进行新的网络协议的实验,从而科研机构可以省去搭建实验网络的费用,并且实验数据来自更接近真实的环境。随着OpenFlow技术的完善,OpenFlow的应用目标已扩展到广域网和数据中心领域。

OpenFlow的主要思想是:

分离控制平面和数据平面,二者之间使用标准的协议通信;

数据平面采用基于流的方式进行转发,非常灵活和通用;

层次化的集中控制平面,提供开放的API接口供第三方开发;

数据平面和控制平面支持虚拟化;

后向兼容。

如图4所示,每个OpenFlow网络由以下三部分组成。

 

http://www.h3c.com.cn/res/201112/20/20111220_1307733_image004_736175_30008_0.jpg图4 OpenFlow虚拟网构成

OpenFlow设备(OpenFlow Device):接收OpenFlow控制器设置的流表,并根据流表进行简单的报文处理,向OpenFlow控制器上报设备的状态和事件如接口UP/DOWN。

OpenFlow控制器(OpenFlow Controller):是虚拟网的控制中心,根据用户的配置或者动态运行的协议生成流表发送到OpenFlow设备,可能由实验程序生成流表,也可以静态配置流表;控制器上可能运行实验程序,或者第三方开发的软件等等。

安全通道(Secure Channel):在OpenFlow设备和控制器之间通过预先配置的安全通道(基于SSL)通信。

OpenFlow定义了一套通信API,它允许控制器将配置信息发送给OpenFlow设备,这个配置通常是流表及其附属的某些操作。OpenFlow设备的功能是接收控制器下发的流表,根据流表进行报文转发和处理,向控制器上报设备的事件和状态。

OpenFlow控制器和设备之间的API遵循OpenFlow协议定义,OpenFlow协议标准由ONF(Open Networking Foundation)定义。

OpenFlow设备使用流表(Flow Table)指导报文处理。流表包含一系列用于匹配报文的流表项,每个表项关联多个计数器和动作。对于进入设备的报文进行流表项的匹配,匹配成功后进行计数统计和相应的动作处理,这些动作可能是转发到多个端口,或者丢弃,对于未匹配任何表项的报文,则通过安全通道转发到控制器,交由控制器处理。

0

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

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

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

新浪公司 版权所有