软件定义网络基础---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 ...
随机推荐
- 1206 BBS注册
目录 昨日内容 BBS项目 1.项目开发流程 2.表设计 用户表 个人站点表 文章标签表 文章分类表 文章表 文章的点赞点踩表 文章的评论表 项目 昨日内容 昨日内容 基于django中间件实现功能的 ...
- NETTY框架的使用
一.Netty 简介 Netty 是基于 Java NIO 的异步事件驱动的网络应用框架,使用 Netty 可以快速开发网络应用,Netty 提供了高层次的抽象来简化 TCP 和 UDP 服务器的编程 ...
- python - django (request 获取 访问者的 IP)
使用 Django 获取访问者的 IP if request.META.get('HTTP_X_FORWARDED_FOR'): ip = request.META.get("HTTP_X_ ...
- 020_Python3 File(文件) 方法
1.open() 方法 Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError. 注意:使用 open ...
- 布鲁克斯法则 (Brooks's Law)
软件开发后期,添加人力只会使项目开发得更慢. 这个定律表明,在许多情况下,试图通过增加人力来加速延期项目的交付,将会使项目交付得更晚.布鲁克斯也明白,这是一种过度简化.但一般的推理是,新资源的增加时间 ...
- noi.ac #46 最长上升子序列
\(des\) 长度为 \(n\) 的序列 \(A\),从中删去恰好 \(k\) 个元素(右边的元素往左边移动),记 \(cnt\) 为新 序列中 \(Ai = i\) 的元素个数(即权值与下标相同的 ...
- 1045 Favorite Color Stripe (30)
Eva is trying to make her own color stripe out of a given one. She would like to keep only her favor ...
- Deepin-TIM或Deepin-QQ调整界面DPI字体大小的方法
Deepin-TIM或Deepin-QQ调整界面DPI字体大小的方法 env WINEPREFIX="/home/landv/.deepinwine/Deepin-QQ" deep ...
- 第12组 Alpha冲刺(1/6)
Header 队名:To Be Done 组长博客 作业博客 团队项目进行情况 燃尽图(组内共享) 展示Git当日代码/文档签入记录(组内共享) 注: 由于GitHub的免费范围内对多人开发存在较多限 ...
- java读取文件内容并输出到控制台,java中实现文件复制
public class TestFileInputStream { public static void main(String [] args) { //读取指定文件中内容,并在控制台输出 Fil ...