SDN基础-OF-CONFIG协议
OF-Config概述
- OF-Config协议就是一种OpenFlow交换机管理配置协议(OpenFlow Management and Configuration Protocol)
- OpenFlow的伴侣协议( Considered a complementary protocol )
控制器和交换机根据OpenFlow协议进行通信前,使用OF-Config协议对交换机进行配置
OF-Config协议与OpenFlow协议版本对应关系
OpenFlow协议实现的目的:是实现控制器与OpenFlow交换机之间的信息交互。控制器通过OpenFlow协议对OpenFlow交换机流表的转发进行指导
OF-Config协议实现的目的:是实现OpenFlow交换机的远端配置,OF配置点通过OF-Config协议完成OpenFlow交换机的配置与管理工作
一个OpenFlow交换机相当于一个物理的或者虚拟的网元设备,可以由一个或多个OpenFlow逻辑交换机构成,逻辑交换机相当于数据路径DataPath。
每个OpenFlow逻辑交换机都被分配了一定的资源,比如端口、队列等
发送OF-Config消息到OpenFlow交换机的服务称为OpenFlow配置点
OF-CONFIG协议实现管理配置功能
配置需求(Specification Requirements)
- 控制器连接设置
在交换机连接到控制器之前,有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
操作运维需求( Operational Requirements )
-
支持OF交换机被多个OpenFlow配置点配置
-
支持一个OpenFlow配置点管理多个OF交换机
-
支持一个OpenFlow逻辑交换机被多个控制器控制
-
支持配置OpenFlow交换机的端口和队列
-
支持OpenFlow逻辑交换机的能力发现
-
支持配置隧道,如IPinGRE、VXLAN及NVGRE
管理协议需求( Management Protocol Requirements)
- 保障安全性,支持对交换机和配置点双向认证;
- 支持配置请求和应答的可靠传输;
- 支持由配置点或交换机进行连接设置;
- 能够承载局部交换机配置以及大范围交换机配置;
- 支持配置点在交换机配置参数及接收来自交换机的配置参数;
- 支持在交换机创建、更改及删除配置信息,并支持报告配置结果;
- 支持独立发送配置请求,并支持交换机到配置点的异步通知;
- 支持记忆能力、可伸展性以及报告自身属性和能力。
OF-Config协议的数据模型
OF-CONFIG采用XML来描述其数据结构
数据模型由类和类的属性构成
数据模型
OpenFlow Capable Switch
OpenFlow Configuration Point
OpenFlow Logical Switch
Logical Switch Capabilities
OpenFlow Controller
OpenFlow Resource (Superclass)
OpenFlow Port
OpenFlow Port Feature
OpenFlow Queue
External Certificate
Owned Certificate
OpenFlow Flow Table
传输协议
通过NETCONF协议来传输其内容(RFC6241)