发表于2024-11-21
《深入浅出Neutron :OpenStack网络技术》是首本有关OpenStack网络技术的专业著作,三位作者都是OpenStack Contributor,两位在Canonical公司做研发工作,一位在惠普公司任首席架构师,他们的专业水平保证了本书的品质。
本书所呈现的内容都是干货,是三位作者长期研发工作的经验总结和心得体会,这一点尤其可贵。
最后,对三位作者在百忙之中编撰本书的奉献精神表示敬意。
《深入浅出Neutron :OpenStack网络技术》是一本介绍OpenStack网络的专著,本书将会从传统的网络技术开始,让读者在大脑中建立传统网络与Neutron网络的一一对应关系,然后介绍了深入讲解Neutron一些重要特性背后的网络背景知识,以及它在Neutron中是如何实现的。本文还对大规模高性能网络调优的一些经验与看法,目的是让读者最终从本质上把握云计算时代的网络,知道如何去获取与此相关的知识。
《深入浅出Neutron :OpenStack网络技术》强调系统性和理论指导实践的前瞻性,很多网络原理会用简单有效的小试验来证明,而Neutron背后的原理和它恰好是一模一样的,这便于读者的深入理解。
《深入浅出Neutron :OpenStack网络技术》适合OpenStack爱好者和有一定基础的技术工程师以及想要深入理解OpenStack Neutron的架构师使用。
张华,2012年2月加入社区的早期OpenStack Contributor, 对传统的网络技术, 云计算时代的网络技术都有着深刻的理解。曾为IBM网络主题事务专家(SME), 目前在Canonical公司从事OpenStack网络研发工作。公开发表过大量的网络技术相关文章。
向辉,2012年12月加入OpenStack社区成为Contributor,喜欢研究新型网络技术, 目前在Canonical从事OpenStack网络研发相关的工作。
刘艳凯,2012年开始研究Openstack网络模块并带领团队开发用于混合云的Plugin。对数据中心网络,SDN等网络技术有一定了解。目前在惠普公司从事云计算架构师的工作。
第1篇 初识Neutron
第1章 Neutron是什么
1.1 什么是云
1.2 什么是OpenStack
1.3 Neutron的发展与介绍
1.4 分层思想与Neutron组件架构
1.5 Neutron中的服务
1.5.1 Neutron二层网络服务
1.5.2 Neutron三层网络服务
1.5.3 Neutron高级网络服务
1.5.4 其他服务
1.6 Neutron支持的部署拓扑
1.6.1 单一平面网络
1.6.2 多平面网络
1.6.3 混合平面私有网络
1.6.4 通过私有网络实现运营商路由功能
1.6.5 通过私有网络实现每个租户创建自己专属的网络区段
1.7 爱上Neutron的理由
1.7.1 北向API,框架结构与微内核
1.7.2 大规模高性能,L2的控制平面L2 population (L2pop)
1.7.3 大规模高性能,改善东西南北向流量之分布式虚拟路由(DVR)
1.7.4 大规模高性能,L3高可用VRRP(Virtual Router Redundancy Protocol)
1.8 小结
第2章 Neutron二层网络服务实现原理
2.1 二层网络基本原理
2.2 大二层变革综述
2.2.1 大二层多路径技术
2.2.2 大二层互联技术
2.3 二层网络的实现——ML2插件
2.4 二层网络在Linux中的实现
2.4.1 veth path演示用例
2.4.2 Linux网桥演示用例
2.5 Openvswitch中二层网络的实现
2.6 虚拟机部署与二层网络的绑定(Port Binding)
2.7 小结
第3章 Neutron三层网络服务实现原理
3.1 路由原理
3.2 三层路由在Linux中的实现
3.3 Neutron的三层网络实现
3.4 通过实验夯实路由基础
3.4.1 环境准备
3.4.2 同一节点上的两台虚拟机如何互访
3.4.3 不同节点上的两台虚拟机如何互访
3.4.4 虚拟机如何访问外网(SNAT)
3.4.5 外网如何访问虚拟机(DNAT)
3.4.6 VLAN
3.4.7 VxLAN
3.4.8 GRE
3.5 FLAT、VLAN、GRE、VxLAN网络拓扑
3.6 小结
第4章 OpenStack的部署与Neutron之Hello World
4.1 OpenStack部署方式简介
4.2 使用Devstack部署OpenStack开发环境
4.2.1 系统环境
4.2.2 部署Devstack环境
4.2.3 自动化脚本一键自动部署OpenStack
4.3 创建第一个网络
4.4 小结
第2篇 Neutron进阶
第5章 Neutron中的网络安全
5.1 iptables基础
5.2 Neutron中的安全组
5.2.1 Neutron中的自定义链
5.2.2 每个虚拟机的链和规则
5.2.3 配置使用Neutron中的Security Group
5.2.4 Allowed Address Pairs扩展
5.3 Neutron中的防火墙
5.4 有状态的防火墙和基于OVS流规则的防火墙
5.4.1 什么是有状态的防火墙
5.4.2 有状态防火墙在iptables中的实现
5.4.3 从数据流向看iptables对TCP、UDP及ICMP报文的支持
5.4.4 Openvswitch中对有状态防火墙的支持
5.5 多层防火墙应用实例
5.6 Group Based Policy
5.7 小结
第6章 高级网络服务
6.1 网络服务模型与用例
6.1.1 Routed/Embedded网络服务
6.1.2 Floating/In-Path网络服务
6.1.3 Out-of-Path网络服务
6.1.4 网络服务插入点
6.1.5 L3层的网络服务用例
6.1.6 L2层的网络服务用例
6.1.7 Bump-in-the-Wire网络服务用例
6.1.8 TAPaaS网络服务用例
6.2 Service Type框架
6.2.1 Service Type种类
6.2.2 如何配置Service Type使用高级网络服务
6.2.3 重构后的高级服务代码实现
6.3 其他高级网络服务特性
6.3.1 Neutron Flavor框架
6.3.2 Service Insertion
6.3.3 Service Chain(服务链)
6.3.4 Traffic Steering特性
6.3.5 Huawei Service Chain特性
6.4 LBaaS服务原理与实现
6.4.1 LBaaS代码结构
6.4.2 LBaaS应用场景及实现要点
6.4.3 LBaaS示例
6.5 IPSec VPNaaS服务原理与实现
6.5.1 隧道协议的本质与分类
6.5.2 VPN的本质与分类
6.5.3 IPSec理论
6.5.4 Neutron openSwan/strongSwan VPNaaS驱动架构
6.5.5 运行Neutron strongSwan VPNaaS
6.5.6 Neutron strongSwan VPNaaS配置与排错
6.6 基于MPLS的VPNaaS服务原理与实现
6.6.1 MPLS原理与路由信息传递
6.6.2 Neutron VPNaaS数据模型演进
6.6.3 Neutron MPLS VPN实现原理
6.7 小结
第7章 网络性能调优
7.1 通用操作系统与传统Hypervisor的网络性能瓶颈
7.1.1 网络性能瓶颈在哪儿
7.1.2 virtio
7.1.3 vhost
7.1.4 vhost-user与snabbswitch
7.1.5 openonload
7.2 Neutron性能的评价指数
7.3 API Server的调优
7.4 MySQL、Rabbitmq调优
7.5 计算节点及l3-agent的调优
7.6 网络中的MTU问题对性能的影响
7.7 启用L2pop特性提高性能
7.8 通过分布式虚拟路由器改善网络节点性能
7.8.1 实例分析
7.8.2 命名空间
7.8.3 配置使用Neutron DVR
7.8.4 环境演示
7.8.5 内幕分析
7.8.6 DVR定制OVS Flow
7.9 网络节点的高可用性
7.9.1 通过pacemaker/corosync实现的Neutron L3高可用性
7.9.2 支持Neutron L3 高可用性和扩展性
7.9.3 VRRP高可用性
7.10 小结
第3篇 Neutron实战
第8章 Neutron实战开发
8.1 Neutron的数据模型介绍
8.1.1 核心实体(L2)
8.1.2 L3层的实体
8.1.3 高层服务实体
8.2 Neutron的API及其实现机制介绍
8.3 使用eclipse + pydev插件建立开发环境
8.4 如何开发新的Plugin
8.5 为新二层设备开发MechanismDriver实战
8.6 小结
第9章 贡献Neutron社区
9.1 加入OpenStack社区
9.2 注册BP与neutron-spec
9.3 如何提交代码
9.4 Neutron CI测试
9.5 代码及代码风格
9.6 小结
第10章 Neutron中的测试
10.1 单元测试
10.1.1 assert_has_calls实例
10.1.2 assert_called_once_with实例
10.2 功能测试
10.3 Tempest集成测试
10.4 小结
第4篇 Neutron杂谈与展望
第11章 软件定义网络(SDN)
11.1 软件定义网络(SDN)简介
11.2 OpenFlow中的L3层路由与跨数据中心的SDN
11.3 RouteFlow
11.4 SDN与Neutron的集成
11.5 NFV
11.6 小结
第12章 IPv6与Neutron
12.1 基础知识
12.1.1 IPv6地址的3种配置方式
12.1.2 IPv6 Privacy Extensions
12.1.3 Radvd软件路由器
12.1.4 IPv6地址类型
12.2 IPv6在Neutron中的实现
12.2.1 Neutron中的IPv6地址支持
12.2.2 Neutron中的IPv6前缀代理(Prefix Delegation,PD)机制
12.2.3 Neutron网络中的IPv6路由
12.3 IPv6在管理网络中的实现
12.3.1 配置Radvd
12.3.2 配置Keystone
12.3.3 配置glance
12.3.4 配置Nova
12.3.5 配置neutron-server
12.3.6 配置swift
12.3.7 配置swift-storage
12.3.8 配置corosync
12.3.9 配置cinder
12.3.10 配置RabbitMQ
12.3.11 IPv6 novarc
12.3.12 实验结果验证
12.4 小结
附 录
附录A Openstack网络的故障排除
A.1 虚拟机获取不到IP的问题
A.2 虚拟机无法访问外网的问题
A.3 无法重建GRE隧道的问题
附录B 调试代码时可能遇到的问题
B.1 服务状态不一致的问题
B.2 在eclipse中调试OpenStack代码时,模块动态替换的问题
B.3 Devstack环境中切换代码分支的问题
附录C Devstack环境代码升级的问题
参考链接
云计算和大数据是当今计算机领域最火的两项新技术,OpenStack也正在逐步成为IaaS云计算事实上的标准。我们知道,OpenStack实际上是通过Python语言写的一个壳去管理底层的计算,存储和网络等主要资源。如何进行Python编程不难,难的是如何理解OpenStack所管理的这些资源背后的领域知识,网络无疑又是这三大块里面最复杂的一块。目前市场上和OpenStack相关的书籍主要集中在安装和运维方面,不涉及背后的领域知识,更不涉及最复杂的网络这块,让人看完之后仍然不了解背后的原理,很难真正帮助读者理解OpenStack。
本书是3位OpenStack Contributor这些年来对OpenStack网络技术的长期积累与心得总结。本书作者是工作在一线的工程师,而云计算主要是由工程师文化驱动的,既懂原理又懂代码的工程师是最懂OpenStack的,也是最知道读者在进军OpenStack网络的过程中需要储备什么样的知识。本书顺应了这种潮流,主要说清楚为什么,以Neutron每一个特性背后的网络背景知识为出发点,进行深入浅出的阐述,以简单明了,丰富图表,解释核心代码,让读者能够通过本书真正理解传统网络,理解云计算时代的网络,把握网络技术发展的核心思想和精髓。
本书涉及的内容包括:传统七层网络知识,Neutron中与之对应的各个模块,Neutron在提升网络性能方面所做的努力,作者在实践OpenStack中的体会,如何贡献OpenStack社区,一些新兴的网络虚拟化技术,等等。全书内容丰富,无论对于新入门的读者还是资深的读者都将具有很强的实用性和可参考性。
由于OpenStack还有不断发展中,虽然作者尽心尽力,但限于水平,书中不足之处在所难免,敬请广大读者的同行朋友批评指证。
编者
2015.6
深入浅出Neutron :OpenStack网络技术 下载 mobi pdf epub txt 电子书 格式 2024
深入浅出Neutron :OpenStack网络技术 下载 mobi epub pdf 电子书图片完全看不清,内容也比较混乱,跟书名深入浅出不符
评分网络之选,比较好
评分正打算学习,就发现这本书,太及时
评分包裝很好~完美??
评分写的不错的书
评分很模糊,影印版,非正版
评分还行。。。。。。。
评分好书 好书 好书
评分比较专业,内容丰富,此领域工作者可以参考
深入浅出Neutron :OpenStack网络技术 mobi epub pdf txt 电子书 格式下载 2024