欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

可支持多速率傳輸?shù)腁dHoc網(wǎng)絡(luò)功能層結(jié)構(gòu)及路由方法

文檔序號:7615139閱讀:192來源:國知局
專利名稱:可支持多速率傳輸?shù)腁d Hoc網(wǎng)絡(luò)功能層結(jié)構(gòu)及路由方法
技術(shù)領(lǐng)域
本發(fā)明涉及移動通信領(lǐng)域,特別是一種可支持多速率傳輸?shù)囊苿覣d Hoc網(wǎng)絡(luò)功能層結(jié)構(gòu)及路由方法。Ad Hoc網(wǎng)絡(luò)是由一組帶有無線收發(fā)裝置的移動終端組成的多跳、臨時性自治系統(tǒng),可用于救災(zāi),野外考察,臨時會議等特殊場合。
背景技術(shù)
隨著信息技術(shù)的不斷發(fā)展,人們對移動通信的需求越來越強。近年來,移動通信技術(shù)得到了飛速的發(fā)展和普及,蜂窩移動通信系統(tǒng)、無線局域網(wǎng)、藍(lán)牙技術(shù)等移動通信技術(shù)紛紛涌現(xiàn)。這些技術(shù)的出現(xiàn),極大的方便了人們的生活,同時也推動了無線通信技術(shù)的發(fā)展。
無線通信網(wǎng)絡(luò)按照其組網(wǎng)控制方式一般分為兩類一類無線網(wǎng)絡(luò)是需要網(wǎng)絡(luò)基礎(chǔ)設(shè)施支持的。典型的例子有基于接入點和有線骨干網(wǎng)模式工作的無線局域網(wǎng)。但是這類的網(wǎng)絡(luò)部署比較困難。對于某些特殊場合,如軍事行動,救災(zāi),野外考察,臨時會議等,人們需要一種能夠快速部署并自動組網(wǎng)的通信網(wǎng)絡(luò),這就是自組織的無線網(wǎng)絡(luò)。成立于1991年的IEEE802.11標(biāo)準(zhǔn)委員會采用“Ad Hoc網(wǎng)絡(luò)”一詞來描述這種特殊的自組織對等式多跳移動通信網(wǎng)絡(luò)。IETF將其稱為MANET,即移動Ad Hoc網(wǎng)絡(luò)。
Ad Hoc網(wǎng)絡(luò)是由一組帶有無線收發(fā)裝置的移動終端組成的臨時性,任意拓?fù)浣Y(jié)構(gòu)的自治系統(tǒng),該移動終端被簡稱為網(wǎng)絡(luò)節(jié)點或節(jié)點。在Ad Hoc網(wǎng)絡(luò)中,節(jié)點的發(fā)射功率受到限制,一般不會覆蓋到全部范圍。當(dāng)要與其直接通信范圍外的節(jié)點通信時,需要中間節(jié)點的轉(zhuǎn)發(fā),即要經(jīng)過多跳。與普通的網(wǎng)絡(luò)不同的是,轉(zhuǎn)發(fā)數(shù)據(jù)的任務(wù)是由Ad Hoc網(wǎng)絡(luò)中的每個普通節(jié)點完成的,而不需要專用的路由器。即每個網(wǎng)絡(luò)節(jié)點都具有路由器功能,需要運行相應(yīng)的路由協(xié)議,參與數(shù)據(jù)的轉(zhuǎn)發(fā)和路由維護的工作。
根據(jù)Ad Hoc的網(wǎng)絡(luò)特征,參照OSI的經(jīng)典7層協(xié)議棧模型,可以將傳統(tǒng)的Ad Hoc網(wǎng)絡(luò)節(jié)點的功能單元劃分用圖1描述。其中高層代表了從傳輸層以上的所有功能層,這些功能通常因為節(jié)點的用途不同而由所取舍,而下3層的功能是每給節(jié)點都要具備的。其中物理層的主要功能包括信道的區(qū)分和選擇,無線信號的檢測、調(diào)制/解調(diào)、接收/發(fā)送等,用于完成這些功能的常用的物理層協(xié)議主要有802.11b、802.11a等。鏈路層的主要功能是,控制移動節(jié)點對共享無線信道的訪問,常用的鏈路層協(xié)議主要有802.11DCF和PCF等。網(wǎng)絡(luò)層的功能主要包括拓?fù)浒l(fā)現(xiàn)、路由選擇,數(shù)據(jù)轉(zhuǎn)發(fā)等。目前廣泛使用的主流MANET路由協(xié)議,如AODV、DSR、DSDV等,都是使用最小跳數(shù)作為選擇路由的尺度。在傳統(tǒng)的單速率工作的網(wǎng)絡(luò)中,最小跳數(shù)路由意味著數(shù)據(jù)轉(zhuǎn)發(fā)過程中的信道占用時間的總和最小,從而在信道利用率和平均數(shù)據(jù)端到端傳輸時延等性能方面達(dá)到最優(yōu)。
近年來新提出的很多無線網(wǎng)絡(luò)標(biāo)準(zhǔn)都有支持多速率的能力,例如802.11a、802.11b、802.11g和HiperLAN2等。它們的物理層都可以使用了不同的編碼、調(diào)制方式工作,來提供不同的通信速率。通常質(zhì)量好的信道可以支持使用高速率的調(diào)制方式,信道質(zhì)量下降時則應(yīng)該使用低速率進(jìn)行通信。由于AdHoc的應(yīng)用環(huán)境特點,決定了不同網(wǎng)絡(luò)節(jié)點對之間的信道質(zhì)量不同,而且會隨著節(jié)點的移動或環(huán)境的變化而變化。因此根據(jù)信道質(zhì)量來動態(tài)的調(diào)整節(jié)點的通信速率可以提高傳輸?shù)某晒β屎蛯o線信道的利用效率。
在有基礎(chǔ)設(shè)施的無線網(wǎng)絡(luò)即WLAN中,所有的通信都發(fā)生在一跳以內(nèi)。在節(jié)點的物理層具備多速率通信能力的條件下,僅僅在數(shù)據(jù)鏈路層MAC增加速率切換功能就可以支持多速率通信進(jìn)行。這樣的自動速率MAC協(xié)議有A.Kamerman等人于1997年發(fā)表的“A high-performancewireless LAN for unlicensed band”一文中提出的ARF;Gavin Holland等人于2001年發(fā)表的“ARate-adaptive MAC Protocol for wireless Networks”一文中提出的RBAR;B.Sadeghi等人于2002年發(fā)表的“Opportunistic media access for multirate ad hoc networks”一文中提出的OAR等,它們的特點采用合理的門限,根據(jù)當(dāng)前實際的信道特性,如接收信號強度,誤碼,誤幀記錄等,選擇合適的速率進(jìn)行通信。
而在Ad Hoc網(wǎng)絡(luò)中應(yīng)用多速率通信時,會給路由選擇帶來很大的困難。這是由于通信信道的物理特性,無線通信的速率與有效通信距離和以及信號質(zhì)量之間存在一個內(nèi)在的折衷關(guān)系。長距離的通信必須使用較低的速率,而高速率的通信則只能在短距離內(nèi)發(fā)生。例如由長距離的鏈路組成的路由可以用更少的跳數(shù)到達(dá)目的節(jié)點,但是其成員鏈路必須工作于低速率。而短的鏈路可以使用高速率進(jìn)行通信,但由它們組成的路由需要更多跳才能到達(dá)目的節(jié)點。因此在選擇路由時必須綜合考慮速率與跳數(shù)等因素。
現(xiàn)有的主流Ad Hoc路由協(xié)議,如DSR、AODV、DSDV等,并不能有效支持多速率通信,主要是因為它們是基于最小跳數(shù)原則來選擇路由。使用這些標(biāo)準(zhǔn)時,路由中的每個節(jié)點都傾向于選擇在最大傳輸范圍內(nèi)盡可能遠(yuǎn)的節(jié)點作為下一跳轉(zhuǎn)發(fā)節(jié)點,最終生成的路由中主要包含速率較低的長距離鏈路。在這個路由上發(fā)送數(shù)據(jù)的節(jié)點將沒有機會使用高速率進(jìn)行通信,從而無法發(fā)揮多速率傳輸能力。
近年以來有一些的支持多速率傳輸?shù)穆酚蓞f(xié)議被提出,如Xiao-Hui Lin等人于2003年發(fā)表的“On Channel-Adaptive Routing in IEEE 802.11b Based Ad Hoc Wireless Network”文章中提出的RICA;和Shiann-Tsong Sheu等人于2002年發(fā)表的“MR/sup 2/RPthe multi-rate and multi-rangerouting protocol for ad hoc wireless networks”文章中提出的MR2RP等。它們的基本思想是根據(jù)鏈路質(zhì)量和可達(dá)到的傳輸速率,給每一條鏈路安排一個于速率成反比的鏈路權(quán)值尺度,然后再根據(jù)最小鏈路權(quán)值和的原則來選擇路徑。其中,RICA協(xié)議使用按需的方式工作,依靠發(fā)送路由探測和路由應(yīng)答消息來探測路由,但是這種方法不能保證探測到的是最小代價路由。由于路由探測消息使用泛洪方式發(fā)送,以及重復(fù)接收檢測機制的存在,每個節(jié)點只轉(zhuǎn)發(fā)探測消息一次,而丟棄后續(xù)的探測消息,很多的路由探測過程因此被終止,其中有可能包含實際的最優(yōu)路由。另外,在協(xié)議的執(zhí)行過程中還需要周期性地向全網(wǎng)廣播CSI-Checking消息,造成網(wǎng)絡(luò)開銷增加。MR2RP協(xié)議中,需要獲得全網(wǎng)絡(luò)的鏈路狀態(tài)矩陣,以及每個節(jié)點的數(shù)據(jù)到達(dá)率和節(jié)點內(nèi)等待傳輸?shù)臄?shù)據(jù)幀數(shù)量等信息。而在實際應(yīng)用中獲取這些信息需要交換大量的網(wǎng)絡(luò)開銷,非常難于在分布式網(wǎng)絡(luò)中實現(xiàn)。
另外,RICA、MR2RP兩種協(xié)議還有一個共同的缺點是給鏈路安排鏈路權(quán)值時沒有考慮物理層固定的開銷時間,也沒有考慮需要傳送的數(shù)據(jù)大小的影響,使用這樣的尺度選擇路由并不合理。實際上,在大多數(shù)的物理層幀傳輸過程中,存在前導(dǎo)碼和低速率物理幀頭的傳輸時間;在數(shù)據(jù)鏈路層MAC還有可能存在退避時間和握手過程的開銷時間等,因此僅僅考慮信道速率作為設(shè)置鏈路權(quán)值依據(jù)的方法并不合理。使用這樣的反比鏈路權(quán)值安排,在選擇鏈路時會出現(xiàn)偏差,例如,認(rèn)為10跳11Mbps鏈路組成的路由優(yōu)于單個1Mbps鏈路,這不符合事實。使用這樣的路由傳輸數(shù)據(jù)時,會惡化總的傳輸時延和信道利用效率。
發(fā)明的內(nèi)容本發(fā)明的目的是提供一種易于實現(xiàn)、擴展性強,且可支持多速率傳輸?shù)腁d Hoc網(wǎng)絡(luò)功能層結(jié)構(gòu)及路由方法,以解決現(xiàn)有技術(shù)不能有效支持多速率傳輸和協(xié)議開銷過大的問題。
本發(fā)明的目的是這樣實現(xiàn)的本發(fā)明的技術(shù)原理是根據(jù)無線信道的傳輸特性,當(dāng)發(fā)送節(jié)點的發(fā)送功率不變時,接收節(jié)點接收到的功率與兩者之間的距離的n次方(n>2,典型值為4)成反比。而在現(xiàn)有的多傳輸速率的調(diào)制方案中,接收機正常工作所需要的信噪比近似地是隨著傳輸速率地增加而線性增長。以Lucent ORiNOCO PC卡的性能說明為例,數(shù)據(jù)傳輸速率為11Mbps時,接收機正常工作所需的接收門限比1Mbps時的接收門限高16倍。因此把一條長距離鏈路分割成多跳的短距離鏈路時,可能獲取總體傳輸速率上的提升。例如,當(dāng)傳播損耗指數(shù)為4時,在一條長度為d的1Mbps鏈路中央設(shè)置一個額外的中繼節(jié)點,把它變?yōu)?個d/2長度的短鏈路,則每條短鏈路的傳輸速率可以提高11倍。如果不考慮傳輸過程中的開銷時間,那么與使用長鏈路直接傳送數(shù)據(jù)的方案相比,沿著這兩條短鏈路組成的路由傳送數(shù)據(jù),總的傳輸速率能提高11/2=5.5倍。
根據(jù)上述原理,本發(fā)明對傳統(tǒng)的Ad hoc網(wǎng)絡(luò)功能層劃分進(jìn)行改進(jìn),即在網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層之間增設(shè)本地路由子層;該本地路由子層中設(shè)置有本地鏈路狀態(tài)表和鄰節(jié)點狀態(tài)表,用于記錄小范圍內(nèi)的網(wǎng)絡(luò)拓?fù)湫畔?;該本地路由子層中還固化有本地路由子層的路由軟件,用于完成本地網(wǎng)絡(luò)拓?fù)湫畔⒌母?、本地路由計算、以及?shù)據(jù)轉(zhuǎn)發(fā)工作。
本發(fā)明所提出的Ad Hoc網(wǎng)絡(luò)路由方法是通過在節(jié)點的網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層之間增設(shè)的本地路由子層功能單元,對網(wǎng)絡(luò)層根據(jù)最小跳數(shù)原則計算出的路由進(jìn)行優(yōu)化,把該路由中包含的每一條低速率的長距離鏈路分割成多個高速率的短鏈路,使用這些短鏈路組成新的路由,進(jìn)行數(shù)據(jù)傳輸。在進(jìn)行數(shù)據(jù)發(fā)送工作時,本地路由子層以優(yōu)化后的路由為參數(shù),組成源路由方式的本地路由子層幀頭,把該幀頭加入到數(shù)據(jù)幀的網(wǎng)絡(luò)層幀頭和鏈路層幀頭之間,然后將數(shù)據(jù)幀以及下一跳本地中繼節(jié)點的地址交給鏈路層和物理層進(jìn)行發(fā)送。此外,本地路由子層還要負(fù)責(zé)對其內(nèi)部的本地鏈路狀態(tài)表和鄰節(jié)點狀態(tài)表進(jìn)行實時更新,為下一次路由優(yōu)化提供新的信息參數(shù)。
上述方法中對網(wǎng)絡(luò)層計算出的路由進(jìn)行優(yōu)化的過程是首先,本地路由子層接到從網(wǎng)絡(luò)層送來的網(wǎng)絡(luò)層數(shù)據(jù)幀和下一跳網(wǎng)絡(luò)層中繼節(jié)點地址后,以數(shù)據(jù)長度和本地鏈路狀態(tài)表中記錄的鏈路速率信息為參數(shù),為本地鏈路狀態(tài)表中的每條鏈路設(shè)置一個媒體時間尺度MTM權(quán)值,同一鏈路傳送不同長度的數(shù)據(jù)時,對應(yīng)不同的鏈路權(quán)值;然后,本地路由子層使用所有的鏈路權(quán)值,構(gòu)造一個加權(quán)的網(wǎng)絡(luò)連接矩陣,并使用最短路徑算法,計算出一條由多個短距離成員鏈路組成的本地路由。
上述方法中,本地路由子層對其內(nèi)部的本地鏈路狀態(tài)表進(jìn)行實時更新的方式有兩種一是根據(jù)節(jié)點通過監(jiān)聽網(wǎng)絡(luò)中的數(shù)據(jù)發(fā)送活動獲取的鏈路狀態(tài)信息,修改鏈路狀態(tài)表的內(nèi)容,該監(jiān)聽過程是由本地路由子層和物理層配合完成;二是根據(jù)網(wǎng)絡(luò)節(jié)點之間通過交換本地路由層專用拓?fù)渚S護消息獲取的鏈路狀態(tài)信息,對本地鏈路狀態(tài)表進(jìn)行更新操作,該專用拓?fù)渚S護消息包括本地路由更新通知消息LRUN、本地鏈路失敗通知消息LLEN。
上述方法中,本地路由子層設(shè)置鄰節(jié)點狀態(tài)表的目的是為了檢測某個鄰節(jié)點與本節(jié)點之間的鏈路是否為單向鏈路。對該表進(jìn)行實時更新的方式為當(dāng)節(jié)點首次監(jiān)聽到某個鄰節(jié)點進(jìn)行數(shù)據(jù)發(fā)送時,本地路由子層在鄰節(jié)點狀態(tài)表中增加一條記錄,此時默認(rèn)本節(jié)點與該鄰節(jié)點之間的鏈路是雙向鏈路;當(dāng)本節(jié)點與某個鄰節(jié)點之間的鏈路進(jìn)行單播通信時,如果連續(xù)失敗超過一定次數(shù)后,便判定本節(jié)點與該鄰節(jié)點之間的鏈路是單向鏈路,本地路由子層將修改該鄰節(jié)點在鄰節(jié)點狀態(tài)表中對應(yīng)的記錄;當(dāng)節(jié)點與原來被判斷為單向狀態(tài)鄰節(jié)點之間成功進(jìn)行了一次單播通信,或檢測到來自該鄰節(jié)點信號質(zhì)量發(fā)生明顯改善時,便判定本節(jié)點與該鄰節(jié)點之間的鏈路已經(jīng)恢復(fù)了雙向通信的能力,本地路由子層在鄰節(jié)點狀態(tài)表中把該鄰節(jié)點的狀態(tài)恢復(fù)為雙向狀態(tài)。
本發(fā)明提出的Ad Hoc路由方法有以下優(yōu)點1.與傳統(tǒng)的最小跳數(shù)路由方法相比,由于本發(fā)明提出的Ad Hoc路由方法能夠更有效的支持網(wǎng)絡(luò)的多速率傳輸能力,因而能夠提高網(wǎng)絡(luò)吞吐量和減少平均數(shù)據(jù)端到端傳輸時延。
2.與本說明書中提到的其它支持多速率傳輸?shù)穆酚煞椒ㄏ啾?,本發(fā)明提出的Ad Hoc路由方法在實施過程中所產(chǎn)生的開銷數(shù)量很少,這是由于以下幾個原因首先,該方法是對最小跳數(shù)路由中的每一跳進(jìn)行優(yōu)化,節(jié)點僅需要獲取小范圍內(nèi)的網(wǎng)絡(luò)鏈路狀態(tài)信息,便可以進(jìn)行優(yōu)化路由的計算;其次,在獲取小范圍內(nèi)網(wǎng)絡(luò)鏈路狀態(tài)信息的過程中,充分的利用了節(jié)點的監(jiān)聽功能獲取網(wǎng)信息,減少了發(fā)送專用網(wǎng)絡(luò)拓?fù)渚S護消息的需求;第三,由于本地路由優(yōu)化是以按需方式進(jìn)行,本地路由維護消息的產(chǎn)生也是使用條件觸發(fā)方式,因此網(wǎng)絡(luò)節(jié)點不需要周期性的發(fā)送任何維護消息,當(dāng)網(wǎng)絡(luò)處于穩(wěn)定狀態(tài),并且所有的本地路由已經(jīng)被發(fā)現(xiàn)后,路由開銷可以減少到零。
3.與本說明書中提到的其它支持多速率傳輸?shù)穆酚煞椒ㄏ啾?,本發(fā)明提出的Ad Hoc路由方法在計算路由代價時考慮了數(shù)據(jù)長度的因素,能夠根據(jù)發(fā)送數(shù)據(jù)的長度選擇不同路由。
4.與本說明書中提到的其它支持多速率傳輸?shù)穆酚煞椒ㄏ啾龋景l(fā)明提出的Ad Hoc路由方法由于使用了鏈路方向性檢測機制,而適用于存在單向鏈路的網(wǎng)絡(luò)中。
5.該路由方法還具有易于實現(xiàn)的優(yōu)點,這是由于本方法中新增加的功能,如本地路由計算和本地網(wǎng)絡(luò)拓?fù)涓拢际窃诒镜芈酚勺訉又羞M(jìn)行,沒有對網(wǎng)絡(luò)層和鏈路層做任何改動。


圖1是Ad Hoc網(wǎng)絡(luò)傳統(tǒng)功能層結(jié)構(gòu)2是本發(fā)明的Ad Hoc網(wǎng)絡(luò)功能層結(jié)構(gòu)3是本發(fā)明節(jié)點發(fā)送數(shù)據(jù)幀格式4是Ad Hoc網(wǎng)絡(luò)的拓?fù)涫疽?是本發(fā)明路由方法產(chǎn)生的路由6是不同數(shù)據(jù)長度條件下本發(fā)明路由方法產(chǎn)生的平均路由跳數(shù)7是不同數(shù)據(jù)長度條件下本發(fā)明路由方法產(chǎn)生的平均數(shù)據(jù)傳輸時延8是不同業(yè)務(wù)量條件下本發(fā)明路由方法可達(dá)到的平均網(wǎng)絡(luò)通過量9是不同業(yè)務(wù)量條件下本發(fā)明路由方法產(chǎn)生的平均數(shù)據(jù)傳輸時延圖具體實施方式
一.本發(fā)明的路由方法概述現(xiàn)有的主流Ad Hoc路由協(xié)議,如DSR、AODV、DSDV等,并不能有效支持多速率通信,主要是因為它們是基于最小跳數(shù)原則來選擇路由。最終生成的路由中主要包含速率較低的長距離鏈路。在這個路由上發(fā)送數(shù)據(jù)的節(jié)點將沒有機會使用高速率進(jìn)行通信,從而無法發(fā)揮多速率傳輸能力。
本發(fā)明提出的方法是,對最小跳數(shù)路由的的每一條成員鏈路進(jìn)行優(yōu)化,將長距離低速率的鏈路分割成由多條短距離高速率鏈路組成的鏈路集合。當(dāng)數(shù)據(jù)沿著由這些短鏈路組成路由傳送時,等效的總傳輸速率比在相應(yīng)的長距離鏈路上直接進(jìn)行數(shù)據(jù)傳輸所能達(dá)到的傳輸速率更高。
為了能夠?qū)崿F(xiàn)上述方案,同時又不對傳統(tǒng)的網(wǎng)絡(luò)層做太大改動,本發(fā)明對傳統(tǒng)的Ad hoc網(wǎng)絡(luò)功能層劃分進(jìn)行了改動,在網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層之間增設(shè)本地路由子層,如圖2所示。該本地路由子層中設(shè)置有本地鏈路狀態(tài)表和鄰節(jié)點狀態(tài)表,并固化有本地路由子層的路由軟件。其中本地鏈路狀態(tài)表和鄰節(jié)點狀態(tài)表用于記錄小范圍內(nèi)的網(wǎng)絡(luò)拓?fù)湫畔?,為計算本地路由提供必要的信息參?shù);本地路由子層的路由軟件執(zhí)行本地網(wǎng)絡(luò)拓?fù)湫畔⒌母?、本地路由計算、以及?shù)據(jù)轉(zhuǎn)發(fā)工作。
本地網(wǎng)絡(luò)子層與網(wǎng)絡(luò)層配合工作,網(wǎng)絡(luò)層功能與傳統(tǒng)功能層劃分方式中的網(wǎng)絡(luò)層相同,即在全網(wǎng)范圍內(nèi),收集并維護網(wǎng)絡(luò)拓?fù)湫畔ⅲ瑸楸话l(fā)送的數(shù)據(jù)計算出一條從信源節(jié)點到信宿節(jié)點的路由,并沿著計算出的路由轉(zhuǎn)發(fā)數(shù)據(jù)。網(wǎng)絡(luò)節(jié)點可以通過運行現(xiàn)有的基于最小跳數(shù)準(zhǔn)則的MANET路由協(xié)議,例如AODV、DSR、DSDV等,來實現(xiàn)這一功能。為了描述方便,在本文中,將網(wǎng)絡(luò)層計算出的路由稱為廣域路由,把廣域路由中包含的中繼節(jié)點稱為廣域中繼節(jié)點。
本發(fā)明的路由方法,增加了本地路由優(yōu)化的功能。即在數(shù)據(jù)從信源節(jié)點到信宿節(jié)點的傳送過程中,對網(wǎng)絡(luò)層以最小跳數(shù)準(zhǔn)則計算出的廣域路由進(jìn)行逐段優(yōu)化,具體說就是在信源節(jié)點和每個廣域中繼節(jié)點處,這些節(jié)點的本地路由子層負(fù)責(zé)計算出一條由多個高速率的短距離鏈路組成的優(yōu)化路由,用來代替本節(jié)點到下一跳廣域中繼節(jié)點之間的低速率直接鏈路進(jìn)行數(shù)據(jù)發(fā)送,以減少在相鄰廣域中繼節(jié)點之間發(fā)送數(shù)據(jù)時總的時間消耗。為描述方便,本文中把本地路由子層計算出的路由稱為本地路由,把本地路由中包含的中繼節(jié)點稱為本地中繼節(jié)點。
二.本地路由子層功能的具體實現(xiàn)本地路由子層的主要功能包括三部分本地路由計算、拓?fù)湫畔⒏?、?shù)據(jù)轉(zhuǎn)發(fā),分別介紹如下(一)本地路由計算為了選擇一條本地路由替代一對廣域中繼節(jié)點之間的直接鏈路進(jìn)行數(shù)據(jù)傳輸,必須有一個判斷路由優(yōu)劣的標(biāo)準(zhǔn)。通常的做法是根據(jù)一定的規(guī)則為每條鏈路安排一個合適的權(quán)值,也可以稱為代價,然后根據(jù)所有鏈路權(quán)值總和最小的原則選擇路由。
一些支持多速率傳輸?shù)穆酚蓞f(xié)議完全根據(jù)傳輸速率為鏈路安排權(quán)值。例如RICA和MR2RP中,設(shè)置鏈路權(quán)值時只考慮了信道速率,認(rèn)為信道的占用時間與信道的速率完全成反比。而實際上,這種方法并不合理。以802.11b的幀交換過程為例,開銷時間主要由包括控制幀的傳輸時間,隨機退避時間。一個數(shù)據(jù)發(fā)送過程典型情況下要經(jīng)過4個MAC幀交換,即RTS、CTS、DATA、ACK。其中很多時間內(nèi)都是采用1Mbps速率進(jìn)行幀發(fā)送的,例如RTS和CTS通常使用基本速率1Mbps傳送。另外DATA和ACK的物理層幀頭以及幀前導(dǎo)碼也同樣使用1M速率傳輸。因而這部分的傳輸時間消耗為常數(shù),與實際的鏈路速率無關(guān),媒體占用時間不會簡單地與信道速率成反比關(guān)系。
從上面的分析中可以看出,由于存在約為固定長度的開銷時間,在發(fā)送不同長度的數(shù)據(jù)時,采用更高速率發(fā)送所能取得的性能收益是不同的。因此,給各條鏈路安排權(quán)值安排中應(yīng)該考慮數(shù)據(jù)大小的影響,即同一條鏈路在傳送不同大小的數(shù)據(jù)時應(yīng)該動態(tài)的安排不同的鏈路權(quán)值。為此,本發(fā)明采用媒體占用時間MTM為尺度來選擇路由,為每個鏈路安排的權(quán)值是發(fā)送數(shù)據(jù)過程中信道占用時間的期望值,這是一種考慮了數(shù)據(jù)大小因素的動態(tài)設(shè)置方法。一條路由的總代價是該路徑中的所有鏈路權(quán)值之和。選擇總代價最小的路由,便能夠保證沿著該路由發(fā)送數(shù)據(jù)時,總的信道占用時間最小化,從而提高網(wǎng)絡(luò)的吞吐量,和減少數(shù)據(jù)傳輸?shù)亩说蕉藭r延。本文提出的路由方法,原理上可以應(yīng)用于不同的支持多速率的低層協(xié)議。本發(fā)明為了解釋協(xié)議運行過程和編寫仿真程序的方便,規(guī)定網(wǎng)絡(luò)中的節(jié)點使用802.11b協(xié)議進(jìn)行通信。計算鏈路MTM權(quán)值所需的重要物理層、鏈路層參數(shù)見表1表1 物理層、鏈路層參數(shù)設(shè)置物理層幀頭前導(dǎo)碼及物理幀頭傳輸時間TPHY192usRTS幀的傳輸時間TRTS352usCTS幀的傳輸時間TCTS304usACK幀的長度LACK112bitDATA幀的MAC幀頭長度LMAC272bitSifs幀間隙的長度Tsifs10usDifs幀間隙的長度Tdifs50usBackoff平均時長Tbackoff310us
鏈路的信道速率為Rlink,傳輸長度為Ldata的高層數(shù)據(jù)時,按照公式TMTM=TRTS+TCTS+TDATA+TACK+3*Tsifs+Tdifs+Tbackoff計算出相應(yīng)的鏈路權(quán)值,式中TDATA與TACK,分別是數(shù)據(jù)幀和應(yīng)答幀的傳輸時間,它們的值與實際傳輸速率有關(guān)。按照上述公式計算出一次數(shù)據(jù)發(fā)送過程中總的的媒體占用時間為TMTM=1430+(484+Ldata)/Rlink(1)本地路由子層選擇的本地路由的工作原理為在所有網(wǎng)絡(luò)節(jié)點都要維護局部范圍內(nèi)的網(wǎng)絡(luò)拓?fù)湫畔?。在每個節(jié)點內(nèi)都有一個本地鏈路狀態(tài)表,記錄著本節(jié)點即傳輸范圍內(nèi)的鄰節(jié)點間的鏈路速率信息。當(dāng)需要計算本地路由時,首先根據(jù)發(fā)送數(shù)據(jù)的大小和鏈路的通信速率,按照公式(1)為每一條鏈路設(shè)置合適的權(quán)值,然后通過使用最短路徑算法,例如Dijkstra算法,為一對相鄰的廣域節(jié)點計算出一條最小代價的路由,即所有成員鏈路的權(quán)值之和為最小的路由。數(shù)據(jù)在此路由上可以使用高速率發(fā)送,與在廣域中繼節(jié)點對之間直接交換數(shù)據(jù)的方案相比,能獲得更好時延特性和信道利用率。
(二)拓?fù)湫畔⒏?.本地鏈路狀態(tài)表的結(jié)構(gòu)和更新方式為了記錄局部范圍內(nèi)的網(wǎng)絡(luò)拓?fù)湫畔?,每個節(jié)點的本地路由子層要建立一個本地鏈路狀態(tài)表,簡稱為LLST。該表是用于記錄本地路由子層探測到的本節(jié)點周圍局部網(wǎng)絡(luò)范圍內(nèi)的網(wǎng)絡(luò)拓?fù)湫畔?,它為本地路由計算提供必要的信息參?shù)。表中的每一條記錄對應(yīng)與網(wǎng)絡(luò)中一條實際的鏈路,該記錄包括鏈路始節(jié)點地址、鏈路終節(jié)點地址、鏈路速率、建立時間等4個信息域。其中“鏈路速率”是指該鏈路雙向可用的最大通信速率,“建立時間”是指最后一次更新本條記錄的時刻。
本地鏈路狀態(tài)表的更新過程主要有以下幾個方面1)通過監(jiān)聽發(fā)現(xiàn)新的鏈路時,將在自己的本地鏈路狀態(tài)表中增加相應(yīng)的鏈路的記錄。如果該鏈路在鏈路狀態(tài)表中已經(jīng)有了記錄,則根據(jù)本次監(jiān)聽獲取的鏈路信息修改表中的相應(yīng)的信息域。
2)節(jié)點之間通過交換本地路由子層專用的拓?fù)渚S護消息,也可以獲取鏈路狀態(tài)信息,并根據(jù)這些信息對本地鏈路狀態(tài)表進(jìn)行增加、修改或刪除記錄等操作。這些消息有本地路由更新通知消息LRUN;本地鏈路失敗通知消息LLEN。
3)本地鏈路狀態(tài)表中的每條記錄都有生存時間限制,網(wǎng)絡(luò)節(jié)點會周期性的檢查自己的鏈路狀態(tài)表中每條記錄的建立時間,如果發(fā)現(xiàn)某條鏈路的記錄長時間沒有得到刷新而導(dǎo)致超時,則刪除該記錄。
在本地鏈路狀態(tài)表的更新過程中,通過監(jiān)聽獲取的鏈路狀態(tài)信息的工作可以由下面兩個協(xié)議層來負(fù)責(zé)進(jìn)行
1)本地路由子層。本發(fā)明的路由方法在傳送的數(shù)據(jù)幀中加入攜帶鏈路狀態(tài)信息的本地路由子層幀頭,其它節(jié)點在監(jiān)聽到該數(shù)據(jù)后,它們的本地路由子層負(fù)責(zé)解析幀頭,獲取鏈路狀態(tài)信息;2)物理層。當(dāng)節(jié)點監(jiān)聽到某個鄰節(jié)點進(jìn)行過發(fā)送,便認(rèn)為本節(jié)點和發(fā)送節(jié)點之間存在一條新的通信鏈路,通過判斷接收信號質(zhì)量,如信噪比、信號強度、誤比特率、誤符號率或誤幀率等,可以估計出該鏈路所能夠提供的最大通信速率。在一個包含非對稱鏈路的無線網(wǎng)絡(luò)中,使用物理層的監(jiān)聽功能獲取的鏈路信息實際上只是單向的,因此使用這種方法存在鏈路認(rèn)知的單向性。為了消除這些不利影響,本發(fā)明提出的路由方法中使用了鏈路雙向性檢測技術(shù)。
在本地鏈路狀態(tài)表的更新過程中,本地路由子層利用了數(shù)據(jù)幀的本地路由子層幀頭和兩個專用的拓?fù)渚S護消息來獲取網(wǎng)絡(luò)拓?fù)湫畔ⅲ鼈兊慕Y(jié)構(gòu)和功能如下1)本地路由子層幀頭結(jié)構(gòu)本地路由子層在發(fā)送數(shù)據(jù)時,會在該數(shù)據(jù)幀的鏈路層的幀頭和網(wǎng)絡(luò)層幀頭之間新增加一個本地路由子層幀頭。它由消息類型,幀頭長度,本地路由的總代價、本地源節(jié)點地址、本地目的節(jié)點地址、各個本地中繼節(jié)點地址、各條成員鏈路的速率等信息域組成。其格式如圖3所示。
本地路由子層幀頭采用這種結(jié)構(gòu),其目的是提供一種通過監(jiān)聽而獲取網(wǎng)絡(luò)拓?fù)涞氖侄?。即在?shù)據(jù)沿著本地路由發(fā)送的過程中,在這條路由附近的一些鄰節(jié)點會監(jiān)聽到該數(shù)據(jù),通過分析數(shù)據(jù)的本地路由子層幀頭,監(jiān)聽節(jié)點可以獲取這條本地路由中的所有成員鏈路的速率信息,并據(jù)比對本節(jié)點的本地鏈路狀態(tài)表進(jìn)行更新。
2)本地路由更新通知消息LRUN該消息攜帶了一條從本地路由源節(jié)點到本地路由目的節(jié)點的路由信息,它由消息類型,幀頭長度,本地路由的總代價、本地源節(jié)點地址、本地目的節(jié)點地址、各個本地中繼節(jié)點地址、各條成員鏈路的速率等信息域組成。結(jié)構(gòu)與本地路由子層幀頭相似,但是消息的產(chǎn)生方式和接收節(jié)點對消息的處理方式不同。
在數(shù)據(jù)從本地路由起始節(jié)點向本地路由終止節(jié)點傳送的過程中,該本地路由附近的一些鄰節(jié)點會監(jiān)聽到該數(shù)據(jù)幀。監(jiān)聽節(jié)點通過分析數(shù)據(jù)的本地路由子層幀頭,可以獲取這條本地路由的起始節(jié)點地址和終止節(jié)點地址,該本地路由的總代價,以及正在進(jìn)行傳送的數(shù)據(jù)長度等信息。如果某個監(jiān)聽節(jié)點,根據(jù)自身的本地鏈路狀態(tài)表中的信息,能夠計算出另外一條從上述的本地路由起始節(jié)點到終止節(jié)點的最小代價路由,且該路由滿足以下條件a..新路由的總代價,即新路由中的成員鏈路的權(quán)值之和小于目前正在被使用的本地路由的代價;b.監(jiān)聽節(jié)點本身是該新路由中的一個中繼節(jié)點,則該監(jiān)聽節(jié)點將啟動一個隨機延時的定時器,在定時器超時之后,該監(jiān)聽節(jié)點向本地路由的起始節(jié)點發(fā)送一個本地路由更新通知消息LRUN,通告這條新發(fā)現(xiàn)的路由。源節(jié)點以及所有能夠監(jiān)聽到該消息的節(jié)點,在收到該消息后,將這條消息中包含的所有成員鏈路信息加入自己的本地鏈路表LLST中,用于以后的路由計算。這里加入隨機延時的目的是,防止多個鄰節(jié)點被發(fā)送LRUN消息,造成網(wǎng)絡(luò)擁塞。
將LRUN發(fā)送給本地路由起始節(jié)點時,按照新計算的本地路由的反方向進(jìn)行發(fā)送。保證該信息能夠安全傳送到源節(jié)點是非常重要的,否則源節(jié)點將繼續(xù)使用原來的路由發(fā)送數(shù)據(jù),從而導(dǎo)致鄰節(jié)點被連續(xù)觸發(fā)進(jìn)行LRUN發(fā)送,造成帶寬浪費。因此,該消息使用有應(yīng)答機制的逐段轉(zhuǎn)發(fā)的方式發(fā)送,應(yīng)答機制可以由數(shù)據(jù)鏈路層來提供。
3)本地鏈路錯誤通知消息LLEN由于物理信道的變化和節(jié)點的移動等因素,導(dǎo)致通信鏈路質(zhì)量不斷變化,進(jìn)而導(dǎo)致現(xiàn)有的本地路由不可用,或不再是最佳路由。LLEN消息用于及時發(fā)現(xiàn)網(wǎng)絡(luò)中的這些變化。
某個本地中繼節(jié)點在轉(zhuǎn)發(fā)數(shù)據(jù)數(shù)據(jù)或LRUN消息的過程中,如果發(fā)現(xiàn)到達(dá)下一跳本地中繼節(jié)點的鏈路不能工作,或?qū)嶋H的鏈路速率達(dá)不到本地路由子層幀頭或LRUN消息中所指示的該鏈路的速率,則本節(jié)點發(fā)送一個LLEN消息給引起問題的數(shù)據(jù)幀的本地路由起始節(jié)點或LRUN消息的發(fā)起節(jié)點。LLEN消息中攜帶了出現(xiàn)錯誤的中繼鏈路及其實際速率等信息。該消息的接收節(jié)點和所有能夠監(jiān)聽到該消息的鄰節(jié)點,會修改或刪除自己的鏈路狀態(tài)表中出錯的鏈路所對應(yīng)的記錄項。
2.鄰節(jié)點狀態(tài)表的結(jié)構(gòu)和更新方式每個網(wǎng)絡(luò)節(jié)點中,本地路由子層還建立有一個鄰節(jié)點狀態(tài)表,簡稱為NST,表中存放本節(jié)點與鄰節(jié)點之間的鏈路方向性信息。表中的每一條記錄對應(yīng)了一個鄰節(jié)點,該鄰節(jié)點是由本節(jié)點通過物理層監(jiān)聽而發(fā)現(xiàn)的。每一條記錄都包括鄰節(jié)點、鏈路速率估計值、鏈路方向性、建立時間等4個信息域組成。其中,鏈路速率估計值是根據(jù)本節(jié)點接收到的來自該鄰節(jié)點信號的質(zhì)量而計算出的鏈路最大可用速率。該表用于檢測本節(jié)點與鄰節(jié)點之間的鏈路的雙向性。
傳統(tǒng)的路由協(xié)議通常認(rèn)為底層的通信信道是雙向的,但在實際的網(wǎng)絡(luò)中,由于發(fā)射功率和地理位置等因素的影響,可能存在單向信道。而現(xiàn)有的主流Ad Hoc鏈路層通信協(xié)議如802.11等,由于采用了鏈路層應(yīng)答機制,需要在雙向鏈路上才能進(jìn)行通信。如果在路由計算過程中選擇了單向鏈路,將會造成鏈路層的應(yīng)答機制無法正常工作。
為了消除這些不利影響,本發(fā)明的路由方法中使用了鏈路雙向性檢測機制,具體方法是,在鄰節(jié)點狀態(tài)表中記錄本節(jié)點與所有鄰節(jié)點之間的鏈路方向性信息,如果發(fā)現(xiàn)某條鏈路為單向鏈路,則在本地鏈路狀態(tài)表中刪除該鏈路的記錄,以消除計算出的本地路由中包含有該單向鏈路的可能性。
本地路由子層對鄰節(jié)點狀態(tài)表的更新方式為
當(dāng)本節(jié)點首次監(jiān)聽到鄰節(jié)點發(fā)送數(shù)據(jù),即自己的鄰節(jié)點狀態(tài)表NST中還沒有該節(jié)點的記錄,則在該表中為該鄰節(jié)點增加一條記錄此時默認(rèn)本節(jié)點與該鄰節(jié)點之間的鏈路是雙向?qū)ΨQ;并在本地鏈路狀態(tài)表中LLST中為該鏈路創(chuàng)建一條記錄,表示進(jìn)行路由計算時可以使用該鏈路。
當(dāng)本節(jié)點與某個鄰節(jié)點進(jìn)行單播通信,連續(xù)失敗超過一定次數(shù)后,本地路由子層修改該鄰節(jié)點在鄰節(jié)點狀態(tài)表NST中的對應(yīng)的記錄,將它的“鏈路方向性”設(shè)置單向狀態(tài),表示本節(jié)點與該鄰節(jié)點間無法進(jìn)行雙向通信;同時在本地鏈路狀態(tài)表LLST中刪除該鏈路對應(yīng)的記錄項,以消除本地路由計算時選中該鏈路的可能性。
如果在鄰節(jié)點狀態(tài)表NST中已經(jīng)有了某個鄰節(jié)點的記錄,則當(dāng)本節(jié)點再次監(jiān)聽到來自該鄰節(jié)點的信號時,需要根據(jù)接收信號質(zhì)量重新估計該鄰節(jié)點到本節(jié)點的鏈路可以達(dá)到的最大傳輸速率。本地路由子層將其與鄰節(jié)點狀態(tài)表NST中,該鄰節(jié)點對應(yīng)的信道速率記錄進(jìn)行比較,如果當(dāng)前估計的鏈路新速率不同于記錄中前一次的鏈路速率估計值,則表示信道質(zhì)量可能發(fā)生了重大變化,此時進(jìn)行以下判斷操作a.如果鄰節(jié)點狀態(tài)表NST中,該鄰節(jié)點對應(yīng)記錄中的“鏈路方向性”信息域的值是雙向,則本地路由子層將對應(yīng)記錄項的“鏈路速率估計值”域的值改為新的速率估計值;同時修改LLST表中對應(yīng)的鏈路記錄,將鏈路速率設(shè)置也為新速率值;b.如果鄰節(jié)點狀態(tài)表NST中,該鄰節(jié)點對應(yīng)記錄中的“鏈路方向性”信息域的值是單向,則近一步判斷新鏈路速率估計值是否比舊值高。如果是,則表明信道質(zhì)量獲得改善,信道有可能恢復(fù)了雙向通信的能力,本地路由子層修改NST表中該鄰節(jié)點對應(yīng)的“鏈路速率估計值”為新速率值,并將“鏈路方向性”的值修改為雙向;同時在LLST表中新增加一條本節(jié)點到該鄰節(jié)點的鏈路記錄項。
當(dāng)本節(jié)點與原來被判斷為單向狀態(tài)的鄰節(jié)點之間成功進(jìn)行了一次單播通信,便判定本節(jié)點與該鄰節(jié)點之間的鏈路已經(jīng)恢復(fù)了雙向通信的能力,本地路由子層在NST表中把該鄰節(jié)點對應(yīng)記錄中的“鏈路方向性”域值恢復(fù)為雙向;并在LLST表中增加一條鏈路記錄。
以上的每一種事件都修改NST表中的相應(yīng)記錄的“建立時間”域,NST表中的每條記錄都有生存時間限制,本地路由子層周期性的檢查每條記錄的建立時間,如果發(fā)現(xiàn)某條鏈路的記錄長時間沒有得到刷新而導(dǎo)致超時,則刪除該記錄。
使用上述的方法,可以及時發(fā)現(xiàn)處于單向狀態(tài)的鏈路,并禁止單向鏈路參與路由計算過程。具體的說,由于在本地鏈路狀態(tài)表中已經(jīng)清除所有單向鏈路對應(yīng)的記錄;本地路由計算是以本地鏈路狀態(tài)表提供的鏈路信息為基礎(chǔ)進(jìn)行的,因此可以保證計算出的本地路由都由雙向鏈路組成。
3.本發(fā)明的拓?fù)湫畔⒏路绞降膬?yōu)點如1中所述,本發(fā)明的路由方法在計算本地路由時需要以本地鏈路狀態(tài)表中記錄的的鏈路速率為參數(shù)。本地路由子層進(jìn)行拓?fù)湫畔⒏碌哪康木褪谦@取這些鏈路速率信息。
使用傳統(tǒng)的鏈路狀態(tài)路由方法,顯然是可以達(dá)到上述目的。但傳統(tǒng)的鏈路狀態(tài)路由方法中,每個節(jié)點需要獲取全網(wǎng)絡(luò)范圍內(nèi)所有鏈路的狀態(tài)信息。而在全網(wǎng)范圍內(nèi)交換鏈路信息會導(dǎo)致交換的數(shù)據(jù)量非常多,路由開銷占用的網(wǎng)絡(luò)帶寬資源巨大,并且隨著網(wǎng)絡(luò)節(jié)點數(shù)目N的增加,需要維護的鏈路數(shù)目以與N平方成正比的趨勢增加,導(dǎo)致鏈路狀態(tài)路由協(xié)議無法應(yīng)用于大規(guī)模的網(wǎng)絡(luò)。
本發(fā)明提出的路由方法,可以將網(wǎng)絡(luò)拓?fù)涞木S護工作問題簡化。這是因為對廣域路由的優(yōu)化是逐段進(jìn)行的。節(jié)點在進(jìn)行本地路由計算時,僅需要以本節(jié)點鄰近范圍內(nèi)的鏈路速率為參數(shù),而不必理會此范圍之外的網(wǎng)絡(luò)拓?fù)湫畔?。即本發(fā)明中,網(wǎng)絡(luò)拓?fù)湫畔⒏逻^程是局部化的,這會大大減少用于拓?fù)浣粨Q的路由開銷所占用的網(wǎng)絡(luò)帶寬資源。我們以圖4來說明這個問題,圖中節(jié)點S和節(jié)點D是廣域路由中兩個相鄰的廣域中繼節(jié)點,兩個虛線圓分別表示這兩個節(jié)點使用最低傳輸速率時可以達(dá)到的最大傳輸范圍。如果在這兩個節(jié)點之間加入新的中繼節(jié)點,且保證節(jié)點S和節(jié)點D通過使用這個節(jié)點進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),能夠達(dá)到更高的數(shù)據(jù)傳輸速率,則必定要求該中繼節(jié)點的與S節(jié)點以及與D節(jié)點之間的鏈路傳輸速率都大于節(jié)點S和節(jié)點D之間的直接鏈路的傳輸速率,即本地中繼節(jié)點與S、D節(jié)點間的距離小于兩節(jié)點的直接距離。在本例中,兩個圓相交區(qū)域內(nèi)的節(jié)點才有可能作為本地中繼節(jié)點,只要能夠獲取節(jié)點S、D、A、B、C之間鏈路信息,就可以計算出S、D之間本地路由,而維護此范圍之外的其它鏈路的信息是沒有必要的。
網(wǎng)絡(luò)拓?fù)湫畔⒏逻^程的局部化帶來的另一個好處是,節(jié)點可以更有效的利用監(jiān)聽功能來獲取本節(jié)點周圍的局部范圍內(nèi)的鏈路狀態(tài)信息。從圖4中可見,與本地路由計算有關(guān)的節(jié)點都在相互的監(jiān)聽范圍內(nèi),節(jié)點可以通過監(jiān)聽鄰節(jié)點的通信過程獲得足夠的網(wǎng)絡(luò)拓?fù)湫畔?,而極大地減少由于發(fā)送專用的本地路由子層拓?fù)渚S護消息所帶來的開銷。
(三).數(shù)據(jù)轉(zhuǎn)發(fā)過程傳統(tǒng)的路由方法中,在獲取信源和信宿節(jié)點之間的廣域路由后,數(shù)據(jù)的發(fā)送會沿著該路由進(jìn)行,只有廣域中繼節(jié)點會參與數(shù)據(jù)的轉(zhuǎn)發(fā)工作。而在本發(fā)明的路由方法中,數(shù)據(jù)轉(zhuǎn)發(fā)工作需要網(wǎng)絡(luò)層和本地路由子層共同參與來完成,數(shù)據(jù)的發(fā)送是沿著由多段本地路由組成的優(yōu)化路由進(jìn)行的,除了廣域中繼節(jié)點外,本地中繼節(jié)點也參與數(shù)據(jù)轉(zhuǎn)發(fā)過程。具體的數(shù)據(jù)轉(zhuǎn)發(fā)過程及各個中繼節(jié)點內(nèi)的處理過程如下信源節(jié)點在進(jìn)行數(shù)據(jù)發(fā)送時,需要網(wǎng)絡(luò)層和本地路由子層共同參與,即源節(jié)點的高層產(chǎn)生數(shù)據(jù)后,首先將數(shù)據(jù)遞交網(wǎng)絡(luò)層處理;網(wǎng)絡(luò)層按照最小跳數(shù)原則為該數(shù)據(jù)計算出一條廣域路由,并把高層數(shù)據(jù)組裝成特定結(jié)構(gòu)的網(wǎng)絡(luò)層數(shù)據(jù)幀,然后將該其以及下一跳廣域中繼節(jié)點的地址遞交給本地路由子層;信源節(jié)點的本地路由子層,計算出從本節(jié)點到達(dá)該廣域中繼節(jié)點的一條本地路由,并以計算出來的本地路由為參數(shù),構(gòu)造一個源路由方式的本地路由子層的幀頭,增加到數(shù)據(jù)幀的網(wǎng)絡(luò)層幀頭之前,組成本地路由子層數(shù)據(jù)幀;然后將該數(shù)據(jù)幀其以及下一個本地中繼節(jié)點的地址遞交給鏈路層和物理層,發(fā)往指定的該本地中繼節(jié)點。
當(dāng)數(shù)據(jù)傳送到某個本地中繼節(jié)點處,該節(jié)點的網(wǎng)絡(luò)層不參與轉(zhuǎn)發(fā)數(shù)據(jù)的處理過程。并且由于數(shù)據(jù)在本地路由上發(fā)送時采用了源路由的方式,本節(jié)點的本地路由子層不再為該數(shù)據(jù)幀計算本地路由,而只需要從接收到的數(shù)據(jù)幀的本地網(wǎng)絡(luò)子層幀頭中讀取下一跳本地中繼節(jié)點地址,再將數(shù)據(jù)幀以及該本地中繼節(jié)點的地址遞交給本節(jié)點的鏈路層和物理層,進(jìn)行發(fā)送。
當(dāng)數(shù)據(jù)傳送到某個廣域中繼節(jié)點處,路由選擇過程也需要網(wǎng)絡(luò)層和本地路由子層共同參與,這與信源節(jié)點中的處理過程類似;即首先由網(wǎng)絡(luò)層為該數(shù)據(jù)指定下一跳廣域中繼節(jié)點的地址,再由本地路由子層計算出從本節(jié)點到達(dá)該廣域中繼節(jié)點的一條本地路由,并構(gòu)造一個源路由方式的本地路由子層的幀頭,增加到數(shù)據(jù)幀的網(wǎng)絡(luò)層幀頭之前,組成本地路由層數(shù)據(jù)幀結(jié)構(gòu);然后將該其以及下一個本地中繼節(jié)點的地址遞交給鏈路層和物理層,將數(shù)據(jù)發(fā)往本地路由子層指定的下一個本地中繼節(jié)點。
以上過程可依照圖5來說明,圖中的SRC和DST節(jié)點分別為數(shù)據(jù)源節(jié)點和接收節(jié)點,黑色節(jié)點代表使用網(wǎng)絡(luò)層計算出的路由中的轉(zhuǎn)發(fā)節(jié)點,即廣域中繼節(jié)點,它周圍的虛線圓代表該節(jié)點的最大傳輸范圍。相鄰廣域中繼節(jié)點之間的直接鏈路是廣域路由的一條成員鏈路,通常只能支持低速率通信,圖中使用黑實線表示。如果僅使用廣域路由進(jìn)行數(shù)據(jù)傳輸,轉(zhuǎn)發(fā)過程為SRC-WR1-WR2-DST。而經(jīng)過本地路由子層對廣域路由進(jìn)行逐段優(yōu)化后,在節(jié)點SRC、WR1、WR2處,會進(jìn)行路由優(yōu)化的工作,即這些節(jié)點的的本地路由子層計算出一條本地路由來代替本節(jié)點到下一跳廣域中繼節(jié)點之間的直接鏈路,進(jìn)行數(shù)據(jù)發(fā)送。其中節(jié)點SRC計算出的本地路由為SRC-LR1-LR2-WR1,節(jié)點WR1計算出的本地路由為WR1-LR3-WR2,節(jié)點WR2計算出的本地路由為WR2-LR4-DST,信源節(jié)點SRC向信宿節(jié)點DST發(fā)送數(shù)據(jù)時,實際的數(shù)據(jù)轉(zhuǎn)發(fā)過程變?yōu)镾RC-LR1-LR2-WR1-LR3-WR2-LR4-DST,即沿著虛線所示的路徑進(jìn)行。
三.本發(fā)明的實際效果為了評估本發(fā)明的效果,我們使用NS-2仿真工具進(jìn)行了兩個場景的仿真。附圖6-9中給出了仿真結(jié)果。
(一)節(jié)點模型簡介本發(fā)明的路由方法理論上可以支持任意多的可變速率集,為了方便說明和仿真程序的編寫,這里設(shè)鏈路層采用RABR變速率機制,物理層采用的是802.11b,它可以提供四種可用速率1M、2M、5.5M、11M。有關(guān)發(fā)射機和接收機的性能參數(shù),我們引用的Lucent ORiNOCO PC卡的性能說明。發(fā)射機的發(fā)射功率為15dbm假設(shè)系統(tǒng)的損耗為12db,使用這些參數(shù)以及雙線傳播模型計算出來的最大傳輸距離見表2表2 物理層參數(shù)設(shè)置速率 接收門限 傳輸距離11Mbps -82dbm 200m5.5Mbps-87dbm 265m2Mbps -91dbm 335m1Mbps -94dbm 400m另外,由于本發(fā)明的路由方法中,本地路由子層需要與網(wǎng)絡(luò)層配合工作,我們選定DSR作為其中網(wǎng)絡(luò)層的路由方法。
(二).仿真說明1.仿真場景一50個節(jié)點被放置在1500*300m的平整地域內(nèi),第0號節(jié)和第49號節(jié)被分別被放置在(0,150)和(1500,150)坐標(biāo)處,其余節(jié)點則隨機放置。每次仿真時間持續(xù)480秒,在仿真過程中所有節(jié)點不運動。節(jié)點0以1數(shù)據(jù)包/秒的頻率發(fā)送不同長度的數(shù)據(jù)給節(jié)點49,仿真結(jié)果取10次仿真過程的平均值。我們統(tǒng)計的性能尺度為1)數(shù)據(jù)到達(dá)目的前的平均轉(zhuǎn)發(fā)次數(shù);2)平均端到端時延;3)不同速率的鏈路被使用的比例。
圖6中和圖7為仿真結(jié)果,每個圖中有兩條曲線,分別對應(yīng)于兩種路由方法,第一種是傳統(tǒng)的DSR路由方法,第二種是本發(fā)明的路由方法。
圖6是不同數(shù)據(jù)長度條件下本發(fā)明路由方法產(chǎn)生的平均路由跳數(shù)圖,其中橫坐標(biāo)為發(fā)送數(shù)據(jù)的長度,縱坐標(biāo)為數(shù)據(jù)從信源節(jié)點到信宿節(jié)點的傳輸過程中被轉(zhuǎn)發(fā)的總次數(shù),即路由的總跳數(shù)。從圖6中可以看到,本發(fā)明的路由方法確實可以針對不同的數(shù)據(jù)長度選擇不同的路由。在發(fā)送長數(shù)據(jù)時,本發(fā)明的路由方法傾向于選擇由傳輸距離短并且傳輸速率高的鏈路組成的路由,因此數(shù)據(jù)需要經(jīng)過更多次的鏈路轉(zhuǎn)發(fā)才能到達(dá)目的節(jié)點。而在發(fā)送短數(shù)據(jù)時,本發(fā)明的路由方法傾向于選擇由傳輸距離長、傳輸速率低高的鏈路組成的路由,因此數(shù)據(jù)經(jīng)過較少次數(shù)轉(zhuǎn)發(fā),便能到達(dá)目的節(jié)點。當(dāng)數(shù)據(jù)長度小于512比特時,我們看到本發(fā)明的路由方法與傳統(tǒng)DSR路由方法所選擇的路由完全相同。
圖7是不同數(shù)據(jù)長度條件下本發(fā)明路由方法產(chǎn)生的平均數(shù)據(jù)傳輸時延圖,其中橫坐標(biāo)為發(fā)送數(shù)據(jù)的長度,縱坐標(biāo)為數(shù)據(jù)從信源節(jié)點到信宿節(jié)點的傳輸過程中的平均時延。從圖7我們可以看到,在任何數(shù)據(jù)長度的條件下,本發(fā)明的路由方法進(jìn)行數(shù)據(jù)傳輸時,得到的數(shù)據(jù)端到端傳輸時延性能都優(yōu)于或等于使用DSR路由協(xié)議所能達(dá)到的性能。時延減少的的比例同樣與數(shù)據(jù)長度有關(guān),在數(shù)據(jù)長度為16384比特時,時延大約減少為使用傳統(tǒng)DSR路由方法時的一半;而在數(shù)據(jù)長度為512比特以下時,兩者性能完全相同。
以上的仿真結(jié)果反映了本發(fā)明的路由方法的優(yōu)點,即可以針對不同的數(shù)據(jù)長度選擇不同的路由,并且保證所選擇的路由在時延特性上一定會比傳統(tǒng)的最小跳數(shù)路由更好。這是由于,本地路由子層在計算本地路由的時候,使用的是媒體占用時間MTM尺度,能自動適應(yīng)傳輸數(shù)據(jù)的長度,保證計算出的本地路由是總傳輸時間最小的路由。
本仿真中還統(tǒng)計了使用本發(fā)明的路由方法所得到的路由中包含各種速率鏈路的比例,其結(jié)果見于表3中。作為對比,首先給出使用傳統(tǒng)DSR路由方法所得到的路由中,各種速率鏈路所占的比例,分別為1M鏈路所占比例為59%,2M鏈路所占比例為27.2%,5.5M鏈路所占比例為8.3%,11M鏈路所占比例為5.5%,這些值不隨數(shù)據(jù)長度而變化。
表3 本發(fā)明的路由方法得到的路由中各種速率鏈路的比例數(shù)據(jù)長度 1M鏈路所 2M鏈路所 5.5M鏈路11M鏈路(比特)占比例占比例所占比例所占比例256 59% 27.2%8.3% 5.5%512 59% 27.2%8.3% 5.5%1024 50.6%23.6%14.2% 11.6%2048 33.3%22% 18.5% 26.2%4094 14% 19.8%30.1% 36.1%8192 0 11.3%43.2% 45.5%16384 0 7.1% 44.5% 48.4%從表3中可以看到,與傳統(tǒng)的DSR路由方法相比,本發(fā)明的路由方法在傳送長度較大的數(shù)據(jù)時,能夠有效地利用節(jié)點的高速率通信能力,到達(dá)降低數(shù)據(jù)平均傳輸時延的目的。
2.仿真場景二網(wǎng)絡(luò)范圍與第一個場景相同。但所有節(jié)點的初始位置都隨機放置,選用20個節(jié)點作為發(fā)送節(jié)點,向隨機選定的目的節(jié)點發(fā)送1024字節(jié)長度的數(shù)據(jù),節(jié)點的發(fā)送速率作為仿真參數(shù)。我們對比DSR路由和本發(fā)明的路由方法的性能。統(tǒng)計的性能尺度為1)網(wǎng)絡(luò)通過量;2)平均端到端時延。
圖8和圖9顯示了仿真結(jié)果,每個圖中有兩條曲線,分別對應(yīng)于兩種路由方法,第一種是傳統(tǒng)的DSR路由方法,第二種是本發(fā)明的路由方法。
圖8是不同業(yè)務(wù)量條件下本發(fā)明路由方法可達(dá)到的平均網(wǎng)絡(luò)通過量圖,其中橫坐標(biāo)為網(wǎng)絡(luò)中承載的業(yè)務(wù)量,縱坐標(biāo)為網(wǎng)絡(luò)可以達(dá)到的通過量。圖8中顯示,使用傳統(tǒng)DSR路由的方法時,業(yè)務(wù)量為每80數(shù)據(jù)/秒時網(wǎng)絡(luò)達(dá)到飽和狀態(tài),此時的網(wǎng)絡(luò)的通過量為77.8數(shù)據(jù)/秒。而使用本發(fā)明的路由方法時,業(yè)務(wù)量為每120數(shù)據(jù)/秒時網(wǎng)絡(luò)才達(dá)到飽和狀態(tài),此時的網(wǎng)絡(luò)的通過量為106.85數(shù)據(jù)/秒,比使用DSR路由方法時高出37.3%。
圖9是不同業(yè)務(wù)量條件下本發(fā)明路由方法產(chǎn)生的平均數(shù)據(jù)傳輸時延圖,中橫坐標(biāo)為網(wǎng)絡(luò)中承載的業(yè)務(wù)量,縱坐標(biāo)為數(shù)據(jù)傳輸?shù)钠骄鶗r延。圖9中顯示,與傳統(tǒng)DSR路由的方法相比,在相同的業(yè)務(wù)量條件下,本發(fā)明的路由方法能夠降低平均數(shù)據(jù)端到端時延。
權(quán)利要求
1.一種可支持多速率傳輸?shù)腁d Hoc網(wǎng)絡(luò)功能層結(jié)構(gòu),包括高層、網(wǎng)絡(luò)層、本地路由子層、數(shù)據(jù)鏈路層、物理層,其特征在于在網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層之間增設(shè)本地路由子層;該本地路由子層中設(shè)置有本地鏈路狀態(tài)表和鄰節(jié)點狀態(tài)表,用于記錄小范圍內(nèi)的網(wǎng)絡(luò)拓?fù)湫畔?;該本地路由子層中還固化有本地路由子層的路由軟件,用于完成本地網(wǎng)絡(luò)拓?fù)湫畔⒌母?、本地路由計算、以及?shù)據(jù)轉(zhuǎn)發(fā)工作。
2.根據(jù)權(quán)利要求1所述的Ad Hoc網(wǎng)絡(luò)功能層結(jié)構(gòu),其中本地鏈路子層設(shè)置的本地鏈路狀態(tài)表中包含多條記錄,每條記錄包括鏈路始節(jié)點地址、鏈路終節(jié)點地址、鏈路速率、建立時間4個信息域,且每條記錄對應(yīng)一條鏈路。
3.根據(jù)權(quán)利要求1所述的Ad Hoc網(wǎng)絡(luò)功能層結(jié)構(gòu),其中本地鏈路子層設(shè)置的鄰節(jié)點狀態(tài)表中,記錄有本節(jié)點與鄰節(jié)點之間的鏈路方向性信息,每條記錄包括鄰節(jié)點地址、鏈路速率估計值、鏈路方向性、記錄建立時間四個信息域。
4.一種可支持多速率傳輸?shù)囊苿覣d Hoc網(wǎng)絡(luò)路由方法,是通過在節(jié)點的網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層之間增設(shè)的本地路由子層功能單元,對網(wǎng)絡(luò)層計算出的路由進(jìn)行優(yōu)化,把該路由中包含的每一條低速率的長距離鏈路分割成多個高速率的短鏈路,使用這些短鏈路組成新的路由,進(jìn)行數(shù)據(jù)發(fā)送;同時本地路由子層還要對其內(nèi)部的本地鏈路狀態(tài)表和鄰節(jié)點狀態(tài)表進(jìn)行實時更新,為下一次路由優(yōu)化提供信息參數(shù)。
5.根據(jù)權(quán)利要求4所述的移動Ad Hoc網(wǎng)絡(luò)路由方法,其中對網(wǎng)絡(luò)層計算出的路由進(jìn)行優(yōu)化的過程如下(1)本地路由層接到從網(wǎng)絡(luò)層送來的網(wǎng)絡(luò)層數(shù)據(jù)幀和下一跳網(wǎng)絡(luò)層中繼節(jié)點地址后,以數(shù)據(jù)長度和本地鏈路狀態(tài)表中記錄的鏈路速率信息為參數(shù),為本地鏈路狀態(tài)表中的每條鏈路設(shè)置一個媒體時間尺度MTM權(quán)值,同一鏈路傳送不同長度的數(shù)據(jù)時,對應(yīng)不同的權(quán)值;(2)用所有的鏈路權(quán)值,構(gòu)造一個加權(quán)的網(wǎng)絡(luò)連接矩陣,并使用最短路徑算法,計算出一條由多個短距離成員鏈路組成的本地路由。
6.根據(jù)權(quán)利要求4所述的移動Ad Hoc網(wǎng)絡(luò)路由方法,本地鏈路子層使用由短鏈路組成的新路由,進(jìn)行數(shù)據(jù)發(fā)送的過程是本地路由子層以新計算出的本地路由為參數(shù),組成源路由方式的本地路由子層幀頭,把該幀頭加入到數(shù)據(jù)幀的網(wǎng)絡(luò)層幀頭和鏈路層幀頭之間;然后將數(shù)據(jù)幀以及下一跳本地中繼節(jié)點的地址交給鏈路層和物理層進(jìn)行發(fā)送。
7.根據(jù)權(quán)利要求4所述的移動Ad Hoc網(wǎng)絡(luò)路由方法,其中本地路由子層對其內(nèi)部的本地鏈路狀態(tài)表進(jìn)行實時更新的方式有兩種1)本地路由子層根據(jù)節(jié)點通過監(jiān)聽網(wǎng)絡(luò)中的數(shù)據(jù)發(fā)送活動獲取的鏈路狀態(tài)信息,修改鏈路狀態(tài)表的內(nèi)容,該監(jiān)聽過程是由本地路由子層和物理層配合完成;2)本地路由子層根據(jù)網(wǎng)絡(luò)節(jié)點之間通過交換本地路由子層專用拓?fù)渚S護消息獲取的鏈路狀態(tài)信息,對本地鏈路狀態(tài)表進(jìn)行更新操作,該專用拓?fù)渚S護消息包括本地路由更新通知消息LRUN、本地鏈路失敗通知消息LLEN。
8.根據(jù)權(quán)利要求4所述的移動Ad Hoc網(wǎng)絡(luò)路由方法,其中本地路由子層對其內(nèi)部的鄰節(jié)點狀態(tài)表進(jìn)行實時更新的方式為當(dāng)節(jié)點首次監(jiān)聽到某個鄰節(jié)點進(jìn)行數(shù)據(jù)發(fā)送時,本地路由子層在鄰節(jié)點狀態(tài)表中增加一條記錄,此時默認(rèn)本節(jié)點與該鄰節(jié)點之間的鏈路是雙向鏈路;當(dāng)本節(jié)點與某個鄰節(jié)點之間的鏈路進(jìn)行單播通信時,如果連續(xù)失敗超過一定次數(shù)后,便判定本節(jié)點與該鄰節(jié)點之間的鏈路是單向鏈路,本地路由子層將修改該鄰節(jié)點在鄰節(jié)點狀態(tài)表中對應(yīng)的記錄;當(dāng)節(jié)點與原來被判斷為單向狀態(tài)的鄰節(jié)點之間成功進(jìn)行了一次單播通信,或檢測到來自該鄰節(jié)點信號質(zhì)量發(fā)生明顯改善時,便判定本節(jié)點與該鄰節(jié)點之間的鏈路已經(jīng)恢復(fù)了雙向通信的能力,本地路由子層在鄰節(jié)點狀態(tài)表中把該鄰節(jié)點的狀態(tài)恢復(fù)為雙向狀態(tài)。
9.根據(jù)權(quán)利要求5所述的移動Ad Hoc網(wǎng)絡(luò)路由方法,其中媒體時間尺度MTM權(quán)值為數(shù)據(jù)傳輸時間與開銷時間之和,該開銷時間包括物理層幀頭傳輸時間、鏈路層握手過程的開銷時間和競爭接入過程中的退避時間。
10.根據(jù)權(quán)利要求6所述的移動Ad Hoc網(wǎng)絡(luò)路由方法,其中本地路由子層幀頭包含消息類型、幀頭長度、本地路由的總代價、本地源節(jié)點地址、本地目的節(jié)點地址、各個本地中繼節(jié)點的地址、各條成員鏈路的速率等信息域。
全文摘要
本發(fā)明公開了一種可支持多速率傳輸?shù)囊苿覣dHoc網(wǎng)絡(luò)功能層結(jié)構(gòu)及路由方法。主要解決現(xiàn)有技術(shù)不能有效支持多速率傳輸或協(xié)議開銷過大的問題。該方法是通過在節(jié)點的網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層之間增設(shè)的本地路由子層功能單元,對網(wǎng)絡(luò)層計算出的路由進(jìn)行優(yōu)化,把該路由中包含的每一條低速率的長距離鏈路分割成多個高速率的短鏈路,使用這些短鏈路組成新的路由進(jìn)行數(shù)據(jù)發(fā)送,以支持多速率傳輸;同時本地路由子層還要對其內(nèi)部的本地鏈路狀態(tài)表和鄰節(jié)點狀態(tài)表進(jìn)行實時更新,為下一次路由優(yōu)化提供信息參數(shù)。本發(fā)明可根據(jù)發(fā)送數(shù)據(jù)的長度選擇不同路由,既適用于保證鏈路雙向性的Ad Hoc網(wǎng)絡(luò),又適用于存在單向鏈路的Ad Hoc網(wǎng)絡(luò)。
文檔編號H04L29/06GK1645863SQ20051004162
公開日2005年7月27日 申請日期2005年1月13日 優(yōu)先權(quán)日2005年1月13日
發(fā)明者李建東, 王炫, 張文柱, 何宏 申請人:西安電子科技大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
本溪市| 孟州市| 南丰县| 喜德县| 平邑县| 林州市| 诸城市| 莆田市| 巢湖市| 区。| 建德市| 香格里拉县| 静宁县| 城固县| 台湾省| 临西县| 隆尧县| 康马县| 云安县| 荆门市| 平原县| 建水县| 师宗县| 平山县| 工布江达县| 图片| 望奎县| 福清市| 四平市| 公安县| 万宁市| 庆阳市| 西城区| 辉县市| 新安县| 牟定县| 新建县| 岗巴县| 土默特右旗| 玛多县| 峡江县|