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

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

  1. 软件定义网络基础---SDN的主流构架

    一:基于不同标准的主流构架 二: ONF定义的SDN基本构架 (一) 四个平面.两大接口 三:四个平面 (一)数据平面 数据平面是由若干网元(Netword Element)构成,每个网元包括一个或多 ...

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

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

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

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

  4. 网络基础tcp/ip协议五

    传输层的作用: ip层提供点到点的链接. 传输层提供端到端的链接. 传输层的协议: TCP: 传输控制协议可靠的,面向链接的协议,传输效率低. UDP: 用户数据报协议,不可靠,无连接的服务,传输效率 ...

  5. 网络基础tcp/ip协议四

    网络层的功能: 定义了基于ip协议的逻辑地址. 链接不同的媒介类型. 选择数据通过网络的最佳路劲. 数据包格式: 优先级与服务类型(8)位:优先级与服务类型 标识符,标志,段偏移量:这几个字用来对数据 ...

  6. 网络基础tcp/ip协议三

    数据链路层:(位于网络层与物理层之间) 数据链路层的功能: 数据链路的建立,维护. 帧包装,帧传输,帧同步. 帧的差错恢复. 流量的控制. 以太网:(工作在数据链路层) CSMA/CD(带冲突检测的载 ...

  7. 网络基础知识 - HTTP协议

    前传:HTTP协议的演变过程 HTTP(HyperText Transfer Protocol)协议是基于TCP的应用层协议,它不关心数据传输的细节,主要是用来规定客户端和服务端的数据传输格式,最初是 ...

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

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

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

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

随机推荐

  1. 评估预测函数(2)---对hypothesis进行评估

    当有多个features时,无法通过图像来评估hypothesis 当我们的hypothesis只有一个features时,可以通过观察它的图像来看它是否overfitting,但是如果我们有多个fe ...

  2. Nginx页面图片错误 ERR_CONTENT_LENGTH_MISMATCH

    现场:nginx代理的网站有的虚拟目录的图片无法正常显示,提示 ERR_CONTENT_LENGTH_MISMATCH,不断刷新页面图片一条一条的显示出来. 解决方法:找到nginx的缓存文件目录,c ...

  3. Tensorflow细节-P160-迁移学习

    这是一个完整的程序,值得保存 1.对图片进行预处理并保存 import glob import os.path import numpy as np import tensorflow as tf f ...

  4. composer 发布一个自己的扩展包

    练习写了一个扩展包,步骤参考github项目的readme.md 文件.https://github.com/codingmonkey9/test 说明:只是自己简单记录一下,没有详细写. 如何发布具 ...

  5. Oracle NVL 函数 nvl nvl2

    Oracle中函数以前介绍的字符串处理,日期函数,数学函数,以及转换函数等等,还有一类函数是通用函数.主要有:NVL,NVL2,NULLIF,COALESCE,这几个函数用在各个类型上都可以. 下面简 ...

  6. AtCoder Grand Contest 018题解

    传送门 \(A\) 根据裴蜀定理显然要\(k|\gcd(a_1,...,a_n)\),顺便注意不能造出大于\(\max(a_1,...,a_n)\)的数 int n,g,k,x,mx; int mai ...

  7. Android中活动的最佳实践(如何很快的看懂别人的代码activity)

    这种方法主要在你拿到别人的代码时候很多activity一时半会儿看不懂,用了这个方法以后就可以边实践操作就能够知道具体哪个activity是干什么用的 1.新建一个BaseActivity的类,让他继 ...

  8. input的禁止标签

    <body> <input type="text" name="" value="你好" disabled="d ...

  9. 三层设备-SHRP详解

    步骤:3-sw1enconf tvlan databasevtp domain s2t117vtp servervlan 10vlan 20vlan 30vlan 40exitint r f0/7 - ...

  10. 小程序中嵌套的h5页面设置分享转发

    场景描述:当在小程序中打开h5页面时,希望小程序的转发出去的标题,图片,跳转link可以通过h5通信实现自定义. 实现方式:通过h5给小程序通信,发送标题,图片,跳转link等信息,让小程序设置分享. ...