數據中心爲何須要大二層網絡
在開始以前,首先要明確一點,大二層網絡基本上都是針對數據中心場景的,由於它實際上就是爲了解決數據中心的服務器虛擬化以後的虛擬機動態遷移這一特定需求而出現的。對於普通的園區網之類網絡而言,大二層網絡並無特殊的價值和意義(除了某些特殊場景,例如WIFI漫遊等等)。
因此,咱們如今所說的大二層網絡,通常都是指數據中心的大二層網絡。
服務器虛擬化趨勢
因爲傳統的數據中心服務器利用率過低,平均只有10%~15%,浪費了大量的電力能源和機房資源。因此出現了服務器虛擬化技術。
服務器虛擬化技術是把一臺物理服務器虛擬化成多臺邏輯服務器,這種邏輯服務器被稱爲虛擬機(VM),每一個VM均可以獨立運行,有本身的OS、APP,當前也有本身獨立的MAC地址和IP地址,它們經過服務器內部的虛擬交換機(vSwitch)與外部實體網絡鏈接。
傳統的二層網絡爲啥大不起來
VM動態遷移只是要求把全部服務器都歸入同一個二層網絡,那問題來了:原來的網絡架構爲何就不能把全部服務器都歸入同一個二層網絡?傳統的VLAN+xSTP二層技術不能把全部服務器都劃到同一個二層域嗎?
這也就是我前面賣的關子,爲何說傳統網絡架構限制了虛擬機的動態遷移只能在一個較小的局部範圍內進行?爲何傳統的二層網絡大不起來?
要說清楚這一點,咱們首先須要弄清楚二層網絡面臨的主要問題是什麼,而傳統二層網絡採用的主要解決方案有哪些?
二層網絡的核心問題
其實提及來也簡單,二層網絡的核心問題就是環路問題以及由此產生的廣播風暴問題
釜底抽薪派解決大二層網絡困境,仍是從二層網絡的核心問題着手。既然二層網絡的核心問題是環路問題,那麼解決了環路問題,就一勞永逸了。抽了「環路」的「薪」,那麼廣播風暴的「火」也就燒不起來了。也就意味着,二層網絡想作多大就能夠作多大。
固然,要有效解決大二層環境中的環路問題,傳統的xSTP技術行不通了(具體緣由前一篇中已經分析過了)。幸虧如今咱們有了新的武器,那就是網絡設備虛擬化技術。
所謂網絡設備虛擬化技術,就是將相互冗餘的兩臺或多臺物理網絡設備組合在一塊兒,虛擬化成一臺邏輯網絡設備,在整個網絡中只呈現爲一個節點
(這裏的網絡虛擬化技術特指多虛一的技術,也有一虛多的技術,好比華爲的VS(Virtual System)技術,能夠把一臺網絡設備虛擬成多臺網絡設備使用,這種虛擬化技術就有點和服務器的虛擬化比較類似,可是咱們本文中不涉及這種虛擬化)
網絡設備虛擬化再配合鏈路聚合技術,就能夠把原來的多節點、多鏈路的結構變成邏輯上單節點、單鏈路的結構,環路問題也就無疾而終了。(上一篇中已經說明了,單節點、單鏈路的樹型結構網絡是沒有環路問題的)
並且虛擬化技術和鏈路聚合技術都具有冗餘備份功能,單臺物理設備或者鏈路故障時,能夠自動切換到其餘物理設備和鏈路來進行數據轉發,保證網絡的可靠性。
以網絡設備虛擬化+鏈路聚合技術構建的二層網絡自然沒有環路,其規模僅受限於虛擬網絡設備所能支持的接入能力,只要虛擬網絡設備容許,二層網絡就能夠想作多大就作多大。
技術
網絡設備虛擬化的主要技術大體能夠分爲三類:框式設備的堆疊技術、盒式設備的堆疊技術、框盒/盒盒之間的混堆技術。有華爲的CSS、iStack、SVF,CISCO的VSS、FEX,H3C的IRF等
瞞天過海派正式的學名應該叫Overlay派,就是經過用隧道封裝的方式,將源主機發出的原始二層報文封裝後在現有網絡中進行透明傳輸,到達目的地以後再解封裝獲得原始報文,轉發給目標主機,從而實現主機之間的二層通訊。
經過封裝和解封裝,至關於一個大二層網絡疊加在現有的基礎網絡之上,因此稱爲Overlay派。瞞天過海的含義也就在於此。
思想
其實對於隧道封裝,咱們並不陌生,好比最典型的GRE,就是把原始數據報文經過GRE封裝以後在三層網絡中進行傳輸,從主機的角度來看,中間的三層網絡是透明不可見的,也就至關於直接在源網絡和目標網絡之間直接拉了一根「光纖」!
可是GRE這樣的隧道協議是點到點的隧道協議,只能點對點創建隧道,若是有不少主機須要二層通訊的話,就要每兩臺主機之間都拉上「光纖」,這是沒法想象的。那怎麼辦?
既然「光纖」不行,那就上「二層交換機」!
衆所周知,「二層交換機」是能夠實現下掛主機之間相互二層通訊的,並且主機從「二層交換機」的一個端口遷移到另外一個端口時,IP地址是能夠保持不變的。這樣不就能夠實現大二層網絡的需求了嗎?
因此,Overlay方案的意義也就是在於此。Overlay方案的核心就是經過點到多點的隧道封裝協議,徹底忽略中間網絡的結構和細節,把整個中間網絡虛擬成一臺「巨大無比的二層交換機」, 每一臺主機都是直接連在這臺「巨大交換機」的一個端
基於這種「巨大交換機」的理解,那麼就也很容易理解爲何這種方案就能夠實現VM動態遷移了,不就是把VM主機從交換機的一個端口換到另外一個端口嘛,徹底無需變動IP地址。
技術
Overlay派的典型技術主要有VXLAN、NVGRE、STT等,在本文中僅對VXLAN進行簡單的介紹。
VXLAN(Virtual eXtensible LANs)是VMWare和CISCO提出的Overlay技術方案。VXLAN的陣營中還包括了Arista、Broadcom、Citrix和Red Hat等廠商,可謂陣容豪華。
VXLAN採用Mac in UDP的封裝方式,虛擬機發出的數據包在VXLAN接入點(被稱爲VTEP)加上VXLAN幀頭後再被封裝在UDP報頭中,並使用承載網絡的IP/MAC地址做爲外層頭進行封裝,承載網絡只須要按照普通的二三層轉發流程進行轉發便可。服務器