【1024】软件定义网络: OpenFlow 和 VxLAN

科学技术在不断发展并且总能够针对某一时段出现的问题,提供优质、简便、合算的解决方案。在后网络 2.0 时代,数据通信多次加速,超过百分之五十的数据通信属于实时视频数据流,因此,设计一个新的网络迫在眉睫。网络的发展需要跟上数据通信加速的步伐(从电路/数据包交换到基于 100G 网速的复杂网络协议),网络发展的下一阶段即是软件定义网络(SDN)。

在过去的几年里,就网络发展如何跟上服务器虚拟化的演变节奏,已经有许多相关研究。从很多企业开始投入大量资金研发 SDN 起,互联网的发展趋势就已经逐渐显现。关于 SDN 的精确定义仍在完善之中,但是 SDN 总的原则和基本协议已经明确了。作为 SDN 的学习辅导书,本书主要讨论了 SDN 最具发展前景的一种协议:OpenFlow。同时本书也涉及到 SDN 的其他实现:虚拟可扩展局域网(VxLAN)。

目录
目录 ………………………………………………………………………………………………………………………………………….. 1
致谢 ………………………………………………………………………………………………………………………………………….. 5
前言 ………………………………………………………………………………………………………………………………………….. 6
第一章 软件定义网络 ………………………………………………………………………………………………………………… 7
1.1 软件定义网络 ………………………………………………………………………………………………………………… 7
控制平面和数据平面的分离 …………………………………………………………………………………………. 8
SDN 控制器 ………………………………………………………………………………………………………………….. 8
网络编程的可扩展性 ……………………………………………………………………………………………………. 9
SDN 的逻辑层 ………………………………………………………………………………………………………………. 9
南向 API ………………………………………………………………………………………………………………………. 9
北向 API …………………………………………………………………………………………………………………….. 10
可行性的技术 …………………………………………………………………………………………………………….. 10
1.2 什么是 OpenFlow? ……………………………………………………………………………………………………… 10
OpenFlow 组件 …………………………………………………………………………………………………………… 11
1.3 为什么发明 OpenFlow? ………………………………………………………………………………………………. 12
第二章 OpenFlow 概述 …………………………………………………………………………………………………………….. 14
2.1 OpenFlow 协议概述 ……………………………………………………………………………………………………… 14
2.2 OpenFlow 组件概述 ……………………………………………………………………………………………………… 16
2.2.1 OpenFlow 控制器(Controller) ………………………………………………………………………………. 16
2.2.2 OpenFlow 交换机 ……………………………………………………………………………………………….. 17
2.2.3 流表…………………………………………………………………………………………………………………… 17
动作分类……………………………………………………………………………………………………………………. 21
第三章 OpenFlow 内部事件 ……………………………………………………………………………………………………… 23 2
3.1 连接建立事件 ………………………………………………………………………………………………………………23
3.2 Packet-In 事件 ……………………………………………………………………………………………………………… 25
3.3 Packet-Out 事件 …………………………………………………………………………………………………………… 27
3.4 端口状态(Port Status)消息事件 ………………………………………………………………………………… 28
3.5 设置配置(Set Configuration)事件 ……………………………………………………………………………… 31
3.6 获取配置(Get Config)请求与答复事件………………………………………………………………………. 32
3.7 修改流(Flow-Modification)事件 ………………………………………………………………………………… 33
3.8 流移除(Flow-Removed)事件 …………………………………………………………………………………….. 36
3.9 端口修改(Port-Modify)事件 ……………………………………………………………………………………… 38
3.10 统计(Stats)请求和响应事件 ………………………………………………………………………………………… 40
3.11 Barrier 请求和响应事件 ……………………………………………………………………………………………… 42
3.12 队列获取配置(Queue Get Configuration)请求和响应事件 ………………………………………… 43
3.13 错误事件 …………………………………………………………………………………………………………………… 44
第四章 OpenFlow 案例研究 ……………………………………………………………………………………………………… 46
4.1 拓扑结构的发现 …………………………………………………………………………………………………………… 46
4.2 最短路径计算 ………………………………………………………………………………………………………………. 48
4.3 以 Ping 为例的流表操作 ……………………………………………………………………………………………….. 50
4.4 以故障切换为例的流表修改 …………………………………………………………………………………………. 56
第五章 OpenFlow 数据包详细说明 …………………………………………………………………………………………… 60
5.1 OpenFlow 数据包概要 ………………………………………………………………………………………………….. 60
控制器-至-交换机 ………………………………………………………………………………………………………. 60
Asynchronous ……………………………………………………………………………………………………………… 60
异步…………………………………………………………………………………………………………………………… 60
Symmetric ………………………………………………………………………………………………………………….. 60
对称…………………………………………………………………………………………………………………………… 60 3
5.2 数据包概述 ………………………………………………………………………………………………………………….. 60
5.3 数据包详细信息 …………………………………………………………………………………………………………… 62
5.3.1 通用协议数据头格式 ………………………………………………………………………………………….. 62
5.3.2 Hello 数据包 ………………………………………………………………………………………………………. 63
5.3.3 Error 数据包 ………………………………………………………………………………………………………. 63
5.3.4 Echo 请求数据包 ………………………………………………………………………………………………… 67
5.3.5 echo 响应数据包 ………………………………………………………………………………………………… 68
5.3.6 各厂商数据包 …………………………………………………………………………………………………….. 68
5.3.7 特征请求 ……………………………………………………………………………………………………………. 68
5.3.8 特征响应 ……………………………………………………………………………………………………………. 69
5.3.9 获取配置请求 …………………………………………………………………………………………………….. 77
5.3.10 获取配置响应 …………………………………………………………………………………………………… 77
5.3.11 设置配置………………………………………………………………………………………………………….. 78
5.3.12 Packet-In ………………………………………………………………………………………………………….. 78
5.3.13 流移除通知 ………………………………………………………………………………………………………. 80
5.3.14 端口状态通知 …………………………………………………………………………………………………… 85
5.3.15 数据包输出 ……………………………………………………………………………………………………… 86
5.3.16 流修改……………………………………………………………………………………………………………… 93
5.3.17 端口修改………………………………………………………………………………………………………….. 95
5.3.18 统计请求 …………………………………………………………………………………………………………. 96
5.3.19 状态响应………………………………………………………………………………………………………….. 97
5.3.20 Barrier 请求 ……………………………………………………………………………………………………… 99
5.3.21 Barrier 响应 ……………………………………………………………………………………………………… 99
5.3.22 队列获取配置请求 ………………………………………………………………………………………….. 100
5.3.23 队列获取配置响应 ………………………………………………………………………………………….. 100 4
第六章 Vxlan 介绍…………………………………………………………………………………………………………………… 102
6.1 当前服务器虚拟化设计的难题 ……………………………………………………………………………………. 102
有限的 VLAN 范围 …………………………………………………………………………………………………….. 102
虚拟机操作 ………………………………………………………………………………………………………………. 102
TOR 交换机的地址表 ………………………………………………………………………………………………… 103
多租户……………………………………………………………………………………………………………………… 103
6.2 VXLAN 概述 ………………………………………………………………………………………………………………… 103
– VNI(虚拟网络标识符): ……………………………………………………………………………………… 104
– VTEP(VXLAN Tunnel End Point): …………………………………………………………………………. 104
虚拟机对虚拟机的流量包 …………………………………………………………………………………………. 104
VXLAN 实现的具体方法 …………………………………………………………………………………………….. 104
6.3 个案研究 ……………………………………………………………………………………………………………………. 106
6.4 VxLAN 数据包 …………………………………………………………………………………………………………….. 108
6.4.1 VxLAN 数据头 …………………………………………………………………………………………………… 108
6.4.2 外部 UDP 数据头 ……………………………………………………………………………………………… 109
6.4.3 外部 IP 数据头 …………………………………………………………………………………………………. 109
6.4.4 Outer Ethernet Header ………………………………………………………………………………………. 110
6.4.5 内部以太网数据头和有效负载 ………………………………………………………………………….. 110
参考书目 ……………………………………………………………………………………………………………………………….. 111

链接: http://pan.baidu.com/s/1dDinRod 密码: cm9b

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注