交换机与控制器继续通信前,是需要对其功能、特性以及资源进行配置才能进行工作,这些配置是如何实现的?是由专门的配置协议指导完成的
一:OF-Config协议
是OpenFlow交换机管理配置协议,是OpenFlow的伴侣协议
控制器和交换机根据OpenFlow协议进行通信前,使用OF-Config协议对交换机进行配置
二:OF-Config协议版本
OF-Config1.0对应OpenFlow1.2版本,他是为了满足OpenFlow1.2版本的配置需求而设计的。 OF-Config1.1/1.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) --成熟的管理配置协议