程序員也需了解的主流云計算網(wǎng)絡架構
當前越來越多的企業(yè)將自己的業(yè)務遷移至云端,云計算的發(fā)展勢頭不可阻擋,身邊好多朋友也紛紛購買云主機用來學習測試。有那么一波小伙伴們肯定好奇這么多的云主機是通過怎樣的網(wǎng)絡架構來承載的呢,本篇文章就為大家?guī)硪灰唤視灾髁鞯脑朴嬎憔W(wǎng)絡架構。
01 Overlay網(wǎng)絡架構
(1)Overlay網(wǎng)絡產(chǎn)生背景
隨著企業(yè)業(yè)務的快速擴展,IT作為基礎設施,其快速部署和高利用率成為主要需求。云計算可以為之提供可用的、便捷的、按需的資源提供,成為當前企業(yè)IT建設的常規(guī)形態(tài),而在云計算中大量采用和部署的虛擬化幾乎成為一個基本的技術模式。部署虛擬機需要在網(wǎng)絡中無限制地遷移到目的物理位置,虛機增長的快速性以及虛機遷移成為一個常態(tài)性業(yè)務。傳統(tǒng)的網(wǎng)絡已經(jīng)不能很好滿足企業(yè)的這種需求,面臨著如下挑戰(zhàn):
a)虛擬機遷移范圍受到網(wǎng)絡架構限制
為了保證虛擬機遷移過程中業(yè)務不中斷,則需要保證虛擬機的IP地址、MAC地址等參數(shù)保持不變,這就要求業(yè)務網(wǎng)絡是一個二層網(wǎng)絡,且要求網(wǎng)絡本身具備多路徑的冗余備份和可靠性。傳統(tǒng)的STP、設備虛擬化等技術只適用于中小規(guī)模的網(wǎng)絡。
b)網(wǎng)絡隔離/分離能力限制
當前主流的網(wǎng)絡隔離技術是VLAN,由于IEEE 802.1Q中定義的VLAN ID只有12比特,僅能表示4096個VLAN,無法滿足大二層網(wǎng)絡中標識大量租戶或租戶群的需求。
c)虛擬機規(guī)模受網(wǎng)絡規(guī)格限制
在傳統(tǒng)二層網(wǎng)絡環(huán)境下,數(shù)據(jù)報文是通過查詢MAC地址表進行二層轉發(fā),而網(wǎng)絡設備MAC地址表的容量限制了虛擬機的數(shù)量。
針對上述問題,為了滿足云計算虛擬化的網(wǎng)絡能力需求,逐步演化出了Overlay網(wǎng)絡技術。
(2)Overlay網(wǎng)絡技術介紹
Overlay在網(wǎng)絡技術領域,是一種網(wǎng)絡架構上疊加的虛擬化技術模式,其大體框架是對基礎網(wǎng)絡不進行大規(guī)模修改的條件下,實現(xiàn)應用在網(wǎng)絡上的承載,并能與其它網(wǎng)絡業(yè)務分離,并且以基于IP的基礎網(wǎng)絡技術為主。其架構如下圖所示:

Overlay在網(wǎng)絡技術解決了如下問題:
a)針對虛擬機遷移范圍受網(wǎng)絡架構限制
Overlay將以太報文封裝在IP報文之上,通過路由在網(wǎng)絡中傳輸。通過路由網(wǎng)絡,虛擬機遷移不受網(wǎng)絡架構限制。而且路由網(wǎng)絡具備良好的擴展能力、故障自愈能力、負載均衡能力。
b)針對網(wǎng)絡隔離能力限制
Overlay技術擴展了隔離標識的位數(shù)(24比特),極大擴展了隔離數(shù)量。
c)針對虛擬機規(guī)模受網(wǎng)絡規(guī)格限制
虛擬機發(fā)出的數(shù)據(jù)包封裝在IP數(shù)據(jù)包中,對網(wǎng)絡只表現(xiàn)為封裝后的網(wǎng)絡參數(shù)。因此,極大降低了大二層網(wǎng)絡對MAC地址規(guī)格的需求。
(3)Overlay網(wǎng)絡技術實現(xiàn)
VXLAN技術已經(jīng)成為目前Overlay技術事實上的標準,VXLAN(Virtual eXtensible LAN,可擴展虛擬局域網(wǎng)絡)是基于IP網(wǎng)絡、采用"MAC in UDP"封裝形式的二層虛擬專用網(wǎng)絡技術。以VXLAN技術為基礎的Overlay網(wǎng)絡架構模型如下:

名詞介紹:
VTEP(VXLAN Tunnel Endpoints,VXLAN隧道端點)VXLAN網(wǎng)絡的邊緣設備,是VXLAN隧道的起點和終點,進行VXLAN報文的封裝、解封裝等處理。VTEP既可以部署在網(wǎng)絡設備上(網(wǎng)絡接入交換機),也可以部署在vSwitch上(服務器上的虛擬交換機)。
VNI(VXLAN Network Identifier,VXLAN 網(wǎng)絡標識符)VNI是一種類似于VLAN ID的網(wǎng)絡標識,用來標識VXLAN二層網(wǎng)絡。一個VNI代表一個VXLAN段,不同VXLAN段的虛擬機不能直接二層相互通信。
VXLAN隧道兩個VTEP之間建立的邏輯隧道,用于傳輸VXLAN報文。業(yè)務報文在進入VXLAN隧道式進行VXLAN、UDP、IP頭封裝,然后通過三層轉發(fā)透明地將報文轉發(fā)給遠端VTEP,遠端VTEP對報文進行解封裝處理。
(4)OverLay網(wǎng)絡組網(wǎng)模型
目前主流的Overlay網(wǎng)絡組網(wǎng)模型主要有如下兩種:
a) 網(wǎng)絡Overlay:在這種模型下,所有Overlay設備都是網(wǎng)絡設備,服務器無需支持Overlay,這種模型能夠支持虛擬化服務器和物理服務器接入
b)主機Overlay:所有Overlay設備都是虛擬設備,適用服務器全虛擬化的場景,物理網(wǎng)絡無需改動
(5)網(wǎng)絡Overlay網(wǎng)絡模型介紹
網(wǎng)絡Overlay的隧道封裝在物理交換機完成。這種Overlay的優(yōu)勢在于物理網(wǎng)絡設備性能轉發(fā)性能比較高,可以支持非虛擬化的物理服務器之間的組網(wǎng)互通。

網(wǎng)絡Overlay組網(wǎng)方案有以下優(yōu)點:
a)更高的VXLAN報文封裝解封性能
b)通過Leaf交換機實現(xiàn)端口ACL策略,可以實現(xiàn)線速轉發(fā)
c)不依賴虛擬化平臺,客戶可以有更高的組網(wǎng)自由度
(6)主機Overlay網(wǎng)絡模型介紹
主機Overlay將虛擬設備作為Overlay網(wǎng)絡的邊緣設備和網(wǎng)關設備,Overlay功能純粹由服務器來實現(xiàn),主機Overlay的網(wǎng)關和服務節(jié)點都可以由服務器承擔,成本較低。

主機Overlay組網(wǎng)方案總體來說有以下優(yōu)點:
a)適用于服務器虛擬化的場景,成本較低
b)vSwitch作為東西向IP網(wǎng)關時,支持分布式網(wǎng)關功能,使虛機遷移后不需要重新配置網(wǎng)關等網(wǎng)絡參數(shù),部署簡單、靈活
為了使得VXLAN Overlay網(wǎng)絡更加簡化運行管理,便于云的服務提供,各公司使用集中控制的模型,將分散在多個物理服務器上的vSwitch構成一個大型的、虛擬化的分布式Overlay vSwitch,只要在分布式vSwitch范圍內,虛擬機在不同物理服務器上的遷移,便被視為在一個虛擬的設備上遷移,如此大大降低了云中資源的調度難度和復雜度。

02 RoH網(wǎng)絡架構
(1)RoH網(wǎng)絡架構介紹
為了構建更具彈性的數(shù)據(jù)中心,許多公司利用Linux生態(tài)系統(tǒng)直接將路由協(xié)議運行到其服務器上。這種網(wǎng)絡架構通常稱為主機路由協(xié)議RoH(Routing On the Host)。

(2)RoH網(wǎng)絡架構優(yōu)勢
簡化故障排除復雜度
在現(xiàn)代網(wǎng)絡中,對數(shù)據(jù)中心的二層網(wǎng)絡問題進行故障排除一直是一項持續(xù)的挑戰(zhàn),因此,通過在主機上進行路由,將第3層的覆蓋范圍進一步擴展到主機上,可以緩解下述許多問題:
a)Traceroute無效問題的解決,因為traceroute追蹤數(shù)據(jù)包訪問路徑時只會顯示三層節(jié)點設備,缺少二層節(jié)點設備的顯示,從而無法定位到路徑中經(jīng)過的二層網(wǎng)絡設備
b)二層組網(wǎng)環(huán)境下定位鏈路負載是否正常繁瑣,二層鏈路的負載是通過對源目IP及源目端口進行Hash來實現(xiàn)鏈路負載,需要通過多個數(shù)據(jù)流才能檢測鏈路負載是否正常,而三層網(wǎng)絡環(huán)境下通過查看路由表就能直觀的判斷出鏈路負載是否正常
支持設備品牌的異構
當前數(shù)據(jù)中心網(wǎng)絡中,為了解決二層網(wǎng)絡鏈路的利用率經(jīng)常將一組同廠商的leaf交換機做堆疊,當其中一臺出現(xiàn)故障只能換相同廠商的設備,而RoH的網(wǎng)絡架構下通過路由協(xié)議實現(xiàn)了網(wǎng)絡的ECMP,不需對leaf交換機配置堆疊,當設備出現(xiàn)故障不再需要使用相同廠商的設備來替換,理論上支持任意廠商的三層交換機替換,從而實現(xiàn)品牌異構組網(wǎng)。

(3)RoH網(wǎng)絡組件介紹
目前RoH網(wǎng)絡架構中服務器部署動態(tài)路由常用的組件為Linux Brid,K8S容器網(wǎng)絡插件Calico就使用了Brid組件。Calico 中的 Bird是一個BGP client,它會主動讀取felix在host上設置的路由信息,然后通過BGP協(xié)議宣告出去。

Calico在每個運行Felix服務的節(jié)點上都部署一個BGP客戶端。 BGP客戶端的作用是讀取Felix程序寫到內核中并在數(shù)據(jù)中心內分發(fā)的路由信息 BGP客戶端負責執(zhí)行以下任務:路由信息分發(fā),當Felix將路由插入Linux內核FIB時,BGP客戶端將接收它們并將它們分發(fā)到集群中的其他工作節(jié)點。
03 網(wǎng)絡架構比對總結

至此云計算主流的網(wǎng)絡架構介紹完了,最后如果喜歡不要忘了點贊、關注與轉發(fā)哦!






















