新聞中心

EEPW首頁 > 網絡與存儲 > 設計應用 > 基于網絡編碼的多信源組播通信系統(tǒng)

基于網絡編碼的多信源組播通信系統(tǒng)

作者: 時間:2011-03-25 來源:電子產品世界 收藏

  摘要:本文首先介紹理論的基本概念,回顧了近年來的研究動態(tài)。接著在使用NetFPGA開發(fā)平臺的基礎上,提出組播通信系統(tǒng)及其整體設計方案。由于本系統(tǒng)的主要功能是由硬件實現(xiàn),所以和傳統(tǒng)組播通信網絡相比,具有時延小,沒有了調度和排隊時間,使得網絡中鏈路負載更均衡,體現(xiàn)出了網絡編碼的優(yōu)勢。

本文引用地址:http://butianyuan.cn/article/118085.htm

  關鍵詞:網絡編碼;組播;NetFPGA

  網絡編碼理論基本概念

  《科學美國人》雜志2007年6月,以“Breaking Network Logjams”(《打破網絡僵局》)為題,詳細介紹了17年前誕生于香港中文大學的網絡編碼理論[2]。其中指出,網絡編碼是繼60年前C.E.Shannon發(fā)表“通信的數(shù)學原理”后,網絡通信理論的一個全新突破。傳統(tǒng)網絡通信理論把信息流當成管道中流動的水,是不可壓縮的;故傳統(tǒng)網絡節(jié)點上的路由交換機只是完成存儲轉發(fā)功能。NC理論的劃時代意義在于:提出網絡路由交換節(jié)點對輸入的信息流進行編碼再發(fā)送,可進一步提升網絡吞吐量!從而改變了比特不能再被壓縮的經典結論,即網絡信息流可以被壓縮。

  網絡編碼最簡單的概念來自“蝴蝶網”,如圖1所示。

  圖1所示的網絡中,源節(jié)點S1想把信息流ai傳送給R1和R2。另一方面,源節(jié)點S2也希望在相同時間、以相同速度,把信息流bi傳送給同樣的接收節(jié)點R1和R2。假設每個路徑每秒可攜帶一個位元,而且只能順著箭號所指的方向前進。如果路由器只傳輸其所接收到的信息,那么中間鏈路將是個瓶頸,因為每秒總共接收到二位元的資料,但其容量只有一位元,路由器每秒只能傳送一位元資料給中間鏈路,這種瓶頸會造成可怕的塞車。相反,如果把一般的路由器換成編碼器,它可以把兩個信息通過異或或者線性組合運算成單一位元輸送給中間鏈路,并且發(fā)送ai + bi (或者ai和bi的任意線性組合),這樣就輕而易舉地解決了塞車問題[1][3]。網絡編碼另一個與路由系統(tǒng)不同之處在于充分利用網絡資源。圖1中,S1通過路徑S1R1把ai傳給R1,S2通過路徑S2R2把bi傳給R2,這在路由系統(tǒng)中是不會使用到的。節(jié)點R1接收到ai,并且根據(jù)每次編碼器運算結果,輸入到與編碼器使用的相同函數(shù)(異或或者線性組合)內,推導出bi。節(jié)點R2解出ai也是同樣的道理。

  系統(tǒng)結構及整體設計方案

  本項目的主要研究目標是基于網絡編碼的系統(tǒng)的實現(xiàn)。基于國內外網絡編碼理論在組播通信中的最新研究成果和技術,對網絡編碼理論進行深入學習和探討,提出一種基于網絡編碼的系統(tǒng)和網絡。然后依據(jù)此系統(tǒng)設計出可實現(xiàn)組播的通信協(xié)議和相關算法,再利用開放式的網絡設計硬件平臺NetFPGA[4],使提出的協(xié)議和算法在硬件上實現(xiàn),最后在實際的環(huán)境中用若干電腦和NetFPGA組成一個小型組播通信網絡進行系統(tǒng)測試和性能評估。

  利用NetFPGA實現(xiàn)本設計的總體構想

  由斯坦福大學開發(fā)的NetFPGA是一個基于Linux操作系統(tǒng)的可重用開放性硬件平臺,允許用戶在實驗室內搭建高性能的網絡模型進行仿真和研究[5]。它具有以下特點:⒈很好地支持模塊化設計,它可以使研究人員在硬件上搭建Gbit/s高性能網絡系統(tǒng)模型;⒉NetFPGA是一個基于Linux系統(tǒng)的開放性平臺,可以利用平臺上現(xiàn)有的資源,在前人開發(fā)的基礎上添加自己的模塊和修改現(xiàn)有的系統(tǒng),而不需要重復地搭建外圍模塊、開發(fā)驅動和GUI等,大大減輕了網絡研究的任務。

  基于網絡編碼的組播通信系統(tǒng)將充分運用NetFPGA上面的各種硬件和軟件資源,實現(xiàn)系統(tǒng)的設計目標,具體是:⒈根據(jù)項目的需求,合理且充分利用NetFPGA卡上面的各種硬件資源,如FPGA、存儲芯片和輸入輸出接口。⒉由于基于NetFPGA實現(xiàn)的IPv4原理性路由器是一個開源的系統(tǒng),因此我們可以運用其提供的部分代碼和已經設計好的底層硬件平臺,來幫助我們實現(xiàn)設計目標。例如,系統(tǒng)的編碼、解碼工作主要在網絡層完成,因此可以利用NetFPGA中已有的物理層、MAC層硬件邏輯來實現(xiàn)數(shù)據(jù)的接收和發(fā)送。⒊在軟件方面,由于NetFPGA平臺選擇了CentOS操作系統(tǒng),并且開發(fā)了軟硬件接口的驅動程序,基于Linux內核的設備驅動程序和Java程序開發(fā)的圖形用戶界面(Java GUI)等,因此我們可以對其應用、改進,使我們的系統(tǒng)更加完善,方便調試和后續(xù)的進一步研究。


上一頁 1 2 3 下一頁

評論


技術專區(qū)

關閉