软件定义网络基础---NETCONF协议
netconf协议最早被作为网管协议被提出来的,与SNMP网管协议相比较:
SNMP的优势在于网络设备的监测,在大规模网管应用中有很大不足,正是针对这种不足之处,提出了NETCONF协议

一:NETCONF协议
NETCONF协议虽然是多个SDN控制支持的南向协议,但是他无法指导交换机进行数据转发,它与OF-Config OVSDB协议类似,是一种网络设备的配置管理协议
(一)功能
NETCONF是新一代网管协议;网络配置协议NETCONF(Network Configuration Protocol)提供一套管理网络设备的机制

(二)版本发展

(三)NETCONF其他特点
区分配置数据和状态数据,提供不同的操作进行数据的增删改查。
--配置数据(configuration data):对网络设备进行配置的数据;
--状态数据(state data):反映设备状态的数据
存在多个配置数据库

Running数据库代表目前在设备上运行的配置,这个配置数据库一般提供持久化操作的指令。例如思科交换机可以通过copy命令将当前的running配置保持到startup配置,用于设备重启后的配置恢复
NETCONF可以支持candidate,就相当于多了一个闲置的练手数据库,可以在candidate配置数据库上进行反复配置,直到得到想要的结果,然后用commit操作将candidate的配置覆盖running配置数据库
另外可以通过copy-config命令将running配置覆盖startup配置数据库。
(四)NETCONF协议分层

NETCONF传输层

当一个安全连接建立后,客户端和服务端会通过hello消息,进行一次NETCONF消息交互
NETCONF 消息层(采用RPC协议)
采用基于RPC的通讯机制; RPC是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议
• <rpc>:请求
• <rpc-reply>:响应
再交换过hello消息后,NETCONF客户端向服务端发送rpc消息对服务端的设备进行配置管理,服务端对每个rpc请求发送rpc-reply进行回应
NETCONF操作层(NETCONF核心)
提供对数据库信息的获取、配置、复制和删除等功能

NETCONF内容层
描述了网络管理所涉及的配置数据:
<running/>
<candidate/>
<startup/>
使用YANG语言进行建模,YANG具有以下特点:
层级树形结构
可以直接映射到XML
可读性好,易学习
可复用、可扩展
二:操作模拟
(一)get-config

控制器通过RPC请求,获取交换机的配置信息,
从RPC请求的XML文档可以看出,<RPC>标签标识消息层的rpc请求,get-config标签代表操作层的操作。running标签说明操作的对象是running数据库
从RPC响应的xml文档可以查看,所获取的交换机的datapath-id,所连接的控制器角色,ip和端口号等信息
(二)edit-config

edit-config操作对目标数据库进行编辑,操作的属性主要包括 create replace replace merge delete
(三)copy-config
创建或替换整个配置数据库
如果目标存在, 则覆盖;否则,创建一个新的库

(四)delete-config
<running> 配置数据库不能被删除

软件定义网络基础---NETCONF协议的更多相关文章
- 软件定义网络基础---OF-Config协议
交换机与控制器继续通信前,是需要对其功能.特性以及资源进行配置才能进行工作,这些配置是如何实现的?是由专门的配置协议指导完成的 一:OF-Config协议 是OpenFlow交换机管理配置协议,是Op ...
- 软件定义网络基础---OpenFlow协议
一:OpenFlow协议概述 OpenFlow协议为控制器与交换机之间的通信,提供了一种开放标准的方式.OpenFlow交换机通过安全通道与控制器进行信息交互 二:OpenFlow消息类型 (一)co ...
- 软件定义网络基础---SDN控制平面
一:SDN控制平面 一个或多个SDN控制器组成,是网络的大脑. 对底层网络交换设备进行集中管理,状态监测.转发决策以及处理和调 度数据平面的流量: 通过北向接口向上层应用开放多个层次的可编程能 ...
- 软件定义网络基础---OpenFlow概述
一:OpenFlow概述 二:交换机模型架构 (一)OpenFlow构架三个组成成分 三:OpenFlow 1.0版本 自OpenFlow1.0发布以来,目前已经有多个版本的OF规范版本被发布 四:O ...
- 网络基础 HTTP协议之http url简介
HTTP协议之http url简介 by:授客 QQ:1033553122 http url简介 http url通过http协议,用于定位网络资源,是一种特殊类型的URI(统一资源定位) http_ ...
- 软件定义网络基础---REST API的设计规范
一:REST API的设计 REST API是基于HTTP协议进行设计的,由HTTP动词+URI组成 (一)HTTP动词 (二)资源的原型 文档(Document): 文档是资源的单一表现形式: 集合 ...
- 软件定义网络基础---OpenFlow流表
一:流表 (一)流的概念 我们把同一时间经过同一网络中,具有某种共同特征或属性的数据,抽象为一个流 比如:我们将访问同一个地址的数据视为一个流 流一般是由网络管理员定义的,可以根据不同的流执行不同的策 ...
- 软件定义网络基础---SDN数据平面
主要介绍SDN架构和转发模型 一:传统网络设备 (一)传统设备控制平面和数据平面 (二)数据平面的任务 数据平面对数据包的处理,主要通过查询由控制平面所生成的转发信息表来完成 (三)传统网络数据平面数 ...
- 软件定义网络基础---SDN的核心思想
一:SDN包含的核心思想:解耦,抽象,可编程 二:解耦 (一)SDN网络解耦思想 解耦是指将控制平面和数据平面进行分离,主要为了解决传统网络中控制平面和数据平面在物理上紧耦合导致的问题 控制平面和数据 ...
随机推荐
- TJOI2016 字符串
字符串 佳媛姐姐过生日的时候,她的小伙伴从某东上买了一个生日礼物.生日礼物放在一个神奇的箱子中.箱子外边写了一个长为n的字符串s,和m个问题.佳媛姐姐必须正确回答这m个问题,才能打开箱子拿到礼物,升职 ...
- C#向数据库中插入或更新null空值
一.在SQL语句中直接插入null或空字符串“” int? item = null; item == null ? "null" : item.ToString(); item = ...
- 为何基于tcp协议的通信比基于udp协议的通信更可靠?
tcp协议一定是先建好双向链接,发一个数据包要得到确认才算发送完成,没有收到就一直给你重发:udp协议没有链接存在,udp直接丢数据,不管你有没有收到. TCP的可靠保证,是它的三次握手双向机制,这一 ...
- 最小费用流模板(zkw与spfa)
"zkw" 费用流算法在哪些图上慢(摘自https://www.cnblogs.com/ECJTUACM-873284962/p/7744943.html) 实践中, 上面的这个算 ...
- TensorflowTensorflow细节-P158-slim的使用
slim的使用 从以下细节可以看出先使用slim = tf.contrib.slim要回用,剩下的看看以下代码就懂了 import tensorflow as tf slim = tf.contrib ...
- 洛谷 P4408 [NOI2003] 逃学的小孩 题解
Analysis 题意虽然说先去谁家再去谁家,但是我们不需要管这个,因为AA.BB.CC三个点我们可以任意互相交换它们所代表的对象,所以题目要求的就是在一棵树上找到3个点AA.BB.CC令AB+BCA ...
- override关键字
https://www.cnblogs.com/xinxue/p/5471708.html 2 重写 (override) 在 1.2.2 中提到 override 关键字,可以避免派生类中忘记重写 ...
- AtCoder Grand Contest 015题解
传送门 \(A\) 找到能达到的最大的和最小的,那么中间任意一个都可以被表示出来 typedef long long ll; int n,a,b;ll res; int main(){ scanf(& ...
- npm start的时候改变端口及组合脚本
windows npm修改端口启动 set PORT=3000&&roadhog server npm start Linux npm 修改端口启动 set PORT=3000 roa ...
- 坑:pytest 运行报错unknown hook 'pytest_namespace' in plugin <module 'allure.pytest_plugin'
右键运行pytest run时报错,原因是pytest版本过高导致的.有时候会遇到在自己本机没问题,拉取服务器代码下来后就出问题了,所以把pytest版本改低就可以,亲测有效,希望对你有帮助 完整报错 ...