Cisco最后的王牌—FabricPath
眾所周知,Cisco正憑借Nexus產品平定整個數據中心網絡市場,2010年,Cisco打出了深藏已久的最后一張王牌—FabricPath,至此,Nexus交換機的主要特性已全部面向公眾發布,FabricPath為整個計劃添上了最后一塊基石,進一步穩固了Nexus作為下一代數據中心網絡平臺的地位。
大部分人(包括我)第一次閱讀FabricPath華麗的白皮書后,只朦朧地知道這是一個“能在大型二層數據中心網絡實現多路徑的東東”,既然FabricPath解決的是數據中心的問題,我們首先需要弄清楚數據中心到底有什么問題。
今天的大部分數據中心網絡是遵循標準的層次化理念建設的,分為接入層和匯聚/核心層,接入層和匯聚層之間為二層鏈路,三層網關設在匯聚或核心,所有的二層鏈路上都運行生成樹協議(STP),當任意兩點間有一條以上路徑可達時,STP會block多余的路徑,以保證兩點間只有一條路徑可達,從而防止環路的產生。這種模式在過去很長一段時間被大規模采用,因為其部署起來非常簡單,接入層設備不需要復雜的配置,大部分的網絡策略只要在匯聚層集中部署就能分發到全網。但隨著數據中心的規模不斷擴張,這種模型逐漸顯得力不從心。
未來數據中心內部的橫向流量將越來越大,新加入的設備同原有設備之間仍然要運行STP,如果兩臺服務器之間只有一條鏈路可行,其余的萬兆交換機端口全被block,不但是投資的極大浪費,也無法支持業務的快速擴展;其次,當交叉鏈路數量增加時,二層網絡的設計會變得非常復雜,哪條鏈路該保留哪條鏈路該阻斷?三層網關設在何處?類似這樣的問題會冒出一大堆,這就失去二層網絡配置簡單的優勢;最后,傳統的二層MAC地址沒有層次化的概念,同一個二層網絡內的接入交換機上存儲本網段所有設備的MAC地址,這很容易導致邊緣設備的MAC地址空間耗盡,特別是在虛擬化的數據中心內,虛擬機的MAC地址數量可能以千計。
如果二層互聯不能解決問題,另一種思路是在匯聚交換機和接入交換機上設置IP網關,通過三層路由將所有交換機連接起來,類似的解決方案還包括將網關設置在核心設備上,通過核心設備集中互聯。這個做法以前也許勉強可行,但在虛擬化環境中,二層網絡是虛擬機遷移的基礎。虛擬化的最大特點是可以將業務動態部署到數據中心的任何計算資源上,如果這些計算資源(也就是服務器)被過多的三層網關隔離開來,也就失去了虛擬化的優勢。
同時,采用三層接入設備會產生大量的三層網關以及無數個讓網管人員抓狂的地址段。動態路由協議的行為往往難以預測,在重要數據中心,為了保證網絡行為的可控性,每臺交換機的路由策略都要經過仔細琢磨,這個工作量過于龐大;而如果采用靜態路由,一旦后期需要改動某個地址段的范圍,可能需要改寫一大段接入換機的路由表,更不用提相關訪問控制策略的變動。
至此,我們走進了死胡同,虛擬化的應用要求基礎網絡在擴展時保持一個完整的二層環境,而隨之而來的STP和地址空間問題又成為繞不開的坎,在接受二層環境的同時,我們基本上也就同一大堆時髦的字眼say byebye了,這些字眼包括但不僅限于“動態擴展”、“多路徑”、“快速收斂”、“層次化尋址”等等,仰望IP路由,二層網絡就好象一個生活在原始社會的苦行僧,忍受著種種的考驗,傳統網絡在支持虛擬化數據中心擴張時已經越來越吃力。
為了改變這種尷尬的局面,在燒掉大把銀子之后,Cisco的FabricPath終于閃亮登場了!
目標
簡單說,FabricPath是Cisco Nexus交換機上的一項技術特性,其目標是在保證二層環境的前提下,修復前文所說的缺陷,這個技術需要做到以下幾點:
實現兩點間多條路徑同時轉發流量EMCP(Equal Cost Multi Pathing);
類似IP網絡的平滑擴展;
快速收斂;
防止廣播風暴;
保持原有二層網絡配置的簡潔性
更準確地說,我們要擺脫傳統二層“交換”的弊端,在二層環境中實現類似三層IP的“路由”行為。
二、FabricPath:從“交換”到“路由”
L2不給力的原因
我們知道FabricPath的目標是為傳統二層環境設計一個增強型方案,以屏蔽原來的缺陷,實現對數據幀的“路由”轉發。要明白FabricPath是怎么做到這點的,首先要看看layer 2這些不給力的毛病到底是怎么出來的?
傳統二層以太網環境中的數據轉發是非常簡單的,一臺二層交換機一輩子干的活可以用以下幾句話概括:
1)收到數據幀–>2)查看目的地址–>3)查看MAC地址表–>4)將數據幀從對應端口送出去
偶爾,當這個流程進行到第三步時,交換機會發現目的地址不在自己的MAC地址表中,它會怎么做呢?這臺茫然的交換機就會將這個數據幀從所有的端口廣播出去!沒錯,是整個幀從所有端口發送出去,希望其他交換機能知道正確目的地。且不說,這個方式在今天看來是多沒有效率,當設備之間存在環路時,這種幀會被無盡地轉發下去,最終形成廣播風暴。
為了解決這個問題,交換機廠商引入了STP。STP的機制也極其簡單,就是通過阻斷二層端口來防止環路,并阻止數據幀從其接收到的端口再轉發出去。
廣播幀在任意節點只會被轉發一次,避免了被永遠轉發下去。但如前所述,運行STP的代價是非常昂貴的,接入設備只有一條上聯鏈路沒被block,而且,在復雜的網絡連接中,控制STP的行為變得很困難,一旦出現震蕩,其收斂效率也非常低下。
另一方面,二層交換機通過學習接收到的數據幀的源地址建立MAC地址表,所有接收到的數據幀源地址都會被放進MAC地址表中,導致一臺交換機可能學習到整個網段內的所有二層地址,就算它大部分時間只跟其中的一小部分有聯系。
由此可見,今天的二層網絡過于簡單,交換機只會學習網絡地址,不會基于學到的地址規劃出一套轉發數據的最優方案,它的問題類似于只有一個數據平面,沒有控制平面的概念,這就導致二層交換機不可能有效地進行“路由”,從而引入了STP等一系列問題。
- 第 1 頁:Cisco最后的王牌—FabricPath(1)
- 第 2 頁:FabricPath的實現:新的控制平面#
- 第 3 頁:結語#
本文導航
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%
相關閱讀:
- [通信設計應用] Cisco多信道STM-1模塊功能試驗 2009-08-20
( 發表人:簡單幸福 )