WOBAN中帶有冗餘編碼的並行路徑轉發方法與流程
2023-12-04 07:51:51 1

本發明屬於光無線融合網絡通信技術領域,涉及woban中帶有冗餘編碼的並行路徑轉發方法。
背景技術:
隨著智能終端設備的日益普及,各種移動應用和多媒體業務不斷豐富,用戶對高帶寬的需求增長迅猛,傳統的接入方式已無法滿足日益增長的帶寬需求。結合了光網絡和無線網絡兩者優勢的光無線融合接入網(wireless-opticalbroadband-accessnetwork,woban)被認為是未來最理想和最高效的接入網解決方案。
woban是由後端大容量的無源光網絡(passiveopticalnetwork,pon)和前端靈活接入的無線網狀網絡(wirelessmeshnetwork,wmn)組成的新型接入網架構。後端的pon具有大帶寬、低損耗和高可靠的特性,前端的wmn具有易部署、低成本和高靈活的特性,作為二者的融合網絡,woban能夠為用戶提供更快速、更高效的服務。然而,隨著業務量的不斷增大,任意一個網絡故障,如幹線光纖(feederfiber,ff)、配線光纖(distributionfiber,df)、光網絡單元(opticalnetworkunit,onu)、無線鏈路(wirelesslink,wl)等發生故障都將引起大量的數據丟失,造成大量的業務中斷。作為直接面向終端用戶的接入網,任意一個網絡故障將嚴重影響用戶的主觀體驗。因此,快速高效的生存性保障機制對woban起著至關重要的作用。
目前,針對woban中生存性保障技術的研究主要分為兩大類。第一類是利用無線前端網狀網絡的自愈性,在wmn中尋找可利用的路由轉發受故障影響的業務數據,此類研究可解決配線光纖、onu、無線節點及無線鏈路等設備的故障。yliu,jwu,yyu,zning等在「deploymentofsurvivablefiber-wirelessaccessforconvergedopticalanddatacenternetworks」【opticalswitchingandnetworking,2014,14(8):226-232.】中提出一種無線重路由算法(wirelessreroutingwithbackupradios,wrbr),通過為onu分配備用onu,並在備用onu中為該onu預留備用資源解決單個配線光纖故障問題。thotas,bhaumikp,chowdhuryp等在「exploitingwirelessconnectivityforrobustnessinwoban」中提出風險和時延感知路由協議(risk-and-delay-awarerouting,radar)【ieeenetwork,2013,27(4):72-79.】,無線路由節點通過主動維護風險列表,及時感知網絡故障,並通過時延感知減少故障後重路由的路徑切換時間以減少數據的丟失。該類方法雖然無需額外的成本,但需要故障後重新尋找恢復路由,需要較長的恢復時間,會造成大量的業務數據丟失。
另一類研究是通過額外增加備用光纖或備用無線收發設備來轉移受故障影響的業務數據。此類研究可解決olt、幹線光纖、配線光纖、onu、無線節點及無線鏈路等設備的故障。yliu,lguo,xwei在「optimizingbackupoptical-network-unitsselectionandbackupfibersdeploymentinsurvivablehybridwireless-opticalbroadbandaccessnetworks」【journaloflightwavetechnology,2012,30(10),1509-1523】中提出一種優化的備用onu選擇和備用光纖部署機制(optimizingbackuponusselectionandbackupfibersdeploymentscheme,obof),以最小化恢復代價為目的,採用模擬退火算法優化備用onu的選擇及備用光纖的部署。lguo,yliu,fwang等人在「cluster-basedprotectionforsurvivablefiber-wirelessaccessnetworks」【journalofopticalcommunicationsandnetworking,2013,5(11):1178-1194.】中提出一種基於簇結構的保護機制(cluster-basedprotection,cbp),採用啟發式算法和線性規劃模型將網絡進行分簇,同時考慮了備用onu的選取以及備用光纖的部署問題。該類方法雖然預留了備用資源,能快速的恢復受故障影響的業務數據,但需要部署額外的備用光纖,恢復成本較高。
上述研究雖然能快速恢復受故障影響的業務數據,但是即使很短暫的業務終端也會造成大量的業務數據丟失,同時備用光纖的部署也增加了故障恢復的成本。因此如何減少業務數據的損失以及如何減少故障恢復的成本是設計woban中生存性保障機制的關鍵。
技術實現要素:
有鑑於此,本發明的目的在於提供woban中帶有冗餘編碼的並行路徑轉發方法。針對現有woban生存性保障方法業務數據丟失大,恢復成本高的問題,本發明根據業務可靠度需求計算符合要求的並行路徑數,並根據排隊理論計算最小時延的並行路徑。隨後在源節點利用冗餘編碼將業務數據包進行編碼,並根據路徑數、丟包率等參數計算最優的流量分配方案和編碼包數。當目的節點從多條並行路徑中接收到足夠的線性無關的編碼包後,即可恢復出原始業務數據。本發明通過對原始業務數據包進行冗餘編碼並聯合併行路徑轉發,在數據包轉發過程中容忍df、onu、無線節點和無線鏈路等故障。任意一條路徑中的網路設備發生故障後,目的節點只需從其他路徑接收足夠的編碼包即可恢復出原始數據,無需從新尋找路由,實現了快速無損的業務恢復。相比其他方法,本方法在數據無損恢復的基礎上降低了業務恢復成本,同時提升了業務恢復的速度。
為達到上述目的,本發明提供如下技術方案:
woban中帶有冗餘編碼的並行路徑轉發方法,包括鏈路狀態廣播階段、鏈路權值分配階段、並行路徑計算階段、冗餘編碼傳輸階段,
在所述鏈路狀態廣播階段,無線路由節點及onu將鏈路狀態信息廣播到網路中;
在所述鏈路權值分配階段,無線路由節點及onu根據鏈路狀態信息中的參數計算光纖和無線鏈路的時延,並將時延設為該鏈路的權值;
在所述並行路徑計算階段,無線路由節點及onu根據業務的可靠度需求、光纖和無線鏈路誤碼率計算出符合業務需求的並行路徑數n,並重複利用dijkstra最短路徑算法計算出n條最小時延的並行路徑;
在所述冗餘編碼傳輸階段,無線路由節點及onu計算最優的編碼包流量分配方案和最優數編碼數據包數m,再進行冗餘編碼並通過並行路徑傳輸到目的節點。
進一步,所述鏈路狀態信息包括參數:節點類型、節點標識、出口鏈路組、數據包密度、丟包率、隊列長度、時間戳。
進一步,所述無線路由節點及onu節點將鏈路狀態信息廣播到網路中具體為:
無線路由節點將鏈路狀態信息發送給無線路由節點及onu,onu將鏈路狀態信息同時發送給無線路由節點、onu和olt。
進一步,所述計算光纖和無線鏈路的時延具體為:
onu到olt的上行時延為tonu,olt=tr+tg+ts+tq+tp,其中tr為數據包到達和發送第一個request信息之間的時間,tg為發送第一個request信息到接收到發送該數據包的grant信息之間的時間,ts為接收到該數據包的grant信息後,等待授權時隙發送數據的時間,tq為授權時隙到來後,發送隊列中該數據包之前的數據所需時間,tp為數據包在光釺鏈路上的傳播時延;
當onu的隊列長度時,其中為該onu獲得授權帶寬的均值,onu到olt的上行時延為其中e[tcycle]為輪詢周期tcycle的均值,ro為光纖的傳輸速率,rtt為onu的往返時延;
當onu的隊列長度時,onu到olt的上行時延為其中wmax為最大的授權帶寬。
進一步,所述e[tcycle]的計算方法為:
首先根據排隊理論求出任意一個onu在下一個周期申請的帶寬其中vi(k+1)表示onui在k+1個輪詢周期的申請帶寬,為onui的第k個輪詢周期長度,λi數據包到達率,1/μ為數據包的平均長度;
然後根據onu在下一個周期申請帶寬的大小e[vi(k+1)]將onu分為2組:高負載onu(highloadonu,hlonu)和低負載onu(lowloadonu,llonu),其中集合hlonu中的onu滿足e[vi(k+1)]>wmax,即onu的申請帶寬大於最大授權帶寬,集合llonu中的onu滿足e[vi(k+1)]≤wmax,即onu的授權帶寬小於或等於最大授權帶寬;當且時,即所有onu處於低負載狀態,且滿足e[vi(k+1)]≤wmax,輪詢周期的均值當且時,輪詢周期的均值當且時,即所有onu處於高負載狀態,且滿足e[vi(k+1)]>wmax,輪詢周期的均值e[tcycle]=k(wmax+tg),其中tg表示保護時隙,k為網絡中onu的個數。
進一步,所述滿足:當onui∈llonu時,即onu屬於低負載onu時,授權帶寬的均值當onui∈hlonu時,即onu屬於高負載onu時,授權帶寬的均值
進一步,所述計算出符合業務需求的並行路徑數n具體為:對於任意一條並行路徑p,包含跳無線鏈路和1跳光纖鏈路,其中為無線路由節點到不同onu跳數的平均值,通過公式得到,|w|為網絡中onu的個數,hi為無線路由節點到第i個onu的最短跳數;則任意一條並行路徑p中數據包成功傳輸到目的節點的概率為其中為無線鏈路的誤碼率,為光纖鏈路的誤碼率,l為數據包長度;則n條並行路徑的可靠度根據業務需求的可靠度r,並行路徑數n通過公式得到。
進一步,所述計算最優的編碼包流量分配方案具體為:當x1=x2=…=xk=…=xn=m/n,其中xk表示第k條並行路徑中傳輸的編碼數據包數,xn表示第n條並行路徑中傳輸的編碼數據包數,即每條並行路徑上的編碼數據包數相等時,在任意一條並行路徑失效後,目的節點成功解碼恢復出原始數據包的基礎上,所需編碼數據包數m最小;其中m為編碼包的個數,n為並行路徑數。
進一步,所述最優數編碼數據包數m計算方法為:
在不考慮無線鏈路丟包時,任意n-1條路徑中傳輸的編碼數據包總數大於或等於m,即其中m為編碼包的個數,m為原始數據包個數,n為並行路徑數;得到在任意一條並行路徑失效後,目的節點恢復出原始數據包的前提下,編碼數據包數m的最小值同時根據流量分配方案,目的節點從每條並行路徑上至少接收到m/n-1個編碼數據包實現成功解碼出原始數據包;
在考慮無線鏈路丟包時,令ei為路徑pi={e1,e2,…}中第i條鏈路的丟包率,則對於任意一個數據包,其成功傳輸到目的節點的概率為令x′i為考慮丟包率後第i條路徑傳輸的編碼數據包個數,由於的節點從每條並行路徑上至少接收到m/n-1個編碼數據包則有得到每條並行路徑上至少傳輸的編碼數據包個數總的編碼數據包個數m為
進一步,所述進行冗餘編碼並通過並行路徑傳輸到目的節點具體為:源節點將需要發送的數據包按照每組m個進行分組,對每組內的數據包進行冗餘編碼並生成m個編碼數據包,隨後根據流量分配方案,將編碼數據包通過n條並行路徑傳輸到目的節點;目的節點從n條並行路徑中接收到m個線性無關的編碼包,解碼並恢復出m個原始數據包;當任意一條並行路徑失效,根據編碼方案,目的節點從其他n-1條並行路徑中接收到至少m個線性無關的編碼包。
本發明的有益效果在於:本發明提出的生存性保障方法,將原始數據包進行冗餘編碼,消除了業務對單個數據包的依賴,當單個數據包丟失後,源節點無需重傳,而目的節點仍然可以成功恢復出原始數據包;本方法結合併行路徑傳輸編碼包,並考慮任意一條並行路徑失效後目的節點仍可成功情況下計算並行路徑數和冗餘編碼包數,因此本方法可以容忍任意一條路徑上的設備故障導致整條路徑中斷,相比其他方法,本方法無需重傳數據包,可以快速恢復原始數據包;本方法無需添加額外備用光纖或備用無線收發設備,極大降低了網絡部署成本。
附圖說明
為了使本發明的目的、技術方案和有益效果更加清楚,本發明提供如下附圖進行說明:
圖1為woban的網路結構圖;
圖2為帶有冗餘編碼的並行數據轉發方法流程圖;
圖3為onu與olt交互示意圖;
圖4為onu內部隊列示意圖;
圖5為輪詢周期示意圖。
具體實施方式
下面將結合附圖,對本發明的優選實施例進行詳細的描述。
本方法通過融合冗餘編碼並行路徑轉發,以較低的時延和較少的資源對woban中的配線光纖故障、onu故障、無線節點和鏈路故障進行保護及快速無損的數據恢復。woban網絡的網絡結構圖如圖1所示。本方法主要包括以下步驟,如圖2所示。
1.鏈路狀態廣播階段:節點(onu及無線路由節點)周期性向網絡中廣播鏈路狀態信息(linkstateadvertisement,lsa),其格式如表1所示。同時onu需要將接收到的無線路由節點的lsa發送到olt,以便olt在下行數據傳輸時選擇合適的並行路徑進行傳輸。
表1lsa數據包格式
其中:
1)節點類型為router或onu;
2)節點標識為該節點在網絡中的唯一標識;
3)出口鏈路組為以該節點為起點的所有出口鏈路。若節點類型為router,則這部分包含以該無線路由節點為起點的所有出口鏈路;若節點類型為onu,則這部分包含該onu到olt的光纖鏈路和以該onu為起點到無線路由節點的無線鏈路;
4)數據包密度為無線鏈路或光纖鏈路上數據包到達的密度;
5)丟包率為該鏈路的平均丟包率,無線鏈路的丟包率可通過發送探測包獲得,由於光纖鏈路較穩定,因此光纖鏈路的丟包率設為0。
6)隊列長度為onu內部隊列的長度,節點類型為router時該欄位為null。
7)時間戳為該lsa產生的時間,假設全網的時間保持同步。
無線路由節點和onu生成的lsa如表2和表3所示。
表2無線路由節點產生的lsa
表3onu產生的lsa
2.鏈路權值分配階段:當有業務需要傳輸時,源節點首先需要根據各節點的lsa更新網絡中各鏈路的權值,本方法將根據lsa中的參數計算出各鏈路的時延,並將時延設為鏈路的權值。
1)無線鏈路時延
假設woban無線前端的無線路由節點採用tdma的方式共享信道,數據包在wmn中無線鏈路的時延主要包括四個方面:傳播時延、傳輸時延、時隙同步時延和排隊時延。
則對於任意一條無線鏈路u-v的時延duv可通過公式(1)計算。
其中,1/μ表示數據包平均長度,cuv表示鏈路u-v的有效容量,λuv為鏈路u-v上的數據包密度。
2)光纖鏈路時延
根據動態帶寬分配算法(dynamicbandwidthallocation,dba),woban後端的pon網絡上行傳輸採用時分復用的方式傳輸數據,下行傳輸採用廣播的方式傳輸數據。
①onu到olt的上行時延
上行傳輸時,所有onu通過時分復用的形式共享上行信道,每個onu只能在olt授權的時隙內發送上行數據和request信息。request信息中包含了onu的隊列長度,表示該onu在下一個輪詢周期期望發送的帶寬。假設onu內部隊列的調度採用fifo機制,根據dba算法,一個數據包到達onu後,onu和olt的整個交互過程如圖3所示。
則數據包從onu到olt的總時延tonu,olt如公式(2)所示。
tonu,olt=tr+tg+ts+tq+tp(2)
tr為數據包到達和發送第一個request信息之間的時間。其均值可通過公式(3)計算,其中tcycle為輪詢周期。
e[tr]=e[tcycle]/2(3)
tg為發送第一個request信息到接收到可以發送該數據包的grant信息之間的時間。如圖4所示,在負載較高的情況下,當數據包到達時,隊列中已有較多的數據包,在一個輪詢周期中,onu無法發送全部數據包,因此tg可能包含多個輪詢周期。若onu沒有將隊列中的數據包全部發送出去,則此時onu必然被授予了最大的授權帶寬wmax,則tg的均值可通過公式(4)計算。
其中,q為onu的隊列長度,表示數據包到達onu後,發送第一個request信息前接收到的grant信息中包含的授權帶寬。為該onu獲得授權帶寬的均值。
ts為接收到該數據包的grant信息後,等待授權時隙發送數據的時間,由於dba算法只在該onu的授權時隙到來之前發送grant信息,因此ts非常小,可以忽略不計。
tq為授權時隙到來後,發送隊列中該數據包之前的數據所需時間。tq可通過公式(5)計算,其中ro為光纖的傳輸速率。
tp為數據包在光釺鏈路上的傳播時延。其均值如公式(6)所示,其中,rtt為onu的往返時延。
e[tp]=rtt/2(6)
因此,數據包從onu到olt的上行總時延tonu,olt可表示為公式(7)。
在公式(7)中,由於輪詢周期長度的均值e[tcycle]和授權帶寬的均值還未知,因此暫時還不能得到上行時延,本發明將利用排隊理論求出e[tcycle]和
假設第i個onu的數據包到達服從泊松分布,其到達率為λi,數據包的平均長度為1/μ,wi(k)為onui在第k個輪詢周期中的授權帶寬,vi(k)為onui第k個輪詢周期中向olt申請的帶寬,ni(t)表示onui在時間t內到達的數據包個數。如圖5所示,onui的第k個輪詢周期長度為假設第k+1個輪詢周期向olt申請的帶寬大小主要取決於前一輪詢周期內到達的數據量,如圖5中,onu1的第0個輪詢周期中到達的數據包,在第1個輪詢周期中向olt申請帶寬。
對於onui在第k個輪詢周期中到達數據包的個數為n的概率為公式(8)所示。
則onui在第k個輪詢周期中到達數據包個數的均值為公示(9)所示。
在第k+1個輪詢周期,onui申請的帶寬大小為公式(10)所示。
根據接收到所有onu的lsa,可以計算出任意一個onu的e[v(k+1)]。將所有的onu分為兩組:高負載onu(highloadonu,hlonu)和低負載onu(lowloadonu,llonu)。其中集合hlonu中的onu滿足e[vi(k+1)]>wmax,llonu中的onu滿足e[vi(k+1)]≤wmax。
a)當且時,即所有onu處於低負載狀態,且滿足e[vi(k+1)]≤wmax。
此時網絡負載較小,onui在第k+2個輪詢周期所獲得的授權帶寬應等於第k+1個輪詢周期申請的帶寬,即公式(11)所示。
e[wi(k+2)]=e[vi(k+1)](11)
第k+2個輪詢周期長度可表示為公示(12),其中k為onu的個數,tg表示保護時隙。
在穩定狀態時,不同輪詢周期長度的均值應相等,即
則公式(12)可化簡為。
因此可以得到,輪詢周期的均值e[tcycle]為公式(15)所示。
b)當且時。
onui在第k+2個輪詢周期所獲得的授權帶寬e[wi(k+2)]應滿足公式(16)。
第k+2個輪詢周期長度如公式(17)所示。
同理,在穩定狀態時,不同輪詢周期長度的均值應相等,則上式可簡化為公式(18)。其中|hlonu|為集合hlonu中的節點個數。
c)當且時,即所有onu處於高負載狀態,且滿足e[vi(k+1)]>wmax。
onui在第k+2個輪詢周期所獲得的授權帶寬如公式(19)所示。
e[wi(k+2)]=wmax(19)
同理可以得到,輪詢周期的均值e[tcycle]為。
綜上所述,onui輪詢周期長度的均值e[tcycle]為公式(21)所示。
onui所獲得授權帶寬的均值為公式(22)所示。
根據公式(22)、公式(23)和公式(7),即可求出onu到olt的上行時延tonu,olt。
②olt到onu的下行時延
olt到onu的下行時延包括了傳輸時延和傳播時延。當olt到各個onu之間的鏈路容量相等時,對於任意的一個數據包,其到每一個onu的傳輸時延都相等,因此本文不考慮傳輸時延。則下行時延tolt,onu如公式(23)所示。
其中為olt到onui的光纖鏈路長度,soptical為光信號在光纖中的傳播速度。
3.並行路徑計算階段:本發明重複利用dijkstra最短路徑算法找出具有最小時延的onu分離的並行路徑。
1)計算並行路徑數n
設業務要求的可靠度為r,每條無線鏈路的誤碼率相同為每條光纖鏈路的誤碼率相同為每個數據包長度相同且為l。則數據包在無線鏈路上無差錯傳輸的概率pw為。
同理,數據包在光纖鏈路上無差錯傳輸的概率po為。
由於無線路由節點到不同onu的跳數不同,為了簡化運算,設為無線路由節點到不同onu跳數的平均值,如公式(26)所示,其中|w|為網絡中onu的個數,hi為無線路由節點到第i個onu的最短跳數。
對於任意一條路徑p,包含跳無線鏈路和1跳光纖鏈路,數據包成功傳輸到目的節點的概率為
由於配線光纖故障、onu故障、無線節點和無線鏈路等故障都將導致一條路徑的失效,考慮任意一條路徑失效後,目的節點仍然能夠成功解碼出原始數據包。因此至少有n-1條路徑成功傳輸,目的節點才能成功解碼出原始數據包。則n條並行路徑的可靠度r′為公式(28)所示。
n條並行路徑的可靠度應滿足r′≥r,因此有
根據公示(29)即可求出滿足可靠度r的並行路徑數n。
2)尋找n條並行路徑
首先初始化輔助圖g′,輔助圖包含了所有的光纖鏈路以及無線鏈路。在g′中使用dijkstra最短路徑算法計算出從源節點到目的節點(無線路由節點到olt或相反方向)的第1條路徑,然後更新g′,在g′中刪除第1條路徑所經過節點間的鏈路(雙向鏈路都要刪除)。在更新後的g′中繼續使用dijkstra最短路徑算法計算出第2條路徑,如此循環n次,即可計算出n條onu分離的並行路徑。
4.冗餘編碼傳輸階段:源節點採用冗餘編碼將m個原始數據包編碼成m個編碼數據包,並根據數據包流量分配方案將數據包發送到n條並行路徑中。若中間節點為多條路徑的交叉節點,則對較短時間τ內接收到同一組中的k個編碼數據包進行再編碼。當目的節點接從n條並行路徑中接收到m個線性無關的編碼數據包後,即可成功解碼並恢復出原始數據包。
1)最優數據包流量分配方案
編碼數據包的流量分配問題即如何將m個編碼數據包分配到n條路徑中。由於配線光纖、onu或者無線鏈路等發生故障後整條路徑上的編碼數據包將無法傳輸到olt,而n條路徑中流量分配具有差異性,每條路徑上的數據包個數不相同,因此損失的編碼數據包個數也不相同。為了在保證olt能夠在系統發生故障後收到m個線性無關的編碼數據包,在不同的流量分配方案下,所需編碼數據包個數m不同。同時在相同的編碼數據包個數m的情況下,不同的流量分配方案也將影響olt是否能夠成功接收到m個線性無關的編碼數據包。
因此本發明的主要目標是在配線光纖、onu和無線鏈路發生故障的情況下,保證olt能成功解碼恢復出原始數據包的基礎上,尋找最優的流量分配方案使編碼數據包個數m最小。
假設原始數據包為m個,經過隨機線性網絡編碼後產生m個編碼數據包,所有編碼數據包都是線性無關的。nk代表第k條並行路徑,xk代表並行路徑nk上傳輸的編碼數據包個數。則有公式(30)所示。
x1+x2+…+xk+…+xn=m,1≤k≤n(30)
假設任何一條路徑中的配線光纖、onu或者無線鏈路發生故障後,該路徑上傳輸的編碼數據包將全部丟失。同時並行路徑中的數據包個數按照升序排列,如公式(31)所示。
0<x1≤x2≤…≤xk≤…≤xn<m,1≤k≤n(31)
根據公式(30)和公式(31)有
x1+x2+…+xk+…+xn=m≤n·xn(32)
可以得到
xmax=xn≥m/n(33)
同理可以得到
xmin=x1≤m/n(34)
在不考慮鏈路丟包的情況下,當n條並行路徑中任意一條路徑失效後,目的節點仍然能夠解碼恢復出原始數據,則任意n-1條路徑中傳輸的編碼數據包總數應大於或等於m。
當路徑nn失效後,要保證目的節點能成功解碼,則其餘n-1條鏈路上傳輸的編碼數據包總數應滿足公式(35)。
x1+x2+…+xk+…+xn-1=m-xn≥m(35)
即
m≥m+xn≥m+m/n(36)
因此可以得到當xn=m/n時,可使編碼數據包數m最小。
同理可以得到公式(37),即每條並行路徑上的編碼數據包數相等時,可在任意一條並行路徑失效後,目的節點能成功解碼恢復出原始數據包的基礎上,所需編碼數據包數m最小。
x1=x2=…=xk=…=xn=m/n(37)
2)最優數編碼數據包數m
假設p={p1,p2,…,pn}為n條並行路徑的集合,其中pi={e1,e2,…}為第i並行條路徑的鏈路集合。在不考慮無線鏈路丟包時,任意n-1條路徑中傳輸的編碼數據包總數應大於或等於m,根據公式(35)和公式(37)可以得到公式(38)。
即:
為了減輕網絡負載,取m的最小值,即編碼數據包數m的最小值如公式(40)所示。
則每條路徑上傳輸的數據包個數為
由於每一條無線鏈路都存在丟包的情況(假設光纖鏈路不存在丟包),當出現丟包後,會導致目的節點從n-1條路徑中接收到少於m個編碼數據包,從而不能成功解碼,因此為了使發送故障後目的節點能成功解碼,則目的節點在丟包後應仍然能夠接收到至少m個編碼數據包。
目的節點從每條並行路徑上應至少接收到m/n-1個編碼數據包,因此必須針對每條並行路徑上的丟包情況,增加該路徑上傳輸的編碼數據包個數,以使目的節點在每條並行路徑上能接收到至少m/n-1個編碼數據包。
令ei為路徑pi={e1,e2,…}中第i條鏈路的丟包率,則對於任意一個數據包,其成功傳輸到目的節點的概率為公式(42)所示。
令x′i為考慮丟包率後第i條路徑傳輸的編碼數據包個數,則成功到達目的節點的數據包個數應大於或等於m/n-1,如公式(43)所示。
根據公式(44)可以得到每條並行路徑上至少應該傳輸的編碼數據包個數
則在考慮丟包的情況下,總的編碼數據包個數m如公式(45)所示。
3)進行冗餘編碼
源節點將需要發送的數據包按照每組m個進行分組,分別用x1,x2,…,xm來表示這m個原始數據包。從有限域fq中隨機選取m組隨機數構成作為編碼係數,每組包含m個隨機數構成編碼向量ai=(ξ1,ξ2,……,ξm)。用y1,y2,…,ym表示m個編碼數據包,其中m>m。則編碼過程可表示為公式(46)所示。
當生成m個編碼數據包後,源節點將m個編碼數據包通過n條路徑傳輸到目的節點。目的節點接收到m個線性無關的編碼數據包之後,根據公式(47),即可恢復出原始數據包。
最後說明的是,以上優選實施例僅用以說明本發明的技術方案而非限制,儘管通過上述優選實施例已經對本發明進行了詳細的描述,但本領域技術人員應當理解,可以在形式上和細節上對其作出各種各樣的改變,而不偏離本發明權利要求書所限定的範圍。