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协议的更多相关文章

  1. 软件定义网络基础---OF-Config协议

    交换机与控制器继续通信前,是需要对其功能.特性以及资源进行配置才能进行工作,这些配置是如何实现的?是由专门的配置协议指导完成的 一:OF-Config协议 是OpenFlow交换机管理配置协议,是Op ...

  2. 软件定义网络基础---OpenFlow协议

    一:OpenFlow协议概述 OpenFlow协议为控制器与交换机之间的通信,提供了一种开放标准的方式.OpenFlow交换机通过安全通道与控制器进行信息交互 二:OpenFlow消息类型 (一)co ...

  3. 软件定义网络基础---SDN控制平面

    一:SDN控制平面 一个或多个SDN控制器组成,是网络的大脑.  对底层网络交换设备进行集中管理,状态监测.转发决策以及处理和调 度数据平面的流量:  通过北向接口向上层应用开放多个层次的可编程能 ...

  4. 软件定义网络基础---OpenFlow概述

    一:OpenFlow概述 二:交换机模型架构 (一)OpenFlow构架三个组成成分 三:OpenFlow 1.0版本 自OpenFlow1.0发布以来,目前已经有多个版本的OF规范版本被发布 四:O ...

  5. 网络基础 HTTP协议之http url简介

    HTTP协议之http url简介 by:授客 QQ:1033553122 http url简介 http url通过http协议,用于定位网络资源,是一种特殊类型的URI(统一资源定位) http_ ...

  6. 软件定义网络基础---REST API的设计规范

    一:REST API的设计 REST API是基于HTTP协议进行设计的,由HTTP动词+URI组成 (一)HTTP动词 (二)资源的原型 文档(Document): 文档是资源的单一表现形式: 集合 ...

  7. 软件定义网络基础---OpenFlow流表

    一:流表 (一)流的概念 我们把同一时间经过同一网络中,具有某种共同特征或属性的数据,抽象为一个流 比如:我们将访问同一个地址的数据视为一个流 流一般是由网络管理员定义的,可以根据不同的流执行不同的策 ...

  8. 软件定义网络基础---SDN数据平面

    主要介绍SDN架构和转发模型 一:传统网络设备 (一)传统设备控制平面和数据平面 (二)数据平面的任务 数据平面对数据包的处理,主要通过查询由控制平面所生成的转发信息表来完成 (三)传统网络数据平面数 ...

  9. 软件定义网络基础---SDN的核心思想

    一:SDN包含的核心思想:解耦,抽象,可编程 二:解耦 (一)SDN网络解耦思想 解耦是指将控制平面和数据平面进行分离,主要为了解决传统网络中控制平面和数据平面在物理上紧耦合导致的问题 控制平面和数据 ...

随机推荐

  1. 《你们都是魔鬼吗》第八次团队作业:第四天Alpha冲刺

    <你们都是魔鬼吗>第八次团队作业:Alpha冲刺 项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 作业链接地址 团队名称 你们都是魔鬼吗 作业学习目标 完成最 ...

  2. python_并发编程——事件

    1.事件 :通过一个信号来控制多个进程同时执行或者阻塞. 一个信号可以使所有的进程都进入阻塞状态,也可以控制所有的进程接触阻塞,一个事件被创建之后,默认是阻塞状态. from multiprocess ...

  3. 项目架构&架构部署&网站分析&网站优化

    一.架构演变 一个项目至少由三层内容组成:web访问层.数据库层.存储层 初级阶段 单体阶段 常见场景:项目初期 部署特点:所有应用服务都在一台主机 应用特点:开发简单 应用/数据分离阶段 常见场景: ...

  4. SVN “Previous operation has not finished”

    https://jingyan.baidu.com/article/cbcede0761334902f40b4d31.html 需要运行sqlite3打开.svn下的wc.db数据库文件, sqlit ...

  5. 开始编写Makefile

    1.Makefile 的编写规则一 目标列表:关联性列表 命令列表 目标列表:可以是多个以空格隔开多个目标文件 关联列表页称为先决条件:同样是用个或多个空格分开的目标文件 命令列表:用<tab& ...

  6. 洛谷 P5436 【XR-2】缘分 题解

    P5436 [XR-2]缘分 题目背景 世间万物都置身于缘分编织的大网中.缘分未到,虽历经千劫,却不能相遇.缘分到了,在草原上都能等到一艘船.--<一禅小和尚> 题目描述 一禅希望知道他和 ...

  7. leetcode 63 简单题

    题目很水... 直接放代码了 int uniquePathsWithObstacles(int** obstacleGrid, int obstacleGridRowSize, int obstacl ...

  8. 19、Executor原理剖析与源码分析

    一.原理图解 二.源码分析 1.Executor注册机制 worker中为Application启动的executor,实际上是启动了这个CoarseGrainedExecutorBackend进程: ...

  9. 洛谷P1325 雷达安装

    题目 考虑对于一个小岛,如果有雷达可以覆盖它,则这些雷达肯定在一个区间里,则原题内容则变为区间选点问题 #include <bits/stdc++.h> using namespace s ...

  10. 命令备忘 ss

    简介: Socket Statistics(ss)命令类似于netstat,它用于显示各种有用的网络套接字信息. 长时间看,已经注意到netstat这个命令程序已经过时了.从而代替netstat的是s ...