NETCONF简介

  • 网络配置协议NETCONF(Network Configuration Protocol)提供一套管理网络设备的机制,用户可以使用这套机制增加、修改、删除网络设备的配置,获取网络设备的配置和状态信息。通过NETCONF协议,网络设备可以提供规范的应用程序编程接口API(Application Programming Interface),应用程序可以直接使用这些API,向网络设备发送和获取配置。
     
  • NETCONF有三个对象:
  • NETCONF客户端(管理平台、SDN控制器)
  • NETCONF服务器(网络设备)
  • NETCONF消息(对数据的增删改查)
  • NETCONF协议的编码格式:XML编码,NETCONF用文本文件表示复杂的层次化数据

NETCONF(Network Configuration Protocol)是基于可扩展标记语言XML(Extensible Markup Language)的网络配置和管理协议,使用简单的基于RPC(Remote Procedure Call)机制实现客户端和服务器之间通信。客户端可以是脚本或者网管上运行的一个应用程序。服务器是一个典型的网络设备。

       NETCONF提供了一种通过运行网络管理软件的中心计算机(即网络管理工作站)来远程管理和监控设备的方法。其优点如下:

NETCONF协议以XML格式定义消息,运用RPC机制修改配置信息,这样既能方便管理配置信息,又能满足来自不同制造商设备之间的互操作性

可减少由于人工配置错误引起的网络故障

可提高使用配置工具升级系统软件的效率

扩展性好,不同制造商设备可以定义自己的协议操作,以实现独特的管理功能。

NETCONF提供了认证、鉴权等安全机制,保证了消息传递的安全。
 

NETCONF协议框架

       NETCONF协议在概念上可以划分为4层:安全传输层、消息层、操作层、内容层。
       安全传输层:为客户端和服务器之间交互提供通讯路径。
       消息层:提供一种简单的不依赖传输协议层的RPC(远程过程调用)请求和回应机制。Client把RPC请求内容封装在一个<rpc>元素内,发送给Server;Server把请求处理结果封装在一个<rpc-reply>元素内,回应给Client。
       操作层:定义一组基本操作,作为RPC的调用方法,这些操作组成了NETCONF基本能力,如修改、删除、查找等操作。
       内容层:描述了网络管理所涉及的配置数据,而这些数据依赖于各制造商设备。目前主流的数据模型有Schema模型,YANG模型等。(内容层指明了操作层操作的内容,如需修改设备的哪种配置),NETCONF的内容层是使用YANG模型来描述的。

NETCONF传输层与消息层
NETCONF使用SSH实现安全传输,使用RPC远程调用的机制实现客户端和服务端的通信

网络net 模式trunk access_RPC

 

<rpc>:用于封装客户端到服务器端的NETCONF请求; 头部定义message-id标示序列。
<rpc-reply>:用户服务端回复<rpc>的response消息; 头部message-id保持一致。
<rpc-error>在v<rpc-reply>中被发送 ; 一个<rpc-reply>可以包含多个<rpc-error>
<ok>在<rpc-reply>中被发送,表示没有错误和没有数据返回。

NETCONF操作层
NETCONF定义了一系列操作:

网络net 模式trunk access_网络协议_02

 

NETCONF操作对象
操作对象有三个配置库。可以灵活读取和编辑配置库、候选库与运行库,实现整体配置的下发、验证和回滚。
 

Netconf与SNMP比较

网络net 模式trunk access_网络设备_03