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

控制器和交换机根据OpenFlow协议进行通信前,使用OF-Config协议对交换机进行配置
二:OF-Config协议版本

OF-Config1.0对应OpenFlow1.2版本,他是为了满足OpenFlow1.2版本的配置需求而设计的。
OF-Config1./.2版本都对应OpenFlow1.3版本,这两个版本之间有着细微的变化,都是为了满足OpenFlow1.3版本的配置需求而设计的。
三:OF-Config协议和OpenFlow协议区别
OpenFlow协议实现的目的:是实现控制器与OpenFlow交换机之间的信息交互。控制器通过OpenFlow协议对OpenFlow交换机流表的转发进行指导
OF-Config协议实现的目的:是实现OpenFlow交换机的远端配置,OF配置点通过OF-Config协议完成OpenFlow交换机的配置与管理工作

OF-Config协议实现中将各组件从逻辑上进行抽象
四:OF-Config中各组件及其关系
一个OpenFlow交换机相当于一个物理的或者虚拟的网元设备,可以由一个或多个OpenFlow逻辑交换机构成,逻辑交换机相当于数据路径DataPath。 每个OpenFlow逻辑交换机都被分配了一定的资源,比如端口、队列等 发送OF-Config消息到OpenFlow交换机的服务称为OpenFlow配置点
五:OF-Config协议实现了那些管理配置功能
(一)配置需求
控制器连接设置
在交换机连接到控制器之前,有3个参数需要提前设置:控制器IP地址、控制器端口号和传输协议(TLS或TCP)。
多控制器(Multiple Controllers)设置
OF-Config协议提供交换机同时连接多控制器的参数配置
OpenFlow逻辑交换机设置
OF-Config协议需要支持OpenFlow逻辑交换机各种资源的配置,如端口或队列。
连接中断(Connection Interruption)设置
配置连接失效后进入的模式
当交换机与控制器失去连接时,可以进入两种可选模式,失败安全模式或者失败独立模式,OF-Config协议支持预先配置交换机连接中断后进入的模式
加密(Encryption)设置
身份认证方式
OF-Config协议提供交换机与控制器安全连接的证书配置
队列(Queues)设置
OF-Config协议支持对队列的设置,包括 最小速率(min‐rate)、最大速率(max-rate)、自定义速率(experimenter)
端口(Ports)设置
OpenFlow协议本身实现了部分端口的配置,但是十分有限。
OF-Config协议提供了更加全面的端口配置功能:禁止接收(no-receive)、禁止转发(no-forward)、禁止Packet-in消息(no--
packetin)、管理状态(admin-state)等
能力发现(Capability Discovery)
发现能力特性,OpenFlow协议为逻辑交换机定义了多种能力特征,比如多种Action类型。
OF-Config支持发现这些能力特征
Datapath ID设置
(二)操作运维需求
支持OF交换机被多个OpenFlow配置点配置

支持一个OpenFlow配置点管理多个OF交换机

支持一个OpenFlow逻辑交换机被多个控制器控制

支持配置OpenFlow交换机的端口和队列;
支持OpenFlow逻辑交换机的能力发现;
支持配置隧道,如IPinGRE、VXLAN及NVGRE
(三)管理协议需求
保障安全性,支持对交换机和配置点双向认证;
支持配置请求和应答的可靠传输;
支持由配置点或交换机进行连接设置;
能够承载局部交换机配置以及大范围交换机配置;
支持配置点在交换机配置参数及接收来自交换机的配置参数;
支持在交换机创建、更改及删除配置信息,并支持报告配置结果;
支持独立发送配置请求,并支持交换机到配置点的异步通知;
支持记忆能力、可伸展性以及报告自身属性和能力。
六:OF-Config协议的数据模型
(一)数据模型数据结构
OF-CONFIG采用XML来描述其数据结构;
数据模型由类和类的属性构成

(二)XML数据标识

这些ID由字符串定义,是XML中的ID属性唯一值。利用XML定义的数据模型有很好的可读性和扩展性。利于软件的实现
(三)数据模型和XML实现


七:OF-Config协议的数据传输所采用的的传输协议
通过NETCONF协议来传输其内容(RFC6241) --成熟的管理配置协议
软件定义网络基础---OF-Config协议的更多相关文章
- 软件定义网络基础---SDN的主流构架
一:基于不同标准的主流构架 二: ONF定义的SDN基本构架 (一) 四个平面.两大接口 三:四个平面 (一)数据平面 数据平面是由若干网元(Netword Element)构成,每个网元包括一个或多 ...
- 软件定义网络基础---NETCONF协议
netconf协议最早被作为网管协议被提出来的,与SNMP网管协议相比较:SNMP的优势在于网络设备的监测,在大规模网管应用中有很大不足,正是针对这种不足之处,提出了NETCONF协议 一:NETCO ...
- 软件定义网络基础---OpenFlow协议
一:OpenFlow协议概述 OpenFlow协议为控制器与交换机之间的通信,提供了一种开放标准的方式.OpenFlow交换机通过安全通道与控制器进行信息交互 二:OpenFlow消息类型 (一)co ...
- 网络基础tcp/ip协议五
传输层的作用: ip层提供点到点的链接. 传输层提供端到端的链接. 传输层的协议: TCP: 传输控制协议可靠的,面向链接的协议,传输效率低. UDP: 用户数据报协议,不可靠,无连接的服务,传输效率 ...
- 网络基础tcp/ip协议四
网络层的功能: 定义了基于ip协议的逻辑地址. 链接不同的媒介类型. 选择数据通过网络的最佳路劲. 数据包格式: 优先级与服务类型(8)位:优先级与服务类型 标识符,标志,段偏移量:这几个字用来对数据 ...
- 网络基础tcp/ip协议三
数据链路层:(位于网络层与物理层之间) 数据链路层的功能: 数据链路的建立,维护. 帧包装,帧传输,帧同步. 帧的差错恢复. 流量的控制. 以太网:(工作在数据链路层) CSMA/CD(带冲突检测的载 ...
- 网络基础知识 - HTTP协议
前传:HTTP协议的演变过程 HTTP(HyperText Transfer Protocol)协议是基于TCP的应用层协议,它不关心数据传输的细节,主要是用来规定客户端和服务端的数据传输格式,最初是 ...
- 软件定义网络基础---SDN控制平面
一:SDN控制平面 一个或多个SDN控制器组成,是网络的大脑. 对底层网络交换设备进行集中管理,状态监测.转发决策以及处理和调 度数据平面的流量: 通过北向接口向上层应用开放多个层次的可编程能 ...
- 软件定义网络基础---OpenFlow概述
一:OpenFlow概述 二:交换机模型架构 (一)OpenFlow构架三个组成成分 三:OpenFlow 1.0版本 自OpenFlow1.0发布以来,目前已经有多个版本的OF规范版本被发布 四:O ...
随机推荐
- laravel5.8 编译laravel mix
如果第一次无需执行(如果编译的时候出错再次执行才需要) 1:rm -rf node_modules 更改镜像为淘宝镜像 2:yarn config set registry https://regis ...
- Django REST framework认证权限和限制 源码分析
1.首先 我们进入这个initial()里面看下他内部是怎么实现的. 2.我们进入里面看到他实现了3个方法,一个认证,权限频率 3.我们首先看下认证组件发生了什么 权限: 啥都没返回,self.per ...
- PAT乙级1045 快速排序
1045 快速排序 (25分) 著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元,通过交换,把比主元小的元素放到它的左边,比主元大的元素放到它的右边. 给定划分后的 ...
- Hadoop2.8 安装
一.下载Hadoop与java jdk-8u221-linux-x64.tar.gz Oracle官网下载 hadoop-2.8.5.tar.gz Hadoop官网下载 二.配置服务期间ssh免 ...
- 数组splay ------ luogu P3369 【模板】普通平衡树(Treap/SBT)
二次联通门 : luogu P3369 [模板]普通平衡树(Treap/SBT) #include <cstdio> #define Max 100005 #define Inline _ ...
- (17)打鸡儿教你Vue.js
vue-router <a class="list-group-item" v-link="{ path: '/home'}">Home</a ...
- Ceph osd故障恢复
1 调高osd的日志等级 加上红框那一行就可以了 osd的日志路径:/var/log/ceph/ceph-osd.3.log 注意:加上了这一行后日志会刷很多,所以要特别注意日志容量的变化,以防把v ...
- npm start的时候改变端口及组合脚本
windows npm修改端口启动 set PORT=3000&&roadhog server npm start Linux npm 修改端口启动 set PORT=3000 roa ...
- nodejs 日志框架winston笔记
winston是一款nodejs的日志库,本文以2.1.1版本为例,介绍一下使用方法. 1.基础用法 引用日志库,返回的是一个对象.包含一些构造器,实例方法. 其中transports是日志输出方式. ...
- mui openWindow方法详细说明
mui.openWindow({ url: 'xxx.html', //String类型,要打开的界面的地址 id: 'id', //String类型,要打开的界面的id styles: { //We ...