OpenStack八大核心組件精講之-neutron理論知識_第1頁
OpenStack八大核心組件精講之-neutron理論知識_第2頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、OpenStack-neutron理論知識-neutron、OpenStack絡、絡是openstack最重要的資源之,沒有絡,虛擬機將被隔離。Openstack的絡服務最主要的功能就是為虛擬機實例提供絡連接,最初由nova的個單獨模塊nova-compute實現(xiàn),但是nova-compute持的絡服務有限,法適應規(guī)模、密度和多項的云計算,現(xiàn)已被專門的絡服務項Neutron所取代。、Neutron為整個openstack環(huán)境提供軟件定義絡持,主要功能包括層交換、三層路由、防墻、VPN,以及負載均衡等。Neutron在由其他openstack服務 (如nova)管理的絡接設備(如虛擬卡)之間提供

2、絡連接即服務、Linux絡虛擬化、實現(xiàn)虛擬化后,多個物理服務器可以被虛擬機取代,部署在同臺物理服務器.上。虛擬機由虛擬機管理器(Hypervisor)實現(xiàn),在Linux系統(tǒng)中Hypervisor通常采kvm。在對服務器進虛擬化的同時,也對絡進虛擬化。、Hypervisor為虛擬機創(chuàng)建個或多個虛擬卡(vNIC),虛擬卡等同于虛擬機的物理卡。物理交換機在虛擬絡中被虛擬為虛擬交換機(vSwitch),虛擬機的虛擬卡連接到虛擬交換機上,虛擬機交換機再通過物理主機的物理卡連接到外部絡。、 對于物理絡來說,虛擬化的主要作是對卡和交換設備的虛擬化。openstack絡服務最核的任務是對層物理絡進抽象和管理(

3、)、Linux虛擬橋、與物理機不同,虛擬機并沒有硬件設備,但是也要與物理機和其他虛擬機進通信。Linux KVM的解決案是提供虛擬橋設備,像物理交換機具有若絡接(卡)樣,在橋,上創(chuàng)建多個虛擬的絡接,每個絡接再與KVM虛擬機的卡相連。、在Linux的KVM虛擬系統(tǒng)中,為持虛擬機的絡通信,橋接的名稱通常以vnet開頭,加上從0開始順序編號,如vnet0、vnet1,在創(chuàng)建虛擬機時會動創(chuàng)建這些接。虛擬橋br1和br2分別連接到物理主機的物理卡1和物理卡2。()、虛擬局域、個橋可以橋接若虛擬機,當多個虛擬機連接在同橋時,每個虛擬機發(fā)出的播包會引發(fā)播風暴,影響虛擬機的絡性能。通常使虛擬局域(VLAN)將

4、部分虛擬機的播包限制在特定范圍內(nèi),不影響其他虛擬機的絡通信。、通常使VLAN將部分虛擬機的播包限制在特定范圍內(nèi),不影響其他虛擬機的絡通信。、將多個虛擬機劃分到不同的VL AN中,同VLAN的虛擬機相當于連接同橋上。、在Linux虛擬化環(huán)境中,通常會將橋與VLAN對應起來,也就是將橋劃分到不同的VLAN中、VLAN協(xié)議為802.1Q,VLAN是具有802.1Q標簽的絡。(三)、開發(fā)虛擬交換機、開放虛擬交換機(Open vSwitch)是與硬件交換機具備相同特性,可在不同虛擬平臺之間移植,具有產(chǎn)品級質(zhì)量的虛擬交換機,適合在產(chǎn)環(huán)境中部署。、交換設備的虛擬化對虛擬絡來說關重要。在傳統(tǒng)的數(shù)據(jù)中,管理員可

5、以對物理交換機進配置控制服務器的絡接,實現(xiàn)絡隔離、流量監(jiān)控、QoS配置、流量優(yōu)化等標。在云環(huán)境中,采Open vSwitch技術的虛擬交換機可使虛擬絡的管理、絡狀態(tài)和流量的監(jiān)控得以輕松實現(xiàn)。、Open Switch在云環(huán)境中的虛擬化平臺上實現(xiàn)分布式虛擬交換機,可以將不同主機上的OpenvSwitch交換機連接起來,形成個規(guī)模的虛擬絡。三、openstack絡基礎服務OpenStack絡服務提供個API讓戶在云中建和定義絡連接。該絡服務的項名稱是Neutron。OpenStack絡負責創(chuàng)建和管理虛擬絡基礎架構(gòu),包括絡、交換機、和路由器,這些設備由OpenStack計算服務Nova管理。同時,絡服

6、務還提供防墻和VPN這樣的級服務??梢詫⒔j服務部署到特定主機上。OpenStack絡組件與份服務、計算服務和儀表板等多個OpenStack組件進整合、neutron絡結(jié)構(gòu)個簡化的典型的Neutron絡結(jié)構(gòu)如圖所,包括-個外部絡、個內(nèi)部絡和-個路由器。外部絡負責連接OpenStack項之外的絡環(huán)境,稱公共絡。與其他絡不同,它不僅僅是個虛擬絡,更重要的是,它表OpenStack絡能被外部物理絡接并訪問。外部絡可能是企業(yè)的局域(Intranet),也可能是互聯(lián)(Internet), 這類絡并不是由Neutron直接管理。內(nèi)部絡完全由軟件定義,稱私有絡。它是虛擬機實例所在的絡,能夠直接連接到虛擬機。項

7、戶可以創(chuàng)建的內(nèi)部絡。默認情況下,項之間的內(nèi)部絡是相互隔離的,不能共享。該絡由Neutron直接配置與管理。路由器于將內(nèi)部絡與外部絡連接起來,因此,要使虛擬機訪問外部絡,必須創(chuàng)建個路由器。Neutron需要實現(xiàn)的主要是內(nèi)部絡和路由器。內(nèi)部絡是對層(L2)絡的抽象,模擬物理絡的層局域,對于項來說,它是私有的。路由器則是對三層(L3)絡的抽象,模擬物理路由器,為戶提供路由、NAT等服務。、絡與端路:個隔離的層播域,類似交換機中的VLAN。Neutron持多種類型的絡,如FLAT、VLAN、VXLAN等。:個IPV4或者IPV6的地址段及其相關配置狀態(tài)。虛擬機實例的IP地址從中分配。每個需要定義IP地

8、址的范圍和掩碼(這個有點像DHCP中定義的作域的概念)。端:連接設備的連接點,類似虛擬交換機上的個絡端。端定義了MAC地址和IP地址,當虛擬機的虛擬卡綁定到端時,端會將MAC和IP分配給該虛擬卡。通常可以創(chuàng)建和配置絡、和端來為項搭建虛擬絡。絡必須屬于某個項,個項中可以創(chuàng)建多個絡。個只能屬于某個絡,個絡可以有多個。個端必須屬于某個,個可以有多個端。、絡拓撲類型Local絡與其他絡和節(jié)點隔離。該絡中的虛擬機實例只能與位于同節(jié)點上同絡的虛擬機實例通信,實際意義不,主要于測試環(huán)境。位于同Local絡的實例之間可以通信,位于不同Local絡的例之間法通信。個LocaI絡只能位于同個物理節(jié)點上,法跨節(jié)點部

9、署。Flat是種簡單的扁平絡拓撲,所有的虛擬機實例都連接在同絡中,能與位于同絡的實例進通信,并且可以跨多個節(jié)點。這種絡不使VLAN,沒有對數(shù)據(jù)包打VLAN標簽,法進絡隔離。Flat是基于不使VLAN的物理絡實施的虛擬絡。每個物理絡最多只能實現(xiàn)個虛擬絡。VLAN是持802.1q協(xié)議的虛擬局域,使VLAN標簽標記數(shù)據(jù)包,實現(xiàn)絡隔離。同VLAN絡中的實例可以通信,不同VLAN絡中的實例只能通過路由器來通信。VL AN絡可以跨節(jié)點,是應最泛的絡拓撲類型之。VXLAN (虛擬擴展局域)可以看作是VLAN的種擴展,相于VLAN,它有更的擴展性和靈活性,是前持規(guī)模多租房絡環(huán)境的解決案。由于VLAN包頭部限長

10、是12位,導致VLAN的數(shù)量限制是4096 (212) 個,不能滿絡空間益增長的需求。前VXL AN的封包頭部有24位作VXLAN標識符 (VNID)來區(qū)分VXLAN段,最多可以持16777216 (224) 個段。VXLAN使STP防環(huán)路,導致半的絡路徑被阻斷。VXL AN的數(shù)據(jù)包是封裝到UDP通過三層傳輸和轉(zhuǎn)發(fā)的,可以完整地利三層路由,能克服VLAN和物理絡基礎設施的限制,更好地利已有的絡路徑。GRE (通路由封裝)是種絡層協(xié)議去封裝另-種絡層協(xié)議的隧道技術。GRE的隧道由兩端的源IP地址和的IP地址定義,它允許戶使IP封裝IP等協(xié)議,并持全部的路由協(xié)議。在OpenStack環(huán)境中使GRE

11、意味著“IP over IP”,GRE與VXLAN的主要區(qū)別在于,它是使IP包UDP進封裝的。GENEVE(通絡虛擬封裝)的標宣稱是僅定義封裝數(shù)據(jù)格式,盡可能實現(xiàn)數(shù)據(jù)格式的彈性和擴展性GENEVE封裝的包通過標準的絡設備傳送,即通過單播或多播尋址,包從-個隧道端點傳送到另個或多個隧道端點。GENEVE幀格式由個封裝在IPV4或IPV6的UDP的簡化的隧道頭部組成。GENEVE推出的主要的是為了解決封裝時添加的元數(shù)據(jù)信息問題(到底多少位,怎么GENEVE動識別與調(diào)整),以適應各種虛擬化場景。隨著云計算、數(shù)據(jù)、移動互聯(lián)等新技術的普及,絡虛擬化技術的趨勢在傳統(tǒng)單層絡基礎.上疊加層邏輯絡。這將絡分為兩

12、個層次,傳統(tǒng)單層絡稱為Underlay (承載絡),疊加其上的邏輯絡稱為Overlay (疊加絡或覆蓋絡)。Overlay絡的節(jié) 點通過虛擬的或邏輯的連接進通信,每個虛擬的或邏輯的連接對應于Underlay絡的條路徑,由多個前后銜接的連接組成。Overlay絡須對基礎絡進規(guī)模修改,不關這些底層實現(xiàn),是實現(xiàn)云融合的關鍵。VXLAN、GRE和GENEVE都是基于隧道技術的Overlay絡、絡基本架構(gòu)Neutron僅有個主要服務進程neutron-server。它是運在控制節(jié)點上的,對外提供Openstack絡API作為訪問Neutron的,收到請求后調(diào)插件進處理,最終由計算節(jié)點和絡節(jié)點上的各種代理

13、完成請求。絡提供者是指提供OpenStack絡服務的虛擬或物理絡設備,如Linux Bridge. Open vSwitch,或者其他持Neutron的物理交換機。與其他服務樣,Neutron的各組件服務之間需要相互協(xié)調(diào)和通信,neutron-server,插件和代理之間通過消息隊列進通信和相互調(diào)。數(shù)據(jù)庫于存放OpenStack的絡狀態(tài)信息,包括絡、端、路由器等??蛻舳耸侵甘筃eutron服務的應程序,可以是命令具Horizon和Nova計算服務等。實例:以個創(chuàng)建VLAN 100虛擬絡的流程為例說明這些組件如何協(xié)同作。neutron-server收到創(chuàng)建絡的請求,通過消息隊列通知已注冊的Lin

14、ux Bridge插件。(插件可以有很多,這舉例創(chuàng)建虛擬絡的插件是Linux Bridge插件)該插件將要創(chuàng)建的絡信息(如名稱、VLAN ID等)保存到數(shù)據(jù)庫中,并通過消息隊列通知運在各節(jié)點上的代理代理收到消息后會在節(jié)點上的物理卡上創(chuàng)建VLAN設備(如eth1.100),并創(chuàng)建-個橋(如brqxxx)來橋接VLAN設備。、neutron-serverRESTful API:直接對客戶端提供API服務,屬于最前端的API,包括Core API和Extension API兩種類型。CoreAPI提供管理絡、和端核資源的RESTfulAPI; Extension API則提供管理路由器、防墻、負載均

15、衡、安全組等擴展資源的RESTfulAPI。Common Service:通服務,負責對API請求進檢驗、認證,并授權。Neutron Core:核處理程序,調(diào)相應的插件API來處理API請求。Plugin API:定義插件的抽象功能集合,提供調(diào)插件的API接,包括Core Plugin API和Extension。Plugin API兩種類型。Neutron Core通過Core Plugin API調(diào)相應的Core Plugin,通過ExtensionPlugin API調(diào)相應的Service Plugin、遵循的設計原則,采開放性架構(gòu),通過插件代理與絡提供者的配合來實現(xiàn)各種絡功能。插件是

16、Neutron的種API的后端實現(xiàn),的是增強擴展性。插件按照功能可以分為Core Plugin和Service Plugin兩種類型。Core Plugin提供基礎層虛擬絡持,實現(xiàn)絡、和端等核資源抽象。Service Plugin是指Core Plugin之外的其他插件,提供路由器、防墻、安全組、負載均衡等服務持。從H版開始,Neutron提供個名為L3 Router Service Plugin的插件持路由服務。插件的調(diào)由neutron-server的Core Plugin API和Extex sion Plugin API調(diào),于確定具體的絡功能,即要配置什么樣的絡。作流程:插件處理neut

17、ron-server發(fā)來的請求, 主要職責是在數(shù)據(jù)庫中維護Neutron絡的狀態(tài)信息(更新Neutron數(shù)據(jù)庫)。通知相應的代理實現(xiàn)具體的絡功能。每-個插件持組API資源井完成特定的操作,這些操作最終由插件通過RPC調(diào)相應的代理來完成。代理處理插件轉(zhuǎn)來的請求,負責在絡提供者上真正實現(xiàn)各種絡功能。代理使物理絡設備或虛擬化技術完成實際的操作任務,如于路由器具體操作的L3代理。、典型的主機系欸但部署案介紹控制節(jié)點上可以部署neutron-server,Core Plugin和Service Plugin的代理。這些代理包括neutron-plugin-agent, neutron-medadata-

18、agent. neutron-dhcp-agent. neutron-l3-agent. neutron-lbass-agent等。 Core Plugin和Service Plugin已經(jīng)靠成到neutron-server中,不需要運獨的Plugin服務。計算節(jié)點上可以部署Core Plugin, Linux Bridge或Open vSwitch的代理,負責提供層絡功能??刂乒?jié)點和計算節(jié)點都需要部署Core Plugin的代理,因為控制節(jié)點與計算節(jié)點通過該代理,才能建層連接可以通過增加絡節(jié)點承擔更的負載。該案特別適合規(guī)模較的OpenStack環(huán)境。控制節(jié)點部署neutron-server服

19、務,只負責通過neutron-server響應API請求。絡節(jié)點部署的服務包括Core Plugin的代理和Server Plugin的代理。將所有的代理主鍵從上述控制節(jié)點分離出來,部署到獨的絡節(jié)點上。由獨的絡節(jié)點實現(xiàn)數(shù)據(jù)的交換、路由以及負載均衡等級絡服務。四、Neutron插件、代理和服務、插件Neutron可以通過開發(fā)不同的插件和代理來持不同的絡技術,這是種相當開放的架構(gòu)。不過隨著所持的絡提供者種類的增加,開發(fā)員發(fā)現(xiàn)了兩個突出的問題。個問題是多種絡提供者法共存。Core Plugin負責管理和維護Neutron層虛擬絡的狀態(tài)信息,個Neutron絡只能由個插件管理,Core Plugin插

20、件與相應的代理是對應的。 如果選擇Linux Bridge插件,則只能選擇LinuxBridge代理,必須在OpenStack的所有節(jié)點上使Linux Bridge插件,則只能選擇Linux Bridge代理,必須在OpenStackR的所有節(jié)點上使Linux Bridge作為虛擬交換機。另個問題是開發(fā)新的插件的作量太,所有傳統(tǒng)的Core Plugin之間存在量反復代碼。為解決這兩個問題,從OpenStack的H版開始,Neutron實現(xiàn)了個插件ML2,旨在取代所有的Core Plugin,允許在OpenStack絡中同時使多種層絡技術,不同的節(jié)點可以使不同的絡實現(xiàn)機制。ML2能夠與現(xiàn)有的代理

21、縫集成,以前使的代理須變更,只需將傳統(tǒng)的Core Plugin替換成ML2。ML2使得對新的絡技術的持更為簡單,須從頭開發(fā)Core Plugin,只需要開發(fā)相應的機制驅(qū)動,減少編寫和的代碼。類型驅(qū)動(Type Driver) : Neutron持的每種絡類型都有 個對應的ML2類型驅(qū)動。類型驅(qū)動負責維護絡類型的狀態(tài)、執(zhí)驗證。創(chuàng)建絡等作。機制驅(qū)動(Mechansim Driver) : geutron持的每種絡機制都有個對應的ML2機制驅(qū)動。機制驅(qū)動負責獲取由類型驅(qū)動維護的絡狀態(tài),并確保在相應絡設備(物理或虛擬的)上正確實現(xiàn)這些狀態(tài)。前Neutron已經(jīng)實現(xiàn)的絡機制有以下3種類型:基于代理的:L

22、inuxBridge. Open vSwitch等?;诳刂破鞯?OpenDaylight,VMWare NSX等.基于物交換機的:Cisco Nexus. Arista. Mellanox等.擴展資源:ML2作為個Core Plugin,在實現(xiàn)絡,和端核資源的同時。也實現(xiàn)包括端綁定。安全組等部分擴展資源、Linux Bridge代理Linux Bridge是成熟可靠的Neutron層絡虛擬化技術,持Local,Flat、VLAN和VXLAN這4種絡類型。Linux Bridge可以將臺主機上的多個卡橋接起來,充當臺交換機。它既可以橋接物理卡,可以是虛擬卡。于橋接虛擬機卡(虛擬卡)的是Tap接

23、,這是個虛擬出來的絡設備,稱為Tap設備,作為橋的個端。Tap接在邏輯上與物理接具有相同的功能,可以接收和發(fā)送數(shù)據(jù)包。如果選擇Linux Bridge代理,在計算節(jié)點上數(shù)據(jù)包從虛擬機發(fā)送到物理卡需要經(jīng)過以下設備Tap接:于橋連接到虛擬卡,命名規(guī)則為tapxxxLinux橋:作為層交換機,命名規(guī)則為brxxxx。VLAN接:在VLAN絡中于連接橋,命名為ethx.y (x為卡名稱,為VLAN ID)VXLAN接:在VXL AN絡中于連接橋,命令為vxlan-z(z是VNID)物理絡接:于連接到物理絡、Open vSwitch代理與Linux Bridge相,Open vSwitch (OVS)具

24、有集中管控功能,且性能更加優(yōu)化,持更多的功能,前在OpenStack領域成為主流它持Local,Flat, VLAN,VXLAN,GRE和GENEVE等所有絡類型。vSwitchTap設備:于橋連接虛擬機卡。Linux橋:橋接絡接。VETH對:直接相連的-對虛擬絡接。兩個虛擬絡接收發(fā)。來連接兩個虛擬橋。OVS橋:Open vSwitch的核設備,包括-個OVS集成橋和個OVS物理連接橋。所有在計算節(jié)點上運的虛擬機連接到集成橋,Neutron通過配置集成橋上的端來實現(xiàn)虛擬機絡隔離。物理連接橋直接連接到物理卡。這兩個OVS橋通過個VETH對來對接。vSwitch如果選擇Open vSwitch代理

25、。在計算節(jié)點上數(shù)據(jù)包從虛擬機發(fā)送到物理卡需要依次經(jīng)過以下設備:Tap接:命名為tapxxx.Linux橋:命名為qbrxxxx(xxxx編號要與apxxxx編號要致)。VETH對:兩端分別命名為qvbxxx和qvoxx (其中xxx與taxxx中的xxx也要保持致)。OVS PATCH端:兩端分別命名為int-br-ethx和phy-br-ethx (x為物理卡名稱中的編號).這是特有的端類型,只能在Open vSwitch中使OVS物理連接橋:分為兩種類型,在Flat和VLAN中使OVS提供者橋,命名為br-ethx (x為物理卡名稱中的編號);在VXLAN.GRE或GENEVE疊加絡中使O

26、VS隧道橋,命名為br-un,另外,在Local絡中不需要任何OVS物理連接橋。物理絡接:于連接到物理絡,命名為ethx (x為物理卡名稱中的編號)。vSwitch所有的虛擬機都連接到同個橋br-int,Open vSwitch通過配置br-int和br-ethx_上的流規(guī)則來進VL AN轉(zhuǎn)換,進實現(xiàn)VLAN之間的隔離。例中內(nèi)部的VLAN標簽分別為1和2,物理絡的VLAN標簽則為101和102.當br-eth1橋.上的phy-br-eth1端收到個VLAN 1標記的數(shù)據(jù)包時,會將其中的VLAN 1轉(zhuǎn)讓為VLAN 101;當br-int橋上的int-br-eth1端收到個VLAN 101標記的數(shù)

27、據(jù)包時會將其中的VLAN 101轉(zhuǎn)換為VLAN 1。、DHCP代理DHCP* agent scheduler)-DHCP代理的主要任務定期報告DHCP代理的絡狀態(tài),通過RPC報告給neutron-server,然后通過Core Plugin報告給數(shù)據(jù) 庫并進更新絡狀態(tài)啟動dnsmasq進程,檢測qdhcp-xxxx名稱空間(namespace)中的ns-xxxx端接收到的DHCPDISCOVER請求DHCP代理配置件/etc/neutron/dhcp_agent.iniinterface_driver:來創(chuàng)建TAP設備的接驅(qū)動dhcp_driver:指定DHCP驅(qū)動DHCP創(chuàng)建實例時,Neut

28、ron隨機成MAC并從配置數(shù)據(jù)中分配個固定IP地址,起保存到dnsmasq的hosts件中,讓dnsmasq進程做好準備。與此同時, nova-compute會設置虛擬機卡的MAC地址實例啟動,發(fā)出DHCPDISCOVER播,該播消息在整個絡中都可以被收到。播到達dnsmasq監(jiān)聽Tap接。Dnsmasq收到后檢查其host件,發(fā)現(xiàn)有對應項,它以 -DHCPOFFER消息將IP和關IP發(fā)回到虛擬機實例。虛擬機實例發(fā)回DHCPREQUEST消息確認接受DHCPOFFER.Dnsmasq發(fā)回確認消息DHCPACK,整個過程結(jié)束。、 Linux絡名稱空間是Linux提供的種內(nèi)核級別絡環(huán)境隔離的法。當

29、前Linux持6種不同類別的命名空間,絡名稱空間只是其中種。在層絡上,VLAN可以將-個物理交換機分割成個獨的虛擬交換機。在三層絡上,Linux絡名稱空間可以將個物理三層絡分割成個獨的虛擬三層絡。-Linux絡名稱空間概述在Linux中,絡名稱空間可以被認為是隔離的擁有單獨絡棧的環(huán)境。它經(jīng)常來隔離絡資源(設備和服務),只有擁有同樣絡名稱空間的設備才能彼此訪問。它還提供了在絡名稱空間內(nèi)運進程的功能。后臺進程可以運在不同名稱空間內(nèi)的相同端上,戶還可以虛擬出塊卡。絡名稱空間可以創(chuàng)建個完全隔離的全新絡環(huán)境,包括個獨的絡接、路由表、ARP表、IP地址表、iptables或ebtables等,與絡有關的組

30、件都是獨的。執(zhí)以下命令進指定的絡名稱空間:ip netns exec net001(netns) bashnet001eth0地址ip netns exec net001 ip address add xx.xx.xx.xx/24 dev eth0絡名稱內(nèi)部通信沒有問題,但被隔離的絡名稱空間之間要通信,就必須采特定法,即VETH對VETH對是種成對出現(xiàn)的特殊絡設備,它們像根虛擬的線,可于連接兩個名稱空間,向VETH對 端輸?shù)臄?shù)據(jù)將動轉(zhuǎn)發(fā)到另端。例如創(chuàng)建兩個絡名稱空間netns1和netns2并使他們之間通信,執(zhí)以下步驟:(1)、創(chuàng)建兩個絡名稱ip netns add netns1ip netn

31、s add netns2(2)、創(chuàng)建個VETH對ip link add veth1 type veth peer name veth2(3)、將上述兩個VETH虛擬接分別放置到兩個絡名稱空間中ip link set veth1 netns netns1ip link set veth2 netns netns2這樣兩個VETH虛擬接就分別出現(xiàn)在兩個絡名稱中,兩個空間就打通了,其中的設備可以互相訪問。Linux絡名稱空間實現(xiàn)DHCP服務隔離Neutron通過絡名稱空間為每個絡提供獨的DHCP和路由服務,從允許項創(chuàng)建重疊的絡。如果沒有這種隔離機制,絡就不能重疊,這樣就失去了很多靈活性。每個dnsm

32、asq進程都位于獨的絡名稱空間,命名為qdhcp:xxx.以創(chuàng)建Flat絡為例,Neutron動新建該絡對應的橋brqaxxxx,以及DHCP的Tap設備tapxxxx。 物理主機本也有個絡名稱空間,稱為root,擁有所有物理和虛擬接設備,物理接只能位于root名稱空間。新創(chuàng)建的名稱空間默認只有個回環(huán)設備。如果DHCP的Tap虛擬接放置到qdhcp-xxx名稱空間,該Tap虛擬接將法直接與root名稱空間中橋設備brqxxxx連接。為此,Neutron使VETH對來解決這個問題,添加VETH對tapxxxx與ns-xxxx,讓qdexxxxx連接到brqxxxxLinux絡名稱空間實現(xiàn)路由器N

33、eutron允許在不同絡中的的CIDR和IP地址重疊,具有相同IP地址的兩個虛擬機也不會產(chǎn)沖突,這是由于Neutron的路由器通過Linux絡名稱空間實現(xiàn)的,每個路由器有獨的路由表Neutron路由器是個三層(L3)絡的抽象,其模擬物理路由器,為戶提供路由、NAT等服務。在OpenStack絡中,不同之間的通信需要路由器,項絡與外部絡之間的通信更需要路由器。Neutron提供虛擬路由器,也持物理路由器。例如,兩個隔離的VLAN絡之間要實現(xiàn)通信,可以通過物理路由器實現(xiàn),如上圖所,由物理路由器提供相應的IP路由表,確保兩個IP之間的通信。將兩個VLAN絡中的虛擬機的默認關分別設置為物理路由器的接A

34、和B的IP地址,VLANA中的虛擬機要與VLAN B中的虛擬機通信時,數(shù)據(jù)包通過VLAN A中的物理卡到達物理路由器,由物理路由器轉(zhuǎn)發(fā)到VLAN B中的物理卡,再到的虛擬機。Neutron的虛擬路由器使軟件模擬物理路由器,路由實現(xiàn)機制相同。Neatron的路由L3代理提供。在Neutron中L3代理具有舉輕重的地位,它不僅提供虛擬路由器,且通過iptables漫供地址轉(zhuǎn)換、浮動地址利安全組功能。L3代理利Linux IP棧、路由和iptables來實現(xiàn)內(nèi)部絡中同絡的虛擬機實例之間的通信,以及虛擬機實例和外部絡之間的絡流量的路由和轉(zhuǎn)發(fā)。L3代理可以部署在控制節(jié)點或者絡節(jié)點上。1、路由L3代理提供

35、的虛擬路由器通過虛擬接連接到,個個接,該接的地址是該的關地址。L3代理會為每個路由器創(chuàng)建個名稱空間,通過VETH對與TAP相連,然后將關IP配置在位于名稱空間的VETH接上,這樣就能夠提供路由。絡節(jié)點如果不持Linux名稱空間,則只能運個虛擬路由器。2、通過絡名稱空間持絡重疊在云環(huán)境下戶可以按照的規(guī)劃創(chuàng)建絡,不同項的絡IP地址可能會重疊。L3代理使Linux絡名稱空間來提供隔離的轉(zhuǎn)發(fā)上下,隔離不同項的絡。每個L3代理運在-個名稱空間中,每個名稱空間由quouter-命名。3、源地址轉(zhuǎn)換L3代理通過在ptables表中增加POSTROUTING鏈來實現(xiàn)源地址轉(zhuǎn)換,即內(nèi)計算機訪問外時,發(fā)起訪問的內(nèi)

36、P地址轉(zhuǎn)換為外關的IP地址。種功能讓虛擬機實例能夠直接訪問外,并能夠從外返回。項絡連接到Neutron路由器,通常將路由器作為默認關。4、的地址轉(zhuǎn)換Neutron需要設置浮動IP地址持從外訪問項絡中的實例。每個浮動IP唯對應-個路由器,浮動IP-關聯(lián)的端-所在的-包含該以及外部的路由器。創(chuàng)建浮動IP時,在Neutron分配浮動IP后,通過PRC通知該浮動IP對應的路由器去設置該浮動IP對應的iptables規(guī)則。從外訪問虛擬機實例時,的IP地址為實例的浮動IP地址, 因此必須由iptables將其轉(zhuǎn)化為固定IP地址,然后再將其路由到實例。浮動IP地址提供靜態(tài)NAT功能,建外IP地址與實例所在項

37、IP地址的對-映射。浮動IP地址配置在路由器提供關的外接上,不是實例中。5、安全組安全組定義了哪些進絡流量能被轉(zhuǎn)發(fā)給虛擬機實例,每個安全組可以有若條規(guī)則,可以給每個實例綁定若安全組FWaaS是種基于Neutron L3 Agent的虛擬防墻,是Neutron的個級服務。通過它,OpenStack可以將防墻應到項、路由器、路由器端和虛擬機端,在邊界.上對三層和四層的流量進過濾。Neatron路由器上應防墻規(guī)則,控制進出項絡的數(shù)據(jù)。防墻必須關聯(lián)某個策略。FWaaS的應對象是虛擬路由器,可以在安全組之前控制從外部注的流量,但是對于同個內(nèi)的流量不做限制,安全組保護的是實例,F(xiàn)WaaS保護的是,兩者互為補充。兩個版本:FWaaSv1與FWaaSv2FWaaSv1是傳統(tǒng)的防墻案,對路由器提供保護,將防墻應到路由器時,該路由器的內(nèi)部端受到保護。FWaaSv2防墻概念由防墻組替代,個防墻包括兩項策略:策略和出策略。防墻組不再應于路由器級,是路由器端。FWaaSv2的配置僅提供命令具,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論