openstack中的網(wǎng)絡(luò)架構(gòu)和工作流程_第1頁
openstack中的網(wǎng)絡(luò)架構(gòu)和工作流程_第2頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、openstack中的絡(luò)架構(gòu)和作流程控制節(jié)點(diǎn)ifconfig 顯控制節(jié)點(diǎn)上有三個橋 br-ex,br-int 和 br-tun。 從命名上看我們致能猜出他們的途:br-ex連接外部(external)絡(luò)的橋br-int集成(integration)橋,所有 instance 的虛擬卡和其他虛擬絡(luò)設(shè)備都將連接到該橋。br-tun隧道(tunnel)橋,基于隧道技術(shù)的 VxLAN 和 GRE 絡(luò)將使該橋進(jìn)通信。這些橋都是 Neutron 動為我們創(chuàng)建的,但是通過 brctl show 命令卻看不到它們。 這是因?yàn)槲覀兪沟氖?Open vSwitch LinuxBridge,需要 Open vSwi

2、tch 的命令 ovs-vsctl show 查看,如下圖所:輸出內(nèi)容后會詳細(xì)講解。計(jì)算節(jié)點(diǎn)計(jì)算節(jié)點(diǎn)上也有 br-int 和 br-tun,但沒有 br-ext。 這是合理的,因?yàn)榘l(fā)送到外的流量是通過絡(luò)節(jié)點(diǎn)上的虛擬路由器轉(zhuǎn)發(fā)出去的,所以br-ext 只會放在絡(luò)節(jié)點(diǎn)(devstack-controller)上。了解 Open vSwitch 環(huán)境中的各種絡(luò)設(shè)備在 Open vSwitch 環(huán)境中,個數(shù)據(jù)包從 instance 發(fā)送到物理卡致會經(jīng)過下個類型的設(shè)備:1. tap interface 命名為 tapXXXX。2. linux bridge 命名為 qbrXXXX。3. veth pai

3、r 命名為 qvbXXXX,qvoXXXX。4. OVS integration bridge 命名為 br-int。5. OVS patch ports 命名為 int-br-ethX 和 phy-br-ethX(X 為 interface 的序號)。6. OVS provider bridge 命名為 br-ethX(X 為 interface 的序號)。7. 物理 interface 命名為 ethX(X 為 interface 的序號)。8. OVS tunnel bridge 命名為 br-tun。OVS provider bridge 會在 flat 和 vlan 絡(luò)中使;OVS

4、tunnel bridge 則會在 vxlan 和 gre 絡(luò)中使。 后會通過實(shí)例詳細(xì)討論這些設(shè)備。Open vSwitch 持 local, flat, vlan, vxlan 和 gre 所有五種 network type。 vxlan 和 gre 常類似,接下來我們將深學(xué)習(xí) OpenvSwitch 是如何實(shí)現(xiàn) local, flat, vlan 和 vlxan 的。、先給出openstack中neutron創(chuàng)建了兩個vlan絡(luò),個router的絡(luò)結(jié)構(gòu),左圖是控制節(jié)點(diǎn)和絡(luò)節(jié)點(diǎn)合并部署,右圖是計(jì)算節(jié)點(diǎn),可以看到計(jì)算節(jié)點(diǎn)上已創(chuàng)建出三臺測試虛擬機(jī)cirros-vm1、cirros-vm2、cir

5、ros-vm3,兩個物理機(jī)節(jié)點(diǎn)底層通過交換機(jī)相連、在沒有創(chuàng)建路由器之前(上述結(jié)構(gòu)圖中的qrouter虛線部分還未創(chuàng)建),我們看下為何cirros-vm2(172.16.101.3)去pingcirros-vm1(172.16.100.6)ping不通2.1、172.16.101.3 ping 172.16.100.62.2、172.16.101.3上的路由如下,因?yàn)?72.16.101.3 ping的的地址172.16.100.6是外地址,所以匹配如下路由2.3、因此172.16.101.3 需要全層播arp包去尋找默認(rèn)關(guān)172.16.101.1的mac地址,以便建172.16.101.3的e

6、th0與其關(guān)之間的層鏈路,根據(jù)絡(luò)知識,這個arp播包應(yīng)該在層泛洪,因此在計(jì)算節(jié)點(diǎn)的ens37,控制節(jié)點(diǎn)的ens37,控制節(jié)點(diǎn)上的dhcp port172.16.101.2均能收到172.16.101.3尋找172.16.101.1的mac地址的層播包疑問1:為什么172.16.100.2這個dhcp port不能收到arp播報(bào)呢?答案:這個報(bào)是帶有tag的,雖然從openstack的絡(luò)結(jié)構(gòu)看,172.16.100.2和172.16.101.3是連接在同個控制節(jié)點(diǎn)的br-int上,但是因?yàn)?72.16.100.2和172.16.101.3這兩個端打上了不同的tag,因此這兩個端就不屬于同個絡(luò)了,

7、其實(shí)模擬的如同如下傳統(tǒng)絡(luò)結(jié)構(gòu),openvswitch創(chuàng)建的這個br-int,就相當(dāng)于傳統(tǒng)絡(luò)中的交換機(jī),如果這個交換機(jī)沒有劃分vlan,那么個全F的MAC地址會被泛洪到連接交換機(jī)的所有端,但是openvswitch創(chuàng)建的這個br-int是個模擬了打tag的交換機(jī),也就是劃分了vlan,vlan可以隔離層播域疑問2:172.16.101.1這個關(guān)地址從何來,配置在哪呢?答案:在使命令創(chuàng)建network和subnet后,neutron subnet-show就可以看到關(guān)的信息,這只是記錄在數(shù)據(jù)庫,并沒有真正配置到路由器上,待創(chuàng)建router后,這個關(guān)地址就會配置到router的interface上。

8、疑問3:緊接著疑問2,既然當(dāng)前沒有配置到router上,為何命令查詢到數(shù)據(jù)庫有這么個關(guān)呢?這個關(guān)IP還有個作就是是給虛擬機(jī)做默認(rèn)路由的三、使neutron創(chuàng)建虛擬router,分析連通性原理3.1、創(chuàng)建路由打通vlan100和vlan101之間的絡(luò),使如下所命令3.2、openstack絡(luò)結(jié)構(gòu)如章開頭的結(jié)構(gòu)圖,實(shí)際模擬出如下絡(luò)結(jié)構(gòu)(這個圖是從虛擬機(jī)度看底層絡(luò),是如下絡(luò)結(jié)構(gòu),實(shí)際上,vlan、router、sw等概念均由neutron軟件模擬,這也就可以理解什么叫SDN,即軟件定義絡(luò)了)此時172.16.101.3 ping 172.16.100.6肯定是可以ping通的,我們推測整個過程如下,

9、然后同步抓包驗(yàn)證。(1)cirros-vm2發(fā)現(xiàn)要封裝的ICMP報(bào)的的IP地址是172.16.100.6,匹配其路由表上的默認(rèn)路由,決定要將這個ICMP報(bào)發(fā)送給下跳,也就是關(guān)172.16.101.1但是不知道172.16.101.1的mac地址是多少,于是層播arp報(bào)“who has 172.16.101.1 mac,tell172.16.101.3”,172.16.101.1收到該報(bào),返回其mac地址在cirros-vm2的tap和qrouter namespace 172.16.101.1的qr-xxx中抓包,能夠同時抓到請求和響應(yīng)的arp這樣cirros-vm2就可以封裝層數(shù)據(jù)幀如下,將

10、該ICMP請求發(fā)送到GW 172.16.101.1(2)GW 172.16.101.1從SW接收到該層數(shù)據(jù)幀,從數(shù)據(jù)鏈路層這個層判斷的MAC地址是給的,進(jìn)繼續(xù)判斷其三層IP信息,發(fā)現(xiàn)的IP地址是172.16.100.6,通過路由表判斷該地址要從本機(jī)的qr-xxx(172.16.100.1)端轉(zhuǎn)發(fā)出去但是不知道172.16.100.6的MAC地址,法封裝其層數(shù)據(jù)幀,因此需要從172.16.100.1接發(fā)出arp層播請求“who has172.16.100.6 mac,tell172.16.100.1”在cirros-vm1的tap和qrouter的172.16.100.1抓包,可以同時抓取到請求

11、和響應(yīng)的arp可以思考下,這個層播請求可以在其他哪些端抓到?揭曉答案:可以確定的是bond0和br-int流表上均可以抓到arp播請求,此外在172.16.100.6和172.16.100.2也可以抓到,最終響應(yīng)該arp請求的是172.16.100.6然后router就可以封裝層數(shù)據(jù)幀,將源和的MAC換成如下,然后將該報(bào)發(fā)送到cirros-vm1上(3)cirros-vm1接收到該報(bào),數(shù)據(jù)鏈路層判斷MAC地址是的MAC,因此解包,絡(luò)層判斷的IP地址是,因此處理數(shù)據(jù),根據(jù)ICMP協(xié)議規(guī)定,收到Echo request后,需要返回個同樣的報(bào)Echo reply給源主機(jī),因此cirros-vm1開始封裝報(bào),的IP是172.16.101.3 ,查看路由表,需要將該報(bào)發(fā)給關(guān) 17

溫馨提示

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

評論

0/150

提交評論