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