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