華三講堂:Overlay網路與物理網路的關係
http://www.ctiforum.com/news/guandian/441144.html
在以往IT建設中,硬體伺服器上執行的是虛擬層的計算,物理網路為了與虛擬伺服器對接,需要網路自己進行調整,以便和新的計算層對接(如圖1所示)。Overlay是在傳統網路上虛擬出一個虛擬網路來,傳統網路不需要在做任何適配,這樣物理層網路只對應物理層的計算(物理機、虛擬化層管理網),虛擬的網路只對應虛擬計算(虛擬機器的業務IP),如圖2所示。
圖1 物理網路引入資料中心技術來適配虛擬計算
圖2 物理網路通過承接虛擬網路來適配虛擬計算
Overlay的技術路線,其實是從架構上對資料中心的建設模式進行了顛覆,對物理裝置的要求降至最低,業務完全定義在層疊網路上。那麼,這是否意味著將來資料中心使用Overlay網路不需要硬體支援而只需要軟體定義就足夠了呢?答案無疑是否定的。
以下討論Overlay網路與物理網路的依存關係。由於VXLAN(Virtual eXtensible LAN)技術是當前最為主流的Overlay標準,以下VXLAN技術為代表進行具體描述。
1. 報文的封裝與解封裝
VXLAN的核心在於承載於物理網路上的隧道技術,這就意味著要對報文進行封裝和解封裝,因此需要硬體來加速處理。
在VXLAN網路中,用於建立VXLAN隧道的端點裝置稱為VTEP(VXLAN Tunneling End Point,VXLAN隧道終結點),封裝和解封裝在VTEP節點上進行。
在雲資料中心,部分業務是不適合進行虛擬化的(如小機伺服器,高效能資料庫伺服器),這些伺服器會直接與物理交換機互聯,而他們又必須與對應租戶/業務的VXLAN網路互通,此時就必須要求與其互聯的硬體交換機也能支援VXLAN協議,以接入VXLAN網路。
圖3 Overlay網路的三種構建模式
考慮到伺服器接入的可以是虛擬交換機,也可以是物理交換機,因此存在三種不同的構建模式(如圖3所示):其中網路Overlay方案中,所有終端均採用物理交換機作為VTEP節點;主機Overlay方案中,所有終端均採用虛擬交換機作為VTEP節點;混合Overlay方案中,既有物理交換機接入,又有虛擬交換機接入,且軟體VTEP和硬體VTEP之間可以基於標準協議互通。
在網路Overlay方案和混合Overlay方案中,都需要有物理交換機裝置支援VXLAN協議棧,並能與虛擬交換機構建的VTEP互通。由於在實際組網環境中,伺服器種類很多,高吞吐高效能要求的業務一般都採用單獨物理伺服器甚至小機的硬體環境,而非虛擬化的x86伺服器,這就沒法使用vSwitch來接入VXLAN網路,只能讓支援VXLAN的物理交換機來接入了。
2. 組播協議傳播
VXLAN網路的MAC表與隧道終端的繫結關係要用組播協議傳播,而大規格組播協議離不開物理網路裝置的支援。
按照VXLAN的標準,每一個VTEP都需要了解其接入的終端MAC地址,同時還需要知道整網(該VXLAN例項中)其他VTEP下所有的終端MAC地址。只有這樣,在本地的VTEP收到報文後需要轉發時,才能根據目的MAC查詢到需要送到遠端的目的VTEP那裡。
按照IETF中對VXLAN網路的定義,負責在網路中傳播MAC地址和VTEP對應關係的機制,正是依託於物理網路中的組播協議。VTEP將本地的MAC地址表利用組播協議在整個組播中傳播,從而使得整網中所有組播成員,也就是其他VTEP都知道本地的MAC地址表。當VTEP下的終端接入情況有所更改,如新增了MAC地址或者減少了MAC地址,也需要利用組播協議通知同一個例項下的所有VTEP。另外,當本地VTEP找不到目的MAC處於哪一個遠端VTEP時,也需要傳送組播報文來查詢目的MAC主機所屬的遠端VTEP。
圖4 多個VTEP通過物理網路組播傳遞MAC表資訊
如圖4所示,多個VTEP需要在整網中傳遞VTEP下MAC地址資訊,邏輯傳遞路線如綠色虛線所示。由於需要進行邏輯上的Full-Mesh連線,連線邏輯線路會達到N平方量級,因此實際組網中,VXLAN利用了物理網路的組播組,在建立好的組播組中加入VXLAN中所有VTEP成員,傳遞VTEP變更資訊。在多使用者多業務情況下,組播組要求與VXLAN數量息息相關。由於VXLAN網路規模的不斷拓展(最大可達到16M個VXLAN網路),所需要的組播條目數會不斷增加,這實際上對於物理網路承載組播處理能力和規格提出了要求。
由於標準VXLAN架構下使用組播協議,對物理網路組播數規格要求較大,因此H3C VXLAN解決方案基於SDN架構,通過引入全網的SDN Controller來實現VXLAN的管理和維護,使得VTEP之間的資訊可以通過Controller來進行反射(如圖5所示)。這樣,VTEP的MAC地址表對映關係不再通過組播向全網其他VTEP傳達,而是統一上報給控制器,由控制器統一下發給需要接受此訊息的其他VTEP,由具體的VTEP執行轉發機制。
圖5 多個VTEP通過SDN Controller傳遞MAC表資訊
可見,在SDN架構下,硬體形態的VTEP需要能夠支援集中控制器下發的業務控制資訊,同時基於Openflow進行流錶轉發。而傳統硬體交換機不能支援上述特性,必須由新硬體裝置來執行和完成的。
3. VXLAN網路互通
在傳統L2網路中,報文跨VLAN轉發,需要藉助三層裝置來完成不同VLAN之間的互通問題。VXLAN網路與傳統網路、以及VXLAN網路的互通,必須有網路裝置的支援。
VXLAN網路框架中定義了兩種閘道器單元。
VXLAN三層閘道器。用於終結VXLAN網路,將VXLAN報文轉換成傳統三層報文送至IP網路,適用於VXLAN網路內伺服器與遠端終端之間的三層互訪;同時也用作不同VXLAN網路互通。如圖6所示,當伺服器訪問外部網路時,VXLAN三層閘道器剝離對應VXLAN報文封裝,送入IP網路;當外部終端訪問VXLAN內的伺服器時,VXLAN根據目的IP地址確定所屬VXLAN及所屬的VTEP,加上對應的VXLAN報文頭封裝進入VXLAN網路。VXLAN之間的互訪流量與此類似,VXLAN閘道器剝離VXLAN報文頭,並基於目的IP地址確定所屬VXLAN及所屬的VTEP,重新封裝後送入另外的VXLAN網路。
圖6 VXLAN網路通過三層閘道器與傳統網路互連
VXLAN二層閘道器。用於終結VXLAN網路,將VXLAN報文轉換成對應的傳統二層網路送到傳統乙太網絡,適用於VXLAN網路內伺服器與遠端終端或遠端伺服器的二層互聯。如在不同網路中做虛擬機器遷移時,當業務需要傳統網路中伺服器與VXLAN網路中伺服器在同一個二層中,此時需要使用VXLAN二層閘道器打通VXLAN網路和二層網路。如圖7所示,VXLAN 10網路中的伺服器要和IP網路中VLAN100的業務二層互通,此時就需要通過VXLAN的二層閘道器進行互聯。VXLAN10的報文進入IP網路的流量,剝掉VXLAN的報文頭,根據VXLAN的標籤查詢對應的VLAN網路(此處對應的是VLAN100),並據此在二層報文中加入VLAN的802.1Q報文送入IP網路;相反VLAN100的業務流量進入VXLAN也需要根據VLAN獲知對應的VXLAN網路編號,根據目的MAC獲知遠端VTEP的IP地址,基於以上資訊進行VXLAN封裝後送入對應的VXLAN網路。
圖7 VXLAN網路通過二層閘道器與傳統二層網路互通
可見,無論是二層還是三層閘道器,均涉及到查錶轉發、VXLAN報文的解封裝和封裝操作。從轉發效率和執行效能來看,都只能在物理網路裝置上實現,並且傳統裝置無法支援,必須通過新的硬體形式來實現。
結束語
Overlay由於其簡單、一致的解決問題方法,加上重新定義的網路可以進行軟體定義,已經成為資料中心網路最炙手可熱的技術方案。然而,它並不是一張完全由軟體定義的網路,Overlay網路解決方案必定是一種軟硬結合的方案,無論是從接入層VTEP混合組網的組網要求、組播或SDN控制層協議的支援,還是VXLAN網路與傳統網路的互通來看,都需要硬體積極的配合和參與,必須構建在堅實和先進的物理網路架構基礎上……