交換機的交換架構(gòu)
交換機的交換架構(gòu)是框式交換機才有的概念,它最主要的作用是任意輸入端可以交換為任意輸出端。交換架構(gòu)的最基本組成為:輸入端口、輸出端口和連接輸入輸出端口的交換網(wǎng)絡(luò)。
業(yè)界主要的三種交換架構(gòu)如下圖所示:
為什么會出現(xiàn)架構(gòu)的變化?交換架構(gòu)本質(zhì)的出現(xiàn)就是為了解決多個端口之間轉(zhuǎn)發(fā)效率的問題。隨著數(shù)據(jù)量的增大,客戶對交換機接口數(shù)量的要求增多,框式交換機靈活的端口擴展,這些情況導(dǎo)致在硬件上,傳統(tǒng)的架構(gòu)很難部署,在轉(zhuǎn)發(fā)效率上,也容易出現(xiàn)轉(zhuǎn)發(fā)瓶頸。
一、MESH架構(gòu)
MESH架構(gòu)又叫全連接架構(gòu)。實際上就是將交換機的每一個端口(線卡),都通過背板走線的方式連接在一起, 每兩個端口之間都有一條線直接連接,所有的數(shù)據(jù)都是直接從輸入端轉(zhuǎn)發(fā)到輸出端。
線卡和線卡之間通過背板直接相連。每兩兩線卡之間都通過背板走線相連。典型為兩級交換架構(gòu),即 LC<--->LC。
架構(gòu)圖如下圖所示:
數(shù)據(jù)報文轉(zhuǎn)發(fā)流程:
1、報文從線卡1進入,跨卡報文送到與目的線卡連接的背板通路;
2、線卡1發(fā)送到背板的報文通過Hash等算法實現(xiàn)流量的均衡;
3、報文到達目的線卡發(fā)出。
整個架構(gòu)優(yōu)勢如下:
-
專用高速通道,數(shù)據(jù)可以無阻塞交換
-
轉(zhuǎn)發(fā)時延小,線卡之間直接轉(zhuǎn)發(fā)數(shù)據(jù)
-
綠色節(jié)能,沒有交換芯片,降低整個機身的功耗
架構(gòu)缺點:
-
對背板走線要求高
-
由于需要全端口互聯(lián),所以僅適合底槽位的設(shè)備,原因如下:
1、全互聯(lián),擴展性差
2、槽位數(shù)越多,需要連的線越多
3、槽位越多,需要的走線越長,走線越長信號越差,影響通訊的質(zhì)量
-
轉(zhuǎn)發(fā)速率受限于背板帶寬,因為沒有轉(zhuǎn)發(fā)芯片,所以轉(zhuǎn)發(fā)效率不是很高。
二、Crossbar架構(gòu)
Crossbar介紹
為了解決MESH架構(gòu)無法靈活擴展,轉(zhuǎn)發(fā)效率不高等問題,設(shè)計除了Crossbar架構(gòu)。在該架構(gòu)中,將交換業(yè)務(wù)交給交換網(wǎng)板或者集成了交換芯片的引擎來完成。線卡之間需要經(jīng)過交換網(wǎng)板才能轉(zhuǎn)發(fā)出去。
Crossbar架構(gòu)特征:
包含一到多個并行工作的Crossbar芯片,業(yè)務(wù)線卡通過背板走線連接到Crossbar芯片上,Crossbar芯片集成在主控引擎上。業(yè)務(wù)調(diào)度和均衡通常采用集中仲裁或者Hash方式
多級交換,典型為三級:LC<--crossbar-->LC。
Crossbar交換芯片架構(gòu):
如圖所示,每一條輸入鏈路和輸出鏈路都有一個CrossPoint,在CrossPoint處有一個半導(dǎo)體開關(guān)連接輸入線路和輸出線路,當來自某個端口的輸入線路需要交換到另一個端口的輸出點時,在CPU或交換矩陣的控制下,將交叉點的開關(guān)連接,數(shù)據(jù)就被發(fā)到另一個接口。
簡單地說,Crossbar 架構(gòu)是一種三級架構(gòu),它是一個開關(guān)矩陣,每一個CrossPoint都是一個開關(guān),交換機通過控制開關(guān)來完成輸入到特定輸出的轉(zhuǎn)發(fā)。如果交換具有N個輸入和N個輸出,那么該Crossbar Switch就是一個帶有N*(N-1)≈N²個CrossPoint點的矩陣,可見,隨著端口數(shù)量的增加,交叉點開關(guān)的數(shù)量呈幾何級數(shù)增長。對于Crossbar芯片的電路集成水平、矩陣控制開關(guān)的制造難度、制造成本都會呈幾何級數(shù)增長。所以,采用一塊Crossbar交換背板的交換機,所能連接的端口數(shù)量也是有限的。
優(yōu)點:CrossBar內(nèi)部無阻塞(相對的)。一個CrossBar,只要同時閉合多個交叉節(jié)點(crosspoint),多個不同的端口就可以同時傳輸數(shù)據(jù)。從這個意義上,我們認為所有的CrossBar在內(nèi)部是無阻塞的,因為它可以支持所有端口同時線速交換數(shù)據(jù)
劣勢:線卡間雖有多路徑,但無法實現(xiàn)嚴格的負載均衡和無阻塞。且受限于Crossbar芯片,在滿插槽位的情況下,也可能無法支持無阻塞。引擎和交換芯片集成在一起,一旦引擎掛了,就不能轉(zhuǎn)發(fā)數(shù)據(jù)了。
Crossbar在實現(xiàn)上又具體分為兩種架構(gòu),一種是無緩存的Crossbar架構(gòu),一種是有緩存的Crossbar架構(gòu),主要區(qū)別就是在每個Crosspoint處是否有緩存,當然隨著技術(shù)的發(fā)展,有緩存的Crossbar架構(gòu)也逐漸在輸入端加了緩存。
無緩存的Crossbar架構(gòu)
所謂的無緩存的Crossbar架構(gòu),就是每個交叉點沒有緩存,業(yè)務(wù)調(diào)度采用集中調(diào)度的方式,對輸入輸出進行統(tǒng)一調(diào)度,報文轉(zhuǎn)發(fā)流程如下:
1. 報文從線卡進入,線卡先向仲裁器請求發(fā)送;
2. 仲裁器根據(jù)輸出端口隊列擁塞情況,決定是否允許線卡發(fā)送報文到輸出端口;
3. 報文通過Crossbar轉(zhuǎn)發(fā)到目的線卡輸出端口。
但由于是集中調(diào)度,所以仲裁器的調(diào)度算法復(fù)雜度很高,擴展性較差,系統(tǒng)容量大時仲裁器容易形成瓶頸,難以做到精確調(diào)度。
緩存式Crossbar架構(gòu)
最早的緩存式Crossbar只有交叉節(jié)點帶緩存,而輸入端是無緩存的,被稱為”bus matrix”,后來,CICQ(聯(lián)合輸入交叉點排隊 )的概念被引入,即在輸入端用大的Input Buffer,在中間節(jié)點用小的CrossPoint Buffer。這種結(jié)構(gòu)采用分布式調(diào)度的方式進行業(yè)務(wù)調(diào)度,即輸入和輸出端都有各自的調(diào)度器,報文轉(zhuǎn)發(fā)流程如下:
1. 報文從線卡進入,輸入端口通過特定的調(diào)度算法(如RR算法)獨立地選擇有效的VOQ(虛擬輸出隊列);
2. 將VOQ隊列頭部分組發(fā)送到相應(yīng)的交叉點緩存;
3. 輸出端口通過特定的算法在非空的交叉點緩存中選擇進行服務(wù)。
由于輸入和輸出的調(diào)度策略相互獨立,所以很難保證交換系統(tǒng)在每個時隙整體上達到最佳匹配狀態(tài),并且調(diào)度算法復(fù)雜度和交換系統(tǒng)規(guī)模有關(guān),限制了其擴展性。
基于CICQ的Crossbar同時滿足了較大容量交換和較好的業(yè)務(wù)調(diào)度的需求,是一種比較完善的交換架構(gòu),交換容量可以從幾百G到幾T,通常支持10G接口但無法支持40G和100G接口。由于交換容量不是很大,交換網(wǎng)通常集成在主控板上,采用1+1主備或負荷分擔工作方式。
這種交換網(wǎng)版集成在主控板上的方式,好處是減少了槽位的占用,但是缺點比較多,比如:一旦主控板掛了,交換芯片也就掛了,無法繼續(xù)進行轉(zhuǎn)發(fā);芯片在管理板上,與線卡互聯(lián),因為線的速率是有限的,且不能擴展交換網(wǎng)版,所以交換性能是有限的。
至于為什么Crossbar架構(gòu)無法支持40G以上接口的流量呢?海翎光電的小編覺得有以下幾個原因:
-
初步覺的不支持40G以上的接口是受交換容量的限制。交換芯片畢竟是集成在引擎上的,每塊芯片的容量有上線,最多只能有兩塊交換芯片的前提下,交換容量的上限無法滿足40G端口的需求。
-
查閱資料說crossbar的數(shù)據(jù)轉(zhuǎn)發(fā)靜態(tài)IP轉(zhuǎn)發(fā),也就是說同一條IP的數(shù)據(jù)會走同一條路徑,可能出現(xiàn)源自同一IP的大流量數(shù)據(jù),被轉(zhuǎn)發(fā)到同一條路徑中,造成阻塞,而此時其他路徑卻是空閑的。比如當使用40G以上端口進行視頻業(yè)務(wù)轉(zhuǎn)發(fā)時,路徑壓力會變大,導(dǎo)致造成阻塞。
-
由于是通過仲裁器集中調(diào)度,所以系統(tǒng)流量大時,調(diào)度算法的設(shè)計會很復(fù)雜,不好設(shè)計。
MESH與Crossbar架構(gòu)區(qū)別:
三、CLOS架構(gòu)
近二十年來包交換網(wǎng)絡(luò)的高速發(fā)展,10G接口已經(jīng)逐漸無法滿足要求,40G口甚至100G口的交換機開始出現(xiàn)在市場,迫切需要超大容量和具備優(yōu)異可擴展性的交換架構(gòu),CLOS這個古老而新穎的技術(shù)再一次煥發(fā)出旺盛的生命力。
CLOS交換架構(gòu)是一個多級架構(gòu);在每一級,每個交換單元都和下一級的所有交換單元相連接。一個典型的CLOS交換三級架構(gòu)由(k,n)兩個參數(shù)定義,如下圖所示,參數(shù)k是中間級交換單元的數(shù)量,n表示的是第一級(第三級)交換單元的數(shù)量。第一級和第三級由n個k×k的交換單元組成,中間級由k個n×n的交換單元組成。整個構(gòu)成了k×n的交換網(wǎng)絡(luò),即該網(wǎng)絡(luò)有k×n個輸入和輸出端口。
對于需要更高容量的交換網(wǎng),中間級也可以是一個3級的CLOS網(wǎng)絡(luò)(即CLOS網(wǎng)絡(luò)可以遞歸構(gòu)建),比如4個第一(三)級n×n芯片加上2個n×n的第二級芯片可構(gòu)成一個2n×2n的交換網(wǎng)。由于CLOS網(wǎng)絡(luò)的遞歸特性,它理論上具有無與倫比的可擴展性,支持交換機端口數(shù)量、端口速率、系統(tǒng)容量的平滑擴展。
CLOS交換架構(gòu)可以做到嚴格的無阻塞(Non-blocking)、可重構(gòu)(Re-arrangeable)、可擴展(Scalable)。
(下圖是海翎光電的小編對上圖理解后畫的理解圖。 )
CLOS架構(gòu)特征:包含多塊獨立的交換網(wǎng)板(簡稱 FE),每塊網(wǎng)板上包含1個或多個FE交換芯片。
CLOS架構(gòu)中,我們又分為廣義CLOS架構(gòu)和狹義CLOS架構(gòu)。但一般來說,我們所說的CLOS架構(gòu)都是指的狹義CLOS架構(gòu)。
3.1 廣義CLOS架構(gòu)
廣義CLOS架構(gòu)類似于Crossbar架構(gòu),只不過是將交換舉證與管理引擎分離了,交換矩陣可以有多塊,具備多級交換架構(gòu)
在幾何拓撲上將多個Crossbar連成與上文描述的CLOS架構(gòu)相類似的形式,并采用靜態(tài)路由方式,即業(yè)務(wù)流進入交換網(wǎng)前,根據(jù)源端口指定或基于Hash算法選擇一條路徑。所以,屬于同一條流的所有報文將選擇同一條路徑進入交換網(wǎng)。顯然,當系統(tǒng)中業(yè)務(wù)流較為單一時,被Hash算法選中的路徑容易形成阻塞,而其它路徑則較為空閑。類似道理,業(yè)務(wù)流從第二級交換到第三級時,也容易形成阻塞。這種架構(gòu)不是嚴格意義上的無阻塞CLOS交換架構(gòu),其交換性能與基于CIOQ的Crossbar相當。
3.2 狹義CLOS架構(gòu)
轉(zhuǎn)發(fā)方式(基于動態(tài)路由的轉(zhuǎn)發(fā)方式)
因為這個轉(zhuǎn)發(fā)方式需要將數(shù)據(jù)包切成cell進行轉(zhuǎn)發(fā),所以也叫做基于Cell的動態(tài)負載。
1. 第一級線卡,每個業(yè)務(wù)流可通過Round-robin或隨機方式均勻發(fā)送到k條連到第二級的路徑上
2.入方向線卡將數(shù)據(jù)包切分為N個cell,其中:N=下一跳可用線路數(shù)量;
3. 交換網(wǎng)板采用動態(tài)路由方式,即根據(jù)下一級各鏈路的實際可用交換能力,動態(tài)選路和負載均衡,通過多條路徑將分片發(fā)送到出方向線卡;
4. 出方向線卡重組報文。
動態(tài)負載關(guān)鍵點在于能負載分擔地均衡利用所有可達路徑,由此實現(xiàn)了無阻塞交換。
動態(tài)路由關(guān)鍵點在于能負荷分擔地均衡利用所有可達路徑。對于第一級,每個業(yè)務(wù)流可通過Round-robin或隨機方式均勻發(fā)送到k條連到第二級的路徑上(通常基于信元的發(fā)送);到達第二級的業(yè)務(wù)流將基于信元自路由技術(shù)(Cell-based Self-routing),根據(jù)交換網(wǎng)路由選擇相應(yīng)路徑交換到第三級目的端口。第三級收到所有來自第二級的信元時,把信元重組成報文,并保證報文順序正確。動態(tài)路由方式由此實現(xiàn)了嚴格的無阻塞交換,并有利于減小加速比從而提高有效端口容量。
動態(tài)路由方式有一個突出優(yōu)點,即平滑支持更高速率的網(wǎng)絡(luò)端口,比如40GE/100GE。這是因為它可以充分利用所有可用路徑形成一個大的數(shù)據(jù)流通道,比如24條3.125Gbps通道可以支持100GE數(shù)據(jù)流。相反,靜態(tài)路由方式則受限于單條路徑的帶寬,比如基于XAUI接口的Crossbar交換,網(wǎng)絡(luò)端口速率最高只能達到10Gbps,無法支持40GE和100GE。
基于動態(tài)路由的CLOS架構(gòu),再結(jié)合合適的業(yè)務(wù)調(diào)度機制,就可以支持完善的QoS。采用CLOS交換架構(gòu)的典型設(shè)備有:銳捷N18000統(tǒng)一交換架構(gòu)核心交換機,Juniper T1600核心路由器。在2009年2月初,Juniper剛剛發(fā)布了TX-Matrix Plus,通過多框互聯(lián)技術(shù)支持把16臺T1600構(gòu)建成一個25Tbps的無阻塞交換系統(tǒng),顯示了CLOS架構(gòu)卓越的可擴展性。2004年,Cisco發(fā)布了其路由器旗艦產(chǎn)品CRS-1,采用了三級動態(tài)自路由的Benes交換架構(gòu),支持72個機架的互聯(lián),達到46T/92T的系統(tǒng)容量。Benes交換實質(zhì)上是CLOS交換架構(gòu)的一個特例。
由于CLOS交換系統(tǒng)容量很大,物理實現(xiàn)上,通常采用N+1個獨立的交換網(wǎng)槽位,與主控板控制平面徹底分離,一方面提高了系統(tǒng)容量可擴展性,另一方面極大程度上提高了轉(zhuǎn)發(fā)平面的可靠性,避免了控制平面出現(xiàn)故障或進行倒換時對轉(zhuǎn)發(fā)平面的影響。
CLOS與Crossbar的對比:
四、交換機網(wǎng)板設(shè)計
交換網(wǎng)板主要有三種設(shè)計,分別是非正交背板,正交背板,正交零背板
如圖1所示,非正交背板結(jié)構(gòu),業(yè)務(wù)線卡與交換網(wǎng)板互相平行,板卡之間通過背板走線連接。因為背板走線會帶來信號干擾,背板設(shè)計也限制了帶寬的升級,同時,背板上PCB的走線要求很高,從背板開孔就成了奢望,這直接導(dǎo)致純前后的直通風道設(shè)計瓶頸一直無法突破。所以背板帶寬限制了帶寬的升級,同時也增加了散熱的難度。
我們發(fā)現(xiàn)正交結(jié)構(gòu)能夠很好的減少背板走線,降低了信號衰減。因此將非正交背板改成了正交背板。但是同非正交背板設(shè)計一樣,背板帶寬限制了帶寬的升級,同時也增加了散熱的難度。因此我們就考慮,是不是可以不要背板呢?正交零背板的方式因此出現(xiàn)。
正交設(shè)計能減少背板走線帶來的高速信號衰減,提高了硬件的可靠性,無背板設(shè)計能夠解除背板對容量提升的限制,當需要更大帶寬的時候,只需要更換相應(yīng)板卡即可,大大縮短業(yè)務(wù)升級周期,并且因為沒有了背板的限制,交換機直通風道散熱問題迎刃而解,匹配數(shù)據(jù)中心機房空氣流的走向,形成了貫穿前后板卡的高速、通暢的氣流。由于正交結(jié)構(gòu)的優(yōu)勢,我們逐步轉(zhuǎn)變?yōu)榱苏槐嘲褰Y(jié)構(gòu)。
五、總結(jié)——架構(gòu)對比一覽