是阻碍相关系统开发的难题.NET- CONF协议(其核心规范是RFCA741[33)的提出,为 推动基于XML的网络管理的进一步发展提供了可 行性方案. 在NETCONF协议规范中,配置信息的状态分 为3个阶段,即对应3类数据库:运行(running)、候 选(candidate)和开始(startup).“running”表示完 整的配置,目前在网络设备上正活跃;“candidate” 表示候选的配置,可以不影响设备当前配置的方式 操纵;“startup”表示当运行的配置可靠时,从“run— ning”状态复制的配置. 为了满足不同环境的需要,NETCONF协议从 概念上将传输消息划分为内容层、操作层、远程过程
调用(RPC,remote procedure call)层和传输层,如 2 图2基于NETCONF的XML代理的体系结构
NETCoNF能力的支持
2.1相关工作 NETCONF协议的核心在于操作层,其功能类 似于SNMP原语.NETCONF操作层定义了1个 底层操作的集合用以配置和获取设备信息,而设备 信息一般存放在数据库中,所以定义的操作应提供 对数据库信息的获取、配置、复制和删除等功能.值 得注意的是,NETCONF定义的基本操作只是代理 必须实现的最小集合,而不是功能健全的集合. 同时,NETCONF协议还允许客户端发现服务 器端支持的协议扩展集,这种特性称为能力(capa— bilities).NETCONF协议以能力的方式定义了除 基本功能以外的实现.“能力”这一概念的提出正是 在基本操作的基础上丰富其内涵,增加新的操作使 NETCONF代理的功能更加强大,并使其在容错 性、可扩展性等方面得到加强,最终将有利于实现基 于NETCoNF的开放式网络管理体系结构,为设备 厂商在遵循NETCONF协议的同时扩展自有功能 提供有效的途径.RFCA741与其后续的RFC5277 定义的9种NETCONF能力对基本操作的影响见 表1. NETCONF已经逐步成为基于XML的新一代
图1所示.NETCONF协议的提出,不仅使基于 XML的新一代网络管理在配置管理方面的功能得 以加强,形成了结构明晰的规范,更使XML网络管 理的效率得到明显提升.
4层结构 示例
I
配置数据
I<get-coniig>和<edJt-config>等 I‘rpc,和<rpc-reply> I
图1 1.2
SSH、BEEP、soAP
l
NETCONF协议的4层结构图
NETCONF代理的体系结构 根据图1所示的NETCONF 4层逻辑结构,图
2给出了基于NETCONF的XML代理的体系结
构.
更多的NETCONF协议开发实现包括YencaP (作为一种名为EnSuite的NETCONF架构的一部 分)和YENCA等[41.然而,现有大部分的实现对 NETCONF能力特性的支持仍不充分,包括Juniper
万 方数据
12
北京邮电大学学报
表1
第32卷
NETCONF能力对基本操作的影响
对基本操作的影响 支持对running数据库的直接修改.使得ed— config和copy-config操作的目标数据库为
“running”
功能需求集合,找出能满足功能需求的初始能力集 合,然后根据能力之间的依赖关系(如confirmed— commit依赖于candidate)向初始能力集合中添加 被依赖的能力,这样便得到需要实现的能力集合. 但初始能力集合不一定包含NETCONF协议规范 中定义的所有能力,这是因为实现所有能力并不代 表就是最佳的.例如,如果同时选择实现writable- running能力和candidate能力,还必须提供一种机 制来解决对配置数据修改的冲突. 第2步 类: 1)支持多种数据库的能力,包括writable-run— ning、candidate和startup; 2)完善和扩展NETCoNF基本操作能力,包 括confirmed—commit、rollback-on—error、url、xpath
和notification;
能力名称
writable-running
candidate
支持candidate数据库,使得get—config、edit_ config和copy—config操作的源和目标数据库
为“candidate”
confirmed-commit rollback-o