通信人家园

标题: NETCONF协议介绍  [查看完整版帖子] [打印本页]

时间:  2025-1-6 16:55
作者: jpfjpf148468     标题: NETCONF协议介绍

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
会话建立过程












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






时间:  2025-1-6 17:03
作者: 愤怒的拳头

学习了
时间:  2025-1-6 17:51
作者: xhy133

学习了
时间:  2025-1-9 17:24
作者: hjh_317

学习了。。。




通信人家园 (https://test.txrjy.com/) Powered by C114