书籍作者:杨泽卫 李呈 | ISBN:9787121310423 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:8597 |
创建日期:2021-02-14 | 发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
身处SDN发展浪潮,笔者真切地感受到了这场技术革命的到来。为了自我总结,也为了帮助他人,因此决定写《重构网络:SDN架构与实现》。 《重构网络:SDN架构与实现》首先介绍了SDN的定义、SDN出现的原因、SDN发展的历史和标志性事件、SDN南向协议、SDN控制平面和数据平面等理论知识。然后进一步介绍了如何从零开始搭建SDN实验环境及SDN与网络虚拟化的结合等SDN应用案例内容。最后梳理了SDN对学术界和工业界产生的影响,探讨了我们该如何应对这场SDN变革。此外,附录中两篇拟人化的故事还从感性的角度对SDN进行了介绍。 《重构网络:SDN架构与实现》适合SDN初学者和进阶者。希望《重构网络:SDN架构与实现》的内容能够给读者带来一些帮助,成为SDN学习者相互讨论、学习的舞台。
杨泽卫:《零存整取NetFPGA开发指南》和《深入理解计算机网络系统设计》作者,SDN初创公司南京叠锶联合创始人,曾任中兴微电子高级主任工程师,有丰富的SDN行业产品经验。个人微信公众号:SDN学习与研究(zeweiTalk)。
李呈:北京邮电大学未来网络理论与应用实验室在读研究生。学习SDN三年多,掌握SDN基础理论知识。目前在硅谷实习
久立潮头的先行者,携数年磨砺与反思,为SDN大时代领航、解惑
业务突破迎来网络重构的重大契机,用架构思想谋篇,用实现技术布局
架构深度与产业广度完美聚合,技能、思路、视野、境界尽收囊中
本书《重构网络:SDN架构与实现》宗旨:无思辨不足以明理|无案例不足以求真|无细节不足以知端详
SDN(Software-Defined Networking,软件定义网络)起源于斯坦福大学Nick McKeown教授的Clean Slate项目,其目标是重新定义网络体系结构(Reinvent the Internet),诞生至今已经快十年。作为一种新的网络体系结构,SDN已经掀起了一场网络变革的技术浪潮,对网络学术界和工业界的发展都产生了巨大的冲击:OpenFlow的论文至今已经被引用4951次;开源SDN控制器平台OpenDaylight已经发布了5个版本,拥有超过600多名开发者,完成了超过30000多次代码更新;开源社区OSS(Open Source SDN)也已经发布了20多个来自开发者的开源SDN项目;传统网络设备厂商和运营商都在面向SDN重建自己的产品体系,大多数SDN初创公司都在各自领域交付成熟的产品方案。而作为学习者的我们,也需要做好准备,迎接这场技术变革。
但是学习和研究SDN绝非易事。虽然我们每天都能接触到大量的SDN学习资料,但对于初入SDN领域的学生和工程师而言,仍然会不知所措。比如,关于SDN定义的描述就有多种解读:开源组织ONF(开放网络基金会)的Open SDN,业界厂商的Vendor SDN,甚至还有SDx(Software Defined Everything)的概念。这些概念哪一种才是正确的?此外,SDN发展至今诞生了众多不同类型的开源项目:SDN网络模拟器、SDN软件交换机、网络虚拟化平台、SDN控制器测试工具和OpenFlow交换机测试工具等。如何去学习它们?如果有一本书能提供清晰的SDN学习路线:梳理SDN的定义、SDN发展历程、SDN关键技术和典型应用案例,同时又介绍如何从零开始实践SDN,这将会对SDN初学者入门和进阶者学习SDN提供有效的帮助。
带着这种想法,我们在一年多之前开始编写这本书。本以为依靠学习SDN过程中积累的知识和书写博客的经历,就可以轻而易举地完成本书,但事实却大相径庭。从2015年7月确定本书目录开始,我们每周至少进行一次沟通,直至2016年5月才陆续完成本书初稿。后续又花费了大量的时间修改初稿,有些章节甚至几经易稿,修改超过二十多次。面对SDN这样一个新的技术领域,我们非常谨慎地去选择合适的内容。在写作上,我们努力引用原始技术资料,并在此基础上进行剖析,得出观点和结论。我们希望本书不但能帮助入门者梳理SDN领域的知识体系,而且能帮助进阶者挖掘SDN领域更深层次的信息,在成为SDN专业人士之路上贡献我们的一臂之力。
本书包括8章内容和2个小故事。第1章从SDN最初的定义出发,讨论了SDN出现的原因,详细介绍了SDN的发展历史和标志性事件。第2章详细介绍了现有的SDN南向协议,它是决定SDN架构可编程能力的关键,也是当下SDN厂商方案竞争的一个焦点。第3章从发展历程、系统架构和使用方式3个方面详细介绍了5个典型的开源SDN控制器。第4章从OpenFlow数据平面开始,深入讨论了现有的SDN数据平面模型,并引出一个非常重要的SDN数据平面概念"通用可编程数据平面"。第5章介绍了从零开始实现SDN所需要掌握的诸多开源工具,帮助读者快速入门SDN实践。第6章讨论了现有的SDN应用案例,重点介绍了SDN在数据中心网络和WAN网络两个成熟市场的应用。第7章介绍了网络虚拟化的发展现状,以及SDN与网络虚拟化结合的相关产品。第8章作为本书最后一章,梳理了SDN对学术界和工业界产生的影响,讨论了我们应该如何应对SDN这场变革。书籍附录部分还有《我是一个SDN控制器》和《我是一个SDN交换机》2篇拟人化的SDN文章供读者阅读。希望这2个小故事能让读者对SDN有感性的认识。
本书的1、4、6、8章由杨泽卫完成,2、3、5、7章和2个技术故事由李呈完成。本书内容是我们学习SDN过程中的总结,其目标读者是SDN初学者和进阶学习者。我们相信:一本技术书籍的生命力更加体现在后期读者的反馈上,它不仅仅是手边的纸质手册,更像是一个互动交流的学习平台,一个可以让作者和读者一起探讨SDN的平台。此外,由于作者水平有限,在书籍内容的编写上难免会有疏漏,观点难免有失偏颇,也恳请读者批评指正。
我们衷心地感谢那些帮助我们完成本书的人们。首先我们要感谢对方,我们一起完成了一本技术书籍。在写作的过程中,我们有过观点探讨时的针锋相对,也有过迷茫懈怠时的相互鼓励,也正因为如此,才能顺利地完成这本书。其次我们要感谢本书的策划编辑张春雨先生,没有他的支持,也就没有本书的诞生。最后我们要感谢我们的家人和师长。感谢在本书写作过程中给予我们启发和帮助的人。谢谢你们!
杨泽卫、李呈
2017年2月5日
第1章 SDN重塑网络 1
1.1 SDN是什么 1
1.2 为什么需要SDN 4
1.3 网络可编程探索之路 6
1.4 SDN发展历史 10
1.5 SDN重塑网络 15
1.6 本章小结 16
参考资料 16
第2章 SDN南向协议 21
2.1 SDN南向协议简介 21
2.2 狭义SDN南向协议 23
2.3 广义SDN南向协议 30
2.3.1 OF-Config 31
2.3.2 OVSDB 34
2.3.3 NETCONF 36
2.3.4 OpFlex 38
2.3.5 XMPP 39
2.3.6 PCEP 40
2.4 完全可编程南向协议 41
2.4.1 POF 41
2.4.2 P4 46
2.5 SDN南向协议标准之战 53
2.6 本章小结 55
参考资料 55
第3章 SDN控制平面 57
3.1 SDN控制平面简介 57
3.2 SDN开源控制器 59
3.2.1 NOX/POX 59
3.2.2 Ryu 63
3.2.3 Floodlight 68
3.2.4 OpenDaylight 72
3.2.5 ONOS 78
3.3 选择SDN控制器 85
3.3.1 评价控制器的要素 85
3.3.2 选择正确的控制器 89
3.4 SDN控制平面发展趋势 91
3.5 本章小结 96
参考资料 97
第4章 SDN数据平面 99
4.1 SDN数据平面简介 99
4.2 通用可编程转发模型 101
4.2.1 通用硬件模型 103
4.2.2 通用处理指令 112
4.2.3 小结 115
4.3 探索通用可编程数据平面 116
4.4 SDN数据平面的发展趋势 120
4.4.1 发展历史 120
4.4.2 白盒交换机 123
4.5 本章小结 125
参考资料. 126
第5章 从零开始实践 129
5.1 Mininet实践 129
5.1.1 Mininet简介 130
5.1.2 Mininet系统架构 130
5.1.3 Mininet安装 132
5.1.4 Mininet示例 134
5.2 Open vSwitch实践 140
5.2.1 OVS简介 141
5.2.2 OVS架构 141
5.2.3 OVS安装 142
5.2.4 OVS示例 144
5.3 Ryu实践 150
5.3.1 Ryu简介 150
5.3.2 Ryu架构 151
5.3.3 Ryu安装 152
5.3.4 Ryu示例 153
5.4 网络虚拟化平台实践 162
5.4.1 OpenVirteX简介 162
5.4.2 OpenVirteX架构 163
5.4.3 OpenVirteX安装 164
5.4.4 OpenVirteX示例 165
5.4.5 其他网络虚拟化产品 170
5.5 其他工具 170
5.5.1 Cbench简介 171
5.5.2 OFTest简介 173
5.5.3 Wireshark简介 174
5.5.4 发包工具简介 175
5.6 本章小结 177
参考资料. 177
第6章 SDN应用案例 179
6.1 SDN在数据中心网络的应用 179
6.1.1 面临的问题 179
6.1.2 现有商业方案 181
6.2 SDN在WAN中的应用 187
6.2.1 面临的问题 187
6.2.2 现有商业方案 189
6.3 其他领域的应用 192
6.3.1 SDN在园区网中的应用 193
6.3.2 SDN在局域网中的应用 195
6.3.3 SDN在蜂窝网络中的应用 195
6.4 本章小结 197
参考资料. 197
第7章 SDN与网络虚拟化 200
7.1 网络虚拟化 200
7.1.1 为什么需要虚拟化技术 201
7.1.2 网络虚拟化 203
7.2 SDN与网络虚拟化 208
7.2.1 SDN与网络虚拟化 208
7.2.2 SDN实现网络虚拟化 209
7.3 网络虚拟化产品 213
7.3.1 开源产品 214
7.3.2 商业产品 220
7.4 未来研究方向 223
7.5 本章小结 225
参考资料. 225
第8章 SDN浪潮 227
8.1 SDN对学术界的影响 227
8.2 SDN对工业界的影响 231
8.3 如何应对SDN的变革 234
8.4 SDN浪潮 238
8.5 本章小结 238
参考资料. 239
附录A 我是一个SDN控制器 243
附录B 我是一个SDN交换机 250