基于FPGA的高速數(shù)據(jù)中繼器設(shè)計(jì)的研究
1 前言
本文引用地址:http://m.butianyuan.cn/article/192129.htm高速以太網(wǎng)可以滿足新的容量需求,解決了低帶寬接入、高帶寬傳輸?shù)钠款i問(wèn)題,擴(kuò)大了應(yīng)用范圍,并與以前的所有以太網(wǎng)兼容。全雙工的以太網(wǎng)協(xié)議并無(wú)傳輸距離的限制,只是在實(shí)際應(yīng)用中,物理層技術(shù)限制了最大的傳輸距離。不過(guò)可以通過(guò)使用高性能的收發(fā)器或鏈路擴(kuò)展器來(lái)延長(zhǎng)以太網(wǎng)鏈路的長(zhǎng)度。但是面向流量高達(dá)數(shù)十G的高速以太網(wǎng)中,如何快速、可靠地實(shí)現(xiàn)數(shù)據(jù)的轉(zhuǎn)發(fā)與鏈路延伸并不是一件很容易的事情。尤其是高速以太網(wǎng)中,對(duì)設(shè)備時(shí)延非常敏感,因此要求數(shù)據(jù)中繼設(shè)備處理速度有足夠的快、同時(shí)還能夠?qū)D(zhuǎn)發(fā)的數(shù)據(jù)進(jìn)行簡(jiǎn)單分析與處理,才能實(shí)現(xiàn)高速、可靠的數(shù)據(jù)轉(zhuǎn)發(fā)功能。另一方面,在10G以太網(wǎng)標(biāo)準(zhǔn)出臺(tái)之前,就已經(jīng)有多家廠商推出了基于10G以太網(wǎng)標(biāo)準(zhǔn)草案的10G以太網(wǎng)設(shè)備。國(guó)外廠商如Foundry、Cisco、Enterasys、Extreme、Forcel0、Nortel、A1catel、Juniper、Avaya、HP、Riverstone等公司紛紛推出了10G以太網(wǎng)設(shè)備,國(guó)內(nèi)幾家著名的通信設(shè)備制造商,像華為、港灣也研發(fā)出具有自主知識(shí)產(chǎn)權(quán)的10G以太網(wǎng)產(chǎn)品。不同公司的產(chǎn)品、設(shè)備在對(duì)協(xié)議實(shí)現(xiàn)的一致性、互操作性、穩(wěn)定性、成熟性等方面都有所不同,因此要設(shè)計(jì)并實(shí)現(xiàn)一個(gè)可靠、高速數(shù)據(jù)中繼器必須深入研究高速以太網(wǎng)標(biāo)準(zhǔn),并充分考慮其設(shè)計(jì)的靈活性,因此本文提出了一個(gè)基于FPGA的高速數(shù)據(jù)中繼器設(shè)計(jì)方案。
2 高速數(shù)據(jù)中繼器功能分析
高速數(shù)據(jù)中繼器主要需完成以下功能是對(duì)外部光纖鏈路發(fā)送過(guò)來(lái)的高速、大量數(shù)據(jù)處理,主要包括有: 10G以太網(wǎng)的物理層處理。包括將10Gbps光信號(hào)轉(zhuǎn)換為電信號(hào)和將10Gbps高速串行數(shù)據(jù)轉(zhuǎn)換為低速率的并行數(shù)據(jù),便于上層處理;10G以太網(wǎng)的鏈路層處理。包括對(duì)10Gbps數(shù)據(jù)進(jìn)行PCS解碼和MAC控制的鏈路層處理,最后輸出完整的MAC幀;對(duì)MAC幀格式進(jìn)行判斷來(lái)識(shí)別其中封裝的上層數(shù)據(jù)是協(xié)議報(bào)文還是數(shù)據(jù)報(bào)文;對(duì)IP數(shù)據(jù)報(bào)文進(jìn)行查表處理,看是否有發(fā)往本機(jī)的IP報(bào)文;將需要上交到轉(zhuǎn)發(fā)進(jìn)行深層次IP層處理的數(shù)據(jù)報(bào)文封裝成內(nèi)部數(shù)據(jù)報(bào)文格式并上交;將需要上交到板極處理機(jī)的協(xié)議報(bào)文和發(fā)往本路由器的IP報(bào)文封裝成內(nèi)部協(xié)議報(bào)文格式并上交。
數(shù)據(jù)中繼器對(duì)需要轉(zhuǎn)發(fā)出去的數(shù)據(jù)需要完成如下處理:對(duì)交換發(fā)送過(guò)來(lái)的數(shù)據(jù)報(bào)文進(jìn)行內(nèi)部格式判斷,決定是否進(jìn)行查表處理;對(duì)不需要進(jìn)行查表的IP報(bào)文直接從內(nèi)部頭中提取目的MAC地址;對(duì)需要查表的IP報(bào)文進(jìn)行查表處理,若查表命中則返回目的MAC地址,若不命中則將該數(shù)據(jù)報(bào)文上交到板極處理機(jī);對(duì)得到目的MAC地址的報(bào)文進(jìn)行以太網(wǎng)格式封裝;對(duì)板極處理機(jī)下發(fā)的協(xié)議報(bào)文和封裝好的以太網(wǎng)幀進(jìn)行合路處理;10G以太網(wǎng)的鏈路層處理。包括對(duì)MAC幀進(jìn)行MAC控制鏈路層處理和PCS編碼;10G以太網(wǎng)的物理層處理。包括并/串轉(zhuǎn)換和電/光轉(zhuǎn)換。其處理流程如圖一所示
圖 一:高速數(shù)據(jù)中繼器數(shù)據(jù)處理流程
3 方案的選取與實(shí)現(xiàn)
從以上輸入處理和輸出處理流程來(lái)看,物理層和鏈路層的功能可以通過(guò)選擇相應(yīng)的商用器件來(lái)實(shí)現(xiàn),實(shí)現(xiàn)起來(lái)并不復(fù)雜;但圖1中虛線框內(nèi)的處理功能是在10Gbps的高速率下進(jìn)行的,實(shí)現(xiàn)起來(lái)比較困難。目前在高速數(shù)據(jù)處理中,能完成這部分功能的處理器件可分為固定功能器件和可編程器件兩種,其中固定功能器件主要指ASIC(Application Specific Integrated Circuit),可編程器件又有FPGA(Field Programmable Gate Array)和NP(Network Processor)兩種,下面對(duì)這三種器件進(jìn)行比較。
首先能夠同時(shí)提供極高轉(zhuǎn)發(fā)性能和較低成本的只有ASIC芯片了。ASIC的硬件資源最為豐富,處理能力是NP不能比擬,萬(wàn)兆核心層設(shè)備采用ASIC是對(duì)于性能的一種保障。但是它的先天不足也是無(wú)法回避的,由于ASIC的固定特性一直無(wú)法解決路由器對(duì)多業(yè)務(wù)支持的需求,ASIC芯片一旦產(chǎn)出后,其原有的功能無(wú)法添加,也可以把業(yè)內(nèi)目前需要的功能都做在ASIC里面,但是現(xiàn)在主流的很多技術(shù)如MPLS、QoS等都是只停留在草案階段,還未標(biāo)準(zhǔn)化,所以現(xiàn)在就做死在ASIC里面顯然是有很大風(fēng)險(xiǎn)的。由此可看出,ASIC可為任何固定功能提供高性能,但卻幾乎沒(méi)有靈活性和可擴(kuò)展性。第二種NP,目前網(wǎng)絡(luò)處理器(NP)技術(shù)是業(yè)內(nèi)非常受歡迎的技術(shù)之一,NP技術(shù)本身就是通過(guò)廠家自己編寫(xiě)微碼的方式對(duì)網(wǎng)絡(luò)協(xié)議處理進(jìn)行優(yōu)化,通過(guò)內(nèi)置微引擎的方式實(shí)現(xiàn)加速處理,性能是CPU無(wú)法比擬的。這樣的結(jié)構(gòu)注定了NP就比ASIC擁有更多的靈活性,對(duì)新增業(yè)務(wù)的支持能力永遠(yuǎn)都比ASIC強(qiáng)。但是NP也有其自身不能克服的缺點(diǎn),NP的硬件資源對(duì)比ASIC肯定還是有很大差距的,所以其在處理海量多業(yè)務(wù)時(shí)轉(zhuǎn)發(fā)性能下降很快,不能達(dá)到線速。
第三種是FPGA,F(xiàn)PGA對(duì)任何高速并行數(shù)據(jù)處理都非常理想,具有可編程的能力和較高的靈活性,便于實(shí)現(xiàn)多業(yè)務(wù)支持,同時(shí),由于其可編程性是通過(guò)硬件實(shí)現(xiàn)的,因此可以提供較高的高速數(shù)據(jù)處理性能??紤]到硬件的可編程性沒(méi)有軟件靈活,所以最新的FPGA上可以加上一個(gè)微處理器的核心(core),加上了微處理器核心的FPGA,在可編程性上變得“軟硬兼?zhèn)洹薄?除了加上微處理器的核心,F(xiàn)PGA芯片公司還花大力開(kāi)發(fā)芯片的高速I(mǎi)/O,通過(guò)網(wǎng)絡(luò)友好的功能,該類型FPGA可提供高性能數(shù)據(jù)和網(wǎng)絡(luò)控制處理功能。這使他們成為WAN/MAN/LAN網(wǎng)絡(luò)中專用高速數(shù)據(jù)處理的理想候選器件,并將在靈活性/性能間進(jìn)行折衷的控制權(quán)交到用戶手中。此外,F(xiàn)PGA對(duì)任何高速數(shù)據(jù)的并行處理都比較理想,而且具有非常的靈活性和擴(kuò)展性,且開(kāi)發(fā)周期短,能夠形成具有自主知識(shí)產(chǎn)權(quán)的內(nèi)核,最終還可以形成自己的ASIC,因此在本文設(shè)計(jì)中選擇了FPGA作為高速數(shù)據(jù)處理的核心部件。
p2p機(jī)相關(guān)文章:p2p原理
評(píng)論