摘 要:NetFPGA即網絡可編程門陣列,為設計人員提供可重復使用的網絡設計平臺。本文主要闡述了NetFPGA的工作原理、NetFPGA的組成結構以及NetFPGA的相關應用。
關鍵詞:NetFPGA;門陣列;網絡
信息技術的時代,計算機網絡技術飛速發展,網絡應用于人們的生活、工作和學習。隨著網絡的普及,各種基于網絡的應用不斷增多,流媒體的使用消耗了大量的網絡帶寬。各種應用對網絡帶寬和安全性的要求越來越高,網絡的硬件也日趨復雜。而NetFPGA(Network Field Programmable Gate Array)的應用為網絡性能的提高提供了一個開發的平臺。
1 NetFPGA的原理
NetFPGA是由美國斯坦福大學開發設計的,最初的目的是用于課堂教學。NetFPGA為研究人員提供了一個可以重復使用的網絡設計的硬件平臺[1]。
NetFPGA將FPGA(Field Programmable Gate Array)可編程的特性應用于網絡通訊領域。FPGA是可編程的門陣列。馮氏計算機采用二進制編碼,程序在計算機中最終表現為“0”和“1”的代碼,不管采用什么語言編寫程序最終都要轉化為二進制的編碼。FPGA依靠“0”和“1”的編碼進行功能的實現。
FPGA支持模塊化和層次化的設計風格,由多個功能單元模塊組成。其中有三個重要的模塊:可編程的I/O模塊、可編程的邏輯單元和可編程的連線。可編程的I/O模塊定義FPGA的非專用引腳為輸入或者輸出引腳,并進行相應的設置。可編程的邏輯單元由存儲器和觸發器組成,存儲器一般由Flash和SRAM組成,存儲器中保存了“真值表”,“真值表”是由數值為“0”和“1”的編碼組成。例如6個輸入和1個輸出的組合邏輯電路,在存儲器中相應的保存了6個輸入和1個輸出的“真值表”,設計者修改“真值表”內部的數值,配合觸發器,就可以等效于6輸入1輸出的組合邏輯電路。實際使用中,邏輯電路的規模比較大,所以需要配合第三個模塊可編程連線模塊進行使用。可編程連線模塊能夠根據編程確定相應線路的連接和斷開,將各個編程邏輯單元有機組合起來,形成大型的邏輯電路。FPGA可編程的原因就是因為存儲器中存在多張“真值表”,通過編程更改“真值表”中的“0”和“1”值,實現大規模的邏輯功能[2]。
NetFPGA即網絡可編程的門陣列,是一個軟硬件都可編程的開發平臺。NetFPGA將FPGA可編程的特性應用于網絡通信領域,研究人員或設計人員可以通過NetFPGA平臺搭建一個高速的網絡系統,進行相應的研究和測試。NetFPGA支持模塊化的設計,通過各種子模塊能夠進行復雜的硬件設計。
2 NetFPGA的組成
2001年推出NetFPGA-v1版本,2007年推出了NetFPGA2.1,NetFPGA2.1的硬件資源包含Virtex-II Pro XC2VP50 FPGA、Spartan-II XC2S200 FPGA、ZBT SRAM、DDR2 SDRAM、BCM5464 PHY芯片、33MHz PCI總線接口、4個千兆以太網接口、2個Serial ATA接口、時鐘資源[3]。
整個NetFPGA平臺由硬件和軟件組成,硬件主要包含:UFPGA、CFPGA、SRAM、SDRAM、PHY、PCI、SATA等核心部件,軟件包含基于LINUX操作系統的設備驅動程序和與相關工程對應的軟件。
3 基于NetFPGA的應用舉例
隨著網絡規模的不斷擴大和網絡應用的普及,網絡變得越來越復雜。為了加強網絡的管理和控制,需要對網絡進行測量,掌握網絡的運行情況,方便管理員對網絡進行管理。網絡流量的檢測可以獲知網絡的運行狀況和性能等相關信息,所以流量采集是網絡測量的一項重要內容。傳統流量采集大多基于軟件的流量采集,使用串行的方式處理數據包,這種采集方法隨著網絡規模的不斷擴大,受到了越來越多的限制。
在高速的網絡中為了提高網絡測量的精度,通過利用NetFPGA內部并行處理的優勢,設計基于NetFPGA的并行處理網絡數據流量采集器。經過大量的驗證和總結,設計和開發人員提出了采集器的結構模型。由硬件和軟件兩部分組成,硬件部分基于NetFPGA平臺進行設計,軟件部分進行流量信息的匯總[4]。
4 結束語
NetFPGA主要提供給設計網絡電子系統的人員使用,設計人員通過NetFPGA快速搭建相應功能的芯片,設計路由器、交換機等網絡設備。由于NetFPGA可以重復編程,且開發周期短,NetFPGA在網絡通信方面應用廣泛,在未來發展前景將更加的廣闊。
[參考文獻]
[1]李彬.基于NetFPGA的網絡流量分類[D].電子科技大學.2011年5月.
[2]FPGA學習的一些誤區.2014年9月;http://wenku.baidu.com/view/1eaaacfe941ea76e58fa045c.html。
[3]龔亮亮.基于NetFPGA的網絡安全通信[D].吉林大學.2011年4月.
[4]劉付斌,高相銘.基于NetFPGA的網絡數據流量采集器[J].測控技術.2014年第1期.