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