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