簡單談?wù)凮penStack中的網(wǎng)絡(luò)隔離
前言
最近,關(guān)于xx公有云的用戶網(wǎng)絡(luò),由于隔離問題引發(fā)安全討論,大家頓時(shí)對(duì)啥“經(jīng)典網(wǎng)絡(luò)”、“VPC”等概念興趣大增,大家的熱議中多次提到AWS的VPC,亞馬遜的AWS怎么搞的,我們不得而知,但是我們可以聊聊OpenStack的,畢竟它一直在模仿AWS嘛;
“隔離”啥
首先,我們先搞清楚,所謂“隔離”,到底是在“隔”什么;
我們知道,計(jì)算機(jī)網(wǎng)絡(luò),是分層實(shí)現(xiàn)的,不同協(xié)議工作在不同層,這些層的設(shè)計(jì)、制定都有國際標(biāo)準(zhǔn),按著OSI的分層模型,共有七個(gè)層,大家在討論的隔離,通常指的是第2層,也叫“數(shù)據(jù)鏈路層”;
數(shù)據(jù)鏈路層的網(wǎng)絡(luò)包,也叫“幀”,我們常說的網(wǎng)卡的MAC地址,就是幀的地址,MAC,其實(shí)是“媒體訪問控制”(media access control)的簡稱,這是數(shù)據(jù)鏈路層的一個(gè)子層;
那為什么要在這個(gè)二層上搞隔離呢?
因?yàn)槎拥膸?,其中一些幀的地址是廣播地址,在同一個(gè)二層的設(shè)備都可以、也必須接收這些幀,交換機(jī)一般認(rèn)為工作在二層,對(duì)這些廣播包,也都要轉(zhuǎn)發(fā),所以二層通常被稱為一個(gè)“廣播域”,這就好比大家在一個(gè)教室里,都能互相看到,除非分隔到不同的教室;
OpenStack的玩法
openstack的neutron負(fù)責(zé)為虛擬機(jī)提供網(wǎng)絡(luò),而且openstack是假設(shè)多租戶的,那多租戶之間的隔離問題,它當(dāng)然要提供支持,下面我們就看一下neutron是怎么實(shí)現(xiàn)的;
平坦網(wǎng)絡(luò)
neutron中創(chuàng)建的網(wǎng)絡(luò)是有“type”的,其中最基礎(chǔ)的一種type就是“flat”,顧名思義,“平坦”就是指都在一個(gè)空間下,也就是沒有做二層上的隔離,虛擬機(jī)都在同一個(gè)二層,同一個(gè)廣播域;
從網(wǎng)上找了個(gè)示意圖:
這種”平坦“的大二層網(wǎng)絡(luò),雖然實(shí)現(xiàn)、管理相對(duì)簡單,但也會(huì)有諸多問題,除了安全方面,還有廣播風(fēng)暴等問題;
單個(gè)大二層網(wǎng)絡(luò),就好比整個(gè)學(xué)校的人都在一個(gè)大禮堂,大家都能看到,而且萬一誰得了傳染病,大家都被傳染,要想隔離,可以把人分散到各個(gè)教室;
VLAN隔離網(wǎng)絡(luò)
neutron中創(chuàng)建”vlan“這種類型的網(wǎng)絡(luò),就是主要使用的二層隔離方案,VLAN(虛擬局域網(wǎng))本身就是交換機(jī)廣泛使用的二層隔離技術(shù);
示意圖大概這樣:
這就好比把整個(gè)學(xué)校的人,從大禮堂,分隔到了不同的教室,同一個(gè)教室的人互相可見,不同教室的人不可見;
但這種方案也有一定的局限性,首先管理相對(duì)麻煩,需要配合設(shè)置物理交換機(jī),另外VLAN的可用數(shù)量有限制,VLAN的ID號(hào)僅有四千多個(gè),我們假設(shè)每個(gè)租戶分配1個(gè)VLAN,那最多也就能支持四千多個(gè)租戶;
OverLay網(wǎng)絡(luò)
overlay(覆蓋)網(wǎng)絡(luò),所謂”覆蓋“,大體上指”在一層上面覆蓋另一層,也可以說是用一層載著另一層移動(dòng)“,VXLAN是最常見的協(xié)議,它是把虛擬機(jī)的二層的幀,在宿主機(jī)上用UDP包裹起來,然后以宿主機(jī)的IP,必要的話,經(jīng)過3層的路由,到達(dá)目的宿主機(jī),然后再解封,把內(nèi)包裹的二層幀,輸送給目的虛擬機(jī);
有點(diǎn)抽象?我們先看看VXLAN的包結(jié)構(gòu),就知道”包裹“是啥意思了:
那個(gè)”Inner Frame“就是被包裹的虛擬機(jī)的二層的包;
最終封裝完的包,外層的源IP、目的IP地址,都是宿主機(jī)的,所以只要宿主機(jī)之間互通(3層可達(dá)),被封裝的內(nèi)層幀就可以被運(yùn)輸:
那這種方案有什么優(yōu)點(diǎn)呢?
主要的:
vxlan的范圍足夠大,一千六百多萬,租戶隨便用 因?yàn)槭峭耆綦x的,租戶可以隨意定義自己的網(wǎng)絡(luò),哪怕和其他租戶的IP段重疊都沒有關(guān)系,比如上圖中,租戶A的網(wǎng)絡(luò),與租戶B的網(wǎng)絡(luò) 如果通過一定技術(shù)實(shí)現(xiàn)支持3層路由器,租戶可以將自己的網(wǎng)絡(luò),隨意組織自己的網(wǎng)絡(luò)拓?fù)?,比如上圖中,租戶A的兩個(gè)網(wǎng)絡(luò),連接到一個(gè)路由器(可以是虛擬的)上
關(guān)于上面提的第三點(diǎn),在neutron中大概是這樣的:
VPC
最后,那到底啥是VPC呢?
很明確的告訴你,上面這個(gè)圖就是VPC!
VPC(virtual private cloud),不是個(gè)技術(shù)專有名詞,而是亞馬遜AWS創(chuàng)造的一個(gè)產(chǎn)品層面的名詞;
租戶網(wǎng)絡(luò)徹底隔離、IP段都能重疊、路由器、網(wǎng)絡(luò)拓?fù)涠寄苡勺约憾x,這還不是”虛擬私有云“嗎!
相關(guān)文章
openstack云計(jì)算組件glance部署及操作步驟
這篇文章主要為大家介紹了openstack云計(jì)算之glance部署及操作步驟,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04openstack云計(jì)算cinder架構(gòu)及各組件功能介紹
這篇文章主要為大家介紹了openstack云計(jì)算之cinder架構(gòu)及各組件功能介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04詳解VMware接入Openstack—使用Openstack創(chuàng)建vCenter虛擬機(jī)
本篇文章主要介紹了VMware接入Openstack—使用Openstack創(chuàng)建vCenter虛擬機(jī),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-03-03openstack云計(jì)算組件keystone部署及操作使用技巧
這篇文章主要為大家介紹了openstack云計(jì)算組件keystone部署及操作使用技巧,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04OpenStack虛擬機(jī)快照和增量備份實(shí)現(xiàn)方法
快照針對(duì)要保存的數(shù)據(jù)分為內(nèi)存快照和磁盤快照,內(nèi)存快照就是保存當(dāng)前內(nèi)存的數(shù)據(jù),磁盤快照就是保存硬盤的數(shù)據(jù),這篇文章主要介紹了OpenStack虛擬機(jī)快照和增量備份實(shí)現(xiàn),需要的朋友可以參考下2022-04-04openstack云計(jì)算組件glance功能鏡像及版本介紹
這篇文章主要為大家介紹了openstack云計(jì)算組件glance功能鏡像及版本介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04Openstack 創(chuàng)建項(xiàng)目和虛擬機(jī)詳細(xì)介紹
這篇文章主要介紹了Openstack 創(chuàng)建項(xiàng)目和虛擬機(jī)詳細(xì)介紹的相關(guān)資料,這里舉例說明如何實(shí)現(xiàn),圖文教程,需要的朋友可以參考下2016-11-11詳解Openstack組件部署 — Overview和前期環(huán)境準(zhǔn)備
本篇文章主要介紹了詳解Openstack組件部署 — Overview和前期環(huán)境準(zhǔn)備,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-03-03