自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Openstack之Neutron網(wǎng)絡(luò)虛擬化

云計(jì)算 虛擬化 OpenStack
互聯(lián)網(wǎng)行業(yè)數(shù)據(jù)中心的基本特征就是服務(wù)器的規(guī)模偏大。進(jìn)入云計(jì)算時(shí)代后,其業(yè)務(wù)特征變得更加復(fù)雜,包括:虛擬化支持、多業(yè)務(wù)承載、資源靈活調(diào)度等(如下圖所示)。與此同時(shí),互聯(lián)網(wǎng)云計(jì)算的規(guī)模不但沒有縮減,反而更加龐大。這就給云計(jì)算的網(wǎng)絡(luò)帶來(lái)了巨大的壓力。

 第一:為什么需要網(wǎng)絡(luò)虛擬化?

一.數(shù)據(jù)中心的現(xiàn)有網(wǎng)絡(luò)不能滿足云計(jì)算的物理需求;

互聯(lián)網(wǎng)行業(yè)數(shù)據(jù)中心的基本特征就是服務(wù)器的規(guī)模偏大。進(jìn)入云計(jì)算時(shí)代后,其業(yè)務(wù)特征變得更加復(fù)雜,包括:虛擬化支持、多業(yè)務(wù)承載、資源靈活調(diào)度等(如下圖所示)。與此同時(shí),互聯(lián)網(wǎng)云計(jì)算的規(guī)模不但沒有縮減,反而更加龐大。這就給云計(jì)算的網(wǎng)絡(luò)帶來(lái)了巨大的壓力。

互聯(lián)網(wǎng)云計(jì)算業(yè)務(wù)特點(diǎn)

1. 大容量的MAC表項(xiàng)和ARP表項(xiàng)

虛擬化會(huì)導(dǎo)致更大的MAC表項(xiàng)。假設(shè)一個(gè)互聯(lián)網(wǎng)云計(jì)算中心的服務(wù)器有5000臺(tái),按照1:20的比例進(jìn)行虛擬化,則有10萬(wàn)個(gè)虛擬機(jī)。通常每個(gè)虛擬機(jī)會(huì)配置兩個(gè)業(yè)務(wù)網(wǎng)口,這樣這個(gè)云計(jì)算中心就有20萬(wàn)個(gè)虛擬網(wǎng)口,對(duì)應(yīng)的就是需要20萬(wàn)個(gè)MAC地址和IP地址。云計(jì)算要求資源靈活調(diào)度,業(yè)務(wù)資源任意遷移。也就是說(shuō)任意一個(gè)虛擬機(jī)可以在整個(gè)云計(jì)算網(wǎng)絡(luò)中任意遷移。這就要求全網(wǎng)在一個(gè)統(tǒng)一的二層網(wǎng)絡(luò)中。全網(wǎng)任意交換機(jī)都有可能學(xué)習(xí)到全網(wǎng)所有的MAC表項(xiàng)。與此對(duì)應(yīng)的則是,目前業(yè)界主流的接入交換機(jī)的MAC表項(xiàng)只有32K,基本無(wú)法滿足互聯(lián)網(wǎng)云計(jì)算的需求。另外,網(wǎng)關(guān)需要記錄全網(wǎng)所有主機(jī)、所有網(wǎng)口的ARP信息。這就需要網(wǎng)關(guān)設(shè)備的有效ARP表項(xiàng)超過(guò)20萬(wàn)。大部分的網(wǎng)關(guān)設(shè)備芯片都不具備這種能力。

2. 4K VLAN Trunk問(wèn)題

傳統(tǒng)的大二層網(wǎng)絡(luò)支持任意VLAN的虛擬機(jī)遷移到網(wǎng)絡(luò)的任意位置,一般有兩種方式。方式一:虛擬機(jī)遷移后,通過(guò)自動(dòng)化網(wǎng)絡(luò)管理平臺(tái)動(dòng)態(tài)的在虛擬機(jī)對(duì)應(yīng)的所有端口上下發(fā)VLAN配置;同時(shí),還需要?jiǎng)討B(tài)刪除遷移前虛擬機(jī)對(duì)應(yīng)所有端口上的VLAN配置。這種方式的缺點(diǎn)是實(shí)現(xiàn)非常復(fù)雜,同時(shí)自動(dòng)化管理平臺(tái)對(duì)多廠商設(shè)備還面臨兼容性的問(wèn)題,所以很難實(shí)現(xiàn)。方式二:在云計(jì)算網(wǎng)絡(luò)上靜態(tài)配置VLAN,在所有端口上配置VLAN trunk all。這種方式的優(yōu)點(diǎn)是非常簡(jiǎn)單,是目前主流的應(yīng)用方式。但這也帶來(lái)了巨大的問(wèn)題:任一VLAN內(nèi)如果出現(xiàn)廣播風(fēng)暴,則全網(wǎng)所有VLAN內(nèi)的虛擬機(jī)都會(huì)受到風(fēng)暴影響,出現(xiàn)業(yè)務(wù)中斷。

3. 4K VLAN上限問(wèn)題

云計(jì)算網(wǎng)絡(luò)中有可能出現(xiàn)多租戶需求。如果租戶及業(yè)務(wù)的數(shù)量規(guī)模超出VLAN的上限(4K),則無(wú)法支撐客戶的需求。

4. 虛擬機(jī)遷移網(wǎng)絡(luò)依賴問(wèn)題

VM遷移需要在同一個(gè)二層域內(nèi),基于IP子網(wǎng)的區(qū)域劃分限制了二層網(wǎng)絡(luò)連通性的規(guī)模。

二.數(shù)據(jù)中心的現(xiàn)有網(wǎng)絡(luò)不能滿足云計(jì)算的軟件化即SDN要求。

數(shù)據(jù)中心(Data Center)中的物理網(wǎng)絡(luò)是固定的、需要手工配置的、單一的、沒有多租戶隔離的網(wǎng)絡(luò),無(wú)法滿足現(xiàn)有的需求。

云架構(gòu)往往是多租戶架構(gòu),這意味著多個(gè)客戶會(huì)共享單一的物理網(wǎng)絡(luò)。因此,除了提供基本的網(wǎng)絡(luò)連接能力以外,云還需要提供網(wǎng)絡(luò)在租戶之間的隔離能力;同時(shí)云是自服務(wù)的,這意味著租戶可以通過(guò)云提供的 API 來(lái)使用虛擬出的網(wǎng)絡(luò)組建來(lái)設(shè)計(jì),構(gòu)建和部署各種他們需要的網(wǎng)絡(luò)

小結(jié):數(shù)據(jù)中心現(xiàn)有的物理網(wǎng)絡(luò)基礎(chǔ)之上疊加一層我們自己的虛擬網(wǎng)絡(luò)

第二:網(wǎng)絡(luò)虛擬化

一:openstack相關(guān)網(wǎng)絡(luò)

在實(shí)際的數(shù)據(jù)中心中,與openstack相關(guān)的物理網(wǎng)絡(luò)可以分為三層:

1. OpenStack Cloud network:OpenStack 所管理的網(wǎng)絡(luò)。

2. 機(jī)房intranet (external network):數(shù)據(jù)中心所管理的的公司網(wǎng)(Intranet) ,虛機(jī)使用的 Floating IP 是這個(gè)網(wǎng)絡(luò)的地址的一部分。

3. 真正的外部網(wǎng)絡(luò)即 Internet:由各大電信運(yùn)營(yíng)商所管理的公共網(wǎng)絡(luò),使用公共IP。

二:網(wǎng)絡(luò)(Neutron L2 network)

網(wǎng)絡(luò)(network)是一個(gè)隔離的二層網(wǎng)段,類似于物理網(wǎng)絡(luò)世界中的虛擬 LAN (VLAN)。更具體來(lái)講,它是為創(chuàng)建它的租戶而保留的一個(gè)廣播域,或者被顯式配置為共享網(wǎng)段。端口和子網(wǎng)始終被分配給某個(gè)特定的網(wǎng)絡(luò)。這里所謂的隔離,可理解為:

1.跨網(wǎng)絡(luò)的子網(wǎng)之間的流量必須走 L3 Virtual Router

2.每個(gè)網(wǎng)絡(luò)使用自己的 DHCP Agent,每個(gè) DHCP Agent 在一個(gè) Network namespace 內(nèi)

3.不同網(wǎng)絡(luò)內(nèi)的IP地址可以重復(fù)(overlapping)

根據(jù)創(chuàng)建網(wǎng)絡(luò)的用戶的權(quán)限,Neutron L2 network 可以分為:

  • Provider network:管理員創(chuàng)建的和物理網(wǎng)絡(luò)有直接映射關(guān)系的虛擬網(wǎng)絡(luò)。
  • Tenant network:租戶普通用戶創(chuàng)建的網(wǎng)絡(luò),物理網(wǎng)絡(luò)對(duì)創(chuàng)建者透明,其配置由 Neutron根據(jù)管理員在系統(tǒng)中的配置決定。

虛機(jī)可以直接掛接到 provider network 或者 tenant network 上“VMs can attach directly to both tenant and provider networks, and to networks with any provider:network_type value, assuming their tenant owns the network or its shared.”。

根據(jù)網(wǎng)絡(luò)的類型,Neutron L2 network 可以分為:

  • Flat network:基于不使用 VLAN 的物理網(wǎng)絡(luò)實(shí)現(xiàn)的虛擬網(wǎng)絡(luò)。每個(gè)物理網(wǎng)絡(luò)最多只能實(shí)現(xiàn)一個(gè)虛擬網(wǎng)絡(luò)。
  • local network(本地網(wǎng)絡(luò)):一個(gè)只允許在本服務(wù)器內(nèi)通信的虛擬網(wǎng)絡(luò),不知道跨服務(wù)器的通信。主要用于單節(jié)點(diǎn)上測(cè)試。
  • VLAN network(虛擬局域網(wǎng)) :基于物理 VLAN 網(wǎng)絡(luò)實(shí)現(xiàn)的虛擬網(wǎng)絡(luò)。共享同一個(gè)物理網(wǎng)絡(luò)的多個(gè) VLAN 網(wǎng)絡(luò)是相互隔離的,甚至可以使用重疊的 IP 地址空間。每個(gè)支持 VLAN network 的物理網(wǎng)絡(luò)可以被視為一個(gè)分離的 VLAN trunk,它使用一組獨(dú)占的 VLAN ID。有效的 VLAN ID 范圍是 1 到 4094。
  • GRE network (通用路由封裝網(wǎng)絡(luò)):一個(gè)使用 GRE 封裝網(wǎng)絡(luò)包的虛擬網(wǎng)絡(luò)。GRE 封裝的數(shù)據(jù)包基于 IP 路由表來(lái)進(jìn)行路由,因此 GRE network 不和具體的物理網(wǎng)絡(luò)綁定。
  • VXLAN network(虛擬可擴(kuò)展網(wǎng)絡(luò)):基于 VXLAN 實(shí)現(xiàn)的虛擬網(wǎng)絡(luò)。同 GRE network 一樣, VXLAN network 中 IP 包的路由也基于 IP 路由表,也不和具體的物理網(wǎng)絡(luò)綁定。

注:現(xiàn)在企業(yè)環(huán)境中一般使用vlan,gre,vxlan網(wǎng)絡(luò)模式,后續(xù)博客會(huì)詳細(xì)介紹這三種網(wǎng)絡(luò)模式

三.Neutron L2 network的Provider network模式

Provider Network 是由 OpenStack 管理員創(chuàng)建的,直接對(duì)應(yīng)于數(shù)據(jù)中心的已有物理網(wǎng)絡(luò)的一個(gè)網(wǎng)段。這種網(wǎng)絡(luò)有三個(gè)和物理網(wǎng)絡(luò)有關(guān)屬性:

  • provider:network_type (網(wǎng)絡(luò)類型,包括 vxlan, gre, vlan, flat, local) 
  • provider:segmentation_id (網(wǎng)段 ID, 比如 VLAN 的 802.1q tag, GRE 網(wǎng)絡(luò)的 Tunnel ID, VXLAN 網(wǎng)絡(luò)的 VNI) 
  • provider:physical_network (物理網(wǎng)絡(luò)的邏輯名稱,比如 physnet1, ph-eth1, etc) 

這種網(wǎng)絡(luò)是可以在多個(gè)租戶之間共享的。這種網(wǎng)絡(luò)通過(guò)計(jì)算和網(wǎng)絡(luò)節(jié)點(diǎn)上指定的 bridge 直接接入物理網(wǎng)絡(luò),所以默認(rèn)的情況下它們是可以路由的,因此也不需要接入 Neutron Virtual Router,也不需要使用 L3 agent。使用這種網(wǎng)絡(luò),必須預(yù)先在各計(jì)算和網(wǎng)絡(luò)節(jié)點(diǎn)上配置指定的網(wǎng)橋。

雖然可以創(chuàng)建 GRE 和 VXLAN 類型的 Provider network, 但是(個(gè)人認(rèn)為)Provider network 只對(duì) Flat 和 VLAN 類型的網(wǎng)絡(luò)才有意義,因?yàn)?Provider network 的一個(gè)重要屬性是 provider:physical_network,而這個(gè)參數(shù)對(duì)其他網(wǎng)絡(luò)類型沒有意義。

創(chuàng)建 provider network:

  • local 類型的:neutron net-create NAME --provider:network_type local
  • flat 類型的:neutron net-create NAME --provider:network_type flat --provider:physical_network PHYS_NET_NAME
  • vlan 類型的:neutron net-create NAME --provider:network_type vlan --provider:physical_network PHYS_NET_NAME --provider:segmentation_id VID
  • gre 類型的:neutron net-create NAME --provider:network_type gre --provider:segmentation_id TUNNEL_ID
  • vxlan 類型的:neutron net-create NAME --provider:network_type vxlan --provider:segmentation_id TUNNEL_ID

 四.Neutron L2 network的Tenant network

Tenant network 是由 tenant 的普通用戶創(chuàng)建的網(wǎng)絡(luò)。默認(rèn)情況下,這類用戶不能創(chuàng)建共享的 tenant network(因此 Nuetron Server 的policy 設(shè)置了"create_network:shared": "rule:admin_only"。),因此這種網(wǎng)絡(luò)是完全隔離的,也不可以被別的 tenant 共享。

Tenant network 也有 local,flat,vlan,gre 和 vxlan 等類型。但是,tenant 普通用戶創(chuàng)建的 Flat 和 VLAN tenant network 實(shí)際上還是 Provider network,所以真正有意義的是 GRE 和 VXLAN 類型,這種網(wǎng)絡(luò)和物理網(wǎng)絡(luò)沒有綁定關(guān)系。

創(chuàng)建 tenant network 的過(guò)程:

(0)管理員在 neutron 配置文件中配置 tenant_network_types,其值可以設(shè)為一個(gè)所支持的網(wǎng)絡(luò)類型列表,比如 “vlan,gre,vxlan”。其默認(rèn)值為 “local“,因此需要改變。該值表明該 OpenStack 云中允許被創(chuàng)建的 tenant network 類型。 

(1)運(yùn)行命令 neutron net-create <net_name>

(2)neutron server 逐一根據(jù)該配置項(xiàng)嘗試創(chuàng)建 network segment,成功則立即返回。

創(chuàng)建每種網(wǎng)絡(luò)時(shí),使用不同的配置項(xiàng):

五:Provider與Tenant的區(qū)別

  • Provider network 是由 Admin 用戶創(chuàng)建的,而 Tenant network 是由 tenant 普通用戶創(chuàng)建的。
  • Provider network 和物理網(wǎng)絡(luò)的某段直接映射,比如對(duì)應(yīng)某個(gè) VLAN,因此需要預(yù)先在物理網(wǎng)絡(luò)中做相應(yīng)的配置。而 tenant network 是虛擬化的網(wǎng)絡(luò),Neutron 需要負(fù)責(zé)其路由等三層功能。
  • 對(duì) Flat 和 VLAN 類型的網(wǎng)絡(luò)來(lái)說(shuō),只有 Provider network 才有意義。即使是這種類型的 tenant network,其本質(zhì)上也是對(duì)應(yīng)于一個(gè)實(shí)際的物理段。
  • 對(duì) GRE 和 VXLAN 類型的網(wǎng)絡(luò)來(lái)說(shuō),只有 tenant network 才有意義,因?yàn)樗旧聿灰蕾囉诰唧w的物理網(wǎng)絡(luò),只是需要物理網(wǎng)絡(luò)提供 IP 和 組播即可。
  • Provider network 根據(jù) admin 用戶輸入的物理網(wǎng)絡(luò)參數(shù)創(chuàng)建;而 tenant work 由 tenant 普通用戶創(chuàng)建,Neutron 根據(jù)其網(wǎng)絡(luò)配置來(lái)選擇具體的配置,包括網(wǎng)絡(luò)類型,物理網(wǎng)絡(luò)和 segmentation_id。
  • 創(chuàng)建 Provider network 時(shí)允許使用不在配置項(xiàng)范圍內(nèi)的 segmentation_id。

六:子網(wǎng)

子網(wǎng)是一組 IPv4 或 IPv6 地址以及與其有關(guān)聯(lián)的配置。它是一個(gè)地址池,OpenStack 可從中向虛擬機(jī) (VM) 分配 IP 地址。每個(gè)子網(wǎng)指定為一個(gè)無(wú)類別域間路由 (Classless Inter-Domain Routing) 范圍,必須與一個(gè)網(wǎng)絡(luò)相關(guān)聯(lián)。除了子網(wǎng)之外,租戶還可以指定一個(gè)網(wǎng)關(guān)、一個(gè)域名系統(tǒng) (DNS) 名稱服務(wù)器列表,以及一組主機(jī)路由。這個(gè)子網(wǎng)上的 VM 實(shí)例隨后會(huì)自動(dòng)繼承該配置。 

在創(chuàng)建虛擬主機(jī)時(shí),nova-network會(huì)從指定子網(wǎng)中取一個(gè)空閑IP并將它寫入此虛擬主機(jī)的配置文件。在一個(gè)子網(wǎng)內(nèi)的虛擬主機(jī)可以通過(guò)創(chuàng)建Linux橋?qū)崿F(xiàn)互通。

七:端口

一個(gè) Port 代表虛擬網(wǎng)絡(luò)交換機(jī)(logical network switch)上的一個(gè)虛機(jī)交換端口(virtual switch port)。虛機(jī)的網(wǎng)卡(VIF - Virtual Interface)會(huì)被連接到 port 上。當(dāng)虛機(jī)的 VIF 連接到 Port 后,這個(gè) vNIC 就會(huì)擁有 MAC 地址和 IP 地址。Port 的 IP 地址是從 subnet 中分配的。

八:虛擬交換機(jī)

Neutron 默認(rèn)采用開源的 Open vSwitch 作為其虛機(jī)交換機(jī),同時(shí)還支持使用 Linux bridge。

九:虛擬路由器

一個(gè) Virtual router 提供不同網(wǎng)段之間的 IP 包路由功能,由 Nuetron L3 agent 負(fù)責(zé)管理

nova管理的vm與neutron提供的虛擬網(wǎng)絡(luò)之間的關(guān)系

第三:二層網(wǎng)絡(luò)虛擬化的實(shí)現(xiàn) 

一個(gè)標(biāo)準(zhǔn) OpenStack 環(huán)境中的物理網(wǎng)絡(luò)配置往往包括:

  • Internet(Pulic network):傳統(tǒng)意義上的公共網(wǎng)絡(luò),使用往往由電信運(yùn)營(yíng)商提供的公共IP。
  • 外部網(wǎng)絡(luò)(External network):數(shù)據(jù)中心 Intranet,從這里分配浮動(dòng)IP地址。
  • OpenStack 內(nèi)部網(wǎng)絡(luò):

租戶網(wǎng)絡(luò)(Tenant network):提供虛機(jī)在計(jì)算節(jié)點(diǎn)之間,以及計(jì)算節(jié)點(diǎn)和網(wǎng)絡(luò)節(jié)點(diǎn)之間的通信。同樣這也是數(shù)據(jù)中心的內(nèi)部網(wǎng)絡(luò)。

存儲(chǔ)訪問(wèn)網(wǎng)絡(luò)(storage access network):訪問(wèn)存儲(chǔ)的網(wǎng)絡(luò)。

存儲(chǔ)后端網(wǎng)絡(luò)(storage backend network):比如 Ceph 和 Swift 集群用于后端數(shù)據(jù)復(fù)制的網(wǎng)絡(luò)。

管理網(wǎng)絡(luò)(management network):提供 OpenStack 各個(gè)組件之間的內(nèi)部通信,以及 API 訪問(wèn)端點(diǎn)(Endpoint)。為安全考慮,該網(wǎng)絡(luò)必須限制在數(shù)據(jù)中心之內(nèi)。

API 網(wǎng)絡(luò):其實(shí)這不是一個(gè)單獨(dú)的網(wǎng)絡(luò),而是包含在外部和內(nèi)部網(wǎng)絡(luò)中。API 的 Endpoint 包括 publicurl 和 internalurl,其中,publicurl包含的是 externa network 的 IP 地址,internal network 包含的是 management network IP 地址。為了簡(jiǎn)單起見,提供給內(nèi)外網(wǎng)絡(luò)訪問(wèn)的API的 publicurl 和 internalurl 相同,而只給內(nèi)部網(wǎng)絡(luò)訪問(wèn)的 API 只使用 internalurl。

數(shù)據(jù)網(wǎng)絡(luò)(data network):除管理網(wǎng)絡(luò)以外的其它網(wǎng)絡(luò),往往還可以細(xì)分為下面幾種。它們可以合為一種,也可以從性能方面考慮分離出一種或幾種作為單獨(dú)的網(wǎng)絡(luò)。

  • 除了以上網(wǎng)絡(luò)外,往往還有各種功能網(wǎng)絡(luò),包括 IPMI 網(wǎng)絡(luò),PXE 網(wǎng)絡(luò),監(jiān)控網(wǎng)絡(luò)等等。

一. 大二層的概念

二層指的是數(shù)據(jù)鏈路層,計(jì)算機(jī)與計(jì)算機(jī)之間的通信采用的是基于以太網(wǎng)協(xié)議廣播的方式,而大二層的概念指的是openstack中所有的vm都處于一個(gè)大的二層網(wǎng)絡(luò)中,大二層也可以被想象成一堆二層交換機(jī)串聯(lián)到一起。這么做的目的就是為了滿足vm可以遷移到全網(wǎng)的任意位置,二層無(wú)需網(wǎng)關(guān),無(wú)需路由,因而資源調(diào)用更加靈活,反之,如果所有vm不在一個(gè)大二層中,那么vm遷移到另外一個(gè)位置(另外一個(gè)網(wǎng)絡(luò)中),則需要我們?nèi)藶榈刂付ňW(wǎng)關(guān),添加路由策略,然而這還只是針對(duì)一臺(tái)vm的遷移,要滿足所有的vm的動(dòng)態(tài)遷移,再去指定網(wǎng)關(guān)、路由等就不現(xiàn)實(shí)了。

二.物理的二層與虛擬的二層(vlan模式)

物理的二層指的是:物理網(wǎng)絡(luò)是二層網(wǎng)絡(luò),基于以太網(wǎng)協(xié)議的廣播方式進(jìn)行通信

 虛擬的二層指的是:neutron實(shí)現(xiàn)的虛擬的網(wǎng)絡(luò)也是二層網(wǎng)絡(luò)(openstack的vm機(jī)所用的網(wǎng)絡(luò)必須是大二層),也是基于以太網(wǎng)協(xié)議的廣播方式進(jìn)行通信,但毫無(wú)疑問(wèn)的是該虛擬網(wǎng)絡(luò)依賴于物理的二層網(wǎng)絡(luò)

三.物理的三層與虛擬的二層(gre模塊與vxlan模式)

 物理的三層指的是:物理網(wǎng)絡(luò)是三層網(wǎng)絡(luò),基于ip路由的方式進(jìn)行通信

虛擬的二層指的是:neutron實(shí)現(xiàn)的虛擬的網(wǎng)絡(luò)仍然是二層網(wǎng)絡(luò)(openstack的vm機(jī)所用的網(wǎng)絡(luò)必須是大二層),仍然是基于以太網(wǎng)協(xié)議的廣播方式進(jìn)行通信,但毫無(wú)疑問(wèn)的是該虛擬網(wǎng)絡(luò)依賴于物理的三層網(wǎng)絡(luò),這有點(diǎn)類似于VPN的概念,根本原理就是將私網(wǎng)的包封裝起來(lái),最終打上隧道的ip地址傳輸。

四.虛擬路由器

跨子網(wǎng)的通信需要走虛擬路由器。同物理路由器一樣,虛擬路由器由租戶創(chuàng)建,擁有多個(gè) virtual interface,連接一個(gè)租戶的子網(wǎng),以及外部網(wǎng)絡(luò)。它具有以下特性:

  • 一個(gè) VR 只屬于創(chuàng)建它的租戶,只用于該租戶的子網(wǎng)之間和子網(wǎng)與外網(wǎng)的路由
  • 同一網(wǎng)絡(luò)內(nèi)的若干子網(wǎng)可以掛在一個(gè) VR 上
  • 同一租戶的不同網(wǎng)絡(luò)的沒有 IP 地址重疊的子網(wǎng)可以掛在一個(gè) VR 上
  • 不同租戶之間的內(nèi)網(wǎng)之間是不能使用 VR 的
  • 同一租戶的不同網(wǎng)絡(luò)內(nèi)的有 IP 地址重疊的兩個(gè)子網(wǎng)不能使用同一個(gè) VR(添加子網(wǎng)到 VR 時(shí)會(huì)報(bào)錯(cuò))
  • 在網(wǎng)絡(luò)節(jié)點(diǎn)上,一個(gè) VR 運(yùn)行在一個(gè) Network namespace 內(nèi),該namespace 的名稱包含該 VR 的 UUID

五.dhcp服務(wù)

 DHCP 服務(wù)是網(wǎng)絡(luò)環(huán)境中必須有的。Neutron 提供基于 Dnamasq (輕型的dns和dhcp服務(wù))實(shí)現(xiàn)的虛機(jī) DHCP 服務(wù),向租戶網(wǎng)絡(luò)內(nèi)的虛機(jī)動(dòng)態(tài)分配固定 IP 地址。它具有以下特性:

  • 一個(gè)網(wǎng)絡(luò)可以有多個(gè)運(yùn)行在不同物理網(wǎng)絡(luò)節(jié)點(diǎn)上的 DHCP Agent,同時(shí)向網(wǎng)絡(luò)內(nèi)的虛機(jī)提供服務(wù)
  • 一個(gè) DHCP Agent 只屬于一個(gè)網(wǎng)絡(luò),在網(wǎng)絡(luò)節(jié)點(diǎn)上運(yùn)行在一個(gè) network namespace 內(nèi)
  • 網(wǎng)絡(luò)內(nèi)的子網(wǎng)共享該 DHCP Agent

第四:Neutron租戶網(wǎng)路的隔離性

Neutron 實(shí)現(xiàn)了不同層次的租戶網(wǎng)絡(luò)隔離性:

  • 租戶之間的網(wǎng)絡(luò)是三層隔離的,連通過(guò) VR 做路由都不行,實(shí)在要連通的話,需要走物理網(wǎng)絡(luò)
  • 一個(gè)租戶內(nèi)的不同網(wǎng)絡(luò)之間二層隔離的,需要通過(guò) VR 做三層連通
  • 一個(gè)網(wǎng)絡(luò)內(nèi)的不同子網(wǎng)也是二層隔離的,需要通過(guò) VR 做三層連通

Neutron 對(duì)每個(gè)租戶網(wǎng)絡(luò)(tenant network)都分配一個(gè) segmentation_id,其特點(diǎn)包括:

  • 每個(gè) tenant network 都有一個(gè)這種 ID
  • 每個(gè)租戶網(wǎng)絡(luò)的 ID 在全部的租戶范圍內(nèi)都是唯一的
  • 一個(gè) ID 代表一個(gè)廣播域
  • 一個(gè) ID 使得同一網(wǎng)絡(luò)內(nèi)的兩個(gè)虛機(jī)之間好像建立了一個(gè)虛擬通道(tunnel)一樣
  • 不同 ID 的網(wǎng)絡(luò) tunnel 之間是互相隔離的
  • 根據(jù)物理實(shí)現(xiàn)不同,該ID被實(shí)現(xiàn)為幾種不同的形式:

VLAN ID

GRE Tunnel ID

VxLAN VNI

原圖鏈接:https://pinrojas.com/2014/07/29/theres-real-magic-behind-openstack-neutron/

  • (1)計(jì)算節(jié)點(diǎn)的 br-int 上,neutron 為每個(gè)虛機(jī)連接 OVS 的 access port 分配了內(nèi)部的 VLAN Tag。這種 tag 限制了網(wǎng)絡(luò)流量只能在 tenant network 之內(nèi)。
  • (2)計(jì)算節(jié)點(diǎn)的 br-tun 上,neutron 將內(nèi)部的 VLAN Tag 轉(zhuǎn)化為 GRE Tunnel ID,是的不同 network 的流量走不通的 tunnel。
  • (3)網(wǎng)絡(luò)節(jié)點(diǎn)的 br-tun 上,neutron 將 GRE Tunnel ID 轉(zhuǎn)發(fā)了一一對(duì)應(yīng)的 內(nèi)部 VLAN Tag,使得網(wǎng)絡(luò)流被不同的服務(wù)處理。
  • (4)網(wǎng)絡(luò)節(jié)點(diǎn)的 br-int 上連接的 DHCP 和 L3 agent 使用 Linux network namespace 進(jìn)行隔離。

第五 Neutron租戶網(wǎng)絡(luò)的安全性(security)

除了租戶的隔離性以外,

  • Neutron 還提供數(shù)據(jù)網(wǎng)絡(luò)與外部網(wǎng)絡(luò)的隔離性。默認(rèn)情況下,所有虛機(jī)通往外網(wǎng)的流量全部走網(wǎng)絡(luò)節(jié)點(diǎn)上的 L3 agent。在這里,內(nèi)部的固定 IP 被轉(zhuǎn)化為外部的浮動(dòng) IP 地址。這種做法一方面保證了網(wǎng)絡(luò)包能夠回來(lái),另一方面也隱藏了內(nèi)部的 IP 地址。
  • Neutron 還是用 Linux iptables 特性,實(shí)現(xiàn)其 Security Group 特性,從而保證訪問(wèn)虛機(jī)的安全性。
  • Neutron利用網(wǎng)絡(luò)控制節(jié)點(diǎn)上的 network namespace 中的 iptables,實(shí)現(xiàn)了進(jìn)出租戶網(wǎng)絡(luò)的網(wǎng)絡(luò)包防火墻,從而保證了進(jìn)出租戶網(wǎng)絡(luò)的安全性。
責(zé)任編輯:武曉燕 來(lái)源: 超微技術(shù)社團(tuán)
相關(guān)推薦

2012-11-28 09:48:02

網(wǎng)絡(luò)虛擬化OpenStack

2014-01-10 09:20:33

OpenStackOpenStack N

2013-10-23 09:29:40

OpenStackNeutronNAAS架構(gòu)模型

2014-12-08 11:01:09

openstack網(wǎng)絡(luò)network

2015-12-14 10:50:28

網(wǎng)絡(luò)虛擬化FlowVisor

2015-12-14 14:11:26

網(wǎng)絡(luò)虛擬化FlowVisor

2015-12-14 11:47:23

網(wǎng)絡(luò)虛擬化FlowVisor

2014-10-27 09:41:18

OpenStack虛擬化NFV

2015-05-13 11:37:58

openstack測(cè)試網(wǎng)絡(luò)連通

2015-05-12 09:16:46

openstackneutron網(wǎng)絡(luò)連通

2013-11-07 10:17:00

OpenStack開源Neutron

2015-09-17 11:32:56

NeutronSDN虛擬網(wǎng)絡(luò)

2015-08-18 09:40:32

OpenStack Neutron虛擬網(wǎng)絡(luò)

2015-11-12 14:54:53

NeutronSDN

2015-09-14 09:45:58

虛擬化網(wǎng)絡(luò)網(wǎng)絡(luò)性能

2015-12-11 16:23:16

2015-06-15 09:43:05

SDNOpenStack N

2013-06-24 10:44:57

虛擬化網(wǎng)絡(luò)設(shè)計(jì)

2011-04-21 09:20:28

IaaS網(wǎng)絡(luò)虛擬化

2015-06-09 09:51:20

SDNOpenStackNeutron
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)