天天看点

OpenFlow协议-整体结构和协议篇

OpenFlow

SDN结构的一个实例,一系列规范的集合,由 Open Networking Forum (ONF)维护。

这些规范的关键是一个抽象的包处理机定义,called switch.

switch使用一个数据包内容集合和交换机配置状态来处理数据包。

protocol定义来管理switch的配置状态以及接受switch事件。

最后,controller通过这个协议来管理许多switches的配置状态,并对事件做出respond.

OpenFlow协议-整体结构和协议篇

Fig 1. OpenFlow Overview

Protocol decomposition

OpenFlow协议可以被分解为四个部分: message layer, state machine, system interface, and configuration. 

OpenFlow协议-整体结构和协议篇

Fig 2. Protocol decomposition

Message Layer:是协议栈的关键,为所有messages定义有效的结构和语义。典型的消息层支持construct,copy, compare, print and manipulate messages.

State Machine: 状态机定义了协议的关键的底层行为。典型的,用来描述actions,例如:negotiation, capability discover, flow control. delivery等。

System Interface: 系统接口定义了协议如何与外部世界交互,典型的标识了必要的和可选的接口以及它们的预期用途,比如TLS和TCP作为传输通道。

Configuration: 计划协议的各方面都有配置或者初始值。配置可以覆盖所有,从默认buffer sizes and reply intervals to X.509 certificates.

Data Model: 另一种考虑OpenFlow协议的方法是理解它的底层数据模型。每个交换机维护一个关系数据模型,其中包含每个OpenFlow抽象的属性。这些属性可以描述抽象能力、配置状态或一些当前统计数据。

http://flowgrammable.org/sdn/openflow/#tab_protocol