图解OpenFlow.pdf

图解OpenFlow.pdf
 

书籍描述

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

编辑推荐
畅销书《图解TCP/IP》姊妹篇
189张图表轻松入门
从工作原理到应用实例,一本书掌握OpenFlow协议

媒体推荐
读者评论
1. 花了6个小时一口气读完,这本书清晰地按不同版本梳理了OpenFlow的功能和规范,在这个过程中让人逐步领会该协议的设计思想,对我理解SDN很有帮助。
2. 这本书的讲解通俗易懂,配图用心,看起来很直观。第3章到第6章介绍的用例和网络虚拟化的内容比较实用。
3. 这本书不仅仅讲解了OpenFlow协议本身,还介绍了一些应用实例以及LLDP等周边技术。第10~11章介绍了用户在使用协议的过程中需要注意的地方,个人觉得非常值得一读。
4. 从OpenFlow的工作原理到应用实例,这本书介绍得很全面。适合想要了解OpenFlow的初学者入门。

作者简介
晃通(作者)
早年就职于索尼公司,从事家庭网络的通信技术开发。目前为Geek's Page博主(http://www.geekpage.jp/)。2011年获阿尔法博客奖。著有《互联网的形态》(欧姆社)等。

宫永直树(作者)
专注于企业网络设计和架构。2001年开始负责安全运营服务。2002~2006年在Interop Tokyo NOC团队中负责ShowNet的安全工作。目前主要负责数据中心网络的需求定义和设计,以及OpenFlow产品的销售和解决方案。

岩田淳(作者)
专注于IP网、ATM、MPLS、CDN、广域以太网、新一代互联网(OpenFlow/SDN)中的网络控制和系统的研发,以及服务器系统中的节点虚拟化、I/O虚拟化的研发。
曾就职于加利福尼亚大学洛杉矶分校、NEC IP网络事业部、Cloud System研究所,2013年4月调入信息?知识研究所。曾获电子信息通信学会交换系统研究会研究奖和网络系统研究会研究奖、FujiSankei Business i.第26届尖端技术大奖之产经新闻社奖、科学技术和经济会第1届技术经营创新奖。
著有《广域以太网技术概论》(电子信息通信学会)等。

李战军(译者)
河北软件职业技术学院副教授,软件工程系专业带头人,译有《日本PS达人的7日速成攻略》《何谓“市民”社会》等书。

薛文玲(译者)
河北大学电信学院副教授,北京邮电大学信息与通信工程学院博士研究生在读,研究方向为计算机网络、短距离通信。

目录
第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

购买书籍

当当网购书 京东购书 卓越购书

PDF电子书下载地址

相关书籍

搜索更多