發表於2024-12-18
《深入淺齣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 電子書5天,每天2小時讀本書後,我滿意地讀完瞭第一遍。
評分裏麵的插圖真是太不清楚瞭,有些地方說的也不是很明白。往往在新章節開始的時候說一些東西的時候,明明前麵沒有說過 非說前麵說過瞭。。。。
評分openstack書籍中,網絡相關組件較新的書籍,寫的不錯的,整體文筆流暢,邏輯清晰,通俗易懂。
評分部門購書。。。。。。。。。
評分書不錯,給團隊小夥伴一起看
評分3,開源書籍的通病,一大堆枯燥無用的代碼占據大量篇幅
評分2.本書的附圖小部分取自官網,從字體上看大部分都是作者自己畫的。配置文件和命令行的講述也很得當,而且顯而易見都是筆者測試過的。沒有任何錯誤。
評分很不錯的書籍,可以買來學習下
深入淺齣Neutron :OpenStack網絡技術 mobi epub pdf txt 電子書 格式下載 2024