基于FPGA的高速數據中繼器設計的研究
根據高速數據中繼器的功能需求,并考慮高速數據中繼與轉發中路由器的實際性能指標,確定了該高速數據中繼器需要達到以下技術指標:具有10Gbit/s線速度處理40字節長IP包的能力;支持100MSPS的查表速度;可提供64K條本機地址表項。
從上述三點性能指標來看,第一點通過選擇性能指標高的FPGA即可實現,而第二點和第三點則無法由FPGA單獨完成。從這兩點性能指標來看,都是關于路由查表方面的,一個是表項容量方面的指標,一個是查表速度方面的指標。目前流行的查表方案是采用CAM(Content Addressable Memory)來實現,因此本文總體設計中也采用CAM來實現查表處理。由此得出的高速數據中繼器總體設計結構如圖二所示。
圖 二:基于FPGA的數據中繼器設計結構
在該設計結構中,輸入處理和輸出處理使用FPGA來實現,由于這些處理功能都是在10Gbps的高速下完成的,占用的FPGA資源較多,加之輸入輸出處理時都有查表模塊,占用的FPGA I/O資源也較多,要在一片FPGA內完成這些處理功能是很困難的。為降低設計難度和為以后功能擴展預留一些FPGA資源,對輸入處理采用一片FPGA來完成,對輸出處理同樣采用一片FPGA來完成。對于其他功能部分,控制管理平面(板極處理機)采用Power PC來實現,輸入查表和輸出查表使用CAM來實現。在10G以太網鏈路層處理上選用商用ASIC芯片S19205來實現,S19205可以兼容IEEE802.3ae標準,能工作在10G-LAN、10G-WAN和10G-POS(Packet Over SDH)三種模式;在10G以太網的PMA和PMD子層的功能實現上選用了Gtran公司的GT10來實現,它是一個Transponder,在內部即實現了光電轉換,又實現了串并轉換,通過提供不同的時鐘網絡配合S19205就可以實現這三種10G接入方式。對于10G-LAN接入和10G-WAN接入而言,FPGA程序的處理流程是相同的,這樣,S19205在GT10的配合下,可以將10G-LAN和10G-WAN的差別屏蔽在FPGA功能處理之外,使得該設計結構既可工作在10G-LAN模式,也可工作在10G-WAN模式,達到設計復用的目的。
4 測試與分析
高速數據中繼器設計制板完成后,還要將其置于整個路由器環境中進行性能測試,其測試結構如圖三所示,最下面四個模塊組成了高速數據中繼器。
圖 三:測試結構圖
從圖中可以看出,測試時需要兩個10GbE接口,一個用于接收測試儀的數據報文,另外一個則是對經過轉發處理和端口交換后的數據報進行處理后返回給測試儀進行分析。下面給出衡量系統性能的關鍵參數的測試情況。
測試中選用的數據包長是46、60、64、65、128、256、512、1024、1280、1508,測試時間是1分鐘,測試結果如下:
圖 四:系統時延測試曲線圖
由于我們的中繼器設計時的性能指標是可以達到10Gbps速率下40字節IP包的處理能力,在測試儀的吞吐量下不應該丟包,實際測試結構在上述10種包長的情況下,IPv4和IPv6的單播、組播包的丟包率均為0。系統時延測試結果如圖四所示。從測試結果可以看出,高速數據中繼器應用在高速路由器中后完全滿足高速路由器對數據中繼要求的各項性能指標。
5 創新點總結
本文的創新點是提出了一種基于FPGA的高速數據中繼器設計方案,并綜合分析了ASIC和NP等方法設計的高速網絡中繼器設計方法,在設計的功能和靈活性兩方面做了很好的權衡。從測試結果可以看出,本文設計很好地滿足了網絡處理的基本功能以及高速數據中繼的性能指標要求。
p2p機相關文章:p2p原理
評論