衛(wèi)星網(wǎng)絡中基于網(wǎng)絡編碼的機會路由算法
【技術領域】
[0001 ] 本發(fā)明設及一種在M0RE、CCACK協(xié)議的基礎上改進而得到的衛(wèi)星網(wǎng)絡中基于網(wǎng)絡 編碼的機會路由算法,其適用于對衛(wèi)星網(wǎng)絡提升網(wǎng)絡平均吞吐量。
【背景技術】
[0002] 隨著網(wǎng)絡通信的發(fā)展,為了適應大數(shù)據(jù)傳輸、商務和文娛胡井噴式需求,使得衛(wèi)星 網(wǎng)絡數(shù)據(jù)傳輸具有很大的研究意義。相對于傳統(tǒng)的路由策略,采用網(wǎng)絡編碼可W提高網(wǎng)絡 的吞吐量,針對衛(wèi)星網(wǎng)絡拓撲動態(tài)變化、星際鏈路間斷性連接等特性,機會路由可W利用鏈 路的多樣性來提供更好的路由策略。網(wǎng)絡編碼與機會路由的結合可W為提升衛(wèi)星網(wǎng)絡的吞 吐量提供一種解決方式,典型的基于網(wǎng)絡編碼的機會路由協(xié)議有MORE、CCACK協(xié)議等。MORE 協(xié)議通過網(wǎng)絡編碼解決了機會路由中鏈路協(xié)作困難的問題。在MORE協(xié)議中,源節(jié)點利用轉 發(fā)節(jié)點到目的節(jié)點的ETX化邱ected Transmission Count)值預先計算出每個轉發(fā)節(jié)點的 信譽值,W此來決定節(jié)點的轉發(fā)概率,但運種計算方式只是在鏈路初始狀態(tài)時收集丟包率 和計算信譽值,無法適應衛(wèi)星網(wǎng)絡鏈路的動態(tài)變化。CCACK協(xié)議采用的是逐跳反饋的方式來 減少編碼包的冗余發(fā)送,上游節(jié)點通過正交向量運算判斷下游轉發(fā)節(jié)點是否已經(jīng)接受到了 足夠的信息量,從而及時停止編碼包的發(fā)送,減少網(wǎng)絡冗余,但CCACK協(xié)議中源節(jié)點發(fā)送速 率是啟發(fā)式的,沒有理論證明最大吞吐量夠收斂到最優(yōu)解,且探測鏈路連接狀態(tài)的方式與 MORE相同,所W也不能適應衛(wèi)星網(wǎng)絡鏈路的動態(tài)變化。
【發(fā)明內容】
[0003] 本發(fā)明的目的是提供一種衛(wèi)星網(wǎng)絡中基于網(wǎng)絡編碼的機會路由算法,其在保證網(wǎng) 絡平均吞吐量最大的前提下,能夠減少網(wǎng)絡中冗余數(shù)據(jù)包的傳輸,且能抵抗一定的鏈路失 敗率。
[0004] 為了實現(xiàn)上述目的,本發(fā)明采用的技術方案如下:一種衛(wèi)星網(wǎng)絡中基于網(wǎng)絡編碼 的機會路由算法,包括
[0005] SI:對衛(wèi)星網(wǎng)絡的最大平均吞吐量進行建模,其中建模元素包括節(jié)點、信源的發(fā)送 速率、平均吞吐量的績效函數(shù)、信譽率、數(shù)據(jù)包、反饋編碼包,所述節(jié)點包括源節(jié)點、目的節(jié) 點和中繼節(jié)點;
[0006] S2:用凸優(yōu)化理論求出該模型最優(yōu)解的結構;
[0007] S3:采用編碼反饋技術將代表接收到數(shù)據(jù)包的反饋信息壓縮在一個反饋編碼包 中,同時,利用編碼反饋技術在每個節(jié)點本地維護一個鏈路狀態(tài)表,其中,鏈路狀態(tài)即本節(jié) 點與相鄰節(jié)點的信息W及該鏈路的度量,度量包括本節(jié)點與鄰居節(jié)點的拉格朗日變量差 值;
[000引S4:利用編碼反饋算法,中繼節(jié)點處理決定發(fā)送當前數(shù)據(jù)包的下一跳節(jié)點集和決 定集合中節(jié)點信譽率的大??;
[0009] S5:確認數(shù)據(jù)段。
[0010] 進一步的,在所述步驟SI中,通過如下方式建模:
[0011] 衛(wèi)星網(wǎng)絡的平均吞吐量表示如下:
[0012] 要求最大值:
[0013] Maximize U(Rs)
[0014] 約束條件:
[0016] 其中,VweF''"
[0017] /)
[0018] 其中,S為源節(jié)點;D為目的節(jié)點;Rs為信源的發(fā)送速率;U(Rs)為平均吞吐量的績效 函數(shù);Xuv表示節(jié)點U傳遞給節(jié)點V的信譽率,即節(jié)點V從節(jié)點U接收到的所有線性無關的數(shù)據(jù) 包中,節(jié)點V需要向下一跳節(jié)點發(fā)送的線性無關數(shù)據(jù)包的速率;RuJ表示節(jié)點U發(fā)送且集合J中 任意節(jié)點接收數(shù)據(jù)包的速率之和;假設節(jié)點U有k個下一跳節(jié)點,則有2k-l個下一跳節(jié)點的 組合;任意的集合J都屬于2k-l集合中的一個。
[0019] 進一步的,在所述步驟S2中,所述凸優(yōu)化理論采用拉格朗日對偶方法。
[0020] 進一步的,在所述步驟S3中,所采用的編碼反饋技術為采用零空間來實現(xiàn)編碼反 饋。
[0021] 進一步的,在所述步驟S3中,每個所述節(jié)點處設置一個計時器,該計時器計算該節(jié) 點第一次發(fā)送數(shù)據(jù)包到接收到下一跳節(jié)點反饋編碼包的時間T,如果在2T時間內,發(fā)送節(jié)點 收不到下一跳節(jié)點的反饋包且該段數(shù)據(jù)沒有發(fā)送完成,則認為該條鏈路中斷,連通狀態(tài)更 新為0,當檢測到鏈路狀態(tài)表中鏈路的連通狀態(tài)發(fā)生改變時,節(jié)點重新發(fā)送探測信息,及時 發(fā)現(xiàn)和維護鄰站的可達性,并更新鏈路狀態(tài)表,重新發(fā)送當前數(shù)據(jù)段。
[0022] 進一步的,所述步驟S5具體包括:
[0023] S51:目的節(jié)點收到反饋編碼包后,將其加入到當前數(shù)據(jù)段的解碼矩陣中;一旦目 的節(jié)點解碼成功時,立刻向源節(jié)點發(fā)送一個ACK包;
[0024] S52:當源節(jié)點收到當前數(shù)據(jù)段的ACK包時,更新緩存,開始下一個數(shù)據(jù)段的發(fā)送任 務,其他中繼節(jié)點一旦偵聽到ACK包或者接收到新數(shù)據(jù)段的反饋編碼包時,停止當前數(shù)據(jù)段 的發(fā)送。
[0025] 進一步的,在所述步驟S51中:ACK包的優(yōu)先級高于所有數(shù)據(jù)包。
[0026] 進一步的,在所述步驟S51中:使用拉格朗日變量差值最大的節(jié)點進行發(fā)送ACK包。
[0027] 借由上述方案,本發(fā)明至少具有W下優(yōu)點:本發(fā)明的衛(wèi)星網(wǎng)絡中基于網(wǎng)絡編碼的 機會路由算法,在保證網(wǎng)絡平均吞吐量最大的前提下,能夠減少網(wǎng)絡中冗余數(shù)據(jù)包的傳輸, 且能抵抗一定的鏈路失敗率。
[0028] 上述說明僅是本發(fā)明技術方案的概述,為了能夠更清楚了解本發(fā)明的技術手段, 并可依照說明書的內容予W實施,W下W本發(fā)明的較佳實施例并配合附圖詳細說明如后。
【附圖說明】
[0029] 圖1是本發(fā)明的衛(wèi)星網(wǎng)絡中基于網(wǎng)絡編碼的機會路由算法的流程圖。
[0030] 圖2是零空間反饋情形;
[0031] 圖3是節(jié)點U通過反饋向量建表;
[0032] 圖4是鏈路發(fā)生中斷圖示;
[0033] 圖5是信譽率分配示例。
【具體實施方式】
[0034] 下面結合附圖和實施例,對本發(fā)明的【具體實施方式】作進一步詳細描述。W下實施 例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。
[0035] 請結合圖1,本發(fā)明一較佳實施例所述的一種衛(wèi)星網(wǎng)絡中基于網(wǎng)絡編碼的機會路 由算法包括步驟Sl至S5。
[0036] SI:對衛(wèi)星網(wǎng)絡的最大平均吞吐量進行建模,其中建模元素包括節(jié)點、信源的發(fā)送 速率、平均吞吐量的績效函數(shù)、信譽率、數(shù)據(jù)包、反饋編碼包,所述節(jié)點包括源節(jié)點、目的節(jié) 點和中繼節(jié)點。
[0037] 其具體通過如下方式建模:
[0038] 衛(wèi)星網(wǎng)絡的平均吞吐量表示如下:
[0039] Maximize U(Rs) (1)
[0040] 約束條件:
[0041] Sw,義"'-ILA S ,破(:
[0042] 其中,鮮sK\D
[0043] Vuer\D (3)
[0044] 其中,S為源節(jié)點;D為目的節(jié)點;Rs為信源的發(fā)送速率;U(Rs)為平均吞吐量的績效 函數(shù);Xuv表示節(jié)點U傳遞給節(jié)點V的信譽率,即節(jié)點V從節(jié)點U接收到的所有線性無關的數(shù)據(jù) 包中,節(jié)點V需要向下一跳節(jié)點發(fā)送的線性無關數(shù)據(jù)包的速率;RuJ表示節(jié)點U發(fā)送且集合J中 任意節(jié)點接收數(shù)據(jù)包的速率之和;假設節(jié)點U有k個下一跳節(jié)點,則有2k-l個下一跳節(jié)點的 組合;任意的集合J都屬于2k-l集合中的一個。
[0045] S2:用凸優(yōu)化理論求出該模型最優(yōu)解的結構;
[0046] 由公式(2)、(3)可知,約束條件是線性的,且是兩個閉半空間的交集,而該交集是 一個凸集,同時,目標函數(shù)是個凹函數(shù),所W需要解運個凹函數(shù)的最大值,其方法可W用對 偶方法來解決運個問題,那么該問題即為一個凸優(yōu)化問題,在本實施例中,所述凸優(yōu)化理論 采用拉格朗日對偶方法。又由于約束條件的slater條件成立,對偶問題與原始問題不存在 對偶間隙,則對偶問題的最優(yōu)解是原始問題的最優(yōu)解。
[0047] 上述凸優(yōu)化理論求出該模型最優(yōu)解的結構的具體方法如下:
[004引用拉格朗日乘法對公式(2)的約束條件乘W拉格朗日乘子Au得如下拉格朗日函 數(shù):
[0049] L(R,X,入)=U(化)-入S化-入u( SvevXvu-SvevXuv) (4)
[0050] 約束條件為公式(3)。
[0051 ]對公式(4)進行變形,得:
[0052] L(R,X,A)=U(I?s)-AsRs+I:v(\i-A〇Xuv 巧)
[0053] 根據(jù)公式(5)可W得到基本算法,如下所述。
[0054] 源節(jié)點算法:當網(wǎng)絡中有數(shù)據(jù)要發(fā)送的時候,源節(jié)點首先將待發(fā)送的數(shù)據(jù)分成若 干個大小相同的數(shù)據(jù)段,每個數(shù)據(jù)段由k化>0)個數(shù)據(jù)包組成。源節(jié)點對安照公式(6) W相同 的速率將數(shù)據(jù)包注入到數(shù)據(jù)段中,其中,t是指數(shù)據(jù)段的編號。
[0055] Rs(t) =argmax[U(I?s)-人 s(t)Rs] (6)
[0056] 中間節(jié)點算法:每個中間節(jié)點U根據(jù)公式(7)為下一跳節(jié)點分配信譽率。
[0057] R,'(')L.=argmaxX(4(/)-l,W)X", (7) veF
[005引約束條件為公式(3)。
[0059]拉格朗日變量更新算法:按照公式(8)用遞歸法對每個節(jié)點的拉格朗日變量進行 更新。
(8)
[0061] S3:對基本算法的不足之處進行改進:采用編碼反饋技術將代表接收到數(shù)據(jù)包的 反饋信息壓縮在一個反饋編碼包中,同時,利用編碼反饋技術在每個節(jié)點本地維護一個鏈 路狀態(tài)表,其中,鏈路狀態(tài)即本節(jié)點與相鄰節(jié)點的信息W及該鏈路的度量,度量包括本節(jié)點 與鄰居節(jié)點的拉格朗日變量差