OpenFlow协议简单介绍

2018-01-07  本文已影响1314人  墨痕hz

1.OpenFlow交换机的基本构成

未命名文件.png

1.1 流表

版本 包含内容
1.0 头字段(Header Filed)、计数器(Counters)、行动(Actions)
1.1 匹配字段(Match Filed)、计数器)(Counters)、指令(Instruction)
1.2 同OpenFlow1.1
1.3 匹配字段(Match Filed)、优先级(Priority)、计数器(Counters)、指令(Instruction)、超时(Timeouts)、Cookies
1.4 同OpenFlow1.3
1.5 同OpenFlow1.5

OpenFlow流表由流表项构成,流表项的结构随着OpenFlow版本的不断演进不断变化,不同协议所包含的流表项结构不同,具体各版本如下表所示:

版本 包含内容
1.0 头字段(Header Filed)、计数器(Counters)、行动(Actions)
1.1 匹配字段(Match Filed)、计数器)(Counters)、指令(Instruction)
1.2 同OpenFlow1.1
1.3 匹配字段(Match Filed)、优先级(Priority)、计数器(Counters)、指令(Instruction)、超时(Timeouts)、Cookies
1.4 同OpenFlow1.3
1.5 同OpenFlow1.5

1.2 组表

OpenFlow交换机只含有一个组表,组表中包含许多组表项,每条组表项的结构如下:

组ID(Group identier) 组类型(Group Type) 计数器(Counters) 动作桶(Action Buckets)

1.3 Meter表

Meter表项用于关联流表项,对匹配流表项的报文实施QOS策略

Meter identifier Meter Bands Counters

其中Meter带又有如下组成:

Bands Type Rate Counters| Type Specific arguments

1.4 匹配字段

OpenFlow流表项的匹配域支持丰富的匹配字段,OpenFlow1.0支持匹配的数据包头的12个字段,到OpenFlow1.3,已经扩展到39个字段,并规定了OpenFlow交换机必须实现的13个字段(之后补充

OpenFlow1.0的12个字段如下:

Ingress Port Ether Source Ether Des Ether Type VLAN ID VLAN Priority IP Source IP Des IP Protocol IP TOS TCP/UDP Source Port TCP/UDP Des Port

1.5 指令集

指令 说明 可选/必选
Write-Action 添加指定动作到动作集 必选
GoTo-Table 转到另一个流表处理 必选
Meter 指示报文关联指定的Meter流表项 可选
Apply-Actions 应用动作列表中的动作 可选
Clear-Actions 清空动作集 可选
Write-Metadata 写入元数据 可选

当报文匹配上流表项时,执行表项包含的指令集,指令集类型如下所示:

指令 说明 可选/必选
Write-Action 添加指定动作到动作集 必选
GoTo-Table 转到另一个流表处理 必选
Meter 指示报文关联指定的Meter流表项 可选
Apply-Actions 应用动作列表中的动作 可选
Clear-Actions 清空动作集 可选
Write-Metadata 写入元数据 可选

1.6 动作集

当流表项的指令集中不包含GoTo-Table时,立即执行相关联的动作集,动作类型如下表所示:

动作类型 说明 可选/必选
Output 将报文转发到特性的OpenFlow端口 必选
Drop 满足条件时丢弃 必选
Group 将报文转交组表处理,动作由组表类型定义 必选
Set-Queue 将报文指定队列ID,用于实施QOS 可选
Push-Tag/Pop-Tag 适用于对VLAN头,MPLS头,PBB头进行操作 可选
Set-Field 识别匹配字段类型并修改字段的值 可选
Change-TTL 修改IPV4,IPV6,MPLS中的TTL 可选

1.7 动作列表

动作列表存在于特定协议报文中,它与动作集的区别在于,动作列表中的动作按照列表顺序依次执行,且可以包含多个同类型动作,这些动作的执行效果可以叠加。

1.8 OpenFlow端口

OpenFlow端口分为三类:物理端口,逻辑端口,保留端口

1.9 OpenFlow报文的处理流程

OpenFlow流水线将交换机内的一组流表串联起来,定义了每个流表怎样用于报文处理。

报文处理流程.png

1.10 安全信道

安全信道是控制器和其管理的每一台OpenFlow交换机间的可靠连接,具体流程如图所示:

安全通道流程.png

1.11 协议报文

1.同步消息

2.异步消息

3.控制器向交换机连接

2.OpenFlow演进

2.1 OpenFlow协议的功能演进

OpenFlow各个协议版本之间的主要区别

版本 主要功能
OF 1.0 单表、IPV4
OF 1.1 多级流表、组表、MPLS、VLAN
OF 1.2 多控制器、IPV6
OF 1.3 Meter表、版本协商能力
OF 1.4 流表同步、协议消息完善
OF 1.5 数据包类型识别流程(以太网数据包、PPP数据包)egress Table
上一篇 下一篇

猜你喜欢

热点阅读