發(fā)布時間:2016-03-22 09:50:35 來源: 作者:
這一篇的內(nèi)容會略長一些,各位讀者做好心理準備。
如上一篇介紹的那樣,傳統(tǒng)的二層技術(shù)無法實現(xiàn)真正意義上的大二層網(wǎng)絡(luò)。所以就要另外動腦筋來想辦法。
幸好這個世界上聰明的腦袋是很多的,這些技術(shù)大牛們各顯神通,在最近十來年的時間之間,提出了很多大二層網(wǎng)絡(luò)的解決方案。歸納總結(jié)一下,大概有這么幾個流派:
釜底抽薪派解決大二層網(wǎng)絡(luò)困境,還是從二層網(wǎng)絡(luò)的核心問題著手。既然二層網(wǎng)絡(luò)的核心問題是環(huán)路問題,那么解決了環(huán)路問題,就一勞永逸了。抽了“環(huán)路”的“薪”,那么因環(huán)路導(dǎo)致廣播風暴的“火”也就燒不起來了。也就意味著,二層網(wǎng)絡(luò)想做多大就可以做多大。
當然,要有效解決大二層環(huán)境中的環(huán)路問題,傳統(tǒng)的xSTP技術(shù)行不通了(具體原因前一篇中已經(jīng)分析過了)。幸好現(xiàn)在我們有了新的武器,那就是網(wǎng)絡(luò)設(shè)備虛擬化技術(shù)。
所謂網(wǎng)絡(luò)設(shè)備虛擬化技術(shù),就是將相互冗余的兩臺或多臺物理網(wǎng)絡(luò)設(shè)備組合在一起,虛擬化成一臺邏輯網(wǎng)絡(luò)設(shè)備,在整個網(wǎng)絡(luò)中只呈現(xiàn)為一個節(jié)點。
(這里的網(wǎng)絡(luò)虛擬化技術(shù)特指多虛一的技術(shù),另外也有一虛多的技術(shù),比如華為的VS(Virtual System)技術(shù),可以把一臺網(wǎng)絡(luò)設(shè)備虛擬成多臺網(wǎng)絡(luò)設(shè)備使用,這種虛擬化技術(shù)就有點和服務(wù)器的虛擬化比較相似,但是我們本文中不涉及這種虛擬化)
網(wǎng)絡(luò)設(shè)備虛擬化再配合鏈路聚合技術(shù),就可以把原來的多節(jié)點、多鏈路的結(jié)構(gòu)變成邏輯上單節(jié)點、單鏈路的結(jié)構(gòu),環(huán)路問題也就無疾而終了。(上一篇中已經(jīng)說明了,單節(jié)點、單鏈路的樹型結(jié)構(gòu)網(wǎng)絡(luò)是沒有環(huán)路問題的)
而且虛擬化技術(shù)和鏈路聚合技術(shù)都具備冗余備份功能,單臺物理設(shè)備或者鏈路故障時,可以自動切換到其他物理設(shè)備和鏈路來進行數(shù)據(jù)轉(zhuǎn)發(fā),保證網(wǎng)絡(luò)的可靠性。
以網(wǎng)絡(luò)設(shè)備虛擬化+鏈路聚合技術(shù)構(gòu)建的二層網(wǎng)絡(luò)天然沒有環(huán)路,其規(guī)模僅受限于虛擬網(wǎng)絡(luò)設(shè)備所能支持的接入能力,只要虛擬網(wǎng)絡(luò)設(shè)備允許,二層網(wǎng)絡(luò)就可以想做多大就做多大。
網(wǎng)絡(luò)設(shè)備虛擬化的主要技術(shù)大致可以分為三類:框式設(shè)備的堆疊技術(shù)、盒式設(shè)備的堆疊技術(shù)、框盒/盒盒之間的混堆技術(shù)。有華為的CSS、iStack、SVF,CISCO的VSS、FEX,H3C的IRF等。具體的技術(shù)本文就不贅述了,后續(xù)會有相關(guān)文章詳細介紹。
但是網(wǎng)絡(luò)設(shè)備虛擬化方案也有一定的缺點:
1)這些協(xié)議都是廠家私有的,因此只能使用同一廠家的設(shè)備來組網(wǎng)。
2)受限于堆疊系統(tǒng)本身的規(guī)模限制,目前最大規(guī)模的堆疊/集群大概可以支持接入1~2萬主機,對于超大型的數(shù)據(jù)中心來說,有時候就顯得力不從心了。但是對于一般的數(shù)據(jù)中心來說,還是顯得游刃有余的。
移花接木派要解決的也是二層網(wǎng)絡(luò)的環(huán)路問題,但是著眼點不是杜絕或者阻塞環(huán)路,而是在有物理環(huán)路的情況下,怎樣避免邏輯轉(zhuǎn)發(fā)路徑的環(huán)路問題。
這一派的大牛們從三層網(wǎng)絡(luò)的機制中找到了靈感。
我們都知道,二層以太網(wǎng)的幀交換不能有環(huán)路,冗余鏈路必須阻塞掉。但是三層轉(zhuǎn)發(fā)網(wǎng)絡(luò)也是有環(huán)路的,為啥就沒有這些問題呢?而且三層網(wǎng)絡(luò)還可以利用冗余鏈路做ECMP。它們的區(qū)別在哪里?
其實原因很簡單,因為三層網(wǎng)絡(luò)比二層網(wǎng)絡(luò)“聰明”!二層網(wǎng)絡(luò)的設(shè)備說不好聽一點,都是“近視眼”,只看到和自己相連的鏈路,不知道整個網(wǎng)絡(luò)的拓撲結(jié)構(gòu),轉(zhuǎn)發(fā)的時候只能通過大喊大叫來尋找目標(向除入端口之外的其他端口廣播),這種喊話的聲音來回傳遞就形成了廣播風暴。
而三層網(wǎng)絡(luò)就聰明智能得多了。三層網(wǎng)絡(luò)是依靠路由協(xié)議來計算轉(zhuǎn)發(fā)路徑的。通過路由協(xié)議,各臺路由設(shè)備就可以收集、擴散和更新彼此的路由信息,進而每一臺設(shè)備可以知道全部或者局部網(wǎng)絡(luò)的拓撲信息,所以在數(shù)據(jù)轉(zhuǎn)發(fā)的時候,可以保證從某個主機發(fā)出的報文只會向著目標主機一路前進,而不會再返回前續(xù)節(jié)點而造成路徑循環(huán)。
所以,移花接木派就想到了能不能把三層網(wǎng)絡(luò)的路由轉(zhuǎn)發(fā)方式引入到二層網(wǎng)絡(luò)中來呢?事實上他們做到了。通過在二層報文前插入額外的幀頭,并且采用路由計算的方式控制整網(wǎng)數(shù)據(jù)的轉(zhuǎn)發(fā),不僅可以在冗余鏈路下防止廣播風暴,而且可以做ECMP。這樣可以將二層網(wǎng)絡(luò)的規(guī)模擴展到整張網(wǎng)絡(luò),而不會受核心交換機數(shù)量的限制。當然這需要交換機改變傳統(tǒng)的基于MAC的二層轉(zhuǎn)發(fā)行為,而采用新的協(xié)議機制來進行二層報文的轉(zhuǎn)發(fā)。
題外話:有喜歡鉆研的同學可能會疑問,那為啥當初二層網(wǎng)絡(luò)不直接按照這種方式設(shè)計呢?而要設(shè)計成這樣一個比較弱智的轉(zhuǎn)發(fā)行為模式?說白了,時代的不同而已,那個時候的網(wǎng)絡(luò)設(shè)備性能很低,要進行完整的路由計算,就要求網(wǎng)絡(luò)設(shè)備具有很高的性能(所以那個時候路由器很貴的?。?,而那個時候的局域網(wǎng)又都不大,沒有遇到像現(xiàn)在這種大二層的網(wǎng)絡(luò)需求,所以弱智一點的轉(zhuǎn)發(fā)行為更符合經(jīng)濟的原則。所以TCP/IP協(xié)議族就把拓撲發(fā)現(xiàn)定義在第三層。
當前的網(wǎng)絡(luò)設(shè)備的性能已經(jīng)不可同日而語了,以太網(wǎng)交換機完全有能力承擔更復(fù)雜的路由計算,而且又有大二層這種明確的需求,所以三層路由方式控制二層網(wǎng)絡(luò)轉(zhuǎn)發(fā)行為就變得可行和合理了。
通過路由計算方式進行二層報文的轉(zhuǎn)發(fā),需要定義新的協(xié)議機制。這些新的協(xié)議包括TRILL、FabricPath、SPB等。
TRILL是IETF推出的標準協(xié)議,而FabricPath則是CISCO在TRILL推出之前推向市場的“Pre-Standard”技術(shù),內(nèi)容與TRILL 類似,包含了一些私有的增強性功能和特性,我們暫不用去理會,基本上可以認為TRILL和FabricPath是差不多的(當然封裝格式啥的有點不太一樣)。
說起TRILL,就不能不提它的首席發(fā)明者Perlman,這是一個傳奇般的天才女人。前面我們提到的STP協(xié)議,就是她在1983年發(fā)明的,解決了以太網(wǎng)交換的環(huán)路問題。而她還有一項眾所周知的偉大發(fā)明,那就是IS-IS路由協(xié)議。這兩項發(fā)明是現(xiàn)代的數(shù)據(jù)通信網(wǎng)絡(luò)中不可或缺的重要發(fā)明。
到了二十一世紀,大二層網(wǎng)絡(luò)的需求超出了STP的能力范疇,Perlman坐不住了,于是她老人家閉關(guān)苦思一年,終于發(fā)明了TRILL協(xié)議。在TRILL協(xié)議中,Perlman把她最得意的一個“兒子”—— IS-IS引入到了局域網(wǎng)絡(luò)中,從而解決網(wǎng)絡(luò)風暴問題。
TRILL協(xié)議在原始以太幀外封裝一個TRILL幀頭,再封裝一個新的外層以太幀來實現(xiàn)對原始以太幀的透明傳輸,TRILL交換機可通過TRILL幀頭里的Nickname標識來進行轉(zhuǎn)發(fā),而Nickname就像路由一樣,可通過IS-IS路由協(xié)議進行收集、同步和更新。
關(guān)于TRILL的詳細技術(shù)原理,后面會有專題詳細介紹,本文不詳述。(下面是一個典型的TRILL網(wǎng)絡(luò))
而SPB是IEEE推出的待定標準,算是TRILL的強有力競爭者。
要說SPB,需要先從PBB(Provider Backbone Bridging)說起,PBB是IEEE于2008年完成的802.1ah標準,為運營商城域以太網(wǎng)定義了一整套MAC-in-MAC的轉(zhuǎn)發(fā)機制。但PBB只定義了轉(zhuǎn)發(fā)平面的封裝內(nèi)容,當報文封裝上外層Ethernet報頭在運營商骨干區(qū)域二層網(wǎng)絡(luò)中時,仍然需要依靠傳統(tǒng)的STP進行環(huán)路避免和轉(zhuǎn)發(fā)控制。
于是IEEE在2009年又定義了802.1Qay標準:PBB-TE(Provider Backbone Bridge Traffic Engineering),用于在運營商的骨干區(qū)域中進行拓撲管理與環(huán)路保護,說白了就是通過手工方式配置一堆指定路徑取代STP的自動收斂。但PBB-TE靜態(tài)規(guī)劃轉(zhuǎn)發(fā)路徑,明顯無法適用于大型二層網(wǎng)絡(luò)擴展,于是IEEE再搞出個802.1aq SPB(Shortest Path Bridging)來,這回就直面大二層網(wǎng)絡(luò)的需求了。
從實現(xiàn)上來看,SPB同樣是采用了IS-IS作為其控制平面協(xié)議進行拓撲學習計算,而用MAC-in-MAC封裝方式在SPB區(qū)域內(nèi)部進行報文傳輸。所以這個實現(xiàn)和TRILL還是非常相似的。
關(guān)于SPB的詳細技術(shù)原理,以后有機會再做詳細介紹,本文不詳述。
關(guān)于TRILL和SPB,在數(shù)通領(lǐng)域都有各自的支持廠商。以CISCO為首,華為、Broadcom、Juniper等都是TRILL的有力支持者。而Avaya、ALU等則堅定的站在SPB這邊。而像HP等廠商,則表示我兩個都支持。。。。。。
另外,總的來說,像TRILL和SPB這些技術(shù)是CT廠商主推的大二層網(wǎng)絡(luò)技術(shù)方案。為什么CT廠商會鐘情于這些技術(shù)呢?其實這也很容易理解,因為這些技術(shù)的部署和實施都是在網(wǎng)絡(luò)設(shè)備上進行的,與服務(wù)器等IT設(shè)施無關(guān),所以CT廠商可以全盤控制。
瞞天過海派正式的學名應(yīng)該叫Overlay派,就是通過用隧道封裝的方式,將源主機發(fā)出的原始二層報文封裝后在現(xiàn)有網(wǎng)絡(luò)中進行透明傳輸,到達目的地之后再解封裝得到原始報文,轉(zhuǎn)發(fā)給目標主機,從而實現(xiàn)主機之間的二層通信。
通過封裝和解封裝,相當于一個大二層網(wǎng)絡(luò)疊加在現(xiàn)有的基礎(chǔ)網(wǎng)絡(luò)之上,所以稱為Overlay派。瞞天過海的含義也就在于此。
其實對于隧道封裝,我們并不陌生,比如最典型的GRE,就是把原始數(shù)據(jù)報文通過GRE封裝之后在三層網(wǎng)絡(luò)中進行傳輸,從主機的角度來看,中間的三層網(wǎng)絡(luò)是透明不可見的,也就相當于直接在源網(wǎng)絡(luò)和目標網(wǎng)絡(luò)之間直接拉了一根“光纖”!
但是GRE這樣的隧道協(xié)議是點到點的隧道協(xié)議,只能點對點建立隧道,如果有很多主機需要二層通信的話,就要每兩臺主機之間都拉上“光纖”,這是無法想象的。那怎么辦?
既然“光纖”不行,那就上“二層交換機”!
眾所周知,“二層交換機”是可以實現(xiàn)下掛主機之間相互二層通信的,而且主機從“二層交換機”的一個端口遷移到另一個端口時,IP地址是可以保持不變的。這樣不就可以實現(xiàn)大二層網(wǎng)絡(luò)的需求了嗎?
所以,Overlay方案的意義也就是在于此。Overlay方案的核心就是通過點到多點的隧道封裝協(xié)議,完全忽略中間網(wǎng)絡(luò)的結(jié)構(gòu)和細節(jié),把整個中間網(wǎng)絡(luò)虛擬成一臺“巨大無比的二層交換機”, 每一臺主機都是直接連在這臺“巨大交換機”的一個端口上。而基礎(chǔ)網(wǎng)絡(luò)之內(nèi)如何轉(zhuǎn)發(fā)都是這臺“巨大交換機”內(nèi)部的事情,主機完全無需關(guān)心。
基于這種“巨大交換機”的理解,那么就也很容易理解為什么這種方案就可以實現(xiàn)VM動態(tài)遷移了,不就是把VM主機從交換機的一個端口換到另一個端口嘛,完全無需變更IP地址。
公司簡介
company profile
解決方案
solution
客戶案例
Customer case
官方微信