首页>参考读物>计算机科学与技术>软件与程序设计

软件定义网络:基于OpenFlow的SDN技术揭秘
作者 : Siamak Azodolmolky 著
译者 : 徐磊 译
丛书名 : 华章程序员书库
出版日期 : 2014-06-19
ISBN : 978-7-111-46808-0
定价 : 39.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 172
开本 : 32
原书名 : Software Defined Networking with OpenFlow
原出版社: Packt Publishing Ltd.
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

图书特色

构建OpenFlow网络应用的绝佳指南,使用OpenFlow平台和开发工具的第一手经验
既深入浅出讲解OpenFlow的基本构件,又详细介绍网络应用实现的技术细节,是实际动手构建SDN的必备参考


OpenFlow是一个用于对组网设备进行远程管理的开放接口与协议, 它通过解除控制平面与数据平面之间的耦合实现这一目标。
本书将带领你领略OpenFlow的精髓,你将从中学到有关OpenFlow的协议、交换机和控制器,了解如何利用OpenFlow控制器的API快速地开发自己的创新网络应用,以及在无需OpenFlow硬件设备介入的情况下测试你的网络应用。
你还将从本书中了解到软件定义网络的概念,以及OpenFlow协议的详细内容,包括OpenFlow组网方案的构件。本书将指导你利用先进技术和开源资源搭建OpenFlow及SDN实验环境。

本书主要内容
OpenFlow及其构件的基础知识
利用Mininet、POX 和OpenDaylight构建SDN实验环境
构建你自己的实验平台并开发自己的网络应用
利用OpenFlow和 FlowVisor部署网络虚拟化方案
将OpenFlow用于云计算的组网
发掘丰富的开源工具以提升你的OpenFlow体验


作者简介
Siamak Azodolmolky 德国哥廷根大学计算与信息中心高级研究员,主要负责与软件定义网络(SDN)相关的研究工作。他曾在IBM伊朗分公司先后任软件开发工程师、系统工程师和高级研发工程师,并曾作为技术研究人员参与多个欧盟资助的国家项目。他拥有Azad大学和卡内基-梅隆大学硕士学位、加泰罗尼亚理工大学博士学位,并在国际会议和期刊上发表过50多篇论文。他是ACM专业会员和IEEE高级会员。

SDN(软件定义网络)是未来网络发展的趋势,它将网络管理功能从网络设备中分离出来,使得用户可以构建简便、灵活、高度可扩展的网络。OpenFlow是第一个专为SDN设计的标准接口,是SDN概念的早期实现方案之一。
本书是利用OpenFlow实际动手搭建SDN的系统实践指南。书中不仅深入浅出地讲解OpenFlow的基础知识,还详细阐述基于OpenFlow的网络应用开发、网络虚拟化、云计算中的安装与配置等具体过程。具体内容包括流的概念、流的转发、OpenFlow的功能、OpenFlow表的功能以及OpenFlow的特点和局限性;OpenFlow交换机的实现方案;OpenFlow控制器的作用及其API;环境的搭建;以学习型交换机和防火墙为例,展示网络应用开发;网络分片的获取;云计算中的OpenFlow;与OpenFlow有关的一些活跃的开源项目的概览。
本书内容全面,既涵盖OpenFlow的基本构件,又包括利用OpenFlow实现SDN方面的内容,适合网络工程师、网络管理员、系统软件开发人员、网络应用开发人员,以及任何希望对OpenFlow有更多了解的人阅读。

图书前言

将网络管理功能从网络设备中分离出来是软件定义网络(Software Defined Networking,SDN)的基本特征。SDN是计算机网络模式的一个新的转变,它意味着将网络的控制功能(即控制平面)与数据转发功能(即数据平面)相分离,而且所分离出来的控制部分是可编程的。这种控制逻辑的迁移使得下层网络互连基础设施能够从应用层面上抽象出来,之前的控制逻辑是紧密集成到网络设备(如以太网交换机)中的,现在则转变为可访问的逻辑意义上的集中式控制器。这一分离为构建一个更灵活的、可编程的、与厂商无关的、高性价比的、创新的网络架构铺平了道路。
除了网络的抽象化,SDN架构也将提供一组应用编程接口(Application Programming Interface,API),使得常用网络服务的实现更为简便,这些服务涉及路由、多播、安全、访问控制、带宽管理、流量工程、QoS、能效管理以及各种策略管理等。因此,企业、网络运维人员和运营商将在可编程能力、自动化和网络管理方面获得前所未有的全新体验,使他们得以构建灵活的、高度可扩展的网络,以适应不断变化的业务需求。
OpenFlow是第一个专为SDN设计的标准接口,它提供了能够跨多种网络设备的高性能的、精细的流量控制。本书将介绍有关OpenFlow的基础知识,它是SDN概念的早期实现方案之一。首先从OpenFlow交换机和控制器讲起,然后介绍基于OpenFlow的网络应用(Net App)开发、网络虚拟化、云计算中的OpenFlow,以及与OpenFlow有关的一些活跃的开源项目的概览。如果你还觉得不过瘾,本书还会告诉你怎样利用OpenFlow构建SDN。
本书内容
第1章 OpenFlow概述。介绍OpenFlow及其在SDN生态系统中的作用,以及OpenFlow在计算机网络中的工作原理。该章介绍实际动手搭建实验环境之前的预备知识,内容包括:流的概念、流的转发、OpenFlow的功能、OpenFlow表的功能以及OpenFlow的特点和局限性。
第2章 OpenFlow交换机的实现。内容包括:现有的OpenFlow交换机实现方案,包括硬件和软件的实现。
第3章 OpenFlow控制器。该章介绍作为OpenFlow交换机控制实体的OpenFlow控制器的作用,以及为OpenFlow网络应用(Net App)开发所提供的API(即所谓的北向接口)。
第4章 环境的搭建。介绍OpenFlow交换机和控制器的各个选项,也介绍网络应用的开发环境。该章重点介绍虚拟机(VM)的安装和一些工具(如Mininet和Wireshark),这部分知识将在第5章介绍网络应用开发时用到。
第5章 网络应用开发。通过网络应用样例(如学习型交换机和防火墙)的开发来展示OpenFlow如何为网络应用的开发提供通用的基础。
第6章 网络分片的获取。介绍如何利用OpenFlow和FlowVisor对网络进行切分。该章将具体规划一个网络,使读者能够了解如何利用FlowVisor来配置和使用网络分片。
第7章 云计算中的OpenFlow。重点是OpenFlow在云计算中的作用,并将特别介绍OpenStack的Neutron的安装和配置,Neutron是一个OpenStack的孵化项目,它为接口设备(如vNIC或称虚拟网络接口卡)之间提供网络连接层面的云服务(Network connectivity as a Service,NaaS),这种服务通过OpenStack的其他服务进行管理。
第8章 开源资源。为网络工程师和网络管理人员介绍一些重要的开源项目资源,并给出资源的链接,这些资源可以用于他们的实际工作环境。这些项目包括OpenFlow软交换机、控制器、虚拟化工具、业务流程工具以及模拟和测试工具。
阅读本书前的准备
读者应具备一定水平的网络经验和知识,掌握TCP/IP、以太网及广泛的网络概念,熟悉网络日常运维工作,具有高级语言或者脚本语言(如C/C++、Java或者Python)的编程经验。如果具备一定的虚拟机和其他虚拟网络环境的经验也会有所帮助。同时,读者还需要有一台计算机,内存不小于1GB(最好大于2GB),有不少于10GB的可有硬盘空间。此外,采用速度较快的处理器将加快引导时间,采用较大的显示器有助于管理多终端窗口。当然,还需要有因特网连接,以便于下载各种实用工具和VM映像。
读者对象
尽管本书内容涵盖了OpenFlow的基本构件,以及利用OpenFlow实现SDN方面的内容,但是我们并没有把本书定位为一本参考书,而是把它作为OpenFlow和SDN的指南。网络工程师、网络管理人员、系统软件开发人员、网络应用开发人员,以及任何希望更多了解OpenFlow的人士,都可以阅读本书。
约定
在本书中,当某段代码需要引起读者注意时,我们会用粗体字表示相应的项和代码行:
在本书中,还存在如下两种体例:
警告或者重要提示放在这样的图标后。
窍门和技巧放在这样的图标后。
勘误表
尽管我们努力确保图书内容的准确性,但是仍难免会有疏忽错误之处,若读者发现书中文字或者代码有误,欢迎不吝赐教,我们将不胜感激,因为这将有助于减少其他读者由于错误造成的困惑,同时帮助我们改进图书后续版本。若发现任何错误,请向我们报告,可以访问网站http://www.packtpub.com/submit-errata,选中该书名称,单击链接errata submission form,然后输入详细错误信息。错误一经核实,你的意见将会被采纳,所提交的勘误信息将上传到我们的网站,或者添加到该书的勘误表中。通过访问链接http://www.packtpub.com/support,就可以查看到该书已有的勘误信息。

上架指导

计算机\Web开发

封底文字

OpenFlow是一个用于对组网设备进行远程管理的开放接口与协议, 它通过解除控制平面与数据平面之间的耦合实现这一目标。
本书将带领读者领略OpenFlow的精髓,你将从中学到有关OpenFlow的协议、交换机和控制器,了解如何利用OpenFlow控制器的API快速地开发自己的创新网络应用,以及在无需OpenFlow硬件设备介入的情况下测试你的网络应用。
你还将从本书中了解到软件定义网络的概念,以及OpenFlow协议的详细内容,包括OpenFlow组网方案的构件。本书将指导读者如何利用先进技术和开源资源搭建OpenFlow及SDN试验环境。

本书主要内容
? OpenFlow及其构件的基础知识
? 利用Mininet、POX 和OpenDaylight构建SDN试验环境
? 构建你自己的试验平台并开发自己的网络应用
? 利用OpenFlow和 FlowVisor部署网络虚拟化方案
? 将OpenFlow用于云计算的组网
? 发掘丰富的开源工具以提升你的OpenFlow体验

作者简介

Siamak Azodolmolky 著:暂无简介

译者简介

徐磊 译:暂无简介

译者序

自Internet商业化以来,互联网上的数据流量在规模和种类上呈爆炸式增长,为了应对多用户和多业务(包括关键业务)流量对网络功能和性能的挑战,人们在承担数据交换和转发任务的网络设备上叠加了越来越多的技术元素:虚拟局域网(VLAN)、虚拟专网(VPN)、区分服务(DiffServ)、多协议标记交换(MPLS)、流量工程(TE)、网络地址转换(NAT)、防火墙策略等。网络单元特别是骨干交换机和路由器的软硬件结构日益复杂化,增加了网络管理和资源调度的难度,建立在这些网元节点上的VPN、QoS、流量工程等全局策略的部署变得更加艰巨,不仅要受制于设备厂商提供的解决方案,还要使用设备级的管理工具逐节点地进行配置。传统网络这种控制平面上的复杂性以及它与物理设备的绑定除了带来实施和运维方面的开销,还限制了网络体制的灵活性和可扩展性。
另一方面,随着云计算业务和新型数据中心的兴起,数据中心内部、数据中心之间以及数据中心与外部网络之间的数据流量也呈现出新的特征:基于虚拟机节点的横向流量的大幅度增加、并行计算产生的高速的海量数据交换、虚拟机迁移所要求的寻址和名空间的一致性、多租户网络所要求的逻辑隔离和资源配置、上层应用对网络资源按需分配和动态化调度的要求,都使得传统的网络架构面临极大的挑战。新的应用场景呼唤一种动态的、细粒度的、可编程的、自动化的网络资源管理能力和相应的全局视图,由此催生了创新网络架构的问世。
软件定义网络(SDN)及其使能技术OpenFlow是目前业界关注的热点之一,其精髓不仅仅在于将控制平面与数据转发平面分离,还在于开放的南向接口和北向接口,更在于构建在网络抽象层上的集中控制能力和网络虚拟层上的资源配置能力;其强大功能还得益于虚拟化技术:计算虚拟化、存储虚拟化从源头和实现机制上推动了网络虚拟化的发展,三者紧密结合,相得益彰。
SDN和OpenFlow的理念和相关实践就是在上述背景下得到了迅速的发展和繁荣。从2008年美国斯坦福大学Nick McKeown教授的clean slate项目研究团队首次提出OpenFlow的概念,到2012年ONF发布SDN白皮书(Software Defined Networking:The New Norm for Networks),短短几年,SDN及OpenFlow技术已经得到长足发展,并完成了从实验平台向业务网络部署的重大跨越。2012年4月的开放网络峰会上,谷歌宣布已在其承载全球12个数据中心之间流量的内部骨干网G-scale上全面采用了OpenFlow/SDN解决方案,通过定制的OpenFlow交换机、多控制器和集中的流量工程模型,使骨干网链路的带宽利用率从30%提升到95%。2012年7月,SDN和OpenFlow技术的先驱Nicira公司以12.6亿被VMware收购。2013年4月的开放网络峰会上,eBay介绍了其采用Nicira网络虚拟化产品的云数据中心解决方案,微软也报告了Windows Azure的基于SDN架构的虚拟化网络。人们终于看到学术界和业界在重塑互联网(Reinvent the Internet)方面的努力已经开花结果。SDN和OpenFlow引领着新一代网络架构的创新发展方向已是不争的事实。
与此同时,越来越多的网络从业者、研究人员、网络开发人员和学生开始关注SND和OpenFlow技术,并开始自己的实践之旅。因此,Siamak Azodolmolky所撰写的《Software Defined Networking with OpenFlow》一书于2013年10月出版正好满足了读者的迫切需求。
就像作者所说的那样,这本书的定位是SDN与OpenFlow指南,因此,书中没有技术决策层面的宏大叙事,它更像是为即将开始SND与OpenFlow之旅的实践者提供的一幅路线图,引导读者从OpenFlow入门知识开始,由浅入深地了解SDN生态体系中的OpenFlow交换机、OpenFlow控制器,学习使用虚拟化的Mininet网络仿真工具,搭建和测试OpenFlow实验网;掌握如何通过OpenFlow控制器的北向API进行网络应用的开发;通过FlowVisor操练网络虚拟化实战;透视云计算的OpenStack 架构,探索OpenStack Neutron的云组网功能。
开源项目对SDN/OpenFlow发展的贡献是不言而喻的,除了重点介绍NOX、Floodlight、OpenDaylight、FlowVisor等主流SDN/OpenFlow开源软件及其使用,这本书还在最后一章为读者整理了一份重要的开源项目资源清单,包括OpenFlow软交换机、控制器、虚拟化工具、业务流程工具以及模拟和测试工具。因此,本书很适合作为SDN与OpenFlow实战的入门指南,衷心希望这本译作能够有助于读者的SDN/OpenFlow实践之旅。
译文中的错误和不当之处,敬请读者指正。

徐磊
2014年4月

图书目录

译者序
前 言
第1章 OpenFlow概述 / 1
1.1 理解软件定义网络—OpenFlow特色 / 2
1.2 有关SDN/OpenFlow的工作 / 4
1.3 SDN的基本构件 / 5
1.4 OpenFlow消息 / 13
1.4.1 控制器到交换机的消息 / 14
1.4.2 对称消息 / 18
1.4.3 异步消息 / 18
1.5 北向接口 / 20
1.6 本章总结 / 21
第2章 OpenFlow交换机的实现 / 23
2.1 OpenFlow参考交换机 / 24
2.1.1 异步消息 / 28
2.1.2 对称消息 / 29
2.2 硬件实现 / 29
2.3 基于软件的交换机 / 30
2.4 用Mininet搭建OpenFlow实验环境 / 32
2.4.1 Mininet入门 / 33
2.4.2 Mininet实验 / 36
2.5 本章总结 / 41
第3章 OpenFlow控制器 / 43
3.1 SDN控制器 / 44
3.2 已有的实现方案 / 47
3.2.1 NOX和POX / 47
3.2.2 运行一个POX应用 / 49
3.2.3 NodeFlow / 57
3.2.4 Floodlight / 60
3.3 OpenDaylight / 62
3.4 本章总结 / 64
第4章 环境的搭建 / 65
4.1 理解OpenFlow实验 / 66
4.1.1 外部控制器 / 70
4.1.2 完成OpenFlow实验 / 71
4.2 OpenDaylight / 76
4.2.1 ODL控制器 / 77
4.2.2 基于ODL的SDN实验 / 80
4.3 本章总结 / 85
第5章 网络应用开发 / 87
5.1 网络应用1——学习型以太网交换机 / 88
5.2 网络应用2——简单的防火墙 / 97
5.3 网络应用3——OpenDaylight的简单转发 / 101
5.4 本章总结 / 103
第6章 网络分片的获取 / 105
6.1 网络虚拟化 / 106
6.2 FlowVisor / 107
6.2.1 FlowVisor API / 109
6.2.2 FLOW_MATCH结构 / 111
6.2.3 分片操作结构 / 113
6.3 FlowVisor切分 / 113
6.4 本章总结 / 120
第7章 云计算中的OpenFlow / 121
7.1 OpenStack和Neutron / 122
7.2 OpenStack的组网架构 / 126
7.3 Neutron插件 / 130
7.4 本章总结 / 134
第8章 开源资源 / 137
8.1 交换机 / 138
8.1.1 Open vSwitch / 138
8.1.2 Pantou / 141
8.1.3 Indigo / 142
8.1.4 LINC / 143
8.1.5 XORPlus / 143
8.1.6 OF13SoftSwitch / 145
8.2 控制器 / 146
8.2.1 Beacon / 146
8.2.2 Floodlight / 146
8.2.3 Maestro / 148
8.2.4 Trema / 149
8.2.5 FlowER / 150
8.2.6 Ryu / 150
8.3 其他 / 151
8.3.1 FlowVisor / 151
8.3.2 Avior / 153
8.3.3 RouteFlow / 154
8.3.4 OFlops and Cbench / 155
8.3.5 OSCARS / 156
8.3.6 Twister / 157
8.3.7 FortNOX / 157
8.3.8 Nettle / 158
8.3.9 Frenetic / 158
8.3.10 OESS / 158
8.4 本章总结 / 158

教学资源推荐
作者: 苏小红 邱景 郑贵滨 等 编著内封署名:苏小红 邱景 郑贵滨 赵玲玲 袁秀丽 张凡龙 编著
作者: Brian W.Kernighan,Dennis M.Ritchie
作者: [美]德洛莉丝 M. 埃特尔(Delores M. Etter) 著
参考读物推荐
作者: (美)Heather Williamson
作者: IBM公司