全棧云網(wǎng)絡(luò)技術(shù)之VPC/VBC簡介
?一、能力
在對具體技術(shù)細(xì)節(jié)進(jìn)行介紹前,讓我們先了解一下兩種類別的基礎(chǔ)組網(wǎng)能夠增強(qiáng)哪些方面的能力
能給我們
1-VPC
1.1 獨(dú)立的網(wǎng)絡(luò)空間,優(yōu)秀的安全能力
VPC給用戶提供專屬的網(wǎng)絡(luò)空間,不同的VPC之間邏輯隔離。如果應(yīng)用不需要與外界交互,可以借助這個安全的網(wǎng)絡(luò)空間在云上完全隱身。如果應(yīng)用需要與外界交互,可以選擇不同方式進(jìn)行部分暴露,減少暴露面就能大大降低安全防護(hù)成本,提高應(yīng)用的安全性。
1.2靈活的組網(wǎng)范圍,優(yōu)秀的擴(kuò)展能力?
VPC可以提供跨數(shù)據(jù)中心的Overlay組網(wǎng)能力,應(yīng)用在一個VPC內(nèi)部署,就可以方便地擴(kuò)展到多個數(shù)據(jù)中心,從而屏蔽掉不同物理環(huán)境帶來的差異。VPC網(wǎng)絡(luò)的覆蓋范圍也可以隨著數(shù)據(jù)中心底座擴(kuò)展而動態(tài)擴(kuò)展。
1.3自主的網(wǎng)絡(luò)定義,優(yōu)秀的定制化能?
用戶可以在自己的網(wǎng)絡(luò)空間內(nèi),根據(jù)需要去自定義網(wǎng)絡(luò)及安全的能力,不用擔(dān)心相互影響。這樣既能夠滿足用戶多樣化的需求,又能避免由于誤操作對其他用戶造成影響。
不過任何的技術(shù)手段都有短板,在帶來上述能力的同時,這種網(wǎng)絡(luò)模式也存在一些不足之處:使用這種模型學(xué)習(xí)成本高;隔離性帶來的統(tǒng)一管理不便;出入VPC需要在網(wǎng)絡(luò)層做NAT,不利于流量追蹤等等。但是瑕不掩瑜,主流云平臺都把VPC作為用戶使用云網(wǎng)絡(luò)的基本方式。?
2-VBC
2.1. 互聯(lián)互通的網(wǎng)絡(luò),便捷的管理資源?
VBC組網(wǎng)地址是內(nèi)網(wǎng)全互通的,方便各種統(tǒng)一管理工具對資源進(jìn)行管理。
2.2.全網(wǎng)路由的地址,順暢的流量追蹤?
進(jìn)出VBC網(wǎng)絡(luò)不需要做任何地址轉(zhuǎn)換,對流量的追蹤、問題排查都有很大的幫助。
2.3.扁平的網(wǎng)絡(luò),低廉的學(xué)習(xí)成本?
從網(wǎng)絡(luò)層面上講這種組網(wǎng)方式給用戶的體驗與傳統(tǒng)網(wǎng)絡(luò)幾乎沒有區(qū)別,大大降低用戶學(xué)習(xí)和使用的成本。
同樣VBC網(wǎng)絡(luò)也有短板,主要體現(xiàn)在安全方面防護(hù)方面。由于是全互聯(lián)互通的網(wǎng)絡(luò),云上應(yīng)用系統(tǒng)的暴露面大,對安全防護(hù)也提出了挑戰(zhàn),而傳統(tǒng)的云防火墻和ACL策略等安全手段在管理大規(guī)模、動態(tài)擴(kuò)縮的云網(wǎng)絡(luò)時也顯得力不從心。對此全棧云也引入了更適合云安全的技術(shù)手段來解決這個問題,就不在本文中贅述。?
二、技術(shù)方案
在了解兩種組網(wǎng)方式各自的能力后,我們進(jìn)一步剖析它們具體實(shí)現(xiàn)的技術(shù)方案。兩種網(wǎng)絡(luò)實(shí)現(xiàn)的思路相同,下面統(tǒng)一進(jìn)行簡要描述
Software Defined Network
在軟件定義一切的云環(huán)境中,網(wǎng)絡(luò)也不例外。其實(shí)現(xiàn)方式主要遵照SDN的思想。SDN(Software Defined Network,軟件定義網(wǎng)絡(luò)),其主要思路是通過南向協(xié)議將管理面和轉(zhuǎn)發(fā)面進(jìn)行解耦。這樣設(shè)計有兩個好處,一是能統(tǒng)一管理多種轉(zhuǎn)發(fā)面而屏蔽他們的差異,二是能避免管理面和轉(zhuǎn)發(fā)面在故障發(fā)生時相互影響。
根據(jù)控制方式的不同,SDN的實(shí)現(xiàn)方式主要有兩種,下面對兩種方式進(jìn)行介紹:
1.由統(tǒng)一的管理面來負(fù)責(zé)規(guī)劃、管理、下發(fā)所有的轉(zhuǎn)發(fā)規(guī)則,從而實(shí)現(xiàn)對網(wǎng)絡(luò)的控制,轉(zhuǎn)發(fā)面接收轉(zhuǎn)發(fā)規(guī)則并按規(guī)則進(jìn)行數(shù)據(jù)包轉(zhuǎn)發(fā)。這樣的優(yōu)勢在于管理面掌握網(wǎng)絡(luò)中所有流量轉(zhuǎn)發(fā)路徑的完整信息,方便流量追蹤;缺點(diǎn)在于一旦這個管理大腦失靈,所有的轉(zhuǎn)發(fā)面將失去控制,容易造成全局性的風(fēng)險
2.通過協(xié)議自組織的方式實(shí)現(xiàn)管控,優(yōu)點(diǎn)在于資源占用少可以一套網(wǎng)絡(luò)一套控制面,故障范圍可控。缺點(diǎn)在于缺乏網(wǎng)絡(luò)路徑數(shù)據(jù),不方便流量的追蹤。
在綜合考慮兩種方式的優(yōu)缺點(diǎn)后,我們決定采用第二種技術(shù)方案來避免全局性的技術(shù)風(fēng)險,對于流量路徑信息則采用其他的技術(shù)手段來解決。下面分控制面和轉(zhuǎn)發(fā)面兩部分進(jìn)行詳細(xì)闡述:
不斷創(chuàng)新服務(wù)模式,聚焦品質(zhì)優(yōu)化。只有在服務(wù)過程中不斷傾聽業(yè)主的聲音,才能及時了解業(yè)主所需和所期,我們創(chuàng)建多條溝通渠道,建立和諧溫情的物業(yè)服務(wù)關(guān)系。
(1)控制面:
EVPN(Ethernet VPN),通過擴(kuò)展BGP協(xié)議新定義了集中BGP EVPN路由,通過在控制網(wǎng)絡(luò)中發(fā)布路由來實(shí)現(xiàn)VTEP的自動發(fā)現(xiàn)、主機(jī)地址學(xué)習(xí)。
在控制面中,為了更加適應(yīng)云網(wǎng)絡(luò)的環(huán)境,我們也做了大量的控制優(yōu)化:?
優(yōu)化一:全覆蓋的內(nèi)部控制網(wǎng)絡(luò):
為了讓VPC/VBC網(wǎng)絡(luò)能夠覆蓋到云平臺各個計算資源,我們在軟件層面上實(shí)現(xiàn)了一個內(nèi)部控制私網(wǎng)便于路由信息的傳遞和下發(fā)。
優(yōu)化二:獨(dú)立的軟路由處理器:
為了讓服務(wù)器的資源被充分利用,每臺服務(wù)器上會運(yùn)行不同用戶的虛擬資源,這就要保障每臺服務(wù)器上的路由空間相互隔離。我們利用linux內(nèi)核隔離技術(shù)為不同用戶的網(wǎng)絡(luò)做了獨(dú)立的路由處理器,保證屬于不同網(wǎng)絡(luò)的資源在相同的服務(wù)器上都能夠互不影響的處理路由信息。
(2)轉(zhuǎn)發(fā)面:
linux bridge是在內(nèi)核層用純軟件實(shí)現(xiàn)的虛擬交換機(jī),我們可以把各種類型的虛擬網(wǎng)卡綁定到這個虛擬交換機(jī)上,以便于將虛擬計算資源連接到網(wǎng)絡(luò)中。
同樣在轉(zhuǎn)發(fā)面上,我們也做了大量改進(jìn)來提升轉(zhuǎn)發(fā)效率:
優(yōu)化一:智能的數(shù)據(jù)包處理:
云網(wǎng)絡(luò)轉(zhuǎn)發(fā)面使用Overlay進(jìn)行組網(wǎng),這種組網(wǎng)方式對數(shù)據(jù)包進(jìn)行大量的封裝/解封裝操作,而這種操作是占用服務(wù)器的計算資源的,不但造成了CPU資源的浪費(fèi)而且轉(zhuǎn)發(fā)效率也不高。為了解決這個問題,全棧云采用了智能網(wǎng)卡來對數(shù)據(jù)包進(jìn)行處理,實(shí)現(xiàn)了不占用CPU資源對數(shù)據(jù)包進(jìn)行封裝/解封裝,同時也提升了網(wǎng)絡(luò)性能。
優(yōu)化二:智能的路徑選擇:
對于路由優(yōu)化,使得兩個計算節(jié)點(diǎn)之間通信路徑大大縮短,也提高了網(wǎng)絡(luò)的性能。
三、技術(shù)實(shí)現(xiàn)
兩種網(wǎng)絡(luò)的控制原理相同,不同點(diǎn)僅在于網(wǎng)絡(luò)內(nèi)的地址是否要通告給物理網(wǎng)絡(luò),下面對兩種網(wǎng)絡(luò)的實(shí)現(xiàn)方式進(jìn)行統(tǒng)一介紹。
1-控制面
控制面采用EVPN,通過MPBGP協(xié)議定義了BGP EVPN路由,全棧云控制面中主要使用以下兩種類型的擴(kuò)展路由:
mac/ip路由(type2):用來通告主機(jī)mac地址、主機(jī)arp和主機(jī)路由信息
inclusive multicast路由(type3):用于vtep自動發(fā)現(xiàn)和vxlan隧道動態(tài)建立。
控制面結(jié)構(gòu)示意圖如圖一所示,圖中黑色和藍(lán)色分別代表兩個邏輯上相互隔離的網(wǎng)絡(luò)。
圖一
網(wǎng)絡(luò)管理器
每個計算節(jié)點(diǎn)物理機(jī)上都運(yùn)行一個網(wǎng)絡(luò)管理器,主要有以下兩個功能:
- 負(fù)責(zé)維護(hù)與反射器間的BGP鄰居關(guān)系,通告本機(jī)上VM的ip地址和VTEP信息。在每個虛機(jī)創(chuàng)建/遷移的時候,其所在的計算節(jié)點(diǎn)就會發(fā)出type2路由來通告它的位置信息。如果在該物理服務(wù)器上沒有該網(wǎng)絡(luò)的分布式路由器,則會創(chuàng)建一個分布式路由器,并發(fā)送type3路由來通告vtep信息,完成vxlan組網(wǎng);
- 接收MPBGP中攜帶的路由信息,分析其屬于哪個網(wǎng)絡(luò),并以路由表和鄰居表的形式寫入到對應(yīng)網(wǎng)絡(luò)的分布式路由的命名空間中。
網(wǎng)絡(luò)反射器
?每個網(wǎng)絡(luò)一對反射器,將BGP路由同步給網(wǎng)絡(luò)中所有的管理器,引入反射器可以有效降低BGP鄰居數(shù)量。在VBC場景下也會將收到的路由信息同步給路由管理器,用于向物理網(wǎng)絡(luò)通告路由。?
物理網(wǎng)絡(luò)地址通告
只有VBC類型的網(wǎng)絡(luò)要向物理網(wǎng)絡(luò)同步路由。路由通過平臺統(tǒng)一的路由控制器同步給物理交換機(jī),因為全棧云網(wǎng)絡(luò)為全動態(tài)路由組網(wǎng),虛機(jī)的下線、遷移等操作也可以動態(tài)同步到物理網(wǎng)絡(luò)中。示意圖如圖二所示:
圖二
計算節(jié)點(diǎn)上的反射器將路由信息同步給管理節(jié)點(diǎn)路由管理器,然后路由管理器將接收到的路由信息進(jìn)行過濾整合后,同步給物理交換機(jī),完成了的vbc地址的通告。?
2-轉(zhuǎn)發(fā)面
下面以VBC為例,介紹轉(zhuǎn)發(fā)面(圖中設(shè)計所有地址均非真實(shí)地址)
圖三
物理網(wǎng)絡(luò)?
如圖三所示,兩個虛機(jī)在同一個VBC的網(wǎng)段中。在同網(wǎng)段內(nèi)部通信時,二層通信查分布式路由器的fdb(forward database)表,按查找結(jié)果,直接通過b1這個vxlan類型的端口轉(zhuǎn)發(fā)到目標(biāo)的dvr。如果三層通信的話,則直接通過默認(rèn)路由從物理網(wǎng)絡(luò)的c1口發(fā)出。
因為VPC支持三層組網(wǎng),所以它的轉(zhuǎn)發(fā)面要復(fù)雜一些:跨網(wǎng)段通信時如果目的地址是同一個VPC內(nèi)部的,流量則會從分布式路由器通過vxlan封裝直接發(fā)送到分布式路由器;如果不是同一VPC則會交給默認(rèn)VPC網(wǎng)關(guān)來處理。
圖四
VPC網(wǎng)關(guān)
VPC是一個獨(dú)立封閉的網(wǎng)絡(luò)環(huán)境,如果用戶需要暴露服務(wù)的話需要做ip地址的映射,其中一種方式就是通過VPC網(wǎng)關(guān)做地址映射。VPC網(wǎng)關(guān)具備雙網(wǎng)卡,可以通過頁面配置把VPC網(wǎng)絡(luò)內(nèi)部服務(wù)映射成VBC網(wǎng)絡(luò)可訪問的服務(wù)。如圖四(圖中地址非真實(shí)地址)所示,VPC網(wǎng)關(guān)具有兩塊網(wǎng)卡,一塊連接VBC網(wǎng)絡(luò),一塊連接VPC網(wǎng)絡(luò)。在VPC網(wǎng)關(guān)處配置nat規(guī)則,就可以實(shí)現(xiàn)從VBC:100.168.0.10:12345到VPC:192.168.10.10:80服務(wù)的映射了。
總結(jié)
本文首先介紹了全棧云兩種組網(wǎng)帶來的能力,隨后分析了實(shí)現(xiàn)的技術(shù)方案,最后對一些技術(shù)實(shí)現(xiàn)做了簡要介紹,希望大家通過這篇文章對全棧云網(wǎng)絡(luò)能有一個概要認(rèn)識。由于篇幅限制,并沒有深入過多的技術(shù)細(xì)節(jié)。
云計算技術(shù)經(jīng)歷了十幾年的發(fā)展已經(jīng)逐漸成熟,國家在“十四五”規(guī)劃中也提出了數(shù)字基建的戰(zhàn)略方向。用云、上云是信息科技發(fā)展的必然趨勢,然而在云化推進(jìn)過程中難免經(jīng)歷變革的陣痛,我們會堅持對外磨合需求,提升體驗;對內(nèi)強(qiáng)化技術(shù),提升可控和穩(wěn)定性的宗旨來提升整體實(shí)力,建設(shè)好金融科技的基石。