| 作者:馮淵 趙琳 摘要:提出了一種分布式的PlM—SM組播實(shí)現(xiàn)方案。將PIM—SM控制平面與數(shù)據(jù)平面功能分離,數(shù)據(jù)平面功能利用TCAM+FPGA的硬件方式實(shí)現(xiàn),達(dá)到快速數(shù)據(jù)轉(zhuǎn)發(fā)的目的,控制平面功能由軟件在主控完成,數(shù)據(jù)平面與控制平面之間通過(guò)高速內(nèi)部網(wǎng)絡(luò)進(jìn)行通信。經(jīng)過(guò)實(shí)際的測(cè)試表明,該方案在保證協(xié)議功能一致性的前提下,能夠大大提高組播教據(jù)轉(zhuǎn)發(fā)性能,使數(shù)據(jù)達(dá)到10G接口的線速轉(zhuǎn)發(fā)能力,是一種高效可行的PIM—SM組播實(shí)現(xiàn)方案。 關(guān)鍵詞:分布式P1M—SM組播TCAM+FPGA線速轉(zhuǎn)發(fā) 在寬帶網(wǎng)絡(luò)的建設(shè)和運(yùn)營(yíng)中,業(yè)務(wù)是先導(dǎo)和核心。其中組播業(yè)務(wù)作為最具潛力的未來(lái)業(yè)務(wù)之一,已經(jīng)得到了前所未有的重視。IP組播技術(shù)具有獨(dú)特的優(yōu)越性:在組播網(wǎng)絡(luò)中,即使用戶數(shù)量成倍增長(zhǎng),主干帶寬也不需要隨之增加。隨著寬帶技術(shù)的不斷發(fā)展,FTP、HTTP、SMTP等傳統(tǒng)的數(shù)據(jù)業(yè)務(wù)已無(wú)法滿足人們對(duì)信息的需求,而視頻點(diǎn)播、遠(yuǎn)程教學(xué)、新聞發(fā)布、網(wǎng)絡(luò)電視等將成為各大運(yùn)營(yíng)商爭(zhēng)相發(fā)展的新型業(yè)務(wù),這些業(yè)務(wù)都可以利用組播實(shí)現(xiàn),使得IP組播技術(shù)成為當(dāng)前網(wǎng)絡(luò)技術(shù)中的研究熱點(diǎn)之一。為此,人們開(kāi)發(fā)了多種組播路由協(xié)議來(lái)支持組播的應(yīng)用,而HM-SM是目前應(yīng)用最廣泛、功能最強(qiáng)大的一種,適合廣域網(wǎng)環(huán)境下用戶比較分散的組播業(yè)務(wù)的開(kāi)展。美國(guó)UC-Berkeley最早于1990年初開(kāi)始在MBone上研究基于組播的協(xié)同環(huán)境,國(guó)內(nèi)也于20世紀(jì)90年代后期開(kāi)始研究和應(yīng)用組播視頻會(huì)議。2004年4月,在CE]RNET主干網(wǎng)絡(luò)8個(gè)城市10個(gè)地區(qū)主節(jié)點(diǎn)之間成功配置了全程組播(Native multicast)。2003年SARS之后,開(kāi)始向38個(gè)省級(jí)主節(jié)點(diǎn)擴(kuò)展,其中主要實(shí)現(xiàn)了基于PIM-SM的組播視頻會(huì)議業(yè)務(wù)。實(shí)現(xiàn)高性能PIM-SM組播將會(huì)對(duì)未來(lái)實(shí)現(xiàn)大規(guī)模組播應(yīng)用產(chǎn)生深遠(yuǎn)而重要的影響。 PIM-SM組播通常采用純軟件或者利用ASIC、NP等硬件方式轉(zhuǎn)發(fā)。純軟件方式常用于中低端路由器,在轉(zhuǎn)發(fā)性能七難以滿足核心路由器的要求;由于PIM-SM協(xié)議還未完全定型,ASIC轉(zhuǎn)發(fā)方式難以更新升級(jí),并且開(kāi)發(fā)周期長(zhǎng)不適合在研發(fā)階段采用;而NP方式雖然開(kāi)發(fā)效率高但技術(shù)成熟度低。為此,本文提出了一種PIM-SM分布式實(shí)現(xiàn)方案。該方案以筆者研發(fā)的T比特級(jí)路由器為平臺(tái),將PIM-SM控制平面與數(shù)據(jù)平面分離,控制平面在路由器的主控上利用軟件方式實(shí)現(xiàn),而數(shù)據(jù)平面利用TCAM+FPGA的方式在路由器的轉(zhuǎn)發(fā)子系統(tǒng)上實(shí)現(xiàn)?紤]到路由查表的特性,將轉(zhuǎn)發(fā)表存放在商用TCAM芯片中,可以充分利用TCAM的關(guān)鍵字查找優(yōu)勢(shì),利用FPCA程序?qū)崿F(xiàn)轉(zhuǎn)發(fā)處理邏輯。這樣的設(shè)計(jì)方式開(kāi)發(fā)簡(jiǎn)單,成本較低,靈活性強(qiáng)。其實(shí)現(xiàn)模型如圖1所示。 1 實(shí)現(xiàn)難點(diǎn)分析 考察近幾年的路由器技術(shù)發(fā)展,單播路由協(xié)議采用硬件轉(zhuǎn)發(fā)、軟件維護(hù)已經(jīng)不是新的方案。這是因?yàn)閱尾ヂ酚杀眍愋捅容^單一,存放的是下一跳、網(wǎng)絡(luò)度量、出接口等固定長(zhǎng)度的信息,而且協(xié)議控制平面與數(shù)據(jù)平面功能劃分清晰。數(shù)據(jù)平面只用來(lái)轉(zhuǎn)發(fā)而不影響協(xié)議機(jī)制的運(yùn)行,它使用的轉(zhuǎn)發(fā)表只需要簡(jiǎn)單的目的地址和出接口信息(只有一個(gè)),其工作就是對(duì)到來(lái)的數(shù)據(jù)包進(jìn)行目的地址的匹配,然后根據(jù)匹配結(jié)果直接轉(zhuǎn)發(fā)即可。因此,單播協(xié)議的轉(zhuǎn)發(fā)功能采用硬件方式實(shí)現(xiàn)較容易,只需簡(jiǎn)單的硬件轉(zhuǎn)發(fā)表和判定邏輯對(duì)數(shù)據(jù)進(jìn)行處理,然后交給調(diào)度模塊直接輸出即可。  PIM-SM實(shí)現(xiàn)方案的設(shè)計(jì)可以借鑒單播路由協(xié)議的硬件轉(zhuǎn)發(fā)模式。但是,它實(shí)現(xiàn)硬件轉(zhuǎn)發(fā)比單播協(xié)議硬件轉(zhuǎn)發(fā)困難得多。其主要困難如下: (1)組播轉(zhuǎn)發(fā)過(guò)程較為復(fù)雜,輸入輸出項(xiàng)多且輸出項(xiàng)不定長(zhǎng)。PIM-SM組播路由協(xié)議的路由表項(xiàng)類型不單一.多達(dá)四種且有匹配優(yōu)先順序,數(shù)據(jù)包的匹配查找邏輯相當(dāng)復(fù)雜。 (2)組播轉(zhuǎn)發(fā)表容量龐大,表項(xiàng)寬。受器件水平的限制,硬件實(shí)現(xiàn)方案中可能根據(jù)可用器件的情況設(shè)計(jì)多級(jí)轉(zhuǎn)發(fā)表,而多級(jí)查表又限制了硬件實(shí)現(xiàn)方案速度優(yōu)勢(shì)的發(fā)揮。 (3)與單播轉(zhuǎn)發(fā)相比,數(shù)據(jù)包需要硬件復(fù)制和交換轉(zhuǎn)發(fā)。組播轉(zhuǎn)發(fā)不僅大大增加了路由器轉(zhuǎn)發(fā)模塊的復(fù)雜度,而且還增加丁調(diào)度模塊和接口模塊的復(fù)雜度。 (4)一些利用軟件容易解決的問(wèn)題,可能利用硬件實(shí)現(xiàn)就比較困難,例如轉(zhuǎn)發(fā)查表、RPF檢查、數(shù)據(jù)驅(qū)動(dòng)報(bào)文處理等。 (5)組播路由協(xié)議尚不完善,組播應(yīng)用還未普及,可以預(yù)見(jiàn)在未來(lái)的幾年中,隨著組播應(yīng)用的發(fā)展,IPv4組播路由協(xié)議還要不斷改進(jìn)和完善。目前IPv6組播路由協(xié)議還未有標(biāo)準(zhǔn),但是轉(zhuǎn)發(fā)設(shè)計(jì)必須考慮基于IPv6的宴現(xiàn)方式。 這些由協(xié)議特性造成的與單播路由協(xié)議硬件轉(zhuǎn)發(fā)的不同之處,也是PIM-SM實(shí)現(xiàn)硬件轉(zhuǎn)發(fā)的復(fù)雜之處。這種復(fù)雜性在具體設(shè)計(jì)和實(shí)現(xiàn)時(shí)雖然在一定程度上會(huì)增加硬件轉(zhuǎn)發(fā)設(shè)計(jì)的復(fù)雜度,但是只要合理設(shè)計(jì),采用正確的技術(shù)手段和策略,硬件轉(zhuǎn)發(fā)的性能優(yōu)勢(shì)是很明顯的。 2 方案設(shè)計(jì) 經(jīng)過(guò)分析,不難得出關(guān)于。PIM-SM分布式實(shí)現(xiàn)方案的大致輪廓。方案總體上可以分為數(shù)據(jù)平面轉(zhuǎn)發(fā)設(shè)計(jì)、控制平面實(shí)現(xiàn)方式設(shè)計(jì)和平面問(wèn)通信方式設(shè)計(jì)三個(gè)部分。其中,數(shù)據(jù)平面轉(zhuǎn)發(fā)部分的設(shè)計(jì)是整個(gè)方案的關(guān)鍵和難點(diǎn),影響著PIM-SM組播的轉(zhuǎn)發(fā)性能,其主要難點(diǎn)是轉(zhuǎn)發(fā)表格式和轉(zhuǎn)發(fā)邏輯的設(shè)計(jì),在T比特路由器的轉(zhuǎn)發(fā)子系統(tǒng)上實(shí)現(xiàn)。協(xié)議軟件部分負(fù)責(zé)控制平面的協(xié)議行為,應(yīng)該在T比特路由器的主控子系統(tǒng)上實(shí)現(xiàn),主要工作是維護(hù)協(xié)泌狀態(tài)機(jī)的運(yùn)行,與其他模塊進(jìn)行交互,以及對(duì)路由表項(xiàng)的更新管理。平面問(wèn)通信部分包括兩方面的工作:路由表下發(fā)和數(shù)據(jù)驅(qū)動(dòng)報(bào)文上報(bào)。這兩部分包括判定、封裝、上報(bào)和處理等操作,涉及到主控和轉(zhuǎn)發(fā)兩方面的工作,也是比較復(fù)雜的一部分,需要通過(guò)高速內(nèi)部網(wǎng)絡(luò)進(jìn)行通信?紤]到在T比特路由器上的實(shí)現(xiàn),PIM-SM實(shí)現(xiàn)方案的總體框圖如圖2所示。  圖2中只描繪了一個(gè)轉(zhuǎn)發(fā)的框圖,對(duì)于多個(gè)轉(zhuǎn)發(fā)的情況可以類推。 協(xié)議控制平面以及路由表管理部分在主控板上以軟件形式實(shí)現(xiàn),數(shù)據(jù)平面部分在T比特路由器的轉(zhuǎn)發(fā)板上利用硬件實(shí)現(xiàn),數(shù)據(jù)報(bào)文經(jīng)查表后直接轉(zhuǎn)發(fā)。主控與轉(zhuǎn)發(fā)之間通過(guò)高速網(wǎng)絡(luò)互聯(lián),數(shù)據(jù)驅(qū)動(dòng)報(bào)文在轉(zhuǎn)發(fā)生成后通過(guò)該網(wǎng)絡(luò)上報(bào)給主控的協(xié)議軟件處理。 值得注意的是,協(xié)議報(bào)文必須上交給主控進(jìn)行處理。因此,為減少轉(zhuǎn)發(fā)邏輯的復(fù)雜度可以將協(xié)議報(bào)文在線路接口部分判斷后直接通過(guò)內(nèi)部網(wǎng)絡(luò)上交給主控協(xié)議棧處理。這樣既可減少了硬件轉(zhuǎn)發(fā)部分的負(fù)擔(dān),叉使協(xié)議報(bào)文的處理不會(huì)與數(shù)據(jù)報(bào)文的處理相混淆。 前面已經(jīng)提到過(guò),影響數(shù)據(jù)高速轉(zhuǎn)發(fā)的關(guān)鍵因素是轉(zhuǎn)發(fā)表格式和查表轉(zhuǎn)發(fā)算法的設(shè)計(jì)。因此,必須從保證協(xié)議一致性的角度出發(fā)考慮哪些功能可以用硬件完成,哪些需要經(jīng)軟件計(jì)算后下發(fā)。這部分設(shè)計(jì)的正確與否不僅會(huì)影響協(xié)議一致性,而且會(huì)對(duì)轉(zhuǎn)發(fā)性能產(chǎn)生影響。經(jīng)過(guò)對(duì)協(xié)議轉(zhuǎn)發(fā)規(guī)則的細(xì)致分析以及針對(duì)本路由器體系結(jié)構(gòu)特點(diǎn),提出了以下HM-SM轉(zhuǎn)發(fā)表格式,如表1所示。該格式支持PIM-SM三種轉(zhuǎn)發(fā)項(xiàng)。 |