一種基于網(wǎng)絡編碼的衛(wèi)星網(wǎng)絡可靠組播方法
【技術領域】
[0001] 本發(fā)明主要設及到衛(wèi)星網(wǎng)絡數(shù)據(jù)傳輸領域,特指一種基于網(wǎng)絡編碼的衛(wèi)星網(wǎng)絡可 靠組播方法。
【背景技術】
[0002] 衛(wèi)星網(wǎng)絡具有天然的廣播特性、覆蓋范圍廣和拓撲簡單等優(yōu)點,使得其非常適合 組播業(yè)務傳輸。然而,衛(wèi)星傳輸鏈路帶寬受限,長時延和高誤碼特點,使得傳統(tǒng)組播傳輸協(xié) 議面臨可靠性等難題。組播數(shù)據(jù)的可靠傳輸設及到丟失數(shù)據(jù)的重傳,針對衛(wèi)星網(wǎng)絡可靠組 播中的重傳問題,主要有=種解決方案。 陽00引 (1)基于傳統(tǒng)的自動重傳請求(AR曲機制;
[0004] 采用該機制的典型衛(wèi)星網(wǎng)絡可靠組播協(xié)議是基于TCP-Peachtree的衛(wèi)星IP組播 傳輸協(xié)議,該協(xié)議把地面網(wǎng)絡構造成樹形拓撲。在反饋鏈路中,通過在地面網(wǎng)絡構造B+樹 ACK,然后將ACK信息聚合到樹形拓撲的根節(jié)點,由該根節(jié)點把匯聚的ACK信息反饋到衛(wèi)星 來減少重傳。然而該協(xié)議把設計的重點放在如何在地面網(wǎng)絡構造樹形拓撲,一旦與衛(wèi)星相 連的地面網(wǎng)關(地面樹形網(wǎng)絡的根節(jié)點)過多,容易發(fā)生"確認風暴"問題。 陽(K)日](2)基于發(fā)送窗口編碼矩陣機制;
[0006] 針對地面網(wǎng)關過多,容易發(fā)生"確認風暴"的問題,有人提出了發(fā)送窗口編碼矩陣 機制,該機制在衛(wèi)星設置緩存和重傳發(fā)送窗口,衛(wèi)星在收到重傳請求后,并不馬上重傳數(shù) 據(jù),而是等待一個重傳窗口 W構造最優(yōu)重傳矩陣,根據(jù)重傳矩陣來構造重傳報文,實現(xiàn)重傳 次數(shù)的最小化。然而運種方案雖然較大程度上減少了重傳次數(shù),但是并沒有減少反饋報文 的數(shù)量,如果組播組成員過大,可能會發(fā)生反饋風暴。而且該方案中,衛(wèi)星需要等待重傳窗 口的到來,W構造最優(yōu)重傳矩陣,從而降低了協(xié)議的實時性。
[0007] (3)混合ARQ機制;
[0008] 該機制結合了前向糾錯技術(FEC)和自動重傳請求(AR曲技術,通過使用FEC技 術來減少重傳,提高差錯恢復的實時性;同時結合ARQ技術保證組播數(shù)據(jù)傳輸?shù)慕^對可靠 性。但是混合ARQ機制并沒有實現(xiàn)結構化的傳輸。
[0009] 由上可知,傳統(tǒng)技術存在的技術問題歸納如下:(1)未能有效避免"確認風暴"問 題;(2)差錯恢復的實時性不強問題;(3)未采用結構化傳輸問題。
【發(fā)明內(nèi)容】
[0010] 本發(fā)明要解決的技術問題就在于:針對現(xiàn)有技術存在的技術問題,本發(fā)明提供一 種能夠提高衛(wèi)星網(wǎng)絡組播可靠性、提高傳輸鏈路利用率的基于網(wǎng)絡編碼的衛(wèi)星網(wǎng)絡可靠組 播方法。
[0011] 為解決上述技術問題,本發(fā)明采用W下技術方案:
[0012] 一種基于網(wǎng)絡編碼的衛(wèi)星網(wǎng)絡可靠組播方法,其步驟為:
[0013] Sl :每k個原始數(shù)據(jù)包,通過網(wǎng)絡編碼,組合成一個編碼包;k個原始數(shù)據(jù)包和對應 的編碼包組合成一塊;
[0014] S2 :對于每一塊,組播發(fā)送端先發(fā)送k個原始數(shù)據(jù)包,然后發(fā)送該k個原始數(shù)據(jù)包 對應的編碼包;
[0015] S3 :組播接收端每接收到一塊數(shù)據(jù)之后,進行檢測;如果檢測到一個或者多個原 始報文丟失,而編碼包未丟失,則通過在本地解碼編碼包,即可實現(xiàn)丟失報文本地恢復;如 果檢測到原始報文有丟失,對應的編碼包也丟失,則接收端通過向組播發(fā)送端發(fā)送NAK反 饋報文,請求重傳丟失編碼包,接收端正確接收到編碼包之后,通過在本地解碼該編碼包, 即可實現(xiàn)一次重傳,恢復多個丟失報文。
[0016] 作為本發(fā)明的進一步改進:所述步驟Sl中,所述編碼包為k個原始數(shù)據(jù)包的線性 組合,通過解碼就能還原出k個原始數(shù)據(jù)包。
[0017] 作為本發(fā)明的進一步改進:所述步驟S2中,組播發(fā)送端采用分塊的結構化傳輸方 式,每塊包含k個原始報文和1個對應的編碼報文。
[0018] 作為本發(fā)明的進一步改進:所述步驟S2中,整個待發(fā)送的數(shù)據(jù)均按塊依次發(fā)送。
[0019] 作為本發(fā)明的進一步改進:所述步驟S3中,接收端的處理包括:
[0020] Sioo :本地恢復階段;
[0021] 當接收端接收到數(shù)據(jù)塊Bi之后,進入檢測狀態(tài);如果檢測到一個或者多個原始報 文Kj/、o < y < fc +1)丟失,而編碼包Ui未丟失,則進入恢復狀態(tài); W22] S200 :傳統(tǒng)ARQ重傳階段;
[0023] 當接收端接收到數(shù)據(jù)塊Bi之后,進行檢測狀態(tài)。如果檢測到原始報文Kf丟失,編 碼包Ui也丟失,則進入反饋重傳狀態(tài),即接收端通過反饋鏈路向組播源發(fā)送反饋報文NAK, 請求重傳丟失編碼包Ui;當接收端正確接收到編碼包U 1之后,轉換到恢復狀態(tài),即通過在本 地解碼Ui,實現(xiàn)一次重傳,恢復多個丟失報文;
[0024] S300 :輪詢階段;用于處理上述步驟SlOO和步驟S200之外的情況。
[00巧]與現(xiàn)有技術相比,本發(fā)明的優(yōu)點在于:
[00%] 1、本發(fā)明的基于網(wǎng)絡編碼的衛(wèi)星網(wǎng)絡可靠組播方法,采用結構化的傳輸方式,提 高了數(shù)據(jù)傳輸?shù)倪壿嬓?,降低了?shù)據(jù)處理的復雜性。
[0027] 2、本發(fā)明的基于網(wǎng)絡編碼的衛(wèi)星網(wǎng)絡可靠組播方法,采用了本地恢復策略,通過 發(fā)送原始報文的冗余編碼包實現(xiàn)丟失報文本地恢復,從而提高了差錯恢復的實時性,同時 也減少了反饋重傳的次數(shù),有效避免了 "確認風暴"的發(fā)生。
【附圖說明】
[0028] 圖1是本發(fā)明方法的流程示意圖。
[0029] 圖2是本發(fā)明在具體應用實例中塊結構示意圖。
[0030] 圖3是本發(fā)明在具體應用實例中組播發(fā)送端的流程示意圖。
[0031] 圖4是本發(fā)明在具體應用實例中組播接收端狀態(tài)轉換的示意圖。
【具體實施方式】
[0032] W下將結合說明書附圖和具體實施例對本發(fā)明做進一步詳細說明。
[0033] 如圖I所示,本發(fā)明的基于網(wǎng)絡編碼的衛(wèi)星網(wǎng)絡可靠組播方法,步驟為:
[0034] Sl:每k個原始數(shù)據(jù)包,通過網(wǎng)絡編碼,組合成一個編碼包。k個原始數(shù)據(jù)包和對 應的編碼包組合成一塊。
[0035] S2:對于每一塊,組播發(fā)送端先發(fā)送k個原始數(shù)據(jù)包,然后發(fā)送該k個原始數(shù)據(jù)包 對應的編碼包。整個待發(fā)送的數(shù)據(jù)均按塊依次發(fā)送。
[0036]S3 :組播接收端每接收到一塊數(shù)據(jù)之后,進行檢測。如果檢測到一個或者多個原始 報文丟失,而編碼包未丟失,則通過在本地解碼編碼包,即可實現(xiàn)丟