基于openstack網(wǎng)絡模式的vlan分析

OpenStack概念
OpenStack是一個美國國家航空航天局和Rackspace合作研發(fā)的,以Apache許可證授權(quán),并且是一個自由軟件和開放源代碼項目。、
OpenStack是一個旨在為公共及私有云的建設與管理提供軟件的開源項目。它的社區(qū)擁有超過130家企業(yè)及1350位開發(fā)者,這些機構(gòu)與個人都將OpenStack作為基礎設施即服務(簡稱IaaS)資源的通用前端。OpenStack項目的首要任務是簡化云的部署過程并為其帶來良好的可擴展性。本文希望通過提供必要的指導信息,幫助大家利用OpenStack前端來設置及管理自己的公共云或私有云。
openstack neutron中定義了四種網(wǎng)絡模式:
# tenant_network_type = local
# tenant_network_type = vlan
# Example: tenant_network_type = gre
# Example: tenant_network_type = vxlan
本文主要以vlan為例,并結(jié)合local來詳細的分析下openstack的網(wǎng)絡模式。
1. local模式
此模式主要用來做測試,只能做單節(jié)點的部署(all-in-one),這是因為此網(wǎng)絡模式下流量并不能通過真實的物理網(wǎng)卡流出,即neutron的integration bridge并沒有與真實的物理網(wǎng)卡做mapping,只能保證同一主機上的vm是連通的,具體參見RDO和neutron的配置文件。
(1)RDO配置文件(answer.conf)
主要看下面紅色的配置項,默認為空。
openswitch默認的網(wǎng)橋的映射到哪,即br-int映射到哪。 正式由于br-int沒有映射到任何bridge或interface,所以只能br-int上的虛擬機之間是連通的。
流量最后從哪塊物理網(wǎng)卡流出配置項
# gre)
CONFIG_NEUTRON_OVS_TENANT_NETWORK_TYPE=local
# A comma separated list of VLAN ranges for the Neutron openvswitch
# plugin (eg. physnet1:1:4094,physnet2,physnet3:3000:3999)
CONFIG_NEUTRON_OVS_VLAN_RANGES=
# A comma separated list of bridge mappings for the Neutron
# openvswitch plugin (eg. physnet1:br-eth1,physnet2:br-eth2,physnet3
# :br-eth3)
CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=
# A comma separated list of colon-separated OVS bridge:interface
# pairs. The interface will be added to the associated bridge.
CONFIG_NEUTRON_OVS_BRIDGE_IFACES=
(2)neutron配置文件(/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini)
# (StrOpt) Type of network to allocate for tenant networks. The
# default value 'local' is useful only for single-box testing and
# provides no connectivity between hosts. You MUST either change this
# to 'vlan' and configure network_vlan_ranges below or change this to
# 'gre' or 'vxlan' and configure tunnel_id_ranges below in order for
# tenant networks to provide connectivity between hosts. Set to 'none'
# to disable creation of tenant networks.
#
tenant_network_type = local
RDO會根據(jù)answer.conf中l(wèi)ocal的配置將neutron中open vswitch配置文件中配置為local
2. vlan模式
大家對vlan可能比較熟悉,就不再贅述,直接看RDO和neutron的配置文件。
(1)RDO配置文件
# gre)
CONFIG_NEUTRON_OVS_TENANT_NETWORK_TYPE=vlan //指定網(wǎng)絡模式為vlan
# A comma separated list of VLAN ranges for the Neutron openvswitch
# plugin (eg. physnet1:1:4094,physnet2,physnet3:3000:3999)
CONFIG_NEUTRON_OVS_VLAN_RANGES=physnet1:100:200 //設置vlan ID value為100~200
# A comma separated list of bridge mappings for the Neutron
# openvswitch plugin (eg. physnet1:br-eth1,physnet2:br-eth2,physnet3
# :br-eth3)
CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-eth1 //設置將br-int映射到橋br-eth1(會自動創(chuàng)建phy-br-eth1和int-br-eth1來連接br-int和br-eth1)
# A comma separated list of colon-separated OVS bridge:interface
# pairs. The interface will be added to the associated bridge.
CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-eth1:eth1 //設置eth0橋接到br-eth1上,即最后的網(wǎng)絡流量從eth1流出 (會自動執(zhí)行ovs-vsctl add br-eth1 eth1)
此配置描述的網(wǎng)橋與網(wǎng)橋之間,網(wǎng)橋與網(wǎng)卡之間的映射和連接關(guān)系具體可結(jié)合 《圖1 vlan模式下計算節(jié)點的網(wǎng)絡設備拓撲結(jié)構(gòu)圖》和 《圖2 vlan模式下網(wǎng)絡節(jié)點的網(wǎng)絡設備拓撲結(jié)構(gòu)圖 》來理解。
思考:很多同學可能會碰到一場景:物理機只有一塊網(wǎng)卡,或有兩塊網(wǎng)卡但只有一塊網(wǎng)卡連接有網(wǎng)線
此時,可以做如下配置
(2)單網(wǎng)卡:
CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-eth0 //設置將br-int映射到橋br-eth10
# pairs. The interface will be added to the associated bridge
CONFIG_NEUTRON_OVS_BRIDGE_IFACES= //配置為空
這個配置的含義是將br-int映射到br-eth0,但是br-eth0并沒有與真正的物理網(wǎng)卡綁定,這就需要你事先在所有的計算節(jié)點(或網(wǎng)絡節(jié)點)上事先創(chuàng)建好br-eth0橋,并將eth0添加到br-eth0上,然后在br-eth0上配置好ip,那么RDO在安裝的時候,只要建立好br-int與br-eth0之間的連接,整個網(wǎng)絡就通了。
此時如果網(wǎng)絡節(jié)點也是單網(wǎng)卡的話,可能就不能使用float ip的功能了。
(3)雙網(wǎng)卡,單網(wǎng)線
</p> <p> # A comma separated list of colon-separated OVS bridge:interface
</p> <p> # pairs. The interface will be added to the associated bridge.
</p> <p> CONFIG_NEUTRON_OVS_BRIDGE_IFACES=eth1 //配置為空
還是默認都配置到eth1上,然后通過iptables將eth1的流量forward到eth0(沒有試驗過,不確定是否可行)
3. vlan網(wǎng)絡模式詳解

圖1 vlan模式下計算節(jié)點的網(wǎng)絡設備拓撲結(jié)構(gòu)圖
首先來分析下vlan網(wǎng)絡模式下,計算節(jié)點上虛擬網(wǎng)絡設備的拓撲結(jié)構(gòu)。
(1)qbrXXX 等設備
前面已經(jīng)講過,主要是因為不能再tap設備vnet0上配置network ACL rules而增加的
(2)qvbXXX/qvoXXX等設備
這是一對veth pair devices,用來連接bridge device和switch,從名字猜測下:q-quantum, v-veth, b-bridge, o-open vswitch(quantum年代的遺留)。
(3) int-br-eth1和phy-br-eth1
這也是一對veth pair devices,用來連接br-int和br-eth1, 另外,vlan ID的轉(zhuǎn)化也是在這執(zhí)行的,比如從int-br-eth1進來的packets,其vlan id=101會被轉(zhuǎn)化成1,同理,從phy-br-eth1出去的packets,其vlan id會從1轉(zhuǎn)化成101
(4)br-eth1和eth1
packets要想進入physical network最后還得到真正的物理網(wǎng)卡eth1,所以add eth1 to br-eth1上,整個鏈路才完全打通

圖2 vlan模式下網(wǎng)絡節(jié)點的網(wǎng)絡設備拓撲結(jié)構(gòu)圖
網(wǎng)絡節(jié)點與計算節(jié)點相比,就是多了external network,L3 agent和dhcp agent。
(1)network namespace
每個L3 router對應一個private network,但是怎么保證每個private的ip address可以overlapping而又不相互影響呢,這就利用了linux kernel的network namespace
(2)qr-YYY和qg-VVV等設備 (q-quantum, r-router, g-gateway)
qr-YYY獲得了一個internal的ip,qg-VVV是一個external的ip,通過iptables rules進行NAT映射。
思考:phy-br-ex和int-br-ex是干啥的?
堅持"所有packets必須經(jīng)過物理的線路才能通"的思想,雖然 qr-YYY和qg-VVV之間建立的NAT的映射,歸根到底還得通過一條物理鏈路,那么phy-br-ex和int-br-ex就建立了這條物理鏈路。
以上就是基于openstack網(wǎng)絡模式的vlan分析,希望能幫助大家,,謝謝閱讀,希望能幫到大家,請繼續(xù)關(guān)注腳本之家,我們會努力分享更多優(yōu)秀的文章。
相關(guān)文章
手把手教你實現(xiàn)全屋WiFi! 路由器有線、無線Mesh組網(wǎng)簡易教程
mesh的優(yōu)勢,不多說了,簡單的幾個特點:操作簡單,無縫漫游好,下面我們就來看看路由器有線、無線Mesh組網(wǎng)簡易教程2024-07-10網(wǎng)線水晶頭怎么接 網(wǎng)線水晶頭的接線方法
現(xiàn)在家庭中使用的一般都是雙絞線,雙絞線分為T568A和T568B兩種線序,有工具的情況下還是很好制作的,下面我們就來看看詳細的圖文操作過程2024-02-06什么是城域網(wǎng)?城域網(wǎng)的布署組成與特點分析
是指在一個城市或者相鄰的幾個城市之間形成的高速數(shù)據(jù)通信網(wǎng)絡系統(tǒng),城域網(wǎng)的成立是由于當前城市的計算機網(wǎng)絡正在快速發(fā)展2024-01-03全屋WiFi7組網(wǎng)方案實操與數(shù)據(jù)實測 新手必讀干貨教程分享
趁著雙11活動我已經(jīng)搭建好了一套WiFi7環(huán)境,整體預算說實話還是挺高的,下聯(lián)升級倒是不貴,詳細請看下文介紹2023-12-08大戶型網(wǎng)絡必備 2023年ac+ap組網(wǎng)方案及產(chǎn)品推薦
很多家庭在新裝修的時候,準備使用AC+AP的方式組網(wǎng),在使用AC+AP組網(wǎng)的時候,該怎么選擇適合自己的產(chǎn)品呢?詳細請看下文介紹2023-12-01ACAP組網(wǎng)和mesh組網(wǎng)有什么區(qū)別? 大面積房子組網(wǎng)的方式推薦
AC+AP vs Mesh,大面積房子用哪種組網(wǎng)的方式好?目前家庭組網(wǎng)的方式主要以AC+AP和Mesh兩種方式為主,下面我們就來看看詳細介紹2023-05-19不用AC怎么組網(wǎng)? 多個AP組網(wǎng)圖文教程
不用AC怎么組網(wǎng)?一般我們會使用ac+ap組網(wǎng),如果不用ac怎么組網(wǎng)?下面我們就來看看多個AP組網(wǎng)圖文教程,詳細請看下文介紹2022-11-28Soul Api網(wǎng)關(guān)功能需求技術(shù)選型分析
這篇文章主要介紹了Soul Api網(wǎng)關(guān)功能需求技術(shù)選型分析,最近公司中臺api有用到網(wǎng)關(guān)的需求,特整理了下網(wǎng)關(guān)的基本功能以及Soul網(wǎng)關(guān)系統(tǒng)的功能架構(gòu)設計,記錄于此,有需要的2022-02-25VLAN劃分與子網(wǎng)劃分的有哪些聯(lián)系與區(qū)別?
VLAN劃分與子網(wǎng)劃分的有哪些聯(lián)系與區(qū)別?很多朋友對VLAN劃分與子網(wǎng)劃分理解的不是透徹,今天我們就來詳細介紹一下為什么要子網(wǎng)劃分,以及VLAN劃分與子網(wǎng)劃分的區(qū)別,需要的2021-05-12- 本文全面的介紹了VLAN基礎知識,詳細介紹了vlan的概念,條理清晰,適合新手理順思路,需要的朋友可以參考下2021-05-11