展望核心路由器技術(shù)的未來發(fā)展方向
隨著我國路由行業(yè)的發(fā)展,也推動了核心路由器技術(shù)的升級,這里我們主要分析了核心路由器技術(shù)的未來發(fā)展方向,為了緩解互連瓶頸,在最近幾年涌現(xiàn)出了許多新的系統(tǒng)和解決方案,其中采用專用ASIC來完成規(guī)定的數(shù)據(jù)包處理工作是十分理想的,但它的開發(fā)周期太長,復(fù)雜的ASIC要18個月到2年時間,每一個ASIC的開發(fā)都必須經(jīng)歷一個設(shè)計和制造的周期,適應(yīng)不了當(dāng)今越來越短的產(chǎn)品開發(fā)周期。
網(wǎng)絡(luò)處理器從2000年初出現(xiàn)到現(xiàn)在被許多網(wǎng)絡(luò)設(shè)備制造商選作新一代核心路由器技術(shù)的核心處理器。而在這段時間里,能夠開發(fā)出成熟的NPU芯片的公司也從開始的兩三個迅速增加到了十幾個,而且NPU的處理能力也從2.5Gbps擴(kuò)展到10Gbps。這些都說明網(wǎng)絡(luò)處理器技術(shù)在網(wǎng)絡(luò)產(chǎn)品的市場中越來越占用重要的位置。尤其在高端路由器市場,網(wǎng)絡(luò)處理器以其杰出的包處理性能及可編程性已經(jīng)成為構(gòu)成路由轉(zhuǎn)發(fā)引擎不可替代的部分。與傳統(tǒng)的處理器相比,網(wǎng)絡(luò)處理器具有以下的優(yōu)勢:
1、網(wǎng)絡(luò)處理器可以提供數(shù)據(jù)包的線速轉(zhuǎn)發(fā)功能,包括數(shù)據(jù)包的分類、統(tǒng)計和轉(zhuǎn)發(fā)。另外還可以根據(jù)用戶程序的要求進(jìn)行數(shù)據(jù)包的重組和分拆;
2、網(wǎng)絡(luò)處理器可以根據(jù)用戶需要進(jìn)行帶寬的分配和優(yōu)先級定義,實現(xiàn)對各類用戶數(shù)據(jù)包的分類管理;
3、實現(xiàn)對三層及三層以上協(xié)議的分析。
由于看到了網(wǎng)絡(luò)處理器巨大的應(yīng)用前景,網(wǎng)絡(luò)處理器的制造商在提供IC產(chǎn)品的同時,也開始提供各種通用的軟件功能模塊。這些軟件功能塊大大節(jié)省了使用這些NPU的設(shè)備商的產(chǎn)品設(shè)計時間,提高了產(chǎn)品的競爭力。總的來說,網(wǎng)絡(luò)處理器一方面保持了基于CPU設(shè)計的靈活性,一方面在實際上消除了傳統(tǒng)CPU的瓶頸問題。在這類體系結(jié)構(gòu)中,網(wǎng)絡(luò)處理器存在于物理接口器件與交換結(jié)構(gòu)之間的接口卡上,擔(dān)負(fù)本卡上數(shù)據(jù)包的轉(zhuǎn)發(fā)和管理。
大容量交換矩陣的應(yīng)用
在最初的交換式結(jié)構(gòu)中,由接口卡負(fù)責(zé)發(fā)送信息包的報頭,通過交換結(jié)構(gòu)送至一個轉(zhuǎn)發(fā)引擎,由它做出轉(zhuǎn)發(fā)決定,并將處理結(jié)果返回接口卡。接口卡再將信息包轉(zhuǎn)發(fā)至相應(yīng)的輸出接口。隨著網(wǎng)絡(luò)處理器的引入,交換結(jié)構(gòu)更加不可缺少。在這種系統(tǒng)中,網(wǎng)絡(luò)處理器位于各個線卡上,而交換結(jié)構(gòu)在輸入線卡與輸出線卡之間提供一對一的直接連接。
交換結(jié)構(gòu)的實現(xiàn)方式可以分為三種:共享內(nèi)存、共享總線和矩陣式交換。其中共享內(nèi)存方式實現(xiàn)簡單、也可以達(dá)到比較高的速率(20Gbps),但是速率的進(jìn)一步提高將受到內(nèi)存速度的限制,很難有更大的突破;共享總線易于擴(kuò)展,也比較容易實現(xiàn),但是速率相對較低。而矩陣式交換則可以達(dá)到比較高的交換速率,而且隨著技術(shù)的發(fā)展,速率還可以進(jìn)一步提高。目前最常用的結(jié)構(gòu)形式是輸入口與輸出口的8×8,或16×16矩陣,帶寬范圍涵蓋了OC—3至OC—192。矩陣式交換結(jié)構(gòu)一般包括兩個部分流量管理單元和交換矩陣。其中流量管理單元位于各個線卡上,與不同的網(wǎng)絡(luò)處理器相連,實現(xiàn)以下的功能:
1、作為網(wǎng)絡(luò)處理器與交換矩陣的接口,接收網(wǎng)絡(luò)處理器輸出的數(shù)據(jù)包,進(jìn)行數(shù)據(jù)緩沖并轉(zhuǎn)換成可以為交換矩陣接收的數(shù)據(jù)格式;
2、與NPU緊密結(jié)合,實現(xiàn)多播、廣播、端口流量分配、優(yōu)先級管理等功能。
Crossbar是交換結(jié)構(gòu)的核心部分。Crossbar的容量是非常靈活的,理論上可以隨著端口數(shù)的增加無限增長。目前已經(jīng)有許多IC公司宣布可以提供從最常用的40G交換矩陣到T級規(guī)模的交換矩陣產(chǎn)品。
以硬件查找路由表代替軟件查表
傳統(tǒng)的基于軟件的路由查找策略,如樹或哈希算法,其執(zhí)行過程都是相當(dāng)慢的,而且與路由表的大小相關(guān)聯(lián)。所以,這些方法只能用于比較小的、性能較低的包轉(zhuǎn)發(fā)應(yīng)用。采用哈希算法和樹相結(jié)合的方法通常可以減少每次搜索對寄存器的訪問次數(shù)。例如,動態(tài)編程和附加二級查找樹可以減少路由查找需要的訪問次數(shù)。盡管這種方式可以使得查找過程流水線化,但是數(shù)據(jù)結(jié)構(gòu)的高度優(yōu)化和壓縮使得路由表的更新需要花費更多的寄存器訪問和處理器周期。當(dāng)路由表增大時,這個值還會增加。在路由表更新時,輸入的數(shù)據(jù)包必須被緩存或丟棄,降低了核心路由器技術(shù)的性能。另外,基于軟件查找和更新路由表的不確定性增加了包傳輸時的抖動,因此必須進(jìn)行包的緩存,在高速率時還會造成丟包。
因此,為了適應(yīng)網(wǎng)絡(luò)的發(fā)展,理想的包轉(zhuǎn)發(fā)方案必須能夠不但保證線速的數(shù)據(jù)轉(zhuǎn)發(fā)速率,并且要提供足夠大的路由表來滿足下一代的路由設(shè)備的需要(在邊界位置應(yīng)達(dá)到512K)。同時它還要能夠以很小的更新時延來處理長時間的突發(fā)路由表更新。盡管通常路由表的更新為每秒幾百次,但瞬間突發(fā)更新則可能會高出很多。要解決這個問題,目前來看最為有效的辦法是采用專門的協(xié)處理器結(jié)合內(nèi)容尋址寄存器CAM來完成快速路由查找或更新。下一代網(wǎng)絡(luò)發(fā)展的總體趨勢必然是帶寬的迅速增長和速度的不斷提高。核心路由器技術(shù)這個中心節(jié)點的交換容量也必然會以幾十~幾百倍的速度增長。這時,核心路由器技術(shù)的發(fā)展就會面臨兩個問題:
1、核心路由器技術(shù)的端口數(shù)量大大增加。按照一個交換容量為160G的系統(tǒng)計算,如果都采用速率為OC192的線卡,則系統(tǒng)中線卡的數(shù)量將達(dá)到64個。為了容納如此多的線卡,核心路由器技術(shù)的體積不可避免的會變得非常之龐大。
2、線卡數(shù)量的增加及每個線卡上數(shù)據(jù)速率的提高都對路由器背板的設(shè)計提出了更高的要求,需要更多的屏蔽和更多的信號層,也就是更厚的背板。這樣的要求顯然是不可能實現(xiàn)的。
這兩個問題的解決方法都是相同的,也就是試圖將線卡和交換系統(tǒng)分離開來。目前,許多Switch Fabric的制造商已經(jīng)在其產(chǎn)品中采用了一種稱為SERDES的接口來連接位于線卡上的TM單元和交換板上的Crossbar。SERDES接口是一種類似SDH標(biāo)準(zhǔn)的接口,在其數(shù)據(jù)幀中也分為開銷和凈荷兩部分。其中開銷字節(jié)傳輸?shù)氖且恍┱埱笮畔⒒蛄骺匦畔ⅰT诮粨Q板上,各輸入端口的同步通過SERDES數(shù)據(jù)幀中傳遞的同步時鐘來保證。SERDES接口雖然現(xiàn)在還沒有被NP論壇接受為一種通用的接口標(biāo)準(zhǔn),但它的出現(xiàn)為以后實現(xiàn)線卡與交換單元的光連接打下了基礎(chǔ)。