關鍵詞:路由器;同步光網絡;同步數字系列 ;嵌入式
1. 引言
作為因特網的樞紐,路由器正在朝速度更快、服務質量更好和更易于綜合化管理的三個方向發展?,F在芯片速度每18個月翻一翻,而因特網的流量是每六個月翻一翻。大家對路由器的研究也重點體現在提高路由器的處理速度上,相續提出了千兆位交換路由器(GSR,Gigabit Switch Router)和太位交換路由器(TSR,Terabit Switch Router)。
隨著IP的核心地位逐漸被認同,IP over ATM、然后ATM over SDH的方式被IP直接over SDH的方式取代。傳輸速度也很快從OC-12 ( 622Mbps ) 跳到OC-48 ( 2.5Gbps )。POS技術已經廣泛用于骨干網中,而POS接口成為高端路由器必不可少的一部分。
我所研制的T比特路由器,系統總吞吐率可達1.28Tbps,峰值交換能力為2.4Tbps,而每端口可達到10G的轉發速率。為達到10G的轉發速率,本路由器采用了4路2.5GPOS接口。文章在第二節描述了2.5GPOS接口的硬件體系結構的設計和性能需求分析,在第三節詳細闡述了軟件體系結構的設計與實現。
2. 硬件總體結構設計
本路由器硬件體系結構由線路接口子系統、轉發處理子系統、光背板交換網絡子系統和內部通信子系統四大部分組成。當接口收到數據包后,首先判斷該包的目的地址是否為本路由器,是則上交給單板軟件并由內部通信子系統交給主控處理;否則填充內部包頭,注明包類型,協議類型,目的機架號,端口號,接口號等信息,由同軸電纜交給轉發處理子系統,再由光背板轉發到目的接口。接口把轉發送過來的包和本路由器發出的包,進行和路處理后再發送出去。
2.1 性能需求分析
1)根據以往路由器的經驗,通常硬件FPGA 中的高速通道工作在2.5Gbps速率下比較穩定。就A口輸入數據速率10Gbps來說,4個2.5Gbps的高速通道就可以將數據傳到轉發處理模塊。但是,線路接口模塊的功能實現要求:數據包在經過線路接口輸入處理模塊的處理后要加上128 bit即16個byte的內部標簽??紤]極限情況,A口收到的都是40 byte的超短包,那么,B口輸出的數據的極限速率為:[10Gbps×(40 byte+16 byte)]/40 byte=14Gbps。所以,我們設計采用兩路2.5Gbps的高速通道來傳A口接收的10Gbps數據中的四分之一即2.5Gbps數據到轉發處理模塊。那么,B口的輸出速率為2.5Gbps×8=20Gbps,完全滿足B口傳輸帶寬要求。
2)在均勻輸入業務模型和平衡輸出模型條件下,假定定長分組業務強度λ為0.95,為了控制分組的丟失概率小于10-8,可計算所需要的輸出隊列分組緩沖容量S約為650個分組。統計意義上IP分組的平均長度為508字節??紤]到內部分組標簽附加的24字節,平均需要緩沖的IP分組字節數為532字節 總緩沖容量為650×532×8=2766400(Bits),即近似為2.8MBits的緩沖容量。
3)本子系統的接口速度要達到10Gbps,如果每個包都是40字節,那么這時極限查表速率為:
2.2 子系統功能劃分和模塊設計
如下圖所示,4 2.5G線路接口子系統可劃分為光電及串并轉換模塊、鏈路層處理模塊、輸出FPGA處理模塊、輸入FPGA處理模塊、協議報文上交緩存模塊、輸入查表模塊和時鐘處理模塊。為描述方便,將本子系統和路由器外部的接口稱為A口,和轉發處理子系統的接口稱為B口,和光背板子系統的接口稱為G口,和單板處理機的接口稱為F口,和時鐘子系統的接口稱為J口。
3. 軟件總體結構設計與實現
MPC860是基于PowerPC結構的通信控制器。它不僅是集成的微處理器,而且將很多外設的功能也集成在一起。MPC860具有存儲控制器,其存儲控制器的功能很強,可以支持各種存儲器,包括各種新型的DRAM和Flash,并可以實現與存儲器的無縫接口。
由美國風河公司(Wind River)推出的嵌入式強實時操作系統VxWorks因用于火星登陸車而名噪一時。VxWorks是一套具有微內核,高性能,可伸縮的操作系統,支持廣泛的網絡通信協議,并能夠根據用戶的需求組合,增減。再加上其的開發環境Tornado,使其成了嵌入式操作系統的。選擇MPC860加上嵌入式強實時操作系統VxWorks完全可以買足單板處理的性能需求。
單板軟件主要完成的功能有:對各類型單板硬件的初始化和配置,接收并處理主控下發的單板控制命令,完成軟硬件程序加載,以太網接口板運行IPv4 ARP協議,維護并向主控通告ARP信息,協議數據(源/目地址為本路由器的分組)收發,維護路由器接口地址信息,差錯報文處理、記錄報文上報,業務性能統計數據收集與上報,維護單板與主控板間的通信連接。
按照這些功能,把單板軟件分為初始化模塊,主控命令處理模塊,接口芯片監控和業務性能統計模塊,消息分發模塊,包發送模塊,報接收模塊,自檢模塊,CAM表維護模塊,工具函數模塊。正常運行時建立四個任務:主控處理任務,統計任務,發包任務,收包任務。
其數據處理流程如右圖:單板硬件接收到本路由器包,寫入輸入FIFO,收包任務讀出包,封裝在定義的內部數據結構中,調用板級支撐模塊中的發送函數發給主控;主控下發的包則由消息分發模塊處理,協議包交給發包任務,再寫入輸出FIFO,然后發送出去,控制包則交主控處理模塊處理,完成向對應的功能。
4. 結束語
高速增長的網絡和互聯網通訊量對現有的網絡基礎結構提出了更高的需求,也刺激了高性能網絡連接的發展。本文簡要介紹了吞吐率高達1.28T比特的高性能路由器,并研究了其2.5GPOS接口的實現技術,首先可以深入對POS技術在實現和應用上的研究,其次可以豐富路由器的接口功能,增加路由器接口的靈活性,增強路由器的兼容性,以便更為廣泛的利用網絡資源,實現網絡體系和架構的演進,為高性能路由器的研制和后續開發提供可借鑒的技術思路。
參考文獻:
[1] 楊德貴等,網絡與寬度IP技術 中國電力出版社,2002,11.
[2] 薛宏熙 邊計年 蘇明 數字系統設計自動化 清華大學出版社 1996,10.
[3] 周啟平 張楊 吳瓊 VxWorks 開發指南與Tornado實用手冊 中國電力出版社 2004,10
[4] 周啟平 VxWorks 下設備驅動程序及BSP開發指南 中國電力出版社 2004,8
[5] 孔祥營 柏桂枝 嵌入式實時操作系統VxWorks 及其開發環境Tornado 中國電力出版社 2002,1