提到SPB首先要先說一下PBB。PBB(Provider Backbone Bridging)是IEEE于2008年完成的802.1ah標(biāo)準(zhǔn),為運營商城域以太網(wǎng)定義了一整套MACinMAC的轉(zhuǎn)發(fā)機制。但PBB只定義了轉(zhuǎn)發(fā)平面的封裝內(nèi)容,當(dāng)報文封裝上外層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ū)域中進行拓?fù)涔芾砼c環(huán)路保護,說白了就是通過手工方式配置一堆指定路徑取代STP的自動收斂。目前IEEE還有個相關(guān)的標(biāo)準(zhǔn)P802.1Qbf, PBB-TE infrastructure protection處于草案階段,預(yù)計2011年發(fā)布。
PBB-TE靜態(tài)規(guī)劃轉(zhuǎn)發(fā)路徑,明顯無法適用于大型二層網(wǎng)絡(luò)擴展,于是IEEE再搞出個P802.1aq SPB(Shortest Path Bridging)來,當(dāng)前也還處于草案階段。從IEEE的資料上看SPB主要是為了解決STP阻塞鏈路浪費帶寬的問題而研究出來的。從實現(xiàn)上來看,同樣是采用了L2 ISIS作為其控制平面協(xié)議進行拓?fù)鋵W(xué)習(xí)計算,用MACinMAC封裝方式在SPB區(qū)域內(nèi)部進行報文傳輸。和TRILL很像吧,好在IEEE和IETF都是開放的標(biāo)準(zhǔn)化組織,不存在專利之爭。
SPB可細(xì)分為SPBV(VLAN QinQ)和SPBM(MACinMAC)兩個部分,目前看主要用到的是SPBM。
SPBM是標(biāo)準(zhǔn)的MACinMAC封裝,在SPB區(qū)域中數(shù)據(jù)報文也都是依靠外層MAC做傳統(tǒng)Ethernet轉(zhuǎn)發(fā)。外層Ethernet報頭中的源目的MAC就代表了SPB區(qū)域邊緣的UNI設(shè)備,此設(shè)備MAC是由L2 ISIS在SPB區(qū)域中傳遞的。
由于在SPB網(wǎng)絡(luò)中還是采用傳統(tǒng)Ethernet進行轉(zhuǎn)發(fā),因此需要定義一系列的軟件算法以保證多路徑的廣播無環(huán)和單播負(fù)載均衡。下面介紹幾個主要的部分:
1、首先SPB定義了I-SID來區(qū)分多個拓?fù),I-SID信息在數(shù)據(jù)報文中以BVID(外層Ethernet報頭中的VLAN Tag)形式攜帶,這樣可以解決不同業(yè)務(wù)多拓?fù)滢D(zhuǎn)發(fā)的問題。
2、每個SPB節(jié)點都會為每個I-SID計算三棵樹:到達所有相關(guān)UNI節(jié)點的SPT(Shortest Path Tree)用于單播與組播報文的轉(zhuǎn)發(fā);ECT(Equal Cost Tree)以處理兩個UNI間存在多條等價路徑時負(fù)載均衡轉(zhuǎn)發(fā);自己為根的多播樹MT(Multicast Tree)用于未知單播與廣播報文轉(zhuǎn)發(fā)。
3、任意兩點間的Shortest Path一定是對稱的;ECT的負(fù)載均衡是基于不同I-SID分擔(dān)的;總的來說,SPB和TRILL/FabricPath相比主要有以下不同:
SPB目前的最大困擾是轉(zhuǎn)發(fā)路徑靠軟件算法保障,尤其在多路徑負(fù)載分擔(dān)時,對CPU計算壓力遠(yuǎn)遠(yuǎn)超過TRILL和FabricPath,因此實際轉(zhuǎn)發(fā)效率令人存疑。而且SPB的出發(fā)點是運營商的城域以太網(wǎng)環(huán)境應(yīng)用,是否能適用于數(shù)據(jù)中心網(wǎng)絡(luò)還有待觀察。當(dāng)前802.1aq SPB已經(jīng)進入到Draft4.0,對其細(xì)節(jié)有興趣的同學(xué)可以去IEEE網(wǎng)站注冊下載學(xué)習(xí)。
SPB是純軟件的解決方案,不需要更新轉(zhuǎn)發(fā)芯片去支持,因此只要其標(biāo)準(zhǔn)化后,任何廠家都可以很快推出支持的版本,