<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 電源與新能源 > 設計應用 > 基于網(wǎng)絡(luò )編碼的多信源組播通信系統,包括源代碼,原理圖等(二)

基于網(wǎng)絡(luò )編碼的多信源組播通信系統,包括源代碼,原理圖等(二)

作者: 時(shí)間:2016-12-06 來(lái)源:網(wǎng)絡(luò ) 收藏

  2 多信源組播系統結構及整體設計方案

本文引用地址:http://dyxdggzs.com/article/201612/326828.htm

  2.1項目研究需求、目標和內容

  網(wǎng)絡(luò )編碼能夠提高網(wǎng)絡(luò )吞吐量,提升魯棒性、安全性等網(wǎng)絡(luò )性能。具有網(wǎng)絡(luò )編碼功能的路由器是未來(lái)網(wǎng)絡(luò )發(fā)展的趨勢。組播通信在網(wǎng)絡(luò )通信中有重要的作用,事實(shí)上,任何一個(gè)網(wǎng)絡(luò )都可以認為是組播網(wǎng)的一個(gè)特例。然而,目前在世界上研究網(wǎng)絡(luò )編碼在組播上的應用大多集中在單信源組播方面,例如,單信源多信宿網(wǎng)絡(luò )如何達到最大傳輸速率問(wèn)題[25],基于網(wǎng)絡(luò )編碼的組播路由算法和性能評估[26], 基于網(wǎng)絡(luò )編碼的組播通信網(wǎng)絡(luò )的拓撲設計[27], 多信源隨機線(xiàn)性網(wǎng)絡(luò )編碼在組播通信的研究[28]以及單信源組播網(wǎng)中編碼節點(diǎn)的研究[29],以上研究都是以軟件仿真為主,沒(méi)有形成實(shí)際的硬件平臺和系統。

  多信源組播的應用非常廣泛,如P2P內容分發(fā)網(wǎng)絡(luò )等。事實(shí)上,任何一個(gè)網(wǎng)絡(luò )都可以作為多信源組播的一個(gè)特例,因此研究多信源組播是有意義且必要的。

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

  2.2 NetFPGA——新一代開(kāi)放式網(wǎng)絡(luò )研究平臺簡(jiǎn)介

  由斯坦福大學(xué)開(kāi)發(fā)的NetFPGA是一個(gè)基于Linux操作系統的可重用開(kāi)放性硬件平臺,允許用戶(hù)在實(shí)驗室內搭建高性能的網(wǎng)絡(luò )模型進(jìn)行仿真和研究。它具有以下特點(diǎn)[31]:

  (1)很好地支持模塊化設計,它可以使研究人員在硬件上搭建Gb/s高性能網(wǎng)絡(luò )系統模型。(2)NetFPGA是一個(gè)基于Linux系統的開(kāi)放性平臺,可以利用平臺上現有的資源,在前人開(kāi)發(fā)的基礎上添加自己的模塊和修改現有的系統,而不需要重復地搭建外圍模塊、開(kāi)發(fā)驅動(dòng)和GUI等,大大減輕了網(wǎng)絡(luò )研究的任務(wù)。

  NetFPGA的硬件主要包含了4個(gè)1Gb/s的以太網(wǎng)接口(GigE),一個(gè)用戶(hù)可編程的FPGA,以及兩片SRAM和一片DRAM。NetFPGA開(kāi)發(fā)板通過(guò)標準的PCI總線(xiàn)接口連接到PC機或服務(wù)器,模塊框圖如圖2.2-1所示。

  

  圖 2.2-1:NetFPGA平臺的組成框圖

  在外部硬件接口方面,除了連接PC主機的PCI總線(xiàn)插口,一個(gè)Broadcom公司的物理層收發(fā)器(PHY)包含了四個(gè)千兆位以太網(wǎng)接口,板子上的兩個(gè)SATA連接口使得系統內部的多個(gè)NetFPGA可以通過(guò)SATA數據線(xiàn)連接起來(lái),互相之間直接以很高的速度交換數據,而不必再通過(guò)PCI總線(xiàn)。NetFPGA通過(guò)PCI總線(xiàn)與主機CPU連接,提供了硬件加速的數據通道,分擔CPU的處理任務(wù)。主機CPU按照DMA方式讀寫(xiě)NetFPGA上的寄存器和存儲器來(lái)配置NetFPGA的工作模式,并對NetFPGA的工作狀態(tài)進(jìn)行監控。

  NetFPGA平臺的軟件系統包括操作系統、作為軟件接口的驅動(dòng)程序、實(shí)現各種硬件功能的邏輯代碼、執行控制功能的軟件程序、系統測試的腳本程序,以及計算機輔助設計軟件工具。

  2.3 利用NetFPGA實(shí)現本設計的總體構想

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

  2.4系統實(shí)現的整體設計方案說(shuō)明

  2.4.1 系統拓撲圖及說(shuō)明

  如圖2.4-1所示,是擬采用的組播通信網(wǎng)絡(luò )的拓撲圖:

  

  圖2.4-1基于網(wǎng)絡(luò )編碼組播的網(wǎng)絡(luò )拓撲圖

  說(shuō)明:為了易于在工程上實(shí)現,將網(wǎng)絡(luò )編碼路由器分為編碼路由器EC(Encoding router)和解碼路由器DC(Decoding router),分別專(zhuān)門(mén)負責編碼和解碼。具體講,如圖1所示,信源S1,S2,S3發(fā)送數據包,編碼路由器EC0和EC1負責將接收到的數據包以隨機的系數進(jìn)行線(xiàn)性編碼后發(fā)送給組播路由器R,注意,這里的組播路由器更準確地說(shuō)是轉發(fā)路由器,因為它的功能只是將收到的數據包轉發(fā)到其三個(gè)輸出端口,而沒(méi)有IGMP(組播管理)和相應的組播路由功能。當然,我們也可以直接在EC上實(shí)現轉發(fā)的功能,增加R的原因是考慮到NetFPGA端口數量的限制(每塊NetFPGA只有4個(gè)端口)。解碼路由器DC接收編碼的數據并解碼,并將它發(fā)送給下游的信宿主機,在這里,由于PC數量的限制,我們使用雙口網(wǎng)卡可以將解碼路由器和信宿放到同一臺主機上,這對網(wǎng)絡(luò )性能的測試和實(shí)現沒(méi)有任何影響。

  2.4.2編碼策略與方案

  作為一種編碼結構的提出,我們將編碼只限于不同信源數據包之間,暫不考慮信源包內部編碼。相同信源的數據包之間分“代”,以便在解碼時(shí)區分信息先后順序[32]。不同信源的包之間不區分代的概念。

  定義:為了討論的方便性和簡(jiǎn)潔性,我們將信源S1的第1代記為S(1,1),信源S2的第3代記為S(2,3),……依此類(lèi)推。依據包頭和緩存,每個(gè)信源的代的編號從0開(kāi)始,至1023結束,即信源n的最大的代編號為S(n,1023)

  在編碼路由器EC上對不同信源的IP數據包進(jìn)行編碼,編碼系數矢量隨機選擇,編碼方法是線(xiàn)性編碼。例如,在上圖中的編碼路由器EC0,設兩個(gè)鏈路的輸入的全局編碼向量為:in(e)=由于只有兩個(gè)信源之間的編碼有且只有一條邊輸出,則本地編碼向量為(α β),依據文章[33]的公式:

  

  則輸出out(e)=(α β)=αS(1,x)+βS(2,y)。編碼后的數據以NCP(network coding protocol)包頭封裝,然后再封裝在IP數據報中,如圖2.4-2所示:

  

  圖2.4-2:編碼后數據的封裝格式

  為減小相應的編碼負擔和提高編碼效率,我們只對網(wǎng)絡(luò )中的IP數據報中的有效載荷進(jìn)行編碼(已經(jīng)編碼過(guò)的數據包可以再進(jìn)行編碼),不對ARP等其他數據包編碼。在編碼路由器中,我們?yōu)椴煌妮斎胪ǖ篱_(kāi)辟不同的FIFO以進(jìn)行順序存取和編碼

  2.4.3隨機系數的選擇

  根據相關(guān)資料可知,隨即編碼系數矢量的選擇可以從Galois Field中進(jìn)行選擇,依據論文[33][34],我們選擇域為GF256,即,此時(shí)可以解碼的概率為1-=0.996,這個(gè)概率可以滿(mǎn)足大多數的應用需求。

  2.4.4 NCP數據包頭的格式

  為了能夠在解碼路由器上進(jìn)行解碼,我們需要在被編碼的有效載荷前增加NCP數據包頭[35],根據我們的方案,其包頭格式如圖2.4-4:

版本

4位

首部長(cháng)度

4位

總長(cháng)度

16位)

標志

2位

保留

6位

第1個(gè)包信源號

第2個(gè)包信源號

……

……

第8個(gè)包信源號

第1個(gè)包的填充長(cháng)度(10位)

編碼系數矢量1

(8位)

代的編號(10位)

編碼次數

(4位)

第2個(gè)包的填充長(cháng)度

編碼系數矢量2

代的編號

編碼次數

………………

……

……

第n個(gè)包的填充長(cháng)度

編碼系數n

代的編號

編碼次數

編碼后的有效載荷

圖2.4-4:NCP數據包的包頭格式

  先將包頭各個(gè)字段的含義說(shuō)明如下:

 ?、侔姹荆篘CP數據包格式的版本,為了后續開(kāi)發(fā)研究和以前版本的區分,第一個(gè)版本為0001.

 ?、谑撞块L(cháng)度和總長(cháng)度:首部長(cháng)度是指除了有效數據載荷以外的部分,共4位,單位是4字節,其最小值為2。當首部長(cháng)度為3時(shí),意味著(zhù)該包的載荷沒(méi)有被編碼,只是加了包頭。當其值大于3時(shí),其值減去3為被編碼的信源數。

  總長(cháng)度是之首部長(cháng)度和有效載荷之和的長(cháng)度,16位,單位為字節。

 ?、蹣酥荆喝暨M(jìn)入編碼路由器的只是一個(gè)沒(méi)有編碼過(guò)的IP數據包時(shí),不進(jìn)行編碼,直接將包頭前2行加在原IP數據包的有效載荷的前面即可。當僅有一個(gè)NCP數據包進(jìn)入編碼路由器時(shí),我們不進(jìn)行編碼,直接進(jìn)行轉發(fā),如圖2.4-5所示:

有效載荷的數據包類(lèi)型

標志位

沒(méi)有編碼的IP數據包

01

編碼后的NCP數據包

10

保留

00

保留

11

圖2.4-5:標志位的含義

 ?、芫幋a次數:即從原始數據包算起,被編碼的次數,因為在一個(gè)實(shí)際的網(wǎng)絡(luò )中,數據的編碼可以是遞歸的,即可以多次被編碼。有時(shí),只有一個(gè)數據源時(shí),直接在其前面加上NCP包頭而不進(jìn)行編碼。增加編碼次數是為了能夠在多次編碼后進(jìn)行解碼。若編碼前數據包為IP數據包,其編碼次數為0,若為NCP數據包,則次數≥1.當一個(gè)IP數據包和一個(gè)已編碼的數據包編碼時(shí),利用編碼次數,可以避免解碼路由器將NCP數據包誤以為IP數據包而交給主機。

⑤第一個(gè)包


上一頁(yè) 1 2 3 下一頁(yè)

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>