基于網(wǎng)絡(luò)編碼的多信源組播通信系統(tǒng)
摘要:本文首先介紹網(wǎng)絡(luò)編碼理論的基本概念,回顧了近年來網(wǎng)絡(luò)編碼的研究動態(tài)。接著在使用NetFPGA開發(fā)平臺的基礎(chǔ)上,提出網(wǎng)絡(luò)編碼組播通信系統(tǒng)及其整體設(shè)計方案。由于本系統(tǒng)的主要功能是由硬件實現(xiàn),所以和傳統(tǒng)組播通信網(wǎng)絡(luò)相比,具有時延小,沒有了調(diào)度和排隊時間,使得網(wǎng)絡(luò)中鏈路負載更均衡,體現(xiàn)出了網(wǎng)絡(luò)編碼的優(yōu)勢。
本文引用地址:http://www.ex-cimer.com/article/118085.htm關(guān)鍵詞:網(wǎng)絡(luò)編碼;組播;NetFPGA
網(wǎng)絡(luò)編碼理論基本概念
《科學(xué)美國人》雜志2007年6月,以“Breaking Network Logjams”(《打破網(wǎng)絡(luò)僵局》)為題,詳細介紹了17年前誕生于香港中文大學(xué)的網(wǎng)絡(luò)編碼理論[2]。其中指出,網(wǎng)絡(luò)編碼是繼60年前C.E.Shannon發(fā)表“通信的數(shù)學(xué)原理”后,網(wǎng)絡(luò)通信理論的一個全新突破。傳統(tǒng)網(wǎng)絡(luò)通信理論把信息流當(dāng)成管道中流動的水,是不可壓縮的;故傳統(tǒng)網(wǎng)絡(luò)節(jié)點上的路由交換機只是完成存儲轉(zhuǎn)發(fā)功能。NC理論的劃時代意義在于:提出網(wǎng)絡(luò)路由交換節(jié)點對輸入的信息流進行編碼再發(fā)送,可進一步提升網(wǎng)絡(luò)吞吐量!從而改變了比特不能再被壓縮的經(jīng)典結(jié)論,即網(wǎng)絡(luò)信息流可以被壓縮。
網(wǎng)絡(luò)編碼最簡單的概念來自“蝴蝶網(wǎng)”,如圖1所示。
圖1所示的網(wǎng)絡(luò)中,源節(jié)點S1想把信息流ai傳送給R1和R2。另一方面,源節(jié)點S2也希望在相同時間、以相同速度,把信息流bi傳送給同樣的接收節(jié)點R1和R2。假設(shè)每個路徑每秒可攜帶一個位元,而且只能順著箭號所指的方向前進。如果路由器只傳輸其所接收到的信息,那么中間鏈路將是個瓶頸,因為每秒總共接收到二位元的資料,但其容量只有一位元,路由器每秒只能傳送一位元資料給中間鏈路,這種瓶頸會造成可怕的塞車。相反,如果把一般的路由器換成編碼器,它可以把兩個信息通過異或或者線性組合運算成單一位元輸送給中間鏈路,并且發(fā)送ai + bi (或者ai和bi的任意線性組合),這樣就輕而易舉地解決了塞車問題[1][3]。網(wǎng)絡(luò)編碼另一個與路由系統(tǒng)不同之處在于充分利用網(wǎng)絡(luò)資源。圖1中,S1通過路徑S1R1把ai傳給R1,S2通過路徑S2R2把bi傳給R2,這在路由系統(tǒng)中是不會使用到的。節(jié)點R1接收到ai,并且根據(jù)每次編碼器運算結(jié)果,輸入到與編碼器使用的相同函數(shù)(異或或者線性組合)內(nèi),推導(dǎo)出bi。節(jié)點R2解出ai也是同樣的道理。
多信源組播系統(tǒng)結(jié)構(gòu)及整體設(shè)計方案
本項目的主要研究目標(biāo)是基于網(wǎng)絡(luò)編碼的多信源組播系統(tǒng)的實現(xiàn)。基于國內(nèi)外網(wǎng)絡(luò)編碼理論在組播通信中的最新研究成果和技術(shù),對網(wǎng)絡(luò)編碼理論進行深入學(xué)習(xí)和探討,提出一種基于網(wǎng)絡(luò)編碼的多信源組播系統(tǒng)和網(wǎng)絡(luò)。然后依據(jù)此系統(tǒng)設(shè)計出可實現(xiàn)組播的通信協(xié)議和相關(guān)算法,再利用開放式的網(wǎng)絡(luò)設(shè)計硬件平臺NetFPGA[4],使提出的協(xié)議和算法在硬件上實現(xiàn),最后在實際的環(huán)境中用若干電腦和NetFPGA組成一個小型組播通信網(wǎng)絡(luò)進行系統(tǒng)測試和性能評估。
利用NetFPGA實現(xiàn)本設(shè)計的總體構(gòu)想
由斯坦福大學(xué)開發(fā)的NetFPGA是一個基于Linux操作系統(tǒng)的可重用開放性硬件平臺,允許用戶在實驗室內(nèi)搭建高性能的網(wǎng)絡(luò)模型進行仿真和研究[5]。它具有以下特點:⒈很好地支持模塊化設(shè)計,它可以使研究人員在硬件上搭建Gbit/s高性能網(wǎng)絡(luò)系統(tǒng)模型;⒉NetFPGA是一個基于Linux系統(tǒng)的開放性平臺,可以利用平臺上現(xiàn)有的資源,在前人開發(fā)的基礎(chǔ)上添加自己的模塊和修改現(xiàn)有的系統(tǒng),而不需要重復(fù)地搭建外圍模塊、開發(fā)驅(qū)動和GUI等,大大減輕了網(wǎng)絡(luò)研究的任務(wù)。
基于網(wǎng)絡(luò)編碼的組播通信系統(tǒng)將充分運用NetFPGA上面的各種硬件和軟件資源,實現(xiàn)系統(tǒng)的設(shè)計目標(biāo),具體是:⒈根據(jù)項目的需求,合理且充分利用NetFPGA卡上面的各種硬件資源,如FPGA、存儲芯片和輸入輸出接口。⒉由于基于NetFPGA實現(xiàn)的IPv4原理性路由器是一個開源的系統(tǒng),因此我們可以運用其提供的部分代碼和已經(jīng)設(shè)計好的底層硬件平臺,來幫助我們實現(xiàn)設(shè)計目標(biāo)。例如,系統(tǒng)的編碼、解碼工作主要在網(wǎng)絡(luò)層完成,因此可以利用NetFPGA中已有的物理層、MAC層硬件邏輯來實現(xiàn)數(shù)據(jù)的接收和發(fā)送。⒊在軟件方面,由于NetFPGA平臺選擇了CentOS操作系統(tǒng),并且開發(fā)了軟硬件接口的驅(qū)動程序,基于Linux內(nèi)核的設(shè)備驅(qū)動程序和Java程序開發(fā)的圖形用戶界面(Java GUI)等,因此我們可以對其應(yīng)用、改進,使我們的系統(tǒng)更加完善,方便調(diào)試和后續(xù)的進一步研究。
評論