數據中心二層封裝技術演進之路
在數據中心概念沒有火之前,傳統的網絡都是二三層的網絡結構。網絡層級包括:接入層,匯聚層和核心層三大部分,接入層主要用于入連接各種終端設備和用戶,匯聚層是一個大二層的匯合,核心層則主要是三層轉發,不像現在數據中心簡化成只有二層結構,接入和核心,并且核心也主張部署二層網絡,在這樣的網絡中二層轉發是最基本,也是最實用的技術。不過二層接入設備眾多,封裝VLAN可能會存在重合,因此就需要進行業務的區分,在城域網中,還需要對公網業務和私網業務進行區分,這樣就需要一種封裝的技術,對業務進行有效區分,因此就涌現出了不少二層封裝技術。本文就是按照網絡演變的過程,詳細介紹一下這方面的主流技術。
QINQ技術
QINQ技術是一種VLAN封裝技術,是誕生最早,也是目前在實際網絡中應用最廣泛的二層技術。QINQ技術非常簡單,就是在原始報文的基礎上,再增加一層VLAN TAG。我們可以在網絡設備的入口使能這樣的功能,然后通過下發一定的匹配規則,一般是匹配內層VLAN,也有的高級設備支持匹配IP頭的內容,如果匹配上就在原始報文的基礎上再增加一層VLAN TAG。這樣報文帶這雙層TAG被送到了上游設備,一般路由器或者BAS設備都可以識別雙層報文,對雙VLAN TAG報文進行處理,回程流量同樣,要將外層TAG剝離,將原始報文再送回到接入設備上去。由于QINQ技術出現的較早,最開始很多設備受芯片能力所限,僅能支持對一個端口所有報文打固定的外層VLAN TAG,后來又出現了靈活QINQ,對匹配了一定規則的報文打不同的VLAN TAG。靈活QINQ在二層網絡中,尤其是運營商的城域網中得到了廣泛的應用,就算在今天,城域網中也到處可見靈活QINQ的業務配置。后來靈活QINQ的技術也發展得越來越成熟,支持環路檢測(在靈活QINQ網絡中出現環路是比較令人頭痛的網絡故障),支持在QINQ上跑組播,支持在一個端口上既有靈活QINQ業務,又有普通VLAN業務,互不影響。QINQ技術的進步給城域網帶來了極大的發展,使得城域網的規模快速擴張。雖然QINQ技術在企業網以及數據中心里應用得不多,但是不失為一種好處的技術,因為早期的數據中心規模都不大,不像城區網規模龐大,所以一般都不需要部署QINQ。
VLAN-MAPPING技術
有了QINQ技術,當然不能就高枕無憂了。其實QINQ技術在實際應用中也遇到了不少的問題,有些需求無法靠QINQ技術來解決。比如:有的客戶需要對進入網絡設備的報文VLAN TAG進行修改,而不是增加一層,將改變了VLAN TAG的報文再轉發出去,回程流量還要改回去;有的客戶需要對進入設備的不帶TAG的報文直接打上兩層VLAN TAG;還有的客戶需要對進來的報文VLAN TAG打優先級,等等。這些需求QINQ都無法滿足,這樣VLAN-MAPPING技術出現了,能有這樣的技術首先要感謝那些網絡芯片廠商,是他們通過研發讓芯片支持了這些功能。有了VLAN-MAPPING,那么使得二層封裝技術應用更為靈活,可以解決一些特定場合,QINQ技術搞不定的問題。在如今的網絡中,VLAN-MAPPING幾乎可以和QINQ平分秋色,也得到了廣泛部署使用。VLAN-MAPPING不再局限于新增VLAN TAG,還支持增多層VLAN TAG,改VLAN TAG,改VLAN TAG優先級等多種功能,極大豐富了二層網絡的應用類型,以便可以滿足不同用戶的業務部署需求。
VXLAN技術
VXLAN技術這兩年很火,成為各種技術論壇的寵兒。不過在實際的網絡中,VXLAN既然處于初級階段,雖然已經在一些大型的數據中心里,網絡中得到部署,但是依然還沒有達到廣泛普及的地步。VXLAN也是一種二層封裝技術,不過VXLAN是將MAC頭封裝在UDP報文中,其中有一個24BIT的VNI,可以用于區分不同的業務,24BIT要比12BIT的VLAN ID范圍大得多。VXLAN的出現主要解決的還有跨數據中心二層互通的問題,通過部署VXLAN就可以解決,而QINQ和VLAN-MAPPING都無能為力。就算原來的QINQ/VLAN-MAPPING網絡中,也可以用VXLAN實現業務隔離的目的,因為VXLAN的VNI范圍就可以達到1600萬。在如今的數據中心二層網絡中,運營商和企業網中都已經開始考慮部署VXLAN,VXLAN不僅可以替代原始的QINQ和VLAN-MAPPING功能,還可以解決跨數據中心的二層互通問題,是未來二層網絡隔離技術的主要發展方向。不過VXLAN技術目前仍屬于實驗,推廣階段,很多的網絡芯片都不支持,而且VXLAN的兼容性不足。和QINQ/VLAN-MAPPING相比,VXLAN相當于新增了一個報文頭,天價頭部的多次封裝又導致了傳輸效率的降低,同時技術的復雜性變大。跨數據中心的VXLAN要通過ISIS協議進行隧道的互訪,說白了VXLAN已經是一種隧道技術,而QINQ/VLAN-MAPPING只不過在原始報文上稍加東西,兩者技術實現已經出現了較大差別。VXLAN要考慮MTU的問題,而QINQ/VLAN-MAPPING一般只增加4字節的VLAN TAG,也不用考慮MTU問題。類似VXLAN的技術還有微軟的NVGER和STT等,由于VXLAN是由VMware、思科、Arista、Broadcom、Citrix和紅帽共同提出的IETF草案,這些都是各個技術領域的巨頭企業,由這些企業共同提出顯然非常具有說服力,因此VXLAN技術得到了最為廣泛的認可,成為如此發展最為成熟的新二層數據中心技術,雖然一時間還無法完全替代QINQ和VLAN-MAPPING,但是已經開始有不少的用戶接受VXLAN技術,并愿意去嘗試用VXLAN技術。
任何一種技術都是有缺陷的,不可能做到盡善盡美。二層網絡技術在演進,只不過是解決一些眼前遇到的問題,新的技術也不可避免的要引入一些新的問題。不管怎樣,二層技術的進步,幾乎代表了整個網絡時代的變遷,是網絡技術發展史上最為濃重的一筆。二層封裝技術的出現,給整個網絡應用業務部署帶來了活力。隨著二層網絡的進化,一些技術逐漸淡出歷史舞臺,新的技術涌現出現,為網絡增彩。