基于FPGA的網(wǎng)絡(luò)應(yīng)用硬件開(kāi)發(fā)平臺(tái)的實(shí)現(xiàn)-基礎(chǔ)電子_第1頁(yè)
基于FPGA的網(wǎng)絡(luò)應(yīng)用硬件開(kāi)發(fā)平臺(tái)的實(shí)現(xiàn)-基礎(chǔ)電子_第2頁(yè)
基于FPGA的網(wǎng)絡(luò)應(yīng)用硬件開(kāi)發(fā)平臺(tái)的實(shí)現(xiàn)-基礎(chǔ)電子_第3頁(yè)
基于FPGA的網(wǎng)絡(luò)應(yīng)用硬件開(kāi)發(fā)平臺(tái)的實(shí)現(xiàn)-基礎(chǔ)電子_第4頁(yè)
基于FPGA的網(wǎng)絡(luò)應(yīng)用硬件開(kāi)發(fā)平臺(tái)的實(shí)現(xiàn)-基礎(chǔ)電子_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

精品文檔-下載后可編輯基于FPGA的網(wǎng)絡(luò)應(yīng)用硬件開(kāi)發(fā)平臺(tái)的實(shí)現(xiàn)-基礎(chǔ)電子摘要:本文介紹了基于FPGA和MPC860架構(gòu)的網(wǎng)絡(luò)應(yīng)用硬件開(kāi)發(fā)平臺(tái)的設(shè)計(jì)原理及具體實(shí)現(xiàn),討論了其優(yōu)于網(wǎng)絡(luò)處理器的性能特點(diǎn),給出了利用該平臺(tái)進(jìn)行網(wǎng)絡(luò)應(yīng)用開(kāi)發(fā)的實(shí)例,并介紹了其在網(wǎng)絡(luò)課程教學(xué)中的重要應(yīng)用。

1引言

在進(jìn)行網(wǎng)絡(luò)應(yīng)用的硬件設(shè)計(jì)時(shí),開(kāi)發(fā)者經(jīng)常會(huì)面臨將設(shè)計(jì)思想轉(zhuǎn)化為具體的硬件電路時(shí)不得不從繪制電路圖、PCB制板,元件焊接等步驟一步步來(lái)繁瑣而漫長(zhǎng)的過(guò)程,或者只能通過(guò)工具軟件進(jìn)行模擬仿真卻無(wú)法及時(shí)進(jìn)行實(shí)際測(cè)試的情況。另外,在計(jì)算機(jī)網(wǎng)絡(luò)通信等課程的教學(xué)過(guò)程中,也存在著學(xué)生缺乏有效的實(shí)驗(yàn)手段,難以更深入了解網(wǎng)絡(luò)設(shè)備實(shí)際的工作機(jī)理的問(wèn)題。為此,我們?cè)O(shè)計(jì)開(kāi)發(fā)了基于FPGA、MPC860架構(gòu)的網(wǎng)絡(luò)層應(yīng)用硬件開(kāi)發(fā)平臺(tái),較好地解決了上述問(wèn)題。

通過(guò)開(kāi)發(fā)平臺(tái),開(kāi)發(fā)者可以實(shí)現(xiàn)數(shù)據(jù)包的分析、處理及轉(zhuǎn)發(fā),在開(kāi)發(fā)平臺(tái)之上可實(shí)現(xiàn)的主要功能包括以下幾部分:

1.協(xié)議識(shí)別和分類(lèi):根據(jù)數(shù)據(jù)包的協(xié)議類(lèi)型、端口號(hào)、目的地址、以及其它特定于協(xié)議的信息對(duì)數(shù)據(jù)包進(jìn)行識(shí)別。

2.拆裝和重組:數(shù)據(jù)包的拆分,處理,以及為轉(zhuǎn)發(fā)而重組。

3.排隊(duì)和接入控制:識(shí)別出數(shù)據(jù)包之后,將這些數(shù)據(jù)包送往相應(yīng)的隊(duì)列中以進(jìn)行下一步處理,如優(yōu)先處理,流量整形等。同時(shí),可根據(jù)某些安全接入策略進(jìn)行數(shù)據(jù)*濾,確定是繼續(xù)轉(zhuǎn)發(fā),還是丟棄。

另外還包括流量整形和流量工程、QoS(QualityofService)和CoS(ClassofService)、修正數(shù)據(jù)包、差錯(cuò)檢測(cè)等。

搭建這個(gè)硬件開(kāi)發(fā)平臺(tái)后,應(yīng)用開(kāi)發(fā)者只需關(guān)注于的硬件邏輯和算法設(shè)計(jì),可以及時(shí)地驗(yàn)證算法,*估效果,使得設(shè)計(jì)能盡快轉(zhuǎn)化為實(shí)際的電路,將在FPGA開(kāi)發(fā)環(huán)境下的功能仿真、時(shí)序仿真更進(jìn)一步至實(shí)際電路的測(cè)試,極大地方便應(yīng)用開(kāi)發(fā)。

通過(guò)這個(gè)硬件平臺(tái),學(xué)生也可方便地進(jìn)行計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn),獲取硬件開(kāi)發(fā)經(jīng)驗(yàn),提升科研能力。

2實(shí)現(xiàn)原理

1、網(wǎng)絡(luò)設(shè)備的基本功能是實(shí)現(xiàn)網(wǎng)絡(luò)通信業(yè)務(wù)流的控制和轉(zhuǎn)發(fā),處于網(wǎng)絡(luò)邊緣的設(shè)備需要將來(lái)自不同物理鏈路的各種業(yè)務(wù)流復(fù)用到統(tǒng)一的傳輸鏈路上,傳統(tǒng)的方法是在網(wǎng)絡(luò)邊緣設(shè)備上采用通用的處理器來(lái)完成協(xié)議棧處理、路由選擇以及包頭的剝離等功能。隨著傳輸線速率的增加,通用處理器無(wú)法維持和傳輸速率一樣的處理速度,于是用專用芯片完成包的處理成為一種趨勢(shì)。利用專用集成電路(ASIC)來(lái)完成特定包的處理工作,性能得到很大的改善,但是ASIC缺乏靈活性給網(wǎng)絡(luò)設(shè)備的升級(jí)和功能擴(kuò)展改進(jìn)帶來(lái)很大麻煩。隨著傳輸線速的高速增長(zhǎng)和高層協(xié)議處理日益增加的復(fù)雜度,以及各種網(wǎng)絡(luò)應(yīng)用需求的靈活多變,高速和靈活地完成各種協(xié)議層上包處理顯得更為迫切,而FPGA技術(shù)的進(jìn)步則為這種要求提供了堅(jiān)實(shí)的物理基礎(chǔ)。FPGA和MPC860組成的系統(tǒng)架構(gòu),則同時(shí)具有通用處理器的靈活性和ASIC的高速處理的能力。

從概念上來(lái)看,以上所有的應(yīng)用都是基于如下的處理流程:物理層把來(lái)自物理介質(zhì)的光、電信號(hào)轉(zhuǎn)換成一定格式的比特流幀,幀轉(zhuǎn)交到網(wǎng)絡(luò)處理模塊。網(wǎng)絡(luò)處理模塊通過(guò)兩條通道處理數(shù)據(jù)幀,快速通道,如數(shù)據(jù)通道或者轉(zhuǎn)發(fā)通道,實(shí)現(xiàn)線速處理轉(zhuǎn)發(fā)數(shù)據(jù)幀,這部分是由FPGA完成的;慢通道,如控制通道,完成小部分?jǐn)?shù)據(jù)幀(如控制、信令、路由幀)的處理,則可由MPC860完成。

2、在這里需要討論一下為什么選擇FPGA而不是網(wǎng)絡(luò)處理器(NPU)?

網(wǎng)絡(luò)應(yīng)用中可編程解決方案主要有兩類(lèi):NPU和FPGA,兩者都是可編程的。NPU可提供以處理器為中心(即以軟件為中心)的可編程特性,而FPGA則提供以硬件為中心的可編程特性。一般而言,以軟件為中心的方法的性能低于以硬件為中心的方法。FPGA優(yōu)于NPU還體現(xiàn)在以下幾個(gè)方面:

*深度分組處理:與需要多個(gè)NPU進(jìn)行深層分組處理的NPU解決方案不同,F(xiàn)PGA解決方案只需一塊FPGA,這是因?yàn)镕PGA中的硬件并行處理完全可以同NPU中基于RISC的處理方法相媲美。多個(gè)NPU不僅為硬件和軟件分區(qū)帶來(lái)新挑戰(zhàn)并增加了軟件的復(fù)雜度,而且還增大了系統(tǒng)延遲和功耗。

*軟件可升級(jí)性:NPU不具備代碼復(fù)用,因?yàn)镹PU的軟件大多是不可移植的,即這些軟件是專有的匯編代碼或因定制程度過(guò)高而喪失移植性的C代碼。相反,F(xiàn)PGA則具有較強(qiáng)的軟件升級(jí)功能。

*硬件可升級(jí)性:硬件的可升級(jí)特性確保了較長(zhǎng)的產(chǎn)品壽命,因而成為可編程解決方案的一個(gè)關(guān)鍵特性。NPU只在處理器中提供可編程特性,其類(lèi)似ASIC的定制硬件并不能直接進(jìn)行編程,因此它在硬件升級(jí)上的劣勢(shì)與ASIC非常相似。FPGA顧名思義就是現(xiàn)場(chǎng)可編程,是對(duì)數(shù)據(jù)進(jìn)行高速并行處理的理想器件,具有極強(qiáng)的靈活性和擴(kuò)展性,可輕松升級(jí),以很好地滿足需求變化。

3、MPC860是基于PowerPC結(jié)構(gòu)的通信控制器。它不僅是集成的微處理器,而且將很多外設(shè)的功能也集成在一起。MPC860具有功能很強(qiáng)的存儲(chǔ)控制器,可以支持各種存儲(chǔ)器,包括各種新型的DRAM和Flash,并可以實(shí)現(xiàn)與存儲(chǔ)器的無(wú)縫接口。使用嵌入式操作系統(tǒng)VxWorks和開(kāi)發(fā)環(huán)境Tornado進(jìn)行開(kāi)發(fā)也非常方便。

之所以使用MPC860,是為了系統(tǒng)的靈活性考慮。利用它可以完成一些較復(fù)雜的算法功能,和FPGA相配合,充分發(fā)揮各自的長(zhǎng)處,以適應(yīng)不同的網(wǎng)絡(luò)應(yīng)用。

4、在開(kāi)發(fā)平臺(tái)的設(shè)計(jì)中,考慮到了系統(tǒng)的可擴(kuò)展性和靈活性,盡管FPGA內(nèi)部已有豐富的存儲(chǔ)器資源,我們?nèi)蕴貏e為FPGA配置了片外的SRAM,并在SRAM的容量上作了較大的冗余,可完成一般情況下的數(shù)據(jù)包存貯。同時(shí)考慮到FPGA處理速度的因素,SRAM的數(shù)據(jù)總線的寬度設(shè)計(jì)為64位,這樣,由FPGA進(jìn)行SRAM讀取操作時(shí)不會(huì)產(chǎn)生阻塞現(xiàn)象。

3具體實(shí)現(xiàn)

開(kāi)發(fā)平臺(tái)由以太網(wǎng)控制器(MAC),F(xiàn)PGA,SRAM,MPC860,物理層芯片,網(wǎng)絡(luò)變壓器等元器件組成,系統(tǒng)組成如圖1所示。

圖1系統(tǒng)組成框圖

本開(kāi)發(fā)平臺(tái)的硬件功能完全在一片F(xiàn)PGA中完成。從功能需求和可持續(xù)開(kāi)發(fā)的角度出發(fā),選擇了ALTERA公司的APEX20KE1500。之所以選擇APEX20KE1500,主要是因?yàn)榇诵吞?hào)的規(guī)模大,邏輯門(mén)達(dá)到150萬(wàn)門(mén),51840個(gè)邏輯單元(LEs)特別是其內(nèi)部可定義的存儲(chǔ)單元大,達(dá)到了442368位,可靈活地實(shí)現(xiàn)為RAM、ROM、CAM,可以滿足緩存數(shù)據(jù)包的需求,又有利于設(shè)計(jì)復(fù)雜的存儲(chǔ)、查找、比對(duì)等功能。

MAC選取了Intel的IXF440,它是一個(gè)8口10/100Mbits以太網(wǎng)控制器,用以接收和發(fā)送以太包。LXT974是4端口快速以太網(wǎng)物理層芯片,它支持IEEE802.3協(xié)議,支持10Mbps和100Mbps應(yīng)用,提供四個(gè)獨(dú)立的MII接口。每個(gè)端口可支持雙絞線接口和連接10/100BASE-TX或100BASE-FX的PECL。在本開(kāi)發(fā)平臺(tái)上,使用了兩片百兆PHY芯片LXT974,這樣共可提供8個(gè)網(wǎng)絡(luò)接入端口。

4應(yīng)用實(shí)例

利用此開(kāi)發(fā)平臺(tái)可以實(shí)現(xiàn)如8口以太網(wǎng)交換機(jī),8口以太網(wǎng)路由器,網(wǎng)絡(luò)防火墻等,在本文中將以總裝備部課題DDoS的防御為例予以介紹。

隨著網(wǎng)絡(luò)技術(shù)的發(fā)展和Internet的普及,網(wǎng)絡(luò)安全問(wèn)題也日益突出。高速?gòu)V泛連接的網(wǎng)絡(luò)給大家?guī)?lái)了方便,也為分布式拒絕服務(wù)(DDoS)攻擊創(chuàng)造了極為有利的條件。DDoS攻擊已經(jīng)成為網(wǎng)絡(luò)上廣泛傳播的問(wèn)題。我們?cè)诒鹃_(kāi)發(fā)平臺(tái)的基礎(chǔ)上,通過(guò)尋求一種高效、對(duì)各種DDoS攻擊都行之有效的算法,采用軟硬件相結(jié)合的方法,實(shí)現(xiàn)了實(shí)時(shí)檢測(cè)、防御DDoS攻擊的功能。

利用該開(kāi)發(fā)平臺(tái),我們用MPC860實(shí)現(xiàn)非參數(shù)的CUSUM算法,在嵌入式實(shí)時(shí)操作系統(tǒng)VxWorks及其開(kāi)發(fā)環(huán)境Tornado下對(duì)MPC860進(jìn)行開(kāi)發(fā);用FPGA實(shí)現(xiàn)硬件功能,采用AHDL語(yǔ)言對(duì)FPGA進(jìn)行開(kāi)發(fā),在MAX+PLUSII和QuartusII環(huán)境下對(duì)FPGA進(jìn)行調(diào)試和仿真;

根據(jù)CUSUM算法計(jì)算出判決門(mén)限,檢測(cè)出DDoS攻擊,由硬件對(duì)攻擊包進(jìn)行實(shí)時(shí)處理,采取有效措施維護(hù)網(wǎng)絡(luò)的正常運(yùn)行,消除攻擊的危害。

完整的DDoS防御系統(tǒng)置于網(wǎng)段入口,它包括了從數(shù)據(jù)接收、數(shù)據(jù)預(yù)處理、數(shù)據(jù)采集、數(shù)據(jù)運(yùn)算和處理、實(shí)時(shí)判決到終的數(shù)據(jù)輸出這一整套步驟。數(shù)據(jù)流程見(jiàn)圖2。

由FPGA完成了數(shù)據(jù)包的預(yù)處理功能,包括數(shù)據(jù)包類(lèi)型的讀取;源IP地址,目的IP地址的讀取、比較;數(shù)據(jù)包協(xié)議類(lèi)型的提??;IP數(shù)據(jù)包頭的奇偶校驗(yàn);TCP/UDP數(shù)據(jù)包端口提取,檢測(cè)等。特征值的數(shù)據(jù)采樣也由FPGA完成。MPC860根據(jù)FPGA提取的特征值進(jìn)行計(jì)算產(chǎn)生判決門(mén)限和過(guò)濾規(guī)則,由FPGA根據(jù)MPC860得出的過(guò)濾規(guī)則實(shí)現(xiàn)實(shí)時(shí)的門(mén)限判決。

由于有了本開(kāi)發(fā)平臺(tái),研究小組集中精力于HDL語(yǔ)言和檢測(cè)算法,在較短的時(shí)間內(nèi)完成了建模和仿真,并進(jìn)行了實(shí)際的電路運(yùn)行測(cè)試,根據(jù)測(cè)試中存在的問(wèn)題及時(shí)調(diào)整了硬件邏輯和算法,終比原計(jì)劃提前半年完成了該課題的研究。

另外,該開(kāi)發(fā)平臺(tái)在網(wǎng)絡(luò)課程教學(xué)中也得到了有效的應(yīng)用。在講授交換機(jī)原理,路由協(xié)議、排隊(duì)算法等課程時(shí),讓學(xué)生對(duì)一些簡(jiǎn)單的算法進(jìn)行硬件仿真設(shè)計(jì),并至開(kāi)發(fā)平臺(tái)上進(jìn)行實(shí)驗(yàn),加深了學(xué)生對(duì)所學(xué)知識(shí)的理解,掌握了初步的硬件設(shè)計(jì)能力和設(shè)計(jì)思想,為學(xué)生的科研能力的提高打下了較好的基礎(chǔ)。

參考文獻(xiàn):

[1].MPC860datasheet/datasheet/MPC860_949318.html.[2].PCBdatasheet

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論