简介
在OpenFlow协议的规范中,控制器需要和配置好的交换机进行通信。而交换机在正常工作之前需要对其特性以及资源进行配置,才能正常工作。而这些配置超出了OpenFlow协议规范的范围,理应由其他的配置协议来完成,而OF-Config(OpenFlow Management and Configuration Protocol)协议就是一种配置OpenFlow交换机的一种协议。OF-CONFIG由ONF于2012年1月提出,目前已经演化到1.2版本。OF-CONFIG协议与OpenFlow协议的关系如图2.2所示。
作为一种交换机配置协议,OF-CONFIG的主要功能主要包括配置交换机连接的多个控制器信息、端口和队列等资源的配置和分配以及端口等资源的状态修改等。此外,OF-CONFIG作为一个配置协议,OF-CONFIG要求链接必须是安全的可靠的。OF-CONFIG支持通过多个配置点上对同一个交换机进行配置,同时也支持同一个配置点对多个交换机进行配置,从而满足实际网络配置和运维的需求。
为了满足OpenFlow版本更新的需求,OF-CONFIG采用XML来描述其数据结构。此外,在初始版本中也规定了采用NETCONF协议作为传输协议。由于其并没有和数据交换直接相关,所以相对于对实时性要求高的OpenFlow等南向协议而言,OF-CONFIG协议对实时性要求并不高。
图2.2 OF-CONFIG 与OpenFlow以及OpenFlow Switch之间的关系图
原理
OF-CONFIG协议定义了一系列的数据结构,用于描述协议的动作和内容。通过OpenFlow Configuration Point(OpenFlow配置点)来远程配置控制器信息、交换机特性以及端口和队列等相关资源来完成交换机配置。OpenFlow配置点本质上就是运行着OF-CONFIG客户端进程的计算机,其可以是普通的服务器,也可以运行在部署控制器的系统中。最新的1.2版本的OF-CONFIG协议支持OpenFlow1.3版本的交换机的主要配置如下:
配置datapath(在OF-CONFIG协议中称为OpenFlow逻辑交换机)连接的控制器信息,支持配置多个控制器信息,实现备份。配置交换机的端口和队列,实现资源的分配远程改变端口的状态以及特性完成OpenFlow交换机与OpenFlow控制器之间安全链接的证书配置发现OpenFlow逻辑交换机的能力配置VXLAN、NV-GRE等隧道协议
OF-CONFIG采用XML来描述其数据结构,并通过NETCONF协议来传输其内容。其最顶层的数据结构图如图2.3所示。其中OpenFlow Capable Switch是有OpenFlow Logical Switch实例化出来的一个数据结构,用于与OpenFlow配置节点通信,并由配置节点对其属性进行配置。OpenFlow逻辑交换机是指对OpenFlow交换机实体的逻辑描述,用于指导交换机进行相关动作,也是与OpenFlow控制器通信的实体。OpenFlow逻辑交换机拥有包括端口,队列,流表等资源。
作为OpenFlow的伴侣协议,OF-CONFIG很好地弥补了OpenFlow协议规范之外的内容。在OpenFlow协议的SDN框架中,OF-CONFIG需完成交换机的配置工作,包括将其连接到指定的控制器。当交换机和控制器连接建立之后,将通过OpenFlow协议来传递信息。从面向对象的角度看,OpenFlow协议规范的范围仅负责指导交换机对数据流进行操作而无法对交换机的资源进行配置,而配置部分工作由独立的OF-CONFIG协议来完成,这个设计非常符合面向对象的设计理念。
作为伴侣协议,OF-CONFIG协议是对OpenFlow协议的补充。其设计动机、设计目的和实现方式等方式都不一样。同时,OpenFlow逻辑交换机的某些属性可以通过OpenFlow协议和OF-CONFIG协议两种方式来进行配置,所以两个协议也有相互重叠的地方。表2.1[2]展示了OpenFlow和OF-CONFIG的差异。
作为OpenFlow的伴侣协议,OF-CONFIG的版本更新紧跟OpenFlow协议的版本演进节奏。自2012年发布的OF-CONFIG 1.0版本之后,为支持OpenFlow协议的新版本特性,不断更新协议版本,于2014年更新到OF-CONFIG 1.2版本,从而支持OpenFlow1.3版本协议的新特性。
随着SDN的发展,OpenFlow不再是唯一的,也不再是必须的选项。但是无论选择哪一种南向协议,都需要通过交换机配置协议,所以相比OpenFlow而言,OF-CONFIG似乎更有生命力。因此笔者看好OF-CONFIG在SDN发展的很长一段时间内将拥有稳定的技术市场,这个趋势和OpenFlow的发展有很大的关系,但是OF-CONFIG不会随着OpenFlow的可能消亡而失去竞争力。
与OF-CONFIG类似的配置协议还有OVSDB,其专门为OpenVSwitch的数据库配置服务,可用于创建网桥并配置。而随着OpenVSwitch的流行,OVSDB的曝光率相比要远高于OF-CONFIG,所以两者在技术上是一种竞争关系。但是OF-CONFIG适用于所有支持OpenFlow协议的交换机,包括软件交换机和硬件交换机,而OVSDB只支持OpenVSwitch交换机。这点差异使得OF-CONFIG在物理交换机环境下占有一定优势。
作者简介:
李呈,2014/09-至今,北京邮电大学信息与通信工程学院未来网络理论与应用实验室(FNL实验室)攻读硕士研究生。
本文转自d1net(转载)