logo
分类于: 编程语言 互联网

简介

图解OpenFlow

图解OpenFlow 7.1分

资源最后更新于 2020-11-20 04:30:37

作者:晃通 宫永直树 岩田淳

译者:李战军

出版社:人民邮电出版社

出版日期:0000-01

ISBN:9787115411259

文件格式: pdf

标签: 计算机 计算机科普 openflow Network SDN 计算科学 网络 科普

简介· · · · · ·

《图解OpenFlow》从OpenFlow的概要入手,以OpenFlow 1.0规范为核心,详细讲解了OpenFlow的基本机制和结构。为了加深理解,还介绍了实际的设置示例,包括OpenFlow中的LLDP和网络虚拟化等。另外,还讲解了从OpenFlow 1.0到OpenFlow 1.3.2之间版本的主要变化,以及OpenFlow的注意事项和未来的发展动向。

想要: 点击会收藏到你的 我的收藏,可以在这里查看

已收: 表示已经收藏

Tips: 注册一个用户 可以通过用户中心得到电子书更新的通知哦

目录

第1章 OpenFlow概要  1
1.1 OpenFlow的发展历程  2
1.1.1 OpenFlow的历史  2
1.1.2 ONF  2
1.2 有效运用现有硬件,实现高效设计  4
1.3 所谓OpenFlow,具体是指什么  5
1.3.1 OpenFlow的网络构成示例  5
1.3.2 控制面和数据面的分离  5
1.3.3 控制面的构建方法  6
1.3.4 数据面的构建方法  7
1.3.5 OpenFlow控制器和OpenFlow通道  9
1.3.6 流表  10
1.4 控制器和交换机的基本动作  11
1.4.1 OpenFlow交换机的初始动作  11
1.4.2 Proactive模式设置  11
1.4.3 Reactive模式设置  11
1.5 OpenFlow的动作示例  14
1.5.1 动作示例1  14
1.5.2 动作示例2  15
1.5.3 动作示例3  15
1.5.4 其他动作示例  16
1.6 不断变化的OpenFlow规范  17
1.6.1 OpenFlow 1.0版本以后快速变化的规范  17
1.6.2 实现OpenFlow 1.3标准化后  17
1.6.3 本书中对OpenFlow 1.1以上版本的说明  18
第2章 OpenFlow 1.0的机制  19
2.1 OpenFlow 1.0中的流表和流表项  20
2.2 流表项  22
2.2.1 头字段  22
2.2.2 计数器  25
2.2.3 行动  26
2.3 行动  27
2.3.1 Forward行动  27
2.3.2 Drop行动  28
2.3.3 Enqueue行动(可选)  29
2.3.4 Modify-Field行动(可选)  29
2.4 控制器和交换机之间的消息  32
2.4.1 安全通道的建立  32
2.4.2 消息格式  32
2.4.3 安全通道的建立和初始设置  33
2.4.4 握手  35
2.4.5 Flow-Mod消息  39
2.4.6 Packet-In消息  45
2.4.7 Packet-Out消息  46
2.4.8 Port-Status消息  47
2.4.9 Flow-Removed消息  48
2.4.10 Error消息  49
2.4.11 Barrier消息  50
2.4.12 Echo消息  51
2.5 OpenFlow Switch Errata Version 1.0.1  53
2.6 新规范变化很大,需要注意  54
第3章 LLDP 和OpenFlow  55
3.1 LLDP和OpenFlow  56
3.2 LLDP的机制  58
3.2.1 在LLDP中使用的目标以太网地址  58
3.2.2 LLDP中使用的3 种组播以太网地址  59
3.2.3 LLDPDU格式  60
3.3 OpenFlow中有效使用LLDP的方法示例  62
3.3.1 事先准备  62
3.3.2 通过Packet-Out消息发送LLDP帧  63
3.3.3  通过Packet-In消息将LLDP帧发送至OpenFlow控制器  64
3.4 基于迪杰斯特拉算法的路径计算  66
第4章 通过实现L2交换机的功能来学习OpenFlow  69
4.1 通过具体网络设备的实现理解OpenFlow  70
4.2 中继器HUB  71
4.2.1 该示例中的网络构成  71
4.2.2 通过Proactive模式设置实现  71
4.2.3  将所有数据包Packet-In至OpenFlow控制器的方法  73
4.3 自学习桥接器  77
4.3.1 该示例中的网络构成  77
4.3.2 使用OpenFlow 1.0挑战自学习桥接器  78
4.3.3 监控ARP 并创建流表项  83
4.3.4 如果将PC A和PC B对调,结果会怎样  89
4.3.5  通过发送源和目标以太网地址的配对进行管理的方法  90
4.3.6  在OpenFlow 1.1以上版本中实现自学习桥接器的方法  90
4.4 Tagged VLAN  92
4.4.1 该示例中的网络构成  92
4.4.2 实现Tagged VLAN的设置(OpenFlow交换机1)  93
4.4.3 实现Tagged VLAN的设置(OpenFlow交换机2)  96
4.4.4 该示例中的注意事项  98
第5章 OpenFlow与虚拟化  99
5.1 服务器虚拟化和网络虚拟化  100
5.1.1 服务器虚拟化  100
5.1.2 动态迁移  101
5.1.3 多租户  102
5.1.4 网络虚拟化  103
5.2 基于OpenFlow的网络虚拟化的实现方法示例  105
5.2.1 使用VLAN ID的方法  105
5.2.2 使用物理端口/逻辑端口的方法  105
5.2.3 OpenFlow控制器的实现要点  106
5.2.4 其他方法  106
5.3 FlowVisor  107
5.3.1 FlowVisor概要  107
5.3.2  FlowVisor和OpenFlow控制器之间的OpenFlow通道  107
5.3.3 FlowVisor的串联  108
5.3.4  FlowVisor和虚拟网络  109
5.3.5 设置FlowVisor时的注意事项  110
第6章 通过用例考察OpenFlow  111
6.1 使用以太网地址的用户管理  112
6.2 ECMP  114
6.2.1 该示例中的网络构成  114
6.2.2 通过发送源地址区分时  115
6.2.3 通过TCP端口号区分时  116
6.2.4 轮询方式  116
6.3 简易负载均衡  117
6.4 选择性端口映射  118
6.4.1 单纯的端口映射  118
6.4.2 仅映射特定的TCP端口  119
6.4.3 OpenFlow 1.1的“组”和映射  120
6.4.4  从多个OpenFlow交换机持续进行选择性映射并转发至监控设备   120
6.5 重定向至安全产品  121
6.6 与虚拟路由近似的动作(多层交换机)  122
6.6.1 该示例中的网络构成  122
6.6.2 同一子网内的数据包转发处理  123
6.6.3 经过路由器的数据包转发处理  123
6.6.4 作为虚拟路由器响应ARP请求  124
6.6.5 虚拟路由器使用ARP解决以太网地址  125
6.6.6 TTL 的处理  126
第7章 OpenFlow1.1  127
7.1 OpenFlow 1.1中的变更要点  128
7.2 匹配字段的变更  129
7.3 多流表规范的变更(流水线处理)  130
7.3.1 流水线处理  130
7.3.2 元数据  134
7.3.3 OpenFlow 1.1中的自学习桥接器的实现手法  135
7.4 指令  136
7.4.1 何谓指令  136
7.4.2 行动、行动集、行动列表、指令的区别  136
7.4.3 对行动的变更  137
7.5 组  139
7.5.1 组表  139
7.5.2 组表项  139
7.5.3 组类型  140
7.5.4 组的组  144
7.6 虚拟端口的扩展  145
7.7 TTL 字段操作  146
7.7.1 copy TTL inwards/copy TTL outwards  146
7.7.2 接收到包含非法TTL 值的数据包时的处理  147
7.7.3 不能实施TTL 的匹配  148
7.8 OpenFlow 1.1中其他的变更  149
7.8.1 支持MPLS标签和VLAN 标签的Push/Pop  149
7.8.2 OpenFlow混合交换机  149
7.8.3 支持SCTP  149
7.8.4 支持ECN  150
7.8.5 OpenFlow交换机和控制器之间连接名称的变更  150
7.8.6 紧急事态流缓存的取消  151
7.8.7 Vendor消息名称的变更  151
第8章 OpenFlow 1.2  153
8.1 OpenFlow 1.2中的变更点  154
8.2 OpenFlow eXtensible Match(OXM)  155
8.2.1 OXM TLV 的基本结构  155
8.2.2 匹配字段解析规范的取消和Pre-requisite  157
8.2.3 OXM匹配字段  158
8.2.4 OXM中的通配符  159
8.2.5 OXM TLV示例  160
8.2.6 基于OXM的Set-Field  162
8.2.7  取消TCP、UDP、SCTP、ICMP重载使用相同字段  162
8.3 支持基本的IPv6  163
8.4 支持多台控制器(故障转移和负载均衡)  164
8.4.1 Role  164
8.4.2 Role变更  165
8.4.3 OpenFlow控制器之间的协作  165
8.5 OpenFlow 1.2中的其他变化  167
8.5.1 将虚拟端口分离为逻辑端口和保留端口  167
8.5.2  Flow-Mod的MODIFY/MODIFY_STRICT的规范变更  167
8.5.3 对实验性扩展的支持  167
8.5.4 变更历史记录的添加  168
第9章 OpenFlow 1.3  169
9.1 OpenFlow 1.3中的变更要点  170
9.2 计量表(QoS支持)  171
9.3 Table-miss的默认动作改为Drop  173
9.3.1 Table-miss流表项  173
9.3.2 流表匹配流程的变更  173
9.4 OpenFlow 1.3中的其他变更  175
9.4.1  OpenFlow控制器和OpenFlow交换机之间的辅助连接  175
9.4.2  可以通过UDP、DTLS等与OpenFlow控制器进行通信  175
9.4.3 支持IPv6扩展头  176
9.4.4 OXM 匹配字段的添加  176
9.4.5 支持PBB  176
9.4.6 多框架  177
9.4.7 从握手时的Features响应消息中删除端口号  178
9.4.8 流表项构成要素的变更  178
9.5 OpenFlow 1.3.1和1.3.2  179
9.5.1 OpenFlow通道中版本协商的变更  179
9.5.2 建立与OpenFlow控制器之间的OpenFlow 通道  179
第10章 OpenFlow的注意事项  181
10.1 Packet-In消息的处理负载  182
10.1.1 控制面带宽较窄导致的故障  183
10.1.2 Packet-In导致的消息延迟  183
10.2 匹配和流相关的注意事项  184
10.2.1 未发现TCP标志  184
10.2.2 并非数据包及帧的任意字段都可进行匹配  184
10.2.3 匹配字段的依赖关系  185
10.3 取决于实现的事项  187
10.3.1 流表项数量的上限  187
10.3.2  OpenFlow控制器可同时控制的OpenFlow交换机数量的上限   187
10.3.3 通过buffer_id表示的数据包未必保存着  187
10.3.4 OpenFlow通道断开时的重新连接计时器  188
10.4 从下流发送Flow-Mod  189
10.5 Barrier消息和错误  190
10.5.1 Flow-Mod之后的Packet-Out  190
10.5.2 向不同的OpenFlow交换机发送Flow-Mod 消息和Packet-Out
消息时  192
10.6 没有检测Packet-Out失败的方法  194
10.7 IP 碎片处理  195
第11章 OpenFlow的未来 197
11.1 互通性验证  198
11.1.1 OF-Test  198
11.1.2 PlugFest  198
11.1.3 2012 年进行的第1次PlugFest  198
11.1.4 第2次、第3次PlugFest  199
11.1.5 今后的课题  199
11.2 Northbound API  201
11.3 OF-CONFIG  202
附录  203
附录1 各版本的行动一览  204
附录1.1 OpenFlow 1.0的行动  204
附录1.2 OpenFlow 1.1的行动  205
附录1.3 OpenFlow 1.2的行动  206
附录1.4 OpenFlow 1.3的行动  207
附录2 各版本的消息一览  209
附录 2.1 OpenFlow 1.0的消息  209
附录2.2 OpenFlow 1.1的消息  210
附录2.3 OpenFlow 1.2的消息  211
附录2.4 OpenFlow 1.3的消息  212
附录3 OpenFlow 从1.0到1.3.2的变更之处  213
附录3.1 行动集  213
附录3.2 指令  213
附录3.3 行动列表  213
附录3.4 组表  214
附录3.5 计量表  214
附录3.6 行动  214
附录4 参考文献及URL  215