一種用于代數(shù)交換引擎數(shù)據(jù)包分組重組的編碼方法
【技術(shù)領(lǐng)域】
[0001]本申請涉及通信技術(shù)領(lǐng)域,尤其涉及到代數(shù)交換和網(wǎng)絡(luò)編碼領(lǐng)域。
【背景技術(shù)】
[0002]代數(shù)交換是一種多路徑自路由交換結(jié)構(gòu),這種結(jié)構(gòu)將代數(shù)分配格理論應(yīng)用于自路由模型,該結(jié)構(gòu)具有完全分布式自路由、無內(nèi)部緩存、線速及無抖動等優(yōu)勢。在保證提供Q0S的條件下,適合大規(guī)模擴展。然而這種結(jié)構(gòu)會產(chǎn)生內(nèi)部爭用和外部阻塞,從而導致了一定的丟包率?,F(xiàn)有的代數(shù)交換系統(tǒng)中,對于丟失的數(shù)據(jù)包是無法直接恢復的,只能通過重傳的方式得到該數(shù)據(jù)包,因而降低了通信效率。為了降低丟包率,一種有效的方法是將網(wǎng)絡(luò)編碼和代數(shù)交換結(jié)構(gòu)融合,利用網(wǎng)絡(luò)編碼來恢復丟失的數(shù)據(jù)包,從而有效降低系統(tǒng)的丟包率。
【發(fā)明內(nèi)容】
[0003]本申請?zhí)峁┮环N用于代數(shù)交換引擎數(shù)據(jù)包分組重組的編碼方法,本發(fā)明就是基于網(wǎng)絡(luò)編碼的代數(shù)交換引擎中數(shù)據(jù)包分組重組的編碼算法,其核心是通過對數(shù)據(jù)包進行編碼,添加有效的冗余信息,來減小數(shù)據(jù)包在傳輸過程中的丟失率,從而達到增加網(wǎng)絡(luò)吞吐量,提高通信質(zhì)量的目標。
[0004]具體地,本申請?zhí)峁┑挠糜诖鷶?shù)交換引擎數(shù)據(jù)包分組重組的編碼方法,包括:
[0005]對已經(jīng)預處理過的信元,根據(jù)包頭所提供的信息,對所有的屬于同一個數(shù)據(jù)包的信元按照按位異或的方式進行編碼,以產(chǎn)生一個新的編碼信元,其中,所述新的編碼信元包含一定的冗余信息,所述冗余信息用于在交換過程中出現(xiàn)信元丟失的情況時用于恢復丟失的信元;
[0006]對所述新的編碼信元按照固定的格式進行封裝。
[0007]本申請的有益效果是:
[0008]本發(fā)明通過對數(shù)據(jù)信元進行編碼,添加有效的冗余信息,從而當發(fā)生數(shù)據(jù)信元丟失的情況下,可以利用這些冗余信息來恢復丟失的信元,從而達到提升交換引擎的吞吐量的目標。
【附圖說明】
[0009]圖1為一實施例中具有網(wǎng)絡(luò)編碼功能的代數(shù)交換引擎的結(jié)構(gòu)示意圖;
[0010]圖2為一實施例中信元的編碼過程的示意圖;
[0011]圖3(a) —實施例中信元格式的示意圖;
[0012]圖3(b) —實施例中信元頭定義的示意圖;
[0013]圖3(c) —實施例中信元頭說明的示意圖。
【具體實施方式】
[0014]下面通過【具體實施方式】結(jié)合附圖對本申請作進一步詳細說明。
[0015]請參照圖1,為本發(fā)明中的基于網(wǎng)絡(luò)編碼的代數(shù)交換引擎的結(jié)構(gòu)示意圖。標準的IP數(shù)據(jù)包從N個輸入端口 1.1.1,1.1.2,…,1.1.N進入,在數(shù)據(jù)預處理模塊1.2中,將添加同步控制信號,并把數(shù)據(jù)包切割成長度相等的數(shù)據(jù)片和添加包頭控制信息,其中N為正整數(shù)。圖1中黑色粗箭頭I表示封包,即標準的以太網(wǎng)數(shù)據(jù)包;數(shù)據(jù)包進入數(shù)據(jù)預處理模塊1.2之后,灰色粗箭頭2表示被切割之后的數(shù)據(jù)片,即信元;灰色細箭頭3表示流控,即數(shù)據(jù)同步信號。編碼模塊1.3對信元進行編碼,產(chǎn)生的冗余信息隨原始數(shù)據(jù)包一起進入后級模塊。N個并行的VOQ模塊1.4.1,1.4.2,…,1.4.N將數(shù)據(jù)按照輸出端口分流,同時將數(shù)據(jù)包按一定的調(diào)度算法送入代數(shù)交換模塊1.5ο在N個組裝模塊1.6.1,1.6.2,…,1.6.N中,將歸屬于同一個數(shù)據(jù)包的信元按照一定的順序重新組裝,恢復出原始的數(shù)據(jù)包。只有當組裝過程中檢測到有一個信元丟失時,才會啟動N個解碼模塊1.7.1,1.7.2,…,1.7.N,通過解碼恢復出丟失的信元。
[0016]本申請中的用于代數(shù)交換引擎數(shù)據(jù)包分組重組的編碼方法,包括:
[0017]對已經(jīng)預處理過的信元,根據(jù)包頭所提供的信息,對所有的屬于同一個數(shù)據(jù)包的信元按照按位異或的方式進行編碼,以產(chǎn)生一個新的編碼信元,其中,所述新的編碼信元包含一定的冗余信息,所述冗余信息用于在交換過程中出現(xiàn)信元丟失的情況時用于恢復丟失的信元;對所述新的編碼信元按照固定的格式進行封裝。
[0018]編碼過程如圖2所示,一個標準的IP數(shù)據(jù)包Packetl在數(shù)據(jù)預處理模塊中被切割成N個長度固定的信元,圖中以cell表示信元。每個信元由信元頭(cell head)和數(shù)據(jù)(payload)組成,如圖3(a)所示。然后將N個cell的數(shù)據(jù)(payload)部分按位異或產(chǎn)生一個新的編碼信元的數(shù)據(jù)塊,接著按照圖3(b)所示的格式為這個編碼數(shù)據(jù)塊產(chǎn)生一個新的信元頭并附加到這個新的編碼數(shù)據(jù)塊前,這樣就產(chǎn)生了一個新的信元,即第N+1個信元cell_N+l0信元頭各個標志位的定義如圖3(c)所示。我們可以這樣簡單地表示整個編碼過程:cell_N+l = cel 1_1 Θ cel 1_2 Θ …Θ cell_N。
[0019]以上內(nèi)容是結(jié)合具體的實施方式對本申請所作的進一步詳細說明,不能認定本申請的具體實施只局限于這些說明。對于本申請所屬技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本申請發(fā)明構(gòu)思的前提下,還可以做出若干簡單推演或替換。
【主權(quán)項】
1.一種用于代數(shù)交換引擎數(shù)據(jù)包分組重組的編碼方法,其特征在于,包括: 對已經(jīng)預處理過的信元,根據(jù)包頭所提供的信息,對所有的屬于同一個數(shù)據(jù)包的信元按照按位異或的方式進行編碼,以產(chǎn)生一個新的編碼信元,其中,所述新的編碼信元包含一定的冗余信息,所述冗余信息用于在交換過程中出現(xiàn)信元丟失的情況時用于恢復丟失的信元; 對所述新的編碼信元按照固定的格式進行封裝。
【專利摘要】本申請公開了一種用于代數(shù)交換引擎數(shù)據(jù)包分組重組的編碼方法,屬于通信技術(shù)領(lǐng)域,涉及到代數(shù)交換和網(wǎng)絡(luò)編碼領(lǐng)域。本發(fā)明是具有網(wǎng)絡(luò)編碼功能的代數(shù)交換系統(tǒng)中的編碼算法。該算法的功能和特點是通過對數(shù)據(jù)信元進行編碼,添加有效的冗余信息,當發(fā)生數(shù)據(jù)信元丟失的情況下,可以利用這些冗余信息來恢復丟失的信元,從而達到提升交換引擎的吞吐量的目標。
【IPC分類】H04L1/00
【公開號】CN105187160
【申請?zhí)枴緾N201510562896
【發(fā)明人】張明龍, 李碩彥, 朱鍵, 馬麗, 呂士杰, 李揮
【申請人】香港中文大學深圳研究院
【公開日】2015年12月23日
【申請日】2015年9月7日