通信人家园

 找回密码
 注册

只需一步,快速开始

短信验证,便捷登录

搜索
查看: 757|回复: 3
打印

NETCONF协议介绍 [复制链接]

军衔等级:

  新兵

注册:2024-7-1
跳转到指定楼层
1#
发表于 2025-1-6 16:55:57 |只看该作者 |倒序浏览
NETCONF是基于XML的网络配置和管理协议,使用简单的基于RPC机制实现客户端和服务器之间通信。管理员可通过NETCONF协议实现本地管理,对远端设备的配置进行安装、修改和删除等操作。
协议架构
NETCONF协议采用分层结构,划分为4层。每层分别对协议的某一方面进行包装,并向上层提供相关服务。分层结构使每层只关注协议的一个方面,实现起来更简单,同时使各层之间的依赖、内部实现的变更对其他层的影响降到最低。
层面
示例
说明
第一层:传输层
SSH
传输层为NETCONF提供面向连接、可靠的、顺序的数据链路,NETCONF可以使用任何符合基本要求的传输层协议承载。
第二层:消息层
<rpc>
<rpc-reply>
<rpc-error>
消息层提供了一种简单的、不依赖于传输协议的RPC请求和响应机制,通过使用<rpc>和<rpc-reply>元素分别对NETCONF请求和响应数据(操作层和内容层的内容)进行封装。
第三层:操作层
<get-config><edit-config><notification>
操作层定义了一系列在RPC中应用的基本操作,这些操作组成了NETCONF基本能力。
第四层:内容层
配置数据
内容层由管理数据内容的数据模型定义,描述了网络管理相关的配置数据和状态数据,这些数据依赖于各制造商设备,因此内容层是唯一没有被标准化的层。主流的数据模型有Schema、YANG
会话建立过程
  • NETCONF Client和Server之间使用RPC机制进行通信。
  • Client必须和Server成功建立一个安全的、面向连接的会话才能进行通信。
  • Client向Server发送一个RPC请求,Server处理完请求后,给Client发送一个回应消息。
  • Client的RPC请求和Server的回应消息全部使用XML编码。


  • Client触发NETCONF会话建立,完成SSH连接建立,并进行认证与授权。

  • Client和Server完成NETCONF会话建立和能力协商。

  • Client发送请求给Server,进行RPC交互,如:

  • 修改并提交配置。

  • 查询配置数据或状态

  • 对设备进行维护操作。

  • Client关闭NETCONF会话。

  • SSH连接关闭。



报文结构
字段
含义
message-id
信息码,由发起RPC请求的Client指定,Server收到RPC请求报文后保存message-id属性,在生成<rpc-reply>消息时使用。
xmlns
XML的名字空间,其中base表示支持基本操作
<edit-config>
操作类型。
<target>
操作的目标数据集
<default-operation>
配置默认操作类型
<error-option>
设置<edit-config>操作出现错误后,后续操作的处理方式
<config>
由数据模型定义的层次化的配置数据
]]>]]>
XML格式报文最后必须添加结束符]]>]]>,否则设备无法识别。
配置数据库
介绍:
  • 配置数据库是关于设备的一套完整的配置参数的集合
  • NETCONF基本模型中只存在<running/>配置数据库, 其他配置数据库可以由能力集定义
  • 各数据库间可支持配置数据迁移
配置数据库
说明
<running/>
存放当前设备上运行的生效配置、状态信息等。该数据库必须存在,有且仅有一个。对该数据库进行修改操作,需支持writable-running能力。
<candidate/>
存放设备将要运行的配置数据,如需使用此数据库,需支持candidate能力,且对该数据库的任何改变不会直接影响网络设备。
<startup/>
存放设备启动时所加载的配置数据,相当于已保存的配置文件。如需使用此数据库,则必须支持Distinct Startup能力。
能力集
介绍:
  • 能力集是一组基于NETCONF协议实现的基础功能和扩展功能的集合。
  • 每个能力使用一个唯一的URI进行标识。
  • NETCONF协议允许Client与Server交互各自支持的能力集,Client只能发送Server支持的能力集范围内的操作请求。
分类:
  • 基本能力
NETCONF基本能力定义的操作是NETCONF必须实现的功能的最小集合,包括9个基本操作:
基本操作
说明
<get-config>
从<running>、<candidate/>和<startup/>配置数据库中获取配置数据,
通过<source>指定不同的配置数据库
<get>
从<running/>配置数据库中获取设备配置数据和状态数据
<get-data>
查询全部或部分指定配置或状态数据集
<edit-config>
将配置数据加载到指定的目标配置数据库
<close-session>
正常关闭当前NETCONF会话
  • 标准能力集
标准能力集使NETCONF在容错性、可扩展性等方面得到加强,如
标准能力
说明
Notification
设备可以向客户端上报告警和事件,以便客户端及时感知设备配置等的变更
XPath
设备可在<filter>元素中使用XPath表达式作为查询条件
  • 扩展能力集
设备制造商自己定义的能力集。





举报本楼

本帖有 3 个回帖,您需要登录后才能浏览 登录 | 注册
您需要登录后才可以回帖 登录 | 注册 |

版规|手机版|C114 ( 沪ICP备12002291号-1 )|联系我们 |网站地图  

GMT+8, 2025-1-11 22:40 , Processed in 0.257852 second(s), 16 queries , Gzip On.

Copyright © 1999-2023 C114 All Rights Reserved

Discuz Licensed

回顶部