OpenFlow协议简单介绍

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端口分为三类:物理端口,逻辑端口,保留端口

  • 物理端口为OpenFlow交换机的硬件接口
  • 逻辑端口通常由协议设置,如聚合口,隧道口
  • 保留端口由转发动作定义,例如转发到控制器

1.9 OpenFlow报文的处理流程

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

报文处理流程.png

1.10 安全信道

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

安全通道流程.png

1.11 协议报文

1.同步消息

  • 可由交换机或控制器主动发起,并需要接受对方的应答。主要用于建立检测对方是否在线等。

  • 包括Hello、Echo、Vendo三种子消息

2.异步消息

  • 由OpenFlow交换机发起,用来通知交换机上发生的某些异步事件。消息是单向的,不需要控制器应答。主要用于交换机向控制器通知收到报文、状态变化、出现错误等事件信息

  • 包括Packet-In、Flow-removed、Port-status、Error四种子消息

3.控制器向交换机连接

  • 由控制器发起,对OpenFlow交换机进行状态查询和修改配置等操作;OpenFlow交换机接收并处理可能发送或不需要发送的应答消息

  • 包括Modify-state、Read-state、Packet-Out、Barrier request/reply等四类子消息

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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269

推荐阅读更多精彩内容

  • 1.介绍 本协议涵盖了交换机的基本组件和功能,以及OpenFlow协议来管理OpenFlow交换机和控制器。 2....
    墨痕hz阅读 5,442评论 0 5
  • OpenFlow1.3 1.OpenFlow端口 OpenFlow端口是OpenFlow处理进程和网络之间传递数据...
    墨痕hz阅读 4,332评论 0 1
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 10,503评论 6 13
  • openflow 1.0 作为第一个公示版本的OpenFlow协议,of1.0协议相对而言比较基础。of1.0的协...
    糯米藕阅读 8,079评论 0 10
  • 据说文青的标准之一是从小众不从大众。这让我等资深文青情何以堪。一直以来,我都在世界文学中辛辛苦苦寻觅冷门的优秀人选...
    黄小邪阅读 614评论 0 4