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

一: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. HDU2870 Largest Submatrix

    Largest Submatrix Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others ...

  2. HtmlAgilityPack解析html文档

    一.概述 HtmlAgilityPack(以下简称HAP)是一个基于.Net的.第三方免费开源的微型类库,主要用于在服务器端解析html文档. HtmlAgilityPack为网页提供了标准的DOM ...

  3. eclipse 安装反编译工具

    jd-gui是我最喜欢使用的java反编译工具.它是一款用c++开发的轻量级的java反编译工具,无须安装即可以使用,你甚至都不需要安装jre环境就可以实现反编译:支持最新的jdk,目前是jdk 1. ...

  4. C++类中构造函数调用构造函数问题

    环境:xp+vs2010问题:在初始化类参数的过程中,可能需要多个重载的构造函数,但是有很多变量初始化代码又是一样的.肯定需要写一次,等待其他构造函数来调用即可.经过调试发现,在classA(int ...

  5. python爬取动态网页数据,详解

    原理:动态网页,即用js代码实现动态加载数据,就是可以根据用户的行为,自动访问服务器请求数据,重点就是:请求数据,那么怎么用python获取这个数据了? 浏览器请求数据方式:浏览器向服务器的api(例 ...

  6. Django 第一天 开端

    今日内容: 一.HTTP协议 1.HTTP协议简介 参考博客:https://www.cnblogs.com/clschao/articles/9230431.html 是超文本传输协议 现在使用最广 ...

  7. php自定义函数之变量作用域

    我们通过前面的章节函数定义部份的学习我们知道了几个不同的规矩: 函数定义时后括号里面接的变量是形式上的参数(形参),与函数体外的变量没有任何关系.仅仅是在函数内部执行大理石量具哪家好 函数内声明的变量 ...

  8. 2017.10.7 国庆清北 D7T2 第k大区间

    题目描述 定义一个长度为奇数的区间的值为其所包含的的元素的中位数. 现给出n个数,求将所有长度为奇数的区间的值排序后,第K大的值为多少. 输入输出格式 输入格式: 输入文件名为kth.in. 第一行两 ...

  9. C# 使用配置文件配置应用

    使用配置文件配置应用 .NET Framework 通过配置文件为开发人员和管理员提供了对应应用程序运行方式的控制权和灵活性.配置文件可以按需要更改的XML文件.管理员能够控制应用程序可以访问哪些受保 ...

  10. linux 使用yum安装mysql详细步骤

    环境:Centos 6.5 Linux 使用yum命令安装mysql 1. 先检查系统是否装有mysql [root@localhost ~]#yum list installed mysql* [r ...