没有合适的资源?快使用搜索试试~ 我知道了~
首页OpenFlow Switch Specification V1.4.0
OpenFlow Switch Specification V1.4.0
4星 · 超过85%的资源 需积分: 10 8 下载量 37 浏览量
更新于2023-06-13
评论
收藏 1.31MB PDF 举报
OpenFlow Switch Specification V1.4.0
资源详情
资源评论
资源推荐
OpenFlow Switch Specication
Version 1.4.0 (Wire Protocol 0x05)
August 5, 2013
OpenFlow Switch Specification Version 1.4.0
Disclaimer
THIS SPECIFICATION HAS BEEN APPROVED BY THE BOARD OF DIRECTORS OF
THE OPEN NETWORKING FOUNDATION (”ONF”) BUT WILL NOT BE A FINAL SPEC-
IFICATION UNTIL RATIFIED BY THE MEMBERS PER ONF’S POLICIES AND PRO-
CEDURES. THE CONTENTS OF THIS SPECIFICATION MAY BE CHANGED PRIOR
TO PUBLICATION AND SUCH CHANGES MAY INCLUDE THE ADDITION OR DELE-
TION OF NECESSARY CLAIMS OF PATENT AND OTHER INTELLECTUAL PROPERTY
RIGHTS. THEREFORE, ONF PROVIDES THIS SPECIFICATION TO YOU ON AN ”AS IS”
BASIS, AND WITHOUT WARRANTY OF ANY KIND.
THIS SPECIFICATION IS PROVIDED ”AS IS” WITH NO WARRANTIES WHATSOEVER,
INCLUDING ANY WARRANTY OF MERCHANTABILITY, NONINFRINGEMENT, FIT-
NESS FOR ANY PARTICULAR PURPOSE, OR ANY WARRANTY OTHERWISE ARISING
OUT OF ANY PROPOSAL, SPECIFICATION OR SAMPLE. Without limitation, ONF dis-
claims all liability, including liability for infringement of any proprietary rights, relating to use
of information in this specification and to the implementation of this specification, and ONF
disclaims all liability for cost of procurement of substitute goods or services, lost profits, loss of
use, loss of data or any incidental, consequential, direct, indirect, or special damages, whether
under contract, tort, warranty or otherwise, arising in any way out of use or reliance upon this
specification or any information herein.
No license, express or implied, by estoppel or otherwise, to any Open Networking Foundation or
Open Networking Foundation member intellectual property rights is granted herein.
Except that a license is hereby granted by ONF to copy and reproduce this specification for
internal use only.
Contact the Open Networking Foundation at http://www.opennetworking.org for information
on specification licensing through membership agreements.
Any marks and brands contained herein are the property of their respective owners.
Contents
1 Introduction 9
2 Switch Components 9
3 Glossary 10
4 OpenFlow Ports 11
4.1 OpenFlow Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.2 Standard Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.3 Physical Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.4 Logical Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.5 Reserved Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2
©
2013; The Open Networking Foundation
OpenFlow Switch Specification Version 1.4.0
5 OpenFlow Tables 13
5.1 Pipeline Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
5.2 Flow Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.3 Matching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.4 Table-miss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.5 Flow Removal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.6 Group Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.6.1 Group Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.7 Meter Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.7.1 Meter Bands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.8 Counters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.9 Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5.10 Action Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5.11 Action List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.12 Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5.12.1 Default values for fields on push . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
6 OpenFlow Channel 26
6.1 OpenFlow Protocol Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
6.1.1 Controller-to-Switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
6.1.2 Asynchronous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
6.1.3 Symmetric . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
6.2 Message Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
6.3 OpenFlow Channel Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
6.3.1 Connection Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
6.3.2 Connection Interruption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
6.3.3 Encryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
6.3.4 Multiple Controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
6.3.5 Auxiliary Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
6.4 Flow Table Modification Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6.5 Flow Table Synchronisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
6.6 Group Table Modification Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
6.7 Meter Modification Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
6.8 Bundle Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
6.8.1 Bundle overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
6.8.2 Bundle example usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
6.8.3 Bundle error processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
6.8.4 Bundle atomic modifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
6.8.5 Bundle parallelism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
7 The OpenFlow Protocol 44
7.1 OpenFlow Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
7.1.1 Padding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
7.2 Common Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
7.2.1 Port Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
7.2.1.1 Port Description Structures . . . . . . . . . . . . . . . . . . . . . . . . . 46
7.2.1.2 Port Description Properties . . . . . . . . . . . . . . . . . . . . . . . . . 48
3
©
2013; The Open Networking Foundation
OpenFlow Switch Specification Version 1.4.0
7.2.2 Flow Match Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
7.2.2.1 Flow Match Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
7.2.2.2 Flow Match Field Structures . . . . . . . . . . . . . . . . . . . . . . . . 52
7.2.2.3 OXM classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
7.2.2.4 Flow Matching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
7.2.2.5 Flow Match Field Masking . . . . . . . . . . . . . . . . . . . . . . . . . 54
7.2.2.6 Flow Match Field Prerequisite . . . . . . . . . . . . . . . . . . . . . . . 54
7.2.2.7 Flow Match Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
7.2.2.8 Experimenter Flow Match Fields . . . . . . . . . . . . . . . . . . . . . . 60
7.2.3 Flow Instruction Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
7.2.4 Action Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
7.2.5 Experimenter Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
7.3 Controller-to-Switch Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
7.3.1 Handshake . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
7.3.2 Switch Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
7.3.3 Flow Table Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
7.3.4 Modify State Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
7.3.4.1 Modify Flow Table Message . . . . . . . . . . . . . . . . . . . . . . . . 71
7.3.4.2 Modify Flow Entry Message . . . . . . . . . . . . . . . . . . . . . . . . 74
7.3.4.3 Modify Group Entry Message . . . . . . . . . . . . . . . . . . . . . . . . 77
7.3.4.4 Port Modification Message . . . . . . . . . . . . . . . . . . . . . . . . . 79
7.3.4.5 Meter Modification Message . . . . . . . . . . . . . . . . . . . . . . . . 81
7.3.5 Multipart Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
7.3.5.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
7.3.5.2 Individual Flow Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . 88
7.3.5.3 Aggregate Flow Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . 89
7.3.5.4 Table Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
7.3.5.5 Table Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
7.3.5.6 Table Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
7.3.5.7 Port Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
7.3.5.8 Port Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
7.3.5.9 Queue Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
7.3.5.10 Queue Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
7.3.5.11 Group Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
7.3.5.12 Group Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
7.3.5.13 Group Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
7.3.5.14 Meter Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
7.3.5.15 Meter Configuration Statistics . . . . . . . . . . . . . . . . . . . . . . . 107
7.3.5.16 Meter Features Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . 107
7.3.5.17 Flow monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
7.3.5.18 Experimenter Multipart . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
7.3.6 Packet-Out Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
7.3.7 Barrier Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
7.3.8 Role Request Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
7.3.9 Bundle messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
7.3.9.1 Bundle control messages . . . . . . . . . . . . . . . . . . . . . . . . . . 115
7.3.9.2 Bundle Add message . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
4
©
2013; The Open Networking Foundation
OpenFlow Switch Specification Version 1.4.0
7.3.9.3 Bundle flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
7.3.9.4 Bundle properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
7.3.9.5 Creating and opening a bundle . . . . . . . . . . . . . . . . . . . . . . . 118
7.3.9.6 Adding messages to a bundle . . . . . . . . . . . . . . . . . . . . . . . . 118
7.3.9.7 Closing a bundle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
7.3.9.8 Committing Bundles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
7.3.9.9 Discarding Bundles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
7.3.9.10 Other bundle error conditions . . . . . . . . . . . . . . . . . . . . . . . 121
7.3.10 Set Asynchronous Configuration Message . . . . . . . . . . . . . . . . . . . . . . 121
7.4 Asynchronous Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
7.4.1 Packet-In Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
7.4.2 Flow Removed Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
7.4.3 Port Status Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
7.4.4 Controller Role Status Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
7.4.5 Table Status Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
7.4.6 Request Forward Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
7.5 Symmetric Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
7.5.1 Hello . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
7.5.2 Echo Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
7.5.3 Echo Reply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
7.5.4 Error Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
7.5.5 Experimenter Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
A Header file openflow.h 140
B Release Notes 174
B.1 OpenFlow version 0.2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
B.2 OpenFlow version 0.2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
B.3 OpenFlow version 0.8.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
B.4 OpenFlow version 0.8.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
B.5 OpenFlow version 0.8.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
B.6 OpenFlow version 0.8.9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
B.6.1 IP Netmasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
B.6.2 New Physical Port Stats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
B.6.3 IN PORT Virtual Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
B.6.4 Port and Link Status and Configuration . . . . . . . . . . . . . . . . . . . . . . . 177
B.6.5 Echo Request/Reply Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
B.6.6 Vendor Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
B.6.7 Explicit Handling of IP Fragments . . . . . . . . . . . . . . . . . . . . . . . . . . 179
B.6.8 802.1D Spanning Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
B.6.9 Modify Actions in Existing Flow Entries . . . . . . . . . . . . . . . . . . . . . . . 180
B.6.10 More Flexible Description of Tables . . . . . . . . . . . . . . . . . . . . . . . . . 180
B.6.11 Lookup Count in Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
B.6.12 Modifying Flags in Port-Mod More Explicit . . . . . . . . . . . . . . . . . . . . . 181
B.6.13 New Packet-Out Message Format . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
B.6.14 Hard Timeout for Flow Entries . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
B.6.15 Reworked initial handshake to support backwards compatibility . . . . . . . . . . 182
5
©
2013; The Open Networking Foundation
剩余204页未读,继续阅读
Taraxa
- 粉丝: 1
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1