專利名稱:一種無(wú)線Ad hoc網(wǎng)絡(luò)視頻傳輸鏈路質(zhì)量檢測(cè)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及小范圍的無(wú)線自組織Ad hoc網(wǎng)絡(luò)和實(shí)時(shí)多力某體視頻業(yè)務(wù), 具體涉及一種無(wú)線Ad hoc網(wǎng)絡(luò)視頻傳輸鏈路質(zhì)量檢測(cè)方法。
背景技術(shù):
隨著無(wú)線網(wǎng)絡(luò)技術(shù)應(yīng)用日益廣泛,對(duì)無(wú)線網(wǎng)絡(luò)傳輸在傳輸距離,系統(tǒng)性 能,業(yè)務(wù)范圍等多方面都有越來(lái)越高的要求,其中,實(shí)時(shí)視頻業(yè)務(wù)將是未來(lái) 無(wú)線網(wǎng)絡(luò)技術(shù)應(yīng)用的一個(gè)重要方向?,F(xiàn)有無(wú)線通訊網(wǎng)絡(luò)都是有中心的,即,
預(yù)先鋪設(shè)的基站,無(wú)線傳輸發(fā)生在無(wú)線終端設(shè)備到基站間的一跳范圍,例如 蜂窩移動(dòng)通信和802.11 WLAN。
Ad hoc網(wǎng)絡(luò)是最近興起的一種無(wú)線移動(dòng)網(wǎng)絡(luò)。典型的Ad hoc網(wǎng)絡(luò)如圖 1、 2所示。Adhoc網(wǎng)絡(luò)的特點(diǎn)有Adhoc網(wǎng)絡(luò)中沒(méi)有基站,網(wǎng)絡(luò)中的節(jié)點(diǎn) 都處于平等的地位,每個(gè)節(jié)點(diǎn)既是主機(jī)也是一個(gè)路由器;任意兩個(gè)節(jié)點(diǎn)間的 通信按一定的路由協(xié)議經(jīng)多跳來(lái)完成。因此,節(jié)點(diǎn)間的通信需要一定的路由 協(xié)議來(lái)支持。無(wú)線節(jié)點(diǎn)通過(guò)分層的網(wǎng)絡(luò)協(xié)議和分布式算法相互協(xié)調(diào),實(shí)現(xiàn)網(wǎng) 絡(luò)的自動(dòng)組織和運(yùn)4亍。
由于Ad hoc網(wǎng)內(nèi)節(jié)點(diǎn)具有較高的移動(dòng)性,節(jié)點(diǎn)使用無(wú)線通道時(shí)存在彼 此間的干擾,造成了網(wǎng)絡(luò)拓樸結(jié)構(gòu)的頻繁變化;另外,IEEE 802.11標(biāo)準(zhǔn)采 用2.4GHZ以上的頻段,信號(hào)的繞射能力差,容易被物體阻攔,也容易被其 他無(wú)線電波干擾。這些因素使得Adhoc網(wǎng)內(nèi)節(jié)點(diǎn)間的通信鏈路穩(wěn)定性較差, 鏈路失效或斷開(kāi)經(jīng)常發(fā)生,從而導(dǎo)致頻繁的路由失效。
多媒體視頻業(yè)務(wù)的對(duì)網(wǎng)絡(luò)傳輸延遲,實(shí)時(shí)性,帶寬要求相對(duì)較高。為適 應(yīng)上述無(wú)線傳輸?shù)奶攸c(diǎn),無(wú)線網(wǎng)絡(luò)路由協(xié)議,如DSR協(xié)議,即Dynamic Source Routing協(xié)議,必須經(jīng)常檢測(cè)鏈路的連通狀態(tài),并在鏈路失效時(shí)選擇新的路
由?,F(xiàn)有的路由協(xié)議普遍存在4全測(cè)鏈路失效和路由維護(hù)開(kāi)銷較大的問(wèn)題,這
給多媒體視頻傳輸帶來(lái)不可接受的延遲和丟包率。另外,正EE 802.11MAC 層使用分布的DCF方式接入通道,DCF是一種隨機(jī)竟?fàn)?沖突避免的通道訪 問(wèn)機(jī)制。在有線的點(diǎn)到點(diǎn)網(wǎng)絡(luò)中, 一條鏈路的可用帶寬可根據(jù)測(cè)量到的鏈路 的利用率加以估計(jì)。但因在802.11DCF模式下,竟?fàn)幫ǖ赖母鱾€(gè)節(jié)點(diǎn)存在 彼此干擾,在多跳情形下還存在隱蔽節(jié)點(diǎn)的影響,無(wú)法通過(guò)測(cè)量?jī)牲c(diǎn)間的鏈 路利用率對(duì)可用帶寬進(jìn)行估計(jì)。
對(duì)每個(gè)發(fā)送的數(shù)據(jù)包加以ACK確認(rèn)策略,這兩種方法都存在檢測(cè)開(kāi)銷過(guò)大 的問(wèn)題,加上在基于802.11的Ad hoc網(wǎng)絡(luò)中,發(fā)送ACK或探測(cè)包的節(jié)點(diǎn) 同樣和其它節(jié)點(diǎn)竟?fàn)幫ǖ溃@給網(wǎng)絡(luò)帶來(lái)的負(fù)載遠(yuǎn)比單純傳輸ACK包本身 要大,而ACK信號(hào)無(wú)法竟?fàn)幫ǖ蓝鵁o(wú)法返回,這樣就造成了不準(zhǔn)確和誤判 過(guò)多。
發(fā)明內(nèi)容
本發(fā)明需要解決的技術(shù)問(wèn)題是提供一種無(wú)線Ad hoc網(wǎng)絡(luò)視頻傳輸鏈路 質(zhì)量檢測(cè)方法,可以降低檢測(cè)鏈路失效的開(kāi)銷,減少視頻傳輸?shù)难舆t和丟包 率,保證其質(zhì)量和實(shí)時(shí)性,同時(shí)提高^(guò)r測(cè)準(zhǔn)確性,為在無(wú)線Adhoc網(wǎng)絡(luò)中 實(shí)現(xiàn)多媒體視頻業(yè)務(wù)奠定基礎(chǔ)。
本發(fā)明的上述技術(shù)問(wèn)題這樣解決,提供一種無(wú)線Ad hoc網(wǎng)絡(luò)視頻傳輸 鏈路質(zhì)量檢測(cè)方法,使用對(duì)應(yīng)數(shù)據(jù)包成功接收的ACK信號(hào),包括以下步驟
1.1) 上游節(jié)點(diǎn)以上次所述ACK信號(hào)的回程時(shí)間LAST—ACK—RTT為最 小間隔向下游節(jié)點(diǎn)發(fā)送當(dāng)前數(shù)據(jù)包的ACK請(qǐng)求;
1.2) 下游節(jié)點(diǎn)接收所述數(shù)據(jù)包并4艮據(jù)所述請(qǐng)求發(fā)送對(duì)應(yīng)的ACK信號(hào);
1.3) 上游節(jié)點(diǎn)根據(jù)在指定時(shí)間內(nèi)與一次或多次所述請(qǐng)求對(duì)應(yīng)的所述 ACK信號(hào)的返回確定鏈路有效或者不返回的次數(shù)超過(guò)設(shè)定門限確定鏈路無(wú)效。
按照本發(fā)明提供的質(zhì)量檢測(cè)方法,所述步驟1.2)中指定時(shí)間與每次請(qǐng)求
對(duì)應(yīng),自對(duì)應(yīng)i青求發(fā)送時(shí)間開(kāi)始計(jì)時(shí)。
按照本發(fā)明提供的質(zhì)量檢測(cè)方法,所述指定時(shí)間可以但不限制于是所述
回禾呈時(shí)間LAST—ACK—RTT的2-4倍。
按照本發(fā)明提供的質(zhì)量檢測(cè)方法,所述步驟1.2)中指定時(shí)間是一段連續(xù) 時(shí)間,自第 一個(gè)對(duì)應(yīng)ACK信號(hào)不返回的請(qǐng)求發(fā)送時(shí)間開(kāi)始計(jì)時(shí)。
按照本發(fā)明提供的質(zhì)量檢測(cè)方法,所述設(shè)定門限和指定時(shí)間包括但不限 制于以下兩種(-)所述設(shè)定門限是2 ,該指定時(shí)間可以是4* LAST—ACK一RTT ; (二)所述設(shè)定門限是3 ,該指定時(shí)間可以是5* LAST—ACK—RTT 。
按照本發(fā)明提供的質(zhì)量檢測(cè)方法,所述設(shè)定門限可以但不限制于是1-6。
按照本發(fā)明提供的質(zhì)量檢測(cè)方法,所述步驟l.l)中回程時(shí)間 LAST—ACK—RTT小于最短間隔,則上游節(jié)點(diǎn)以所述最短間隔為時(shí)間間隔發(fā) 送當(dāng)前數(shù)據(jù)包的ACK請(qǐng)求。
按照本發(fā)明提供的質(zhì)量檢測(cè)方法,所述步驟l.l)中回程時(shí)間 LAST—ACK—RTT包括在發(fā)送ACK請(qǐng)求和對(duì)應(yīng)ACK信號(hào)返回的全程時(shí)間。
按照本發(fā)明提供的質(zhì)量檢測(cè)方法,所述步驟1.2)中還包括根據(jù)所述ACK 信號(hào)的返回時(shí)間和對(duì)應(yīng)請(qǐng)求的具體發(fā)送時(shí)間計(jì)算該ACK信號(hào)回程時(shí)間并替 換原有的所述回程時(shí)間LAST—ACK—RTT,返回步驟1.1)。
按照本發(fā)明提供的質(zhì)量檢測(cè)方法,所述上游節(jié)點(diǎn)是視頻采集節(jié)點(diǎn)或數(shù)據(jù) 轉(zhuǎn)發(fā)節(jié)點(diǎn);所述下游節(jié)點(diǎn)是數(shù)據(jù)轉(zhuǎn)發(fā)節(jié)點(diǎn)或視頻接收節(jié)點(diǎn)。
按照本發(fā)明提供的質(zhì)量檢測(cè)方法, 一旦檢測(cè)到主路徑中任一節(jié)點(diǎn)間鏈路 無(wú)效,則該傳輸實(shí)時(shí)多媒體視頻數(shù)據(jù)的主路徑失效。
本發(fā)明提供的無(wú)線Ad hoc網(wǎng)絡(luò)-視頻傳輸鏈路質(zhì)量檢測(cè)方法,取反應(yīng)網(wǎng) 絡(luò)負(fù)載情況的上次所述ACK信號(hào)回程時(shí)間LAST—ACK—RTT或下限值為間 隔發(fā)送ACK請(qǐng)求,較周期性的發(fā)送探測(cè)包策略或每個(gè)發(fā)送的數(shù)據(jù)包加以 ACK確認(rèn)策略,可以根據(jù)網(wǎng)絡(luò)負(fù)載情況請(qǐng)求ACK信號(hào),因而能減少檢測(cè)開(kāi) 銷從而減少視頻傳輸?shù)难舆t和丟包率,保證其質(zhì)量和實(shí)時(shí)性,同時(shí)有效地提 高ACK信號(hào)的返回、減少誤判,增加了檢測(cè)的準(zhǔn)確性,為在無(wú)線Adhoc網(wǎng)
絡(luò)中實(shí)現(xiàn)或更好地實(shí)現(xiàn)多々某體視頻業(yè)務(wù)奠定基礎(chǔ)。
下面結(jié)合附圖和具體實(shí)施例進(jìn)一步對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明。
圖1是典型的無(wú)線Adhoc網(wǎng)絡(luò)實(shí)體圖。
圖2是與圖l對(duì)應(yīng)的Adhoc網(wǎng)絡(luò)示意圖。
圖3是本發(fā)明整體方案主備切換狀態(tài)轉(zhuǎn)移示意圖。
圖4是本發(fā)明整體方案提供的DSR協(xié)議結(jié)構(gòu)示意圖。
圖5是本發(fā)明整體方案結(jié)合DSR協(xié)議傳輸實(shí)時(shí)視頻多媒體業(yè)務(wù)中的視 頻發(fā)送端上層多々某體應(yīng)用程序發(fā)送子流程示意圖。
圖6是本發(fā)明整體方案結(jié)合DSR協(xié)議傳輸實(shí)時(shí)視頻多i某體業(yè)務(wù)中的視 頻發(fā)送端或數(shù)據(jù)轉(zhuǎn)發(fā)端下層協(xié)議發(fā)送處理子流程示意圖。
圖7是本發(fā)明整體方案結(jié)合DSR協(xié)議傳輸實(shí)時(shí)視頻多媒體業(yè)務(wù)中的數(shù) 據(jù)轉(zhuǎn)發(fā)端接收處理子流程或視頻接收端接收處理流程示意圖。
圖8是按本發(fā)明整體方案實(shí)現(xiàn)的DSR協(xié)議的功能模塊框圖。
具體實(shí)施例方式
本發(fā)明最終目的是在無(wú)線Ad hoc網(wǎng)絡(luò)構(gòu)建寬帶無(wú)線多i某體通信網(wǎng)絡(luò)實(shí) 現(xiàn)實(shí)時(shí)多媒體視頻業(yè)務(wù),因此下面結(jié)合本發(fā)明最終目的的整體方案詳細(xì)說(shuō)明 本發(fā)明
首先,針對(duì)本發(fā)明最終目的就每一個(gè)必須解決的具體問(wèn)題的處理說(shuō)明該 整體方案具體思想
(-)使用IEEE 802.11 MAC層協(xié)議的無(wú)線Ad hoc網(wǎng)絡(luò)中進(jìn)行實(shí)時(shí)多媒體 視頻傳輸必須解決的技術(shù)問(wèn)題,包括①減少檢測(cè)鏈路失效的開(kāi)銷、增加檢 測(cè)正確度;②在802.11協(xié)議下考慮到無(wú)線節(jié)點(diǎn)彼此千擾的可用帶寬的計(jì)算; ③鏈路失效后的快速處理。
本發(fā)明整體方案主要針對(duì)上述三個(gè)問(wèn)題,提供了以下三種方法和策略
Cz)本發(fā)明自適應(yīng)鏈路失效檢測(cè)技術(shù),曰無(wú)線Ad hoc網(wǎng)絡(luò)路徑可用帶寬計(jì) 算算法,卿支持視頻傳輸?shù)膫溆寐酚蓹C(jī)制。
下面就上述三種方法和策略分別進(jìn)4于具體i兌明
仁)本發(fā)明自適應(yīng)鏈路失效檢測(cè)技術(shù)
為在無(wú)線Adhoc網(wǎng)絡(luò)中進(jìn)行視頻傳輸,首先必須要在源節(jié)點(diǎn)和目的節(jié) 點(diǎn)之間建立一條傳輸路徑,該傳輸路徑需要有滿足視頻傳輸速率要求的帶寬 可用。在找到這樣路徑后則可以開(kāi)始視頻流的傳輸。由于無(wú)線信道易受干擾 和較大的誤碼率,在傳輸過(guò)程中會(huì)出現(xiàn)鏈路斷開(kāi)從而傳輸路徑失效的情形; 為此,需要經(jīng)常檢測(cè)是否發(fā)生鏈路失效。當(dāng)鏈路失效時(shí)需要使用其它的具有 所需帶寬資源的傳輸路徑,并將視頻流轉(zhuǎn)向這條路徑傳輸。
現(xiàn)有的鏈路狀態(tài)檢測(cè)方法或者使用周期性的發(fā)送探測(cè)包策略;或者使用 對(duì)每個(gè)發(fā)送的數(shù)據(jù)包加以ACK確認(rèn)策略。這兩種方法都存在檢測(cè)開(kāi)銷過(guò)大 和不準(zhǔn)確即誤判過(guò)多的問(wèn)題;另外在基于802.11的Ad hoc網(wǎng)絡(luò)中,發(fā)送ACK 或探測(cè)包的節(jié)點(diǎn)同樣和其它節(jié)點(diǎn)竟?fàn)幫ǖ?,這給網(wǎng)絡(luò)帶來(lái)的負(fù)載遠(yuǎn)比單純傳 輸ACK包本身要大。
在本發(fā)明的鏈路傳輸方法中,上游節(jié)點(diǎn)根據(jù)反映網(wǎng)絡(luò)負(fù)載狀態(tài)的參數(shù)一 最近收到的ACK的回程時(shí)間Round Trip Time值,簡(jiǎn)稱RTT值,以下簡(jiǎn)寫 為ACK-RTT—主動(dòng)向下游節(jié)點(diǎn)請(qǐng)求ACK確認(rèn)。在網(wǎng)絡(luò)負(fù)載較重時(shí),ACK -RTT值較大,兩次請(qǐng)求ACK的時(shí)間間隔相對(duì)較長(zhǎng),避免了發(fā)送ACK節(jié) 點(diǎn)去竟?fàn)幈疽逊泵Φ耐ǖ馈楸苊庠诰W(wǎng)絡(luò)負(fù)載較輕時(shí)上游節(jié)點(diǎn)頻繁向下游節(jié) 點(diǎn)請(qǐng)求ACK,算法中設(shè)置了一個(gè)經(jīng)驗(yàn)確定的下界值,當(dāng)ACK-RTT值低于 該下界值時(shí),上游節(jié)點(diǎn)不向下游節(jié)點(diǎn)請(qǐng)求ACK。判定鏈路失效的依據(jù)為ACK 超時(shí),即ACK-TIMEOUT,該時(shí)間也由網(wǎng)絡(luò)狀態(tài)決定規(guī)定ACK-TIMEOUT為3倍的最近一個(gè)ACK - RTT值。
〇無(wú)線Adhoc網(wǎng)絡(luò)路徑可用帶寬計(jì)算算法,其計(jì)算的原理如下
1.無(wú)干擾情況
無(wú)隱蔽節(jié)點(diǎn)即多跳干擾下,802.11單跳飽和狀態(tài)下存在有穩(wěn)定的供網(wǎng)絡(luò) 層使用的吞吐率,其值約為物理帶寬乘以0.68。通過(guò)實(shí)際數(shù)據(jù)傳送試驗(yàn)驗(yàn)證
了該分析結(jié)果的有效性在5.5Mbps物理帶寬下,最大飽和吞吐率約為0.68 x 5.5Mbps=3.74Mbps。
2. 存在干擾的情況
存在多跳干擾下網(wǎng)絡(luò)層可使用的飽和吞吐率下降至0.7Mbps,約為無(wú)干 擾下的飽和吞吐率的80%。
3. 提出的路徑可用帶寬計(jì)算和預(yù)留方法
使用MAC提供給網(wǎng)絡(luò)層的最大穩(wěn)定吞吐率作為網(wǎng)絡(luò)層的有效帶寬。實(shí) 驗(yàn)表明以0.68乘物理的數(shù)據(jù)率,使用802.11可選的5.5Mbps,較有效的反 映最大穩(wěn)、定吞吐率。
① 定義節(jié)點(diǎn)可用帶寬為(1- oc)x網(wǎng)絡(luò)層有效帶寬-本節(jié)點(diǎn)和一跳鄰居 節(jié)點(diǎn)占用帶寬之和。乘以因子(1- a)是為了扣除千擾的影響。在申請(qǐng)人所 作的大量試驗(yàn)中oc取為0.2較為準(zhǔn)確,當(dāng)取物理帶寬5.5Mbps時(shí),按ct取為 0.2扣除干擾影響,網(wǎng)絡(luò)層可用的最大帶寬約3Mbps。
節(jié)點(diǎn)占用帶寬=節(jié)點(diǎn)發(fā)送分組的速率=單位時(shí)間內(nèi)平均發(fā)送的分組的 長(zhǎng)度之和
節(jié)點(diǎn)可用帶寬-通道有效帶寬-本節(jié)點(diǎn)和鄰居節(jié)點(diǎn)占用帶寬之和
② 路徑可用帶寬
在對(duì)流內(nèi)干擾和流間干擾對(duì)可用帶寬計(jì)算的影響做了上述線性處理后, 路徑可用帶寬可計(jì)算如下
設(shè)P-(pl,…,pN》代表一條路徑,pk(l《k《N)為路徑上的節(jié)點(diǎn),pl為 源節(jié)點(diǎn),pN為目的節(jié)點(diǎn),bk為第k個(gè)節(jié)點(diǎn)的可用帶寬。對(duì)跳數(shù)《3的路徑, 路徑可用帶寬計(jì)算為Bp-minO)kll《k《N)/N;否則B=min{bk|l《k<N}/4, 除以路徑跳數(shù)是考慮到流內(nèi)的干擾,而4跳以后流內(nèi)干擾變?yōu)楹愣ㄖ怠?br>
卿本發(fā)明整體方案中的備用路由機(jī)制是指無(wú)線網(wǎng)絡(luò)在使用 一條路徑即 主路徑為有嚴(yán)格QoS要求的業(yè)務(wù)傳輸?shù)耐瑫r(shí),始終維護(hù)另一條備用路徑滿 足資源要求的路徑,當(dāng)主路徑出現(xiàn)故障時(shí)立即將業(yè)務(wù)轉(zhuǎn)移到備用路徑傳輸, 以避免重新路由導(dǎo)致的較大的延遲和丟包。該機(jī)制包括了保證備用路徑有 效的路徑狀態(tài)探測(cè)機(jī)制,主路徑和備用路徑的切換機(jī)制。
第二,結(jié)合申請(qǐng)人的成功試驗(yàn)具體說(shuō)明本發(fā)明整體方案
申請(qǐng)人將上述技術(shù)實(shí)際擴(kuò)展到一類有代表性的Ad hoc網(wǎng)絡(luò)路由協(xié)議一 DSR協(xié)議中。在2跳傳輸范圍內(nèi),8個(gè)無(wú)線節(jié)點(diǎn)自由組建的無(wú)線Ad hoc網(wǎng) 絡(luò)上,申請(qǐng)人在Linux操作系統(tǒng)中,還應(yīng)用上述技術(shù)設(shè)計(jì)和實(shí)現(xiàn)了一個(gè)基于 DSR協(xié)議的實(shí)驗(yàn)網(wǎng)絡(luò),該實(shí)驗(yàn)網(wǎng)絡(luò)也稱為試驗(yàn)床,所作的大量試驗(yàn)已驗(yàn)證 了這些技術(shù)的有效性,滿足在無(wú)線Ad hoc網(wǎng)絡(luò)上的實(shí)時(shí)視頻傳輸要求,就 申請(qǐng)人:所知,在真實(shí)網(wǎng)絡(luò)上沒(méi)有和本發(fā)明相近的技術(shù)。
(-)無(wú)線Ad hoc網(wǎng)絡(luò)中進(jìn)行視頻傳輸?shù)墓?jié)點(diǎn)分為視頻采集節(jié)點(diǎn),數(shù)據(jù) 轉(zhuǎn)發(fā)節(jié)點(diǎn)和視頻接收節(jié)點(diǎn)。本發(fā)明結(jié)合DSR協(xié)議傳輸視頻業(yè)務(wù)的具體流程 為視頻發(fā)送端將視頻數(shù)據(jù)打包,傳遞到網(wǎng)絡(luò)協(xié)議棧,DSR在截獲數(shù)據(jù)包 之后,進(jìn)行源路由處理,加入DSR協(xié)議的包頭,然后在發(fā)送出去。視頻接 收端收到的數(shù)據(jù)包在流經(jīng)網(wǎng)絡(luò)協(xié)議棧的時(shí)候,首先被DSR模塊截獲,去掉 源路由頭"DSR協(xié)議包頭",交付給上層協(xié)議。
(二)本發(fā)明鏈路質(zhì)量檢測(cè)技術(shù)主要有以下的5條實(shí)現(xiàn)要點(diǎn)
(l)每個(gè)節(jié)點(diǎn)具有一個(gè)屬于自己的LAST—ACK—RTT,我們稱最近收到的 ACK的RTT值為L(zhǎng)AST—ACK—RTT,該LAST—ACK_RTT的對(duì)應(yīng)下限值, 我稱為ACK—RTT—BOTTOM,本算法中所有用到LAST—ACK—RTT的地方, 如果LAST—ACK—RTT < ACK—RTT_BOTTOM,則用ACK—RTT—BOTTOM 代替其值進(jìn)行運(yùn)算;如果LAST一ACK—RTT〉A(chǔ)CK—RTT—BOTTOM,則直接 使用其值。
U)每個(gè)節(jié)點(diǎn)維護(hù)一張后繼節(jié)點(diǎn)信息列表Next Hop Information Lis t,簡(jiǎn) 稱NHIList,當(dāng)要向某一個(gè)后繼節(jié)點(diǎn)發(fā)送數(shù)據(jù)包的時(shí)候,首先查詢NHIList 中該后繼節(jié)點(diǎn)的信息,信息中記錄有該后繼節(jié)點(diǎn)的LAST—ACK—RTT值以及 需要向該后繼節(jié)點(diǎn)請(qǐng)求其回復(fù)ACK的時(shí)刻N(yùn)EED—ACK一TIME,如果 NEED—ACK—TIME >當(dāng)前系統(tǒng)時(shí)間,說(shuō)明還不到向該后繼節(jié)點(diǎn)請(qǐng)求ACK 回復(fù)的時(shí)間,于是節(jié)點(diǎn)直接將這個(gè)數(shù)據(jù)包發(fā)往該后繼節(jié)點(diǎn),不作任何其他處 理;但是,如果NEED一ACK一TIME <=當(dāng)前系統(tǒng)時(shí)間,就說(shuō)明向該后繼節(jié) 點(diǎn)請(qǐng)求回復(fù)ACK的時(shí)間已經(jīng)過(guò)了或剛好到,于是節(jié)點(diǎn)將該數(shù)據(jù)包的DSR頭 部中的新字段need—ack置為1,該字段缺省值為0,表示不需要ACK回復(fù),
表示該凄t據(jù)包需要一個(gè)ACK回復(fù),同時(shí),發(fā)送節(jié)點(diǎn)將該數(shù)據(jù)包的相關(guān)信息 插入到路由維護(hù)緩沖區(qū),其前身是"重傳緩沖區(qū)",并且設(shè)定該數(shù)據(jù)包對(duì)應(yīng)
的ACK—TIMEOUT=2*LAST—ACK—RTT,還要設(shè)定該數(shù)據(jù)包的ACK超時(shí)次 數(shù)ACK—TIMEOUT—NUM為0,然后,將NHI List中對(duì)應(yīng)的該后繼節(jié)點(diǎn)的 NEED—ACK—TIME重新賦值,新的NEED—ACK—TIME =當(dāng)前系統(tǒng)時(shí)間+ LAST一ACK—RTT,最后將該數(shù)據(jù)包發(fā)送出去。
(3) 后繼節(jié)點(diǎn)收到數(shù)據(jù)包后,首先;f全查該數(shù)據(jù)包的頭部中的need_ack字 段的值是否為1,如果不是,則直接對(duì)該數(shù)據(jù)包進(jìn)行處理,如果是,則要立 刻發(fā)送一個(gè)ACK回復(fù)給數(shù)據(jù)包的發(fā)送節(jié)點(diǎn),然后再做其他處理。
(4) 當(dāng)前驅(qū)節(jié)點(diǎn)收到一個(gè)ACK后,會(huì)查詢路由維護(hù)緩沖區(qū),除了將該ACK 對(duì)應(yīng)的數(shù)據(jù)包信息從緩沖區(qū)中刪除之外,還會(huì)將所有發(fā)往該ACK對(duì)應(yīng)的后 繼節(jié)點(diǎn)的、并且其插入路由維護(hù)緩沖區(qū)的時(shí)間比該ACK對(duì)應(yīng)的數(shù)據(jù)包還早 的其他數(shù)據(jù)包信息都給刪除,最后,根據(jù)該ACK的到達(dá)時(shí)間和對(duì)應(yīng)數(shù)據(jù)包 信息插入緩沖區(qū)的時(shí)間計(jì)算出最新的LAST一ACK一RTT值,并用該值去更新 NHI List中對(duì)應(yīng)后繼節(jié)點(diǎn)的LAST—ACK一RTT字段。
(5) 如果前驅(qū)節(jié)點(diǎn)的路由維護(hù)緩沖區(qū)中有數(shù)據(jù)包信息發(fā)生了超時(shí),即、其 對(duì)應(yīng)的ACK超時(shí)未歸,則將該數(shù)據(jù)包信息中的ACK—TIMEOUT—NUM字段 的值加1,如果加1后該字段的值小于3,則根據(jù)最新的LAST—ACK—RTT 重新將該數(shù)據(jù)包的ACK—TIMEOUT賦值;如果,ACK—TIMEOUT—NUM的 值在加1后等于了3,則表示該數(shù)據(jù)包已經(jīng)超時(shí)三次、其對(duì)應(yīng)的后繼節(jié)點(diǎn)與 本機(jī)節(jié)點(diǎn)之間的鏈路已經(jīng)失效,除了將該數(shù)據(jù)包信息從路由維護(hù)緩沖區(qū)中刪 除之外,還必須同時(shí)把所有發(fā)往該數(shù)據(jù)包對(duì)應(yīng)后繼節(jié)點(diǎn)的其他數(shù)據(jù)包信息全 部從路由維護(hù)緩沖區(qū)中刪除,然后,做刪除對(duì)應(yīng)路由信息、發(fā)送路由錯(cuò)誤分 組等操作。
G)本發(fā)明整體方案的中提出的無(wú)線路由可用帶寬計(jì)算方法的具體實(shí)現(xiàn) 是圍繞著前面描述的算法原理實(shí)現(xiàn)的,為了與上述算法原理實(shí)現(xiàn)的功能一 致,本發(fā)明整體方案在DSR協(xié)議基礎(chǔ)上加入鄰居節(jié)點(diǎn)狀態(tài)交換和更新協(xié)議, 用來(lái)獲知鄰居節(jié)點(diǎn)的帶寬占用信息。
鄰居節(jié)點(diǎn)占用的帶寬從每個(gè)鄰居節(jié)點(diǎn)發(fā)出的Hello分組得到。但是Hello
分組的發(fā)送周期不能太短也不能太長(zhǎng),短周期內(nèi)的帶寬平均值不 一定能準(zhǔn)確
反映MAC層穩(wěn)定的吞吐率,缺少代表性,而且頻繁的廣播Hello分組還會(huì) 造成較大的網(wǎng)絡(luò)開(kāi)銷。而過(guò)長(zhǎng)的周期,鄰居節(jié)點(diǎn)已用的帶寬信息又會(huì)不準(zhǔn)確, 從而造成節(jié)點(diǎn)可用帶寬計(jì)算有較大的誤差。鑒于以上原因,我們結(jié)合大量的 戶外試驗(yàn),通過(guò)實(shí)驗(yàn),我們選取了一個(gè)比較合適的周期,設(shè)定為5秒。把每 秒采集的本節(jié)點(diǎn)發(fā)送字節(jié)數(shù)按5秒的平均值作為該節(jié)點(diǎn)的占用帶寬并通過(guò) Hello分組廣播出去。Hello分組不在網(wǎng)絡(luò)內(nèi)洪泛,僅傳給一跳鄰居節(jié)點(diǎn)。收 到Hello分組的節(jié)點(diǎn)按存在干擾情形的可用帶寬計(jì)算方法計(jì)算本節(jié)點(diǎn)的可用 帶寬。
卿本發(fā)明整體方案中的備用路由機(jī)制實(shí)現(xiàn)方法是當(dāng)源節(jié)點(diǎn)發(fā)出路由請(qǐng) 求分組后,路由請(qǐng)求分組經(jīng)過(guò)中間節(jié)點(diǎn)的轉(zhuǎn)發(fā),最終被目的節(jié)點(diǎn)收到。目的 節(jié)點(diǎn)經(jīng)過(guò)計(jì)算后,如果路徑的可用帶寬大于源節(jié)點(diǎn)的業(yè)務(wù)所請(qǐng)求的帶寬,則 會(huì)向源節(jié)點(diǎn)發(fā)出路由應(yīng)答分組?;贗EEE 802.11 MAC層的Ad hoc網(wǎng)絡(luò)中 可用帶寬計(jì)算在前面已有介紹。由于無(wú)線Ad hoc網(wǎng)絡(luò)中路徑的多樣性,因 此源節(jié)點(diǎn)會(huì)收到多條通往目的節(jié)點(diǎn)的路徑所對(duì)應(yīng)的路由應(yīng)答分組。我們?cè)谶@ 些路徑中,選取一條作為主路徑,另外一條作為備用路徑。選擇的標(biāo)準(zhǔn)是設(shè) 定了一個(gè)定時(shí)器,當(dāng)源節(jié)點(diǎn)收到第一個(gè)路由應(yīng)答分組時(shí),啟動(dòng)該定時(shí)器,對(duì) 那些在定時(shí)器規(guī)定的時(shí)間內(nèi)返回的路由應(yīng)答分組所對(duì)應(yīng)的路徑,按路徑可用 帶寬的大小排序,選取可用帶寬最大的路徑作為主路徑,次之的路徑作為備 用路徑。
規(guī)定的定時(shí)器時(shí)間ROUTE—PENDING一TIME長(zhǎng)度要適當(dāng)選取,如果時(shí) 間過(guò)短,有可能一些路徑的路由應(yīng)答還未返回。時(shí)間過(guò)長(zhǎng),會(huì)影響到多媒體 業(yè)務(wù)的實(shí)時(shí)傳輸,還有可能造成已返回的路由應(yīng)答中攜帶的路徑信息過(guò)期。 通過(guò)多次戶外實(shí)驗(yàn),我們把ROUTE—PENDING—TIME設(shè)為500ms。
如果源節(jié)點(diǎn)發(fā)起的新業(yè)務(wù)在路由發(fā)現(xiàn)結(jié)束后,只是找到了主路徑,而沒(méi) 有找到備用路徑,則會(huì)周期性的發(fā)起路由請(qǐng)求來(lái)尋找備用路徑,為了避免因 路由請(qǐng)求過(guò)多導(dǎo)致的洪泛,并且為了降低網(wǎng)絡(luò)中傳輸DSR控制分組的開(kāi)銷, 我們選取的周期必須大于DSR—REQ—TIMEOUT,經(jīng)過(guò)我們多次的試驗(yàn),把 周期設(shè)定為4秒是合適的,因此我們把路由請(qǐng)求的周期設(shè)定為4秒。本發(fā)明整體方案中備用路徑的具體作法是在找到備用路徑后,源節(jié)點(diǎn)必 須按照備用路徑周期性的發(fā)送路徑探測(cè)分組,目的節(jié)點(diǎn)收到后,會(huì)發(fā)出路由 探測(cè)應(yīng)答分組。源節(jié)點(diǎn)在收到路由探測(cè)應(yīng)答分組后,會(huì)確認(rèn)備用路徑的有效
性。在無(wú)線Adhoc網(wǎng)絡(luò)中,由于鏈路的不可靠性,以及較低的帶寬,容易 造成擁塞,所以單單一次沒(méi)有收到探測(cè)應(yīng)答分組不應(yīng)該認(rèn)為此備用路徑失 效,因此我們假定在連續(xù)兩次沒(méi)有收到路由探測(cè)應(yīng)答分組時(shí),認(rèn)為備用路 徑失效。
多媒體業(yè)務(wù)在傳輸過(guò)程中使用主路徑,當(dāng)DSR路由協(xié)議中的Ack機(jī)制 檢測(cè)到主路徑鏈路失效后,如果此時(shí)存在有效的備用路徑,則會(huì)使用備用路 徑充當(dāng)主路徑,多媒體業(yè)務(wù)繼續(xù)使用新的主路徑進(jìn)行傳輸,而此時(shí)DSR須 再次為此多媒體業(yè)務(wù)的尋找備用路徑。
主備用路徑的狀態(tài)切換,具體如圖3所示,包括四個(gè)狀態(tài)
31) 主,備用路徑均不存在需發(fā)送路由請(qǐng)求,該請(qǐng)求對(duì)應(yīng)有3種結(jié)果 ①無(wú)應(yīng)答,狀態(tài)不變;②有一條路由應(yīng)答,轉(zhuǎn)入狀態(tài)32);③有二條或以 上路由應(yīng)答,轉(zhuǎn)入狀態(tài)34);
32) 主路徑存在,備用路徑不存在需周期性發(fā)送路由請(qǐng)求,同時(shí)進(jìn)行 主路徑;險(xiǎn)測(cè),①主路徑有效,收到對(duì)應(yīng)路由應(yīng)答,轉(zhuǎn)入狀態(tài)34);②主路 徑無(wú)效,轉(zhuǎn)入狀態(tài)31 );
33) 主路徑失效,備用路徑存在將備用路徑改為主路徑,轉(zhuǎn)入狀態(tài) 32);
34) 主,備用路徑均存在需對(duì)備用路徑周期性維護(hù),同時(shí)進(jìn)行主路徑 檢測(cè),①主路徑有效,備用路徑探測(cè)超時(shí),轉(zhuǎn)入狀態(tài)32);②主路徑無(wú)效, 轉(zhuǎn)入狀態(tài)33 )。
最后,補(bǔ)充說(shuō)明使用本發(fā)明整體方案內(nèi)技術(shù)實(shí)現(xiàn)的DSR協(xié)議實(shí)驗(yàn)床, 其結(jié)構(gòu)如圖4所示,包括Linux內(nèi)核和DSR協(xié)議處理內(nèi)核,Linux內(nèi)核提供 其上運(yùn)行程序調(diào)用DSR協(xié)議處理的接口 ,DSR協(xié)議處理內(nèi)核具體實(shí)現(xiàn)MAC 層數(shù)據(jù)接收和發(fā)送,其內(nèi)部功能模塊如圖8所示,包括。
1、路由請(qǐng)求和路由應(yīng)答實(shí)現(xiàn)了主備用路徑的選擇;2、 ACK處理實(shí)現(xiàn)主路徑的4金測(cè);
3、 路由探測(cè)實(shí)現(xiàn)備用路徑的維護(hù);
4、 路由錯(cuò)誤實(shí)現(xiàn)主務(wù)用路徑的切換;
5、 鄰居節(jié)點(diǎn)表處理和Hello分組實(shí)現(xiàn)鄰居節(jié)點(diǎn)占用帶寬信息的交換;
6、 定時(shí)器隊(duì)列處理為所有定時(shí)器應(yīng)用提供支持
7、 發(fā)送緩沖區(qū)管理、重發(fā)緩沖區(qū)處理和生成DSR處理用于數(shù)據(jù)傳輸 和總控制。
利用該DSR協(xié)議實(shí)驗(yàn)床采用DSR協(xié)議傳輸視頻業(yè)務(wù)的流程,包括視頻 發(fā)送端的上層多+某體應(yīng)用程序發(fā)送子流程、視頻發(fā)送端下層協(xié)議發(fā)送處理子 流程、數(shù)據(jù)轉(zhuǎn)發(fā)端下層協(xié)議發(fā)送處理子流程以及數(shù)據(jù)轉(zhuǎn)發(fā)端接收處理子流程 和視頻接收端接收處理流程,所述視頻發(fā)送端、數(shù)據(jù)轉(zhuǎn)發(fā)端和視頻接收端分 別對(duì)應(yīng)視頻采集節(jié)點(diǎn),數(shù)據(jù)轉(zhuǎn)發(fā)節(jié)點(diǎn)和視頻接收節(jié)點(diǎn),其中
(-)視頻發(fā)送端上層多媒體應(yīng)用程序發(fā)送子流程,具體如圖5所示,包括
510)開(kāi)始;
520 )視頻采集,編碼;
530 )數(shù)據(jù)包發(fā)送到網(wǎng)絡(luò)協(xié)議棧;
540)送入DSR路由模塊;
550)判斷是否存在滿足視頻Qos要求的路徑,是,進(jìn)入步驟560), 否轉(zhuǎn)入步驟561);
561)發(fā)送路由請(qǐng)求,開(kāi)始路由發(fā)現(xiàn)過(guò)程,返回步驟550);
560)數(shù)據(jù)包交給底層處理,通過(guò)無(wú)線網(wǎng)卡發(fā)送;
570)結(jié)束。
仁)視頻發(fā)送端和數(shù)據(jù)轉(zhuǎn)發(fā)端下層協(xié)議發(fā)送處理子流程,具體如圖6所 示,包括
610)開(kāi)始;
620)判斷是否為DSR分組,是,進(jìn)入步驟630),否轉(zhuǎn)入步驟631);
631)交由上層處理,轉(zhuǎn)入步驟660);
630)判斷是否為DSR數(shù)據(jù)包,是,進(jìn)入步驟640),否轉(zhuǎn)入步驟641 );
641)送入DSR路由模塊,轉(zhuǎn)入步驟660);
640 )修改IP頭部源,目的地址;
650)數(shù)據(jù)包交給底層處理,通過(guò)無(wú)線網(wǎng)卡發(fā)送;
660)結(jié)束。
曰數(shù)據(jù)轉(zhuǎn)發(fā)端接收處理子流程和視頻接收端接收處理流程,具體如圖7 所示,包括
710)開(kāi)始;
720)判斷是否為DSR分組,是,進(jìn)入步驟730),否轉(zhuǎn)入步驟731); 731)交由上層處理,轉(zhuǎn)入步驟770);
730)判斷是否發(fā)往本地的數(shù)據(jù)包,是,進(jìn)入步驟740),否轉(zhuǎn)入步驟 741 );
741)送入DSR路由才莫塊,轉(zhuǎn)入步驟770);
740)去掉DSR包頭;
750)送入網(wǎng)絡(luò)協(xié)議棧;
760)視頻包重組,解碼,進(jìn)行視頻播放;
770)結(jié)束。
以此為底層結(jié)合目前的實(shí)時(shí)^L頻業(yè)務(wù)上層應(yīng)用程序即可實(shí)現(xiàn)在無(wú)線Ad hoc網(wǎng)絡(luò)的實(shí)時(shí)視頻業(yè)務(wù)。
權(quán)利要求
1、一種無(wú)線Ad hoc網(wǎng)絡(luò)視頻傳輸鏈路質(zhì)量檢測(cè)方法,使用對(duì)應(yīng)數(shù)據(jù)包成功接收的ACK信號(hào),其特征在于,包括以下步驟1.1)上游節(jié)點(diǎn)以上次所述ACK信號(hào)的回程時(shí)間LAST_ACK_RTT為最小間隔向下游節(jié)點(diǎn)發(fā)送當(dāng)前數(shù)據(jù)包的ACK請(qǐng)求;1.2)下游節(jié)點(diǎn)接收所述數(shù)據(jù)包并根據(jù)所述請(qǐng)求發(fā)送對(duì)應(yīng)的ACK信號(hào);1.3)上游節(jié)點(diǎn)根據(jù)在指定時(shí)間內(nèi)與一次或多次所述請(qǐng)求對(duì)應(yīng)的所述ACK信號(hào)的返回確定鏈路有效或者不返回的次數(shù)超過(guò)設(shè)定門限確定鏈路無(wú)效。
2、 根據(jù)權(quán)利要求1所述質(zhì)量檢測(cè)方法,其特征在于,所述步驟1.2) 中指定時(shí)間與每次請(qǐng)求對(duì)應(yīng),自對(duì)應(yīng)請(qǐng)求發(fā)送時(shí)間開(kāi)始計(jì)時(shí)。
3、 根據(jù)權(quán)利要求1或2所述質(zhì)量檢測(cè)方法,其特征在于,所述指定 時(shí)間可以是所述回程時(shí)間LAST—ACK一RTT的2-4倍。
4、 根據(jù)權(quán)利要求1所述質(zhì)量檢測(cè)方法,其特征在于,所述步驟1.2) 中指定時(shí)間是一段連續(xù)時(shí)間,自第一個(gè)對(duì)應(yīng)ACK信號(hào)不返回的請(qǐng)求發(fā)送時(shí) 間開(kāi)始計(jì)時(shí)。
5、 根據(jù)權(quán)利要求1或4所述質(zhì)量檢測(cè)方法,其特征在于,所述設(shè)定 門限是2或3 ,該指定時(shí)間可以是4或5倍的所述回程時(shí)間 LASTACK—RTT。
6、 根據(jù)權(quán)利要求1所述質(zhì)量檢測(cè)方法,其特征在于,所述設(shè)定門限 可以是1-6。
7、 根據(jù)權(quán)利要求1所述質(zhì)量檢測(cè)方法,其特征在于,所述步驟1.1) 中回程時(shí)間LAST_ACK—RTT小于最短間隔,則上游節(jié)點(diǎn)以所述最短間隔為 時(shí)間間隔發(fā)送當(dāng)前數(shù)據(jù)包的ACK請(qǐng)求。
8、 根據(jù)權(quán)利要求1所述質(zhì)量;f全測(cè)方法,其特征在于,所述步驟1.1)中回程時(shí)間LAST—ACK—RTT包4舌在發(fā)送ACK請(qǐng)求和對(duì)應(yīng)ACK信號(hào)返回的全程時(shí)間。
9、 根據(jù)權(quán)利要求1或8所述質(zhì)量檢測(cè)方法,其特征在于,所述步驟 1.2)中還包括根據(jù)所述ACK信號(hào)的返回時(shí)間和對(duì)應(yīng)請(qǐng)求的具體發(fā)送時(shí)間計(jì)算該ACK信號(hào)回程時(shí)間并替換原有的所述回程時(shí)間LAST—ACK一RTT,返回步驟1.1)。
10、 根據(jù)權(quán)利要求1所述質(zhì)量檢測(cè)方法,其特征在于,所述上游節(jié)點(diǎn)是視頻采集節(jié)點(diǎn)或數(shù)據(jù)轉(zhuǎn)發(fā)節(jié)點(diǎn);所述下游節(jié)點(diǎn)是數(shù)據(jù)轉(zhuǎn)發(fā)節(jié)點(diǎn)或視頻接收節(jié)點(diǎn)。
全文摘要
本發(fā)明涉及一種無(wú)線Ad hoc網(wǎng)絡(luò)視頻傳輸鏈路質(zhì)量檢測(cè)方法,包括上游節(jié)點(diǎn)以上次所述ACK信號(hào)的回程時(shí)間LAST_ACK_RTT為最小間隔向下游節(jié)點(diǎn)發(fā)送當(dāng)前數(shù)據(jù)包的ACK請(qǐng)求;下游節(jié)點(diǎn)接收所述數(shù)據(jù)包并根據(jù)所述請(qǐng)求發(fā)送對(duì)應(yīng)的ACK信號(hào);上游節(jié)點(diǎn)根據(jù)在指定時(shí)間內(nèi)與一次或多次所述請(qǐng)求對(duì)應(yīng)的所述ACK信號(hào)的返回確定鏈路有效或者不返回的次數(shù)超過(guò)設(shè)定門限確定鏈路無(wú)效。這種方法可以根據(jù)網(wǎng)絡(luò)負(fù)載情況請(qǐng)求ACK信號(hào),因而能減少檢測(cè)開(kāi)銷從而減少視頻傳輸?shù)难舆t和丟包率,保證其質(zhì)量和實(shí)時(shí)性,同時(shí)有效地提高ACK信號(hào)的返回、減少誤判,增加了檢測(cè)的準(zhǔn)確性,為在無(wú)線Ad hoc網(wǎng)絡(luò)中實(shí)現(xiàn)或更好地實(shí)現(xiàn)多媒體視頻業(yè)務(wù)奠定基礎(chǔ)。
文檔編號(hào)H04L1/12GK101174926SQ200610149898
公開(kāi)日2008年5月7日 申請(qǐng)日期2006年10月31日 優(yōu)先權(quán)日2006年10月31日
發(fā)明者向繼東, 志 廖, 張連芳, 竇志斌 申請(qǐng)人:中興通訊股份有限公司