基于VxWorks的T比特路由器2.5G POS接口板設計與實(shí)現
隨著(zhù)IP網(wǎng)絡(luò )的蓬勃發(fā)展、新的應用不斷涌現,用戶(hù)對網(wǎng)絡(luò )帶寬的要求也越來(lái)越高。運營(yíng)商采用OC一192(10Gbps)接口的光纖傳輸大大提高了光傳輸網(wǎng)絡(luò )的容量,而路由器作為網(wǎng)絡(luò )的主要節點(diǎn)設備,其處理速度就成為網(wǎng)絡(luò )通信的主要瓶頸之一。一臺具有50個(gè)oc一192接口的路由器交換容量將達到T比特級,國外T比特路由器已經(jīng)開(kāi)始試運行,國內開(kāi)發(fā)T比特路由器也迫在眉睫。本文所研制的T比特路由器,系統總吞吐率可達1.28Tbps,峰值交換能力為2.4Tbps,而每端口可達到10G的轉發(fā)速率;為達到10G的轉發(fā)速率,本路由器采用了4路2.5GPOS接口。
2. 硬件總體結構設計
本路由器硬件體系結構由線(xiàn)路接口子系統、轉發(fā)處理子系統、光背板交換網(wǎng)絡(luò )子系統和內部通信子系統四大部分組成。當接口收到數據包后,首先判斷該包的目的地址是否為本路由器,是則上交給單板軟件并由內部通信子系統交給主控處理;否則填充內部包頭,注明包類(lèi)型,協(xié)議類(lèi)型,目的機架號,端口號,接口號等信息,由同軸電纜交給轉發(fā)處理子系統,再由光背板轉發(fā)到目的接口。接口把轉發(fā)送過(guò)來(lái)的包和本路由器發(fā)出的包,進(jìn)行和路處理后再發(fā)送出去。
2.1 性能需求分析
1)根據以往路由器的經(jīng)驗,通常硬件FPGA 中的高速通道工作在2.5Gbps速率下比較穩定。就A口輸入數據速率10Gbps來(lái)說(shuō),4個(gè)2.5Gbps的高速通道就可以將數據傳到轉發(fā)處理模塊。但是,線(xiàn)路接口模塊的功能實(shí)現要求:數據包在經(jīng)過(guò)線(xiàn)路接口輸入處理模塊的處理后要加上128 bit即16個(gè)byte的內部標簽??紤]極限情況,A口收到的都是40 byte的超短包,那么,B口輸出的數據的極限速率為:[10Gbps×(40 byte+16 byte)]/40 byte=14Gbps.所以,本設計采用兩路2.5Gbps的高速通道來(lái)傳A口接收的10Gbps數據中的四分之一即2.5Gbps數據到轉發(fā)處理模塊。那么,B口的最大輸出速率為2.5Gbps×8=20Gbps,完全滿(mǎn)足B口傳輸帶寬要求。
2)在均勻輸入業(yè)務(wù)模型和平衡輸出模型條件下,假定定長(cháng)分組業(yè)務(wù)強度λ為0.95,為了控制分組的丟失概率小于10-8,可計算所需要的輸出隊列分組緩沖容量S約為650個(gè)分組。統計意義上IP分組的平均長(cháng)度為508字節??紤]到內部分組標簽附加的24字節,平均需要緩沖的IP分組字節數為532字節 總緩沖容量為650×532×8=2766400(Bits),即近似為2.8MBits。
3)本子系統的接口速度要達到10Gbps,如果每個(gè)包都是40字節,那么這時(shí)極限查表速率為:
對于輸入查表模塊的另一個(gè)指標為表項容量。按照極限容量來(lái)算,T比特路由器有8個(gè)機架,每個(gè)機架8個(gè)端口,每個(gè)端口8個(gè)接口,每個(gè)接口的IPv4單播組播、IPv6單播組播地址總計有64個(gè)。那么極限表項容量為8*8*8*64=32768(32k)條。達到這兩個(gè)設計指標是本模塊設計的一個(gè)難點(diǎn)。最終,我們選擇了一款CAM,有64K條表項,查表速率能夠達到100MSPS.這樣的指標完全可以達到本模塊的要求。
2.2 子系統功能劃分和模塊設計
如下圖所示,4 2.5G線(xiàn)路接口子系統可劃分為光電及串并轉換模塊、鏈路層處理模塊、輸出FPGA處理模塊、輸入FPGA處理模塊、協(xié)議報文上交緩存模塊、輸入查表模塊和時(shí)鐘處理模塊。為描述方便,將本子系統和路由器外部的接口稱(chēng)為A口,和轉發(fā)處理子系統的接口稱(chēng)為B口,和光背板子系統的接口稱(chēng)為G口,和單板處理機的接口稱(chēng)為F口,和時(shí)鐘子系統的接口稱(chēng)為J口。
從路由器外部接收數據時(shí),光電及串并轉換模塊負責從A口接收4路2.5Gbit/s串行光信號,轉換成16路差分622Mhz電信號;送由鏈路層處理模塊進(jìn)行鏈路層處理。輸入FPGA處理模塊針對輸入包的類(lèi)型,對輸入查表模塊存儲的本機IP地址表查表,進(jìn)行分路處理,若此報文的目的為本路由器則上交主控,否則轉發(fā)到B口。輸出FPGA處理模塊負責接收主控下發(fā)協(xié)議包和從系統光背板轉發(fā)G口數據包,合路后交給鏈路層處理模塊。鏈路層處理模塊把和路后的ppp報文封裝在SDH幀中,由光電及串并轉換模塊轉換成光信號發(fā)送出去。時(shí)鐘處理模塊為本模塊提供全局時(shí)鐘和將本模塊從線(xiàn)路上提取的時(shí)鐘輸出到時(shí)鐘板。
3. 軟件總體結構設計與實(shí)現
MPC860是基于PowerPC結構的通信控制器。MPC860具有存儲控制器,其存儲控制器的功能很強,可以支持各種存儲器,包括各種新型的DRAM和Flash,并可以實(shí)現與存儲器的無(wú)縫接口。
VxWorks是一套具有微內核,高性能,可伸縮的操作系統,支持廣泛的網(wǎng)絡(luò )通信協(xié)議,并能夠根據用戶(hù)的需求組合,增減。再加上其優(yōu)秀的開(kāi)發(fā)環(huán)境Tornado,使其成了嵌入式操作系統的首選。選擇MPC860加上嵌入式強實(shí)時(shí)操作系統VxWorks完全可以買(mǎi)足單板處理的性能需求。
上圖展示了單板軟件總體結構。單板操作系統是采用VxWorks,單板處理器是采用MPC860.路由器有不同種類(lèi)的線(xiàn)路接口板,每種接口板都需要完成許多相同的功能,可把這些相同的功能放在一個(gè)單獨的模塊中實(shí)現,減少冗余勞動(dòng)。板級支撐模塊為單板應用提供與主控軟件之間的通信、任務(wù)管理、內存管理和定時(shí)器管理等服務(wù);而單板應用為線(xiàn)路接口單板軟件模塊,完成單板轉發(fā)處理。
單板軟件主要完成的功能有:對各類(lèi)型單板硬件的初始化和配置,接收并處理主控下發(fā)的單板控制命令,完成軟硬件程序加載,以太網(wǎng)接口板運行IPv4 ARP協(xié)議,維護并向主控通告ARP信息,協(xié)議數據(源/目地址為本路由器的分組)收發(fā),維護路由器接口地址信息,差錯報文處理、記錄報文上報,業(yè)務(wù)性能統計數據收集與上報,維護單板與主控板間的通信連接。
其數據處理流程如下圖:?jiǎn)伟逵布邮盏奖韭酚善靼?,?xiě)入輸入FIFO,收包任務(wù)讀出包,封裝在定義的內部數據結構中,調用板級支撐模塊中的發(fā)送函數發(fā)給主控;主控下發(fā)的包則由消息分發(fā)模塊處理,協(xié)議包交給發(fā)包任務(wù),再寫(xiě)入輸出FIFO,然后發(fā)送出去,控制包則交主控處理模塊處理,完成向對應的功能。
由于本接口需要達到10G的速率,各任務(wù)之間必須有穩定和高速交互機制。VxWorks操作系統為任務(wù)間通信提供了許多通信方式,包括共享內存,信號量,消息隊列和管道,Sockets和遠程調用等。消息隊列允許長(cháng)度可變,數目可變的消息隊列,可以滿(mǎn)足多任務(wù)之間通信。而對相同優(yōu)先級的任務(wù)必須預先設置各任務(wù)的執行時(shí)間,否則第一個(gè)獲得CPU 的任務(wù)就會(huì )獨占,阻礙別的人物運行??傊?,在軟件設計中一定要充分了解VxWorks的工作機制,否則不但不能設計出效益高的程序,反而會(huì )阻礙VxWorks的有效運行。
4. 結束語(yǔ)
路由器作為Internet 的核心設備,對于Internet 的性能有著(zhù)重要影響。歷史上,路由器體系結構的變遷體現了由通用器件向專(zhuān)用器件,由串行處理向并行處理,從集中式到分布式的趨勢。依此可將路由器體系結構劃分為4代:?jiǎn)翁幚砥骷惺娇偩€(xiàn)結構,多處理器分布式共享總線(xiàn)結構,多處理器分布式交換結構,多機互連的可擴展集群結構。第一代路由器中,單一的中央處理器和總線(xiàn)成為系統計算能力和通信能力的瓶頸。第二代~第四代路由器體系結構逐步解決了這方面的問(wèn)題:第二代體系結構提高了線(xiàn)卡的報文轉發(fā)能力,主要貢獻為將中央處理器從報文轉發(fā)中解放出來(lái);第三代體系結構中采用了交換結構代替總線(xiàn),通過(guò)構造"無(wú)阻塞"的交換網(wǎng)絡(luò )來(lái)大幅度提高交換性能;第四代體系結構目前仍在不斷發(fā)展的過(guò)程中,通過(guò)某種互連方式將多個(gè)路由節點(diǎn)有機地結合在一起的可擴展路由器體系結構將是充滿(mǎn)希望的發(fā)展方向。
本文簡(jiǎn)要介紹了吞吐率高達1.28T比特的高性能路由器,并研究了其2.5GPOS接口的實(shí)現技術(shù),首先可以深入對POS技術(shù)在實(shí)現和應用上的研究,其次可以豐富路由器的接口功能,增加路由器接口的靈活性,增強路由器的兼容性,以便更為廣泛的利用網(wǎng)絡(luò )資源,實(shí)現網(wǎng)絡(luò )體系和架構的演進(jìn),為高性能路由器的研制和后續開(kāi)發(fā)提供可借鑒的技術(shù)思路。
評論