專利名稱:無線網(wǎng)絡(luò)中的路由選擇的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及無線網(wǎng)絡(luò),并且具體涉及無線網(wǎng)^f各網(wǎng)絡(luò)。更具體地,本發(fā)明
涉及按需路由(routing)協(xié)議中的路由請求消息的處理。
背景技術(shù):
諸如由IETF中的MANET工作組規(guī)定的自組織(Ad Hoc)按需距離向量 (AOD V)路由協(xié)議的按需路由協(xié)議使用路由請求和路由答復(fù)機(jī)制來在無線網(wǎng) 格/自組織網(wǎng)絡(luò)中建立兩個節(jié)點(diǎn)之間的路由。當(dāng)源節(jié)點(diǎn)希望將數(shù)據(jù)分組/幀發(fā)送 到目的地節(jié)點(diǎn)時,如果該源節(jié)點(diǎn)不具有、并且需要到目的地節(jié)點(diǎn)的有效路由, 則該源節(jié)點(diǎn)通過在網(wǎng)絡(luò)上泛洪(flooding)路由請求(RREQ)消息來發(fā)現(xiàn)到目的 地的路由。當(dāng)網(wǎng)絡(luò)中的節(jié)點(diǎn)接收和轉(zhuǎn)發(fā)RREQ時,它們創(chuàng)建回到源的反向路 由。當(dāng)節(jié)點(diǎn)接收到RREQ時,如果(1)該接收節(jié)點(diǎn)自身是目的地或者(2)該接收 節(jié)點(diǎn)具有到目的地的有效路由并且沒有設(shè)置RREQ中的"僅目的地"('D') 標(biāo)志,則該接收節(jié)點(diǎn)通過產(chǎn)生路由答復(fù)(RREP)消息來答復(fù)此請求。通過所建 立的反向路由而在單播中將RREP轉(zhuǎn)發(fā)給源節(jié)點(diǎn),從而創(chuàng)建在中間節(jié)點(diǎn)中以 及最終在源節(jié)點(diǎn)中的到目的地的正向路由。如果所建立的路由在給定的路由 有效期中沒有被使用,則所建立的路由到期。
在AODV中,RREQ消息中的"僅目的地"標(biāo)志是由源節(jié)點(diǎn)設(shè)置的,并 且不會被中間節(jié)點(diǎn)改變。如果源節(jié)點(diǎn)在RREQ中設(shè)置了 "僅目的地"標(biāo)志, 則即使中間節(jié)點(diǎn)/接收節(jié)點(diǎn)具有到目的地節(jié)點(diǎn)的有效路由,中間節(jié)點(diǎn)也不以 RREP消息來響應(yīng)該RREQ。它將該RREQ轉(zhuǎn)發(fā)/重新泛洪至其鄰居。只有目 的地節(jié)點(diǎn)響應(yīng)此RREQ。在此操作模式下,盡管在該過程中最終發(fā)現(xiàn)了源節(jié) 點(diǎn)和目的地節(jié)點(diǎn)之間的最新的最佳路由,但是路由發(fā)現(xiàn)等待時間可能較大。 對于諸如語音和視頻通信的實(shí)時應(yīng)用來說,低等待時間是非常重要的。
如果源節(jié)點(diǎn)沒有設(shè)置"僅目的地"標(biāo)志,則具有到目的地節(jié)點(diǎn)的有效路 由的任何中間節(jié)點(diǎn)都以RREP消息來響應(yīng)該RREQ 。該RREP消息在單播中 被發(fā)送回源節(jié)點(diǎn),并且建立目的地節(jié)點(diǎn)的正向路由。如果設(shè)置了RREQ中的"無條件RREQ" ( 'G')標(biāo)志,則此中間節(jié)點(diǎn)還將無條件RREP單播給目的 地節(jié)點(diǎn),使得目的地節(jié)點(diǎn)得知到源節(jié)點(diǎn)的路由。然而,在AODV中,如果中 間節(jié)點(diǎn)不產(chǎn)生RREP(因?yàn)樵撝虚g節(jié)點(diǎn)具有到目的地節(jié)點(diǎn)的有效路由),則中間 節(jié)點(diǎn)丟棄該RREQ。利用這一方法,源節(jié)點(diǎn)可以更快地發(fā)現(xiàn)到目的地節(jié)點(diǎn)的 路由,因?yàn)樵垂?jié)點(diǎn)不必等待目的地節(jié)點(diǎn)的答復(fù)。然而,因?yàn)樵谥虚g節(jié)點(diǎn)中高 速緩存的路由可能不是到目的地節(jié)點(diǎn)的最佳路由,所以可能沒有發(fā)現(xiàn)最佳端 到端路由。所述量度(metrics)可能由于無線網(wǎng)絡(luò)的動態(tài)而改變,使得高速緩存 的路由更不理想。也就是說,由于網(wǎng)絡(luò)拓樸、路由量度等的改變,在中間節(jié) 點(diǎn)中高速緩存的路由可能變得較差,或者可能變得可以獲得具有更好的端到 端量度的其它路由,使得其它路由更加理想。
本發(fā)明解決的問題是如何使用RREQ和RREP機(jī)制來快速發(fā)現(xiàn)源節(jié)點(diǎn)和 一個或多個目的地節(jié)點(diǎn)之間的最佳路由。
發(fā)明內(nèi)容
本發(fā)明公開了 一種方法和系統(tǒng),其用于在按需路由協(xié)議中處理/轉(zhuǎn)發(fā)路由 請求(RREQ)消息并且產(chǎn)生路由答復(fù)(RREP)消息,使得可以在無線網(wǎng)格/自組 織網(wǎng)絡(luò)中發(fā)現(xiàn)最佳路由而不引起顯著的路由發(fā)現(xiàn)延遲/等待時間,其中AODV 是所述按需路由協(xié)議的示例。具體地,當(dāng)源節(jié)點(diǎn)希望發(fā)現(xiàn)到目的地節(jié)點(diǎn)的路 由時,源節(jié)點(diǎn)利用在目的地列表中指定了目的地節(jié)點(diǎn)并且量度字段被初始化 為0的RREQ消息來對所述網(wǎng)絡(luò)進(jìn)行泛洪。該RREQ消息包含用于每個目的 地節(jié)點(diǎn)的新標(biāo)志"中間答復(fù)(IR)"。當(dāng)源節(jié)點(diǎn)啟動RREQ泛洪以發(fā)現(xiàn)到一個或 多個目的地節(jié)點(diǎn)的路由時,源節(jié)點(diǎn)在RREQ中設(shè)置與目的地節(jié)點(diǎn)相對應(yīng)的標(biāo) 志。在RREQ泛洪期間,具有到目的地節(jié)點(diǎn)的有效路由的第一中間節(jié)點(diǎn)以 RREP消息來響應(yīng)該RREQ。該RREP消息在單播中被發(fā)送到源節(jié)點(diǎn),從而快 速建立到目的地的臨時正向路由。因此,源節(jié)點(diǎn)可以使用此臨時正向路由來 以低路由發(fā)現(xiàn)延遲/等待時間發(fā)送數(shù)據(jù)分組/幀。第 一 中間節(jié)點(diǎn)重置/清除RREQ 消息中的"IR"標(biāo)志,并且將更新后的RREQ消息朝著目的地節(jié)點(diǎn)向下游轉(zhuǎn) 發(fā)。由于RREQ中的"IR"標(biāo)志已經(jīng)被重置,因此即使下游的中間節(jié)點(diǎn)具有 到一個或多個目的地節(jié)點(diǎn)的有效路由,該下游的中間節(jié)點(diǎn)也不會響應(yīng)此 RREQ而是僅僅傳播它。該RREQ最終到達(dá)所述一個或多個目的地節(jié)點(diǎn)。所 述一個或多個節(jié)點(diǎn)可以基于端到端量度來選擇最佳路由/路徑,并且將新RREP發(fā)送回源節(jié)點(diǎn),以便建立源節(jié)點(diǎn)和此目的地節(jié)點(diǎn)之間的最佳路由。如果該最佳路徑與經(jīng)由來自中間節(jié)點(diǎn)的RREP建立的臨時正向路徑不同,則一旦建立所述最佳路徑,源節(jié)點(diǎn)就將切換到該最佳路徑。描述了 一種用于在無線網(wǎng)絡(luò)中發(fā)現(xiàn)源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)之間的路由的系統(tǒng)和方法,包括由源節(jié)點(diǎn)設(shè)置路由請求消息的中間答復(fù)標(biāo)志;利用所述路由 請求消息來對所述無線網(wǎng)絡(luò)進(jìn)行泛洪,并且由具有到目的地節(jié)點(diǎn)的有效路由 的第一中間節(jié)點(diǎn)以路由答復(fù)消息來響應(yīng)該路由請求消息。然后,該系統(tǒng)和方 法更新所述路由請求消息,并且以該路由請求消息來對無線網(wǎng)絡(luò)進(jìn)行重新泛 洪。由此,所述響應(yīng)動作建立此無線網(wǎng)絡(luò)的源節(jié)點(diǎn)和目的地節(jié)點(diǎn)之間的臨時 正向路由。還描述了一種用于發(fā)現(xiàn)最佳路由的系統(tǒng)和方法,在該情況中,所 述路由答復(fù)消息成為第一路由答復(fù)消息。所述用于發(fā)現(xiàn)最佳路由的系統(tǒng)和方 法包括由目的地節(jié)點(diǎn)基于在由該目的地節(jié)點(diǎn)接收的路由請求消息中接收的 累積(cumulative)量度來選擇在它自己和源節(jié)點(diǎn)之間的最佳路由;創(chuàng)建另一路 由答復(fù)消息,并且將該另一路由答復(fù)消息單播給源節(jié)點(diǎn)。當(dāng)源節(jié)點(diǎn)接收到所 述另一路由答復(fù)消息時,如果臨時正向路由是最佳路由,則所述另一路由答 復(fù)消息充當(dāng)確認(rèn),而如果臨時正向路由不是最佳路由,則所述另一路由答復(fù) 消息用來建立最佳路由。
當(dāng)結(jié)合附圖閱讀時,根據(jù)以下詳細(xì)描述,將最好地理解本發(fā)明。所述圖 包括在下面簡要描述的以下圖 圖1是示例RREQ消息格式。 圖2是根據(jù)本發(fā)明原理的無線網(wǎng)格網(wǎng)絡(luò)的示意圖。 圖3是根據(jù)本發(fā)明原理的無線網(wǎng)格網(wǎng)絡(luò)的示意圖。 圖4是示出在哪里使用本發(fā)明的按需路由協(xié)議的流程圖。 圖5是本發(fā)明的方法的流程圖。 圖6是根據(jù)本發(fā)明原理的節(jié)點(diǎn)的框圖。
具體實(shí)施方式
當(dāng)源節(jié)點(diǎn)/網(wǎng)格點(diǎn)希望將數(shù)據(jù)分組/幀發(fā)送到某個目的地節(jié)點(diǎn)時,它在其路 由表中檢查路由。如果存在有效路由,則它將所述分組/幀傳送到在用于此目的地節(jié)點(diǎn)的路由表中指定的下一跳(hop)。如果不存在有效路由,則源節(jié)點(diǎn)通 過在無線網(wǎng)格/自組織網(wǎng)絡(luò)上泛洪路由請求(RREQ)消息來啟動路由發(fā)現(xiàn)。所述 數(shù)據(jù)分組/幀可以在該節(jié)點(diǎn)中油該節(jié)點(diǎn)發(fā)起,或者如果該節(jié)點(diǎn)是無線接入點(diǎn), 則所述數(shù)據(jù)分組/幀可以發(fā)源于與該節(jié)點(diǎn)相關(guān)聯(lián)的站(station)。源節(jié)點(diǎn)需要發(fā)現(xiàn) 到多個目的地節(jié)點(diǎn)的路由/路徑是有可能的。源節(jié)點(diǎn)可以對每個目的地散布 RREQ,或者,為了減小路由開銷,利用具有其中包含多個目的地節(jié)點(diǎn)地址的 列表的單個RREQ消息來對網(wǎng)絡(luò)進(jìn)行泛洪。
圖1是示例RREQ消息格式,其它格式是可能的。RREQ消息包含例如 發(fā)起/源節(jié)點(diǎn)地址、發(fā)起者的序列號、目的地節(jié)點(diǎn)地址和目的地序列號(或者目 的地號以及目的地地址及其序列號的列表)、RREQID、消息ID、消息長度、 使用期限(TTL)、跳計(jì)數(shù)、路由量度、標(biāo)志、以及其它信息。除了標(biāo)志"僅目 的地"('D,)和"無條件RREP,, ( 'G,)以外,在RREQ消息中還包括在這 里被稱為"中間答復(fù)"(IR)標(biāo)志的新標(biāo)志。作為傳統(tǒng)的AODV的遺留物而攜 帶'D'和'G,標(biāo)志。源節(jié)點(diǎn)不設(shè)置/使用這兩個標(biāo)志,并且中間節(jié)點(diǎn)和目 的地節(jié)點(diǎn)忽略這兩個標(biāo)志。 一個替換實(shí)施例是RREQ消息根本不包含'D, 和'G,標(biāo)志。如果RREQ消息攜帶目的地地址的列表,則將多個"中間答 復(fù)"標(biāo)志包括在RREQ消息中,每個標(biāo)志對應(yīng)于一個目的地地址。當(dāng)源節(jié)點(diǎn) 希望發(fā)現(xiàn)到一個或多個目的地地址的路由時,它設(shè)置與所述一個或多個目的 地地址相對應(yīng)的一個或多個"中間答復(fù)"(IR)標(biāo)志。應(yīng)當(dāng)注意所述一個或多 個目的地節(jié)點(diǎn)地址可以是一個或多個因特網(wǎng)協(xié)議(IP)地址或者一個或多個第2 層(媒體訪問控制-MAC)地址。為了適應(yīng)網(wǎng)絡(luò)狀態(tài)的改變并且維持(maintain) 節(jié)點(diǎn)之間的最佳量度路由,每個活動的源節(jié)點(diǎn)可以任選地利用去往(for)它正 與之通信的一個或多個目的地地址的周期性RREQ消息(維持RREQ)來對無 線網(wǎng)格/自組織網(wǎng)絡(luò)進(jìn)行泛洪。不設(shè)置維持RREQ中的"IR"標(biāo)志。中間節(jié)點(diǎn) 和目的地節(jié)點(diǎn)遵循與用來在發(fā)現(xiàn)階段處理非維持RREQ的規(guī)則相同的規(guī)則來 處理該維持RREQ。
由此可見,無線網(wǎng)格/自組織網(wǎng)絡(luò)中的非維持RREQ消息和維持RREQ 消息的散布使得在中間節(jié)點(diǎn)和目的地節(jié)點(diǎn)處建立/更新到RREQ的發(fā)起者(源 節(jié)點(diǎn))的反向路由。非維持RREQ消息的散布還觸發(fā)了來自目的地節(jié)點(diǎn)的 RREP消息以及可能來自中間節(jié)點(diǎn)的RREP消息。維持RREQ消息的散布觸 發(fā)了來自目的地節(jié)點(diǎn)的RREP消.息。當(dāng)中間節(jié)點(diǎn)或目的地節(jié)點(diǎn)接收到RREQ消息時,它創(chuàng)建到源節(jié)點(diǎn)的反向 路由,或者如果RREQ消息經(jīng)過提供比當(dāng)前的到源節(jié)點(diǎn)的反向路由更好的量 度的路由/3各徑,則它更新其當(dāng)前的反向路由。應(yīng)當(dāng)注意每個節(jié)點(diǎn)可以接收 相同RREQ消息的多個副本(由相同的源節(jié)點(diǎn)發(fā)起并且具有相同的RREQ ID), 每個RREQ消息穿過從源節(jié)點(diǎn)到接收/中間/目的地節(jié)點(diǎn)的不同路徑。如果創(chuàng) 建或者修改反向路徑或者這是RREQ消息的"第一副本",則轉(zhuǎn)發(fā)(重新泛洪) 該RREQ消息。在這里使用"第一副本"來表示此RREQ消息的這一副本是 此接收/中間/源節(jié)點(diǎn)接收到或者看到由這一特定RREQ消息的發(fā)起者地址和 RREQ ID標(biāo)識的這一特定RREQ消息的第一副本或者第一次。當(dāng)中間節(jié)點(diǎn)轉(zhuǎn) 發(fā)RREQ消息時,更新該RREQ消息中的量度字段,以便反映從中間節(jié)點(diǎn)到 該RREQ的源節(jié)點(diǎn)的路由的累積量度。此外,如果設(shè)置了所接收的RREQ消 息的目的地節(jié)點(diǎn)列表中的目的地節(jié)點(diǎn)的"IR"標(biāo)志、并且中間節(jié)點(diǎn)具有到該 目的地節(jié)點(diǎn)的有效路徑,則中間節(jié)點(diǎn)以路由答復(fù)RREP消息來響應(yīng)該RRJEQ 消息。此路由答復(fù)消息在單播中被發(fā)送給源節(jié)點(diǎn),并且建立到目的地節(jié)點(diǎn)的 正向路徑。然后,源節(jié)點(diǎn)可以立即使用此路由來將數(shù)據(jù)幀/分組發(fā)送到目的地 節(jié)點(diǎn)。如果中間節(jié)點(diǎn)以用于RREQ目的地節(jié)點(diǎn)列表中的目的地節(jié)點(diǎn)的RREP 消息來響應(yīng)RREQ消息,則它在利用更新后的RREQ消息來對網(wǎng)絡(luò)重新泛洪 之前,重置/清除RREQ消息中的用于此目的地節(jié)點(diǎn)的"IR"標(biāo)志。在發(fā)送 RREP消息之后重置"IR"標(biāo)志的原因是禁止來自下游中間節(jié)點(diǎn)的任何RREP 消息。只有沿著由該泛洪的RREQ消息穿過的路由的、具有到目的地節(jié)點(diǎn)的 有效路由的第一中間節(jié)點(diǎn)以用于此目的地節(jié)點(diǎn)的RREP消息來答復(fù)。如果在 RREQ消息中用于目的地的"IR"標(biāo)志被重置/清除,則即使中間節(jié)點(diǎn)具有到目 的地節(jié)點(diǎn)的有效路由,它也不應(yīng)以RREP消息來響應(yīng)。在創(chuàng)建/建立或者更新到源節(jié)點(diǎn)的反向路由之后,目的地節(jié)點(diǎn)將單播 RREP消息發(fā)送回源節(jié)點(diǎn)。當(dāng)接收到該RREP消息時,中間節(jié)點(diǎn)創(chuàng)建到所述 一個或多個目的地節(jié)點(diǎn)的正向路由,并且還向源節(jié)點(diǎn)轉(zhuǎn)發(fā)該RREP消息。當(dāng) 源節(jié)點(diǎn)接收到該RREP消息時,它創(chuàng)建到目的地節(jié)點(diǎn)的正向路由。如果目的 地節(jié)點(diǎn)接收到具有更好的量度的另一RREQ消息,則該目的地節(jié)點(diǎn)將其到源 節(jié)點(diǎn)的路由更新為該新路由,并且還沿著更新后的路由將新RREP消息發(fā)送 回源節(jié)點(diǎn)。該新RREP消息在中間節(jié)點(diǎn)中并且最終在源節(jié)點(diǎn)中建立從源節(jié)點(diǎn) 到目的地節(jié)點(diǎn)的更好的(更新后的)正向路由。 一旦建立了此更好的正向路由,源節(jié)點(diǎn)就使用它來發(fā)送數(shù)據(jù)。最終,在源節(jié)點(diǎn)和目的地節(jié)點(diǎn)之間建立雙向的、 最佳的端到端量度路由。使用此方法,源節(jié)點(diǎn)可以快速獲得利用由具有到目的地節(jié)點(diǎn)的有效路由的中間節(jié)點(diǎn)答復(fù)的RREP消息建立的、到目的地節(jié)點(diǎn)的路由。如果這一路由不是源節(jié)點(diǎn)和目的地節(jié)點(diǎn)之間的最佳的端到端量度路由, 則隨后將該路由更新為所述最佳路由。 '現(xiàn)在參照圖2,圖2示出了利用路由請求(RREQ)消息對無線網(wǎng)格/自組織 網(wǎng)絡(luò)進(jìn)行泛洪、以及具有到目的地節(jié)點(diǎn)E的有效路由的中間節(jié)點(diǎn)B利用RREP 消息來響應(yīng)該RREQ消息。考慮源節(jié)點(diǎn)A試圖發(fā)現(xiàn)到目的地節(jié)點(diǎn)E的路由的 示例。源節(jié)點(diǎn)A在無線網(wǎng)格/自組織網(wǎng)絡(luò)中泛洪設(shè)置了 "IR"標(biāo)志的路由請求 (RREQ)消息。假設(shè)中間節(jié)點(diǎn)B已經(jīng)具有到目的地節(jié)點(diǎn)E的有效路由B-C-D-E。 當(dāng)中間節(jié)點(diǎn)B接收到RREQ時,它創(chuàng)建到它從中接收所述RREQ的、作為反 向路由/路徑的下一跳(源節(jié)點(diǎn)A)的源節(jié)點(diǎn)的反向路由。中間節(jié)點(diǎn)B以單播 RREP響應(yīng)該RREQ,這是因?yàn)樗哂械侥康牡谽的有效路由并且設(shè)置了 RREQ中的"IR"標(biāo)志。該RREP在源節(jié)點(diǎn)A中建立到目的地節(jié)點(diǎn)E的正向 路由。源節(jié)點(diǎn)A —利用來自中間節(jié)點(diǎn)B的RREP創(chuàng)建到目的地節(jié)點(diǎn)E的路由 /路徑,源節(jié)點(diǎn)A就可以開始經(jīng)由路由A-B-C-D-E來將數(shù)據(jù)分組/幀發(fā)送到目 的地節(jié)點(diǎn)E。中間節(jié)點(diǎn)B重置RREQ消息中的"IR"標(biāo)志,并且進(jìn)一步轉(zhuǎn)發(fā) 該RREQ消息。重置"IR"標(biāo)志的原因是要將對RREQ泛洪的響應(yīng)限制為僅 僅具有到目的地節(jié)點(diǎn)的有效路徑的第一中間節(jié)點(diǎn)。下游的其它中間節(jié)點(diǎn)(例如 C和D)不需要以RREP來答復(fù)此RREQ,因?yàn)闆]有設(shè)置"IR"標(biāo)志。假設(shè)中 間節(jié)點(diǎn)F、 G和H不具有到目的地節(jié)點(diǎn)E的有效路由。當(dāng)中間節(jié)點(diǎn)F、 G和 H接收到泛洪的RREQ消息時,它們創(chuàng)建到源節(jié)點(diǎn)A的反向路由,其中所述 中間節(jié)點(diǎn)F、 G和H中的每一個從中接收到RREQ的節(jié)點(diǎn)作為該反向路由的 下一跳。然后,中間節(jié)點(diǎn)F、 G和H中的每一個進(jìn)一步轉(zhuǎn)發(fā)該RREQ消息。在此示例中,目的地節(jié)點(diǎn)E接收到此RREQ的兩個副本,每個副本穿過 不同的路徑A-B-C-D-E、 A-F-G-H-E。假設(shè)這兩個RREQ按照以下順序 A-B-C-D-E然后A陽F-F-G-E到達(dá)目的地節(jié)點(diǎn)E,則目的地節(jié)點(diǎn)E 一接收到沿 著路由/路徑A-B-C-D-E的RREQ,目的地節(jié)點(diǎn)E就首先創(chuàng)建通過中間節(jié)點(diǎn)D 到源節(jié)點(diǎn)A的路由。此時,已經(jīng)在中間節(jié)點(diǎn)B、 C和D中建立了到源節(jié)點(diǎn)A 的反向路由。目的地節(jié)點(diǎn)E沿著路由E-D-C-B-A發(fā)送RREP。該RREP恰好 刷新路由A-B-C-D-E。如果在RREQ目的地列表中存在一個或多個任何其它目的地節(jié)點(diǎn),例如節(jié)點(diǎn)I,則目的地節(jié)點(diǎn)E將它自己從目的地列表中去除,然后將該RREQ進(jìn)一步轉(zhuǎn)發(fā)(例如,繼續(xù)轉(zhuǎn)發(fā)到節(jié)點(diǎn)1)。如果在RREQ的目的地 列表中不存在一個或多個其它目的地節(jié)點(diǎn),則不轉(zhuǎn)發(fā)該RREQ?,F(xiàn)在參照圖3,圖3圖示了無線局域網(wǎng)格網(wǎng)絡(luò),該無線局域網(wǎng)格網(wǎng)絡(luò)示 出了目的地節(jié)點(diǎn)E在通過A-B-C-D-E接收到RREQ時答復(fù)RREP(l),并且在 通過A-F-G-H-E接收到RREQ之后發(fā)送新RREP ( 2 )以便建立更好的正向路 由/路徑。當(dāng)目的地節(jié)點(diǎn)E接收到沿著A-F-G-H-E到來的RREQ時,目的地 節(jié)點(diǎn)E確定此RREQ是沿著具有比臨時正向路由/路徑A-B-C-D-E更好的到A 的量度的路徑到來的。因此,目的地節(jié)點(diǎn)E將下一跳從中間節(jié)點(diǎn)D修改/更新 為中間節(jié)點(diǎn)H,并且更新所述量度。然后,目的地節(jié)點(diǎn)E將單播RREP通過 中間節(jié)點(diǎn)H發(fā)送回源節(jié)點(diǎn)A,并且如果在RREQ目的地列表中存在一個或多 個其它目的地節(jié)點(diǎn)則更新和轉(zhuǎn)發(fā)RREQ。所述RREP建立經(jīng)由中間節(jié)點(diǎn)H、 G 和F到源節(jié)點(diǎn)A的路由。當(dāng)源節(jié)點(diǎn)A接收到此RREP時,它將去往目的地節(jié) 點(diǎn)E的下一跳從中間節(jié)點(diǎn)B修改/更新為中間節(jié)點(diǎn)F。到目的地節(jié)點(diǎn)E的路由 被改變?yōu)锳-F-G-H-E?,F(xiàn)在參照圖4,圖4是用于處理RREQ消息的流程圖。當(dāng)節(jié)點(diǎn)接收到 RREQ消息時,在410,它首先創(chuàng)建/建立或者在必要時更新到該節(jié)點(diǎn)從中接 收到所述RREQ消息的前一跳的反向路由。然后,該中間節(jié)點(diǎn)/接收節(jié)點(diǎn)可以 如下創(chuàng)建或更新到該RREQ的發(fā)起者的反向路由。如果在415和420到RREQ 消息的發(fā)起者的反向路由在路由表中不存在或者無效,則創(chuàng)建或更新該反向 路由。在用于前往RREQ發(fā)起者的反向路由的路由表中的下一跳變?yōu)榍耙惶?(從中接收到所述RREQ消息的節(jié)點(diǎn))。如果存在到RREQ發(fā)起者的有效反向 路由,則在425,將RREQ消息中的源序列號與用于反向路由的路由表中的 的路由條目的序列號進(jìn)行比較。如果RREQ消息中的序列號較舊,則在445, 丟棄它并且不進(jìn)行進(jìn)一步處理。否則,如果在430新量度比路由表中的到發(fā) 起者的當(dāng)前路由的量度更好,則修改到發(fā)起者的當(dāng)前反向路由。所述新量度 被定義為RREQ消息中的量度加上在所述節(jié)點(diǎn)從中接收到該RREQ消息的節(jié) 點(diǎn)和所述節(jié)點(diǎn)自身之間的鏈路量度。如果所述新量度不比路由表?xiàng)l目中的當(dāng) 前反向路由的量度更好,但是在435 RREQ中的源序列號比用于所述反向路 由的路由表中的序列號更大(新),則在450,中間節(jié)點(diǎn)檢查所述網(wǎng)格網(wǎng)絡(luò)是否 支持滯后和最佳候選路由高速緩存的任選處理功能。如果不支持這些任選的處理功能,則在455,更新到RREQ發(fā)起者的反向路由。當(dāng)創(chuàng)建或修改反向 路由時,將用于該反向路由的路由表中的序列號設(shè)置為RREQ消息中的源序 列號,下一跳變?yōu)閺闹薪邮盏絉REQ消息的節(jié)點(diǎn),將量度設(shè)置為所述新量度, 并且將跳計(jì)數(shù)設(shè)置為比RREQ消息中的跳計(jì)數(shù)大1 。
如果在420和440創(chuàng)建或修改了到源節(jié)點(diǎn)的反向路由,或者所述RREQ 消息是新RREQ消息的第一副本(以前沒有從源看到過該RREQ ID),則在 475,執(zhí)行在此描述的RREQ轉(zhuǎn)發(fā)和RREP產(chǎn)生例程。當(dāng)節(jié)點(diǎn)執(zhí)行在此描述的 RREQ轉(zhuǎn)發(fā)和RREP產(chǎn)生例程時,可能存在其它情況。例如,在某種最佳候 選路由高速緩存方法中,在候選路由高速緩存期間,可以將RREQ消息存儲 在具有計(jì)時器的等待隊(duì)列中。當(dāng)?shù)却?duì)列計(jì)時器到時時,執(zhí)行所述RREQ轉(zhuǎn) 發(fā)和RREP產(chǎn)生例程。
源節(jié)點(diǎn)可以發(fā)送周期性的維持RREQ消息,以便刷新其活動的正向和反 向路由。源發(fā)送維持RREQ消息的每一次被稱為一個路由刷新回合。已經(jīng)具 有到源節(jié)點(diǎn)的最佳反向路由的節(jié)點(diǎn)在通過當(dāng)前的最佳量度路由接收RREQ消 息之前接收到具有更新的序列號但是具有到源節(jié)點(diǎn)的更差量度路由的RREQ 消息是有可能的。此外,在泛洪期間,沿著當(dāng)前最佳量度路由傳播的RREQ 消息的副本可能丟失。這些事件可導(dǎo)致路由波動(flapping)。為了在每個路由 刷新回合期間減小路由波動并且選擇最佳路由,可以使用 一種滯后和最佳候 選路由高速緩存機(jī)制。如果在460確定網(wǎng)格網(wǎng)絡(luò)實(shí)現(xiàn)了所述滯后和最佳候選 路由高速緩存選項(xiàng),則如果RREQ消息中的源序列號比路由表?xiàng)l目中的序列 號大(新)大于閾值的一個值,則中間節(jié)點(diǎn)更新路由表并且修改反向路由。否貝寸, 在465中,可以將該反向路由高速緩存為潛在的候選替換路由。
如果該節(jié)點(diǎn)隨后得知當(dāng)前反向路由已經(jīng)變差并且變得比候選反向路由更 差,則它能夠在相同的刷新回合中改變?yōu)橄惹暗弥暮蜻x路由。本發(fā)明描述 了 一種用于在無線網(wǎng)格網(wǎng)絡(luò)中轉(zhuǎn)發(fā)RREQ消息并且產(chǎn)生RREP消息以便發(fā)現(xiàn)
具有或不具有滯后和最佳候選/替換路由高速緩存的情況下工作。
現(xiàn)在參照圖5,圖5是示出本發(fā)明的RREQ轉(zhuǎn)發(fā)和RREP產(chǎn)生方法的流 程圖,在505,節(jié)點(diǎn)確定它是不是目的地節(jié)點(diǎn),即,該節(jié)點(diǎn)的一個或多個地 址(self_addr)是否與RREQ消息的目的地列表中的所請求的目的地地址 rr叫.dest匹配。應(yīng)當(dāng)注意節(jié)點(diǎn)自身可以具有多個地址或者它可以是其它節(jié)點(diǎn)的代理。例如,節(jié)點(diǎn)可以是接入點(diǎn),并且代表與它相關(guān)聯(lián)的繼承站(legacy station)產(chǎn)生/管理路由消息(其中它是所述站的代理)。用于此情況的功能性與 當(dāng)節(jié)點(diǎn)具有多個地址時的情形相似。可以將相關(guān)聯(lián)的站的目的地地址當(dāng)作接 入點(diǎn)的別名(alias)地址對待。如果在RREQ消息目的地列表中指定的一個 或多個地址屬于節(jié)點(diǎn)或者使用節(jié)點(diǎn)作為代理的節(jié)點(diǎn)之一,則該節(jié)點(diǎn)是目的地 節(jié)點(diǎn)。當(dāng)節(jié)點(diǎn)接收到其中目的地節(jié)點(diǎn)是由它代理的節(jié)點(diǎn)的目的地節(jié)點(diǎn)的 RREQ消息時,它應(yīng)當(dāng)處理該RREQ消息,好像目的地節(jié)點(diǎn)地址時是它自己 的地址一樣。此外,節(jié)點(diǎn)可以為RREQ消息目的地列表中的所請求的地址的 目的地節(jié)點(diǎn),或是RREQ消息目的地列表中的另一個所請求的地址的中間節(jié) 點(diǎn)。如果該節(jié)點(diǎn)的一個或多個地址與RREQ消息的目的地列表中的所請求的 目的地地址匹配,則在510,該節(jié)點(diǎn)產(chǎn)生單播RREP消息,并且將該單播RREP 消息發(fā)送到去往這些匹配的目的地地址的RREQ消息的發(fā)起者。在515,目 的地節(jié)點(diǎn)從RREQ消息目的地列表中去除其自己的/代理的一個或多個地址。 此后,如果在520在RREQ消息目的地列表中沒有剩余的所請求的地址,則 在525丟棄該RREQ消息。如果該節(jié)點(diǎn)不是RREQ消息目的地列表中的任何 請求的地址的目的地節(jié)點(diǎn)(505)或者在RREQ消息目的地列表中存在除了該節(jié) 點(diǎn)的地址以外的其它請求的目的地地址,即,該節(jié)點(diǎn)是RREQ消息目的地列 表中的一個或多個地址的中間節(jié)點(diǎn),則該節(jié)點(diǎn)如下檢查RREQ消息目的地列 表中的剩余地址。假設(shè)rreq.dest[i]代表RREQ消息目的地列表中的第(i+l)個 地址。該節(jié)點(diǎn)在545將索引(例如i)初始化,并且在550檢查rr叫.dest[i]即RREQ 消息目的地列表中的第 一地址以確定是否存在到由ircq.dest[i]代表的目的地 節(jié)點(diǎn)的活動的正向路由。如果中間節(jié)點(diǎn)具有到目的地的活動路由、到目的地 節(jié)點(diǎn)的路由是有效的(555)、所述序列號至少與在原RREQ消息中指示的序列 號一樣大(560)并且設(shè)置了 "中間答復(fù)(IR)"標(biāo)志(570),則在575,中間節(jié)點(diǎn) 產(chǎn)生用于這一請求的目的地地址的RREP消息,并且將所產(chǎn)生的RREP消息 沿著當(dāng)前反向路由而在單播中發(fā)送到RREQ消息的發(fā)起者。在580,重置 RREQ消息中的用于這一請求的目的地的"IR"標(biāo)志。在590,該節(jié)點(diǎn)增大所 述索引(例如,增大l)并且檢查在RREQ消息目的地列表中是否存在任何其它 地址。如果在RREQ消息目的地列表中存在任何其它地址,則在550,上述 循環(huán)的執(zhí)行重復(fù)開始。也就是說,如果需要為下一個請求的目的地發(fā)送RREP消息,則重復(fù)所述循環(huán)。重復(fù)所述循環(huán),直到檢查了 RREQ消息目的地列表 中的所有地址為止。
在530,檢查原來的輸入的RREQ消息,以確定使用期限(TTL)值是否大 于1。如果TTL值大于1,則在535更新原RREQ消息中的信息,包括將輸 出的RREQ消息中的TTL值減小例如1。在535,還將源序列號、量度和跳 計(jì)數(shù)設(shè)置為用于所述源的更新后的路由條目中的對應(yīng)信息。在540,轉(zhuǎn)發(fā)更 新后的RREQ消息。
注意目的地節(jié)點(diǎn)可以擁有/代理一個或多個地址,中間節(jié)點(diǎn)可以具有到 一個或多個目的地地址的一個或多個有效路由。RREQ消息可以在其目的地 地址列表中攜帶一個或多個目的地地址。處理/中間/目的地節(jié)點(diǎn)可以滿足以上 條件,并且發(fā)送用于RREQ消息目的地列表中的多個所請求的地址的RREP 消息。如果節(jié)點(diǎn)發(fā)送用于多個目的地的RREP消息,則它可以發(fā)送多個RREP 消息,每個目的地一個RREP消息,或者它可以發(fā)送在地址列表中具有多個 目的地地址的單個聚合的RREP消息。
圖6是圖示本發(fā)明的節(jié)點(diǎn)600的細(xì)節(jié)的框圖。該節(jié)點(diǎn)包括鏈路質(zhì)量和負(fù) 荷測量模塊605、路由量度計(jì)算模塊610、路由選擇模塊615和通信模塊620。 鏈路質(zhì)量和負(fù)荷測量模塊605測量到其每個鄰居的鏈路/信道的質(zhì)量和負(fù)荷。 它將該測量結(jié)果提供給路由量度計(jì)算模塊610,使得路由量度計(jì)算模塊610 可以確定到其每個鄰居的鏈路成本/度量。注意節(jié)點(diǎn)可以具有多個鄰居、多 個無線電接口、以及多個物理/邏輯信道/鏈路。它們?nèi)啃枰粶y量。每個節(jié) 點(diǎn)的路由量度計(jì)算模塊610使用鏈路質(zhì)量和負(fù)荷測量模塊進(jìn)行的測量以及其 它信息來計(jì)算它與之通信的每個節(jié)點(diǎn)的路由量度。該路由量度被周期性地更 新。路由選擇模塊615基于所計(jì)算的路由量度來確定/選擇用于將數(shù)據(jù)轉(zhuǎn)發(fā)/ 傳送到目的地節(jié)點(diǎn)的路由/路徑。路由選擇模塊615經(jīng)由通信模塊620而與網(wǎng) 格網(wǎng)絡(luò)中的其它節(jié)點(diǎn)交換路由控制消息和數(shù)據(jù)。應(yīng)當(dāng)注意節(jié)點(diǎn)可以具有一 個或多個無線電通信接口和其它通信接口。應(yīng)當(dāng)理解路由選擇模塊實(shí)際上 可以由若千更小的單元組成或者可以與在此描述的其它模塊組合。還應(yīng)當(dāng)理 解在這里(尤其是針對圖3和圖4)描述的處理可以是在路由選擇模塊中或者 由路由選擇模塊執(zhí)行的軟件、硬件、固件或者它們的任何組合。
應(yīng)當(dāng)理解可以以硬件、軟件、固件、專用處理器或者它們的組合的各 種形式,例如在移動終端、接入點(diǎn)或者蜂窩網(wǎng)絡(luò)中實(shí)現(xiàn)本發(fā)明。優(yōu)選地,作為硬件和軟件的組合來實(shí)現(xiàn)本發(fā)明。此外,優(yōu)選地作為被有形地包含在程序 存儲設(shè)備上的應(yīng)用程序來實(shí)現(xiàn)所述軟件。所述應(yīng)用程序可被上載到包括任何 適當(dāng)架構(gòu)的機(jī)器并且由其執(zhí)行。優(yōu)選地,可以在具有諸如一個或多個中央處
理單元(CPU)、隨機(jī)存取存儲器(RAM)、和一個或多個輸入/輸出(I/0)接口的 硬件的計(jì)算機(jī)平臺上實(shí)現(xiàn)所述機(jī)器。該計(jì)算機(jī)平臺還包括操作系統(tǒng)和微指令 代碼。在這里描述的各種處理和功能可以是經(jīng)由操作系統(tǒng)執(zhí)行的所述微指令 代碼的一部分或者所述應(yīng)用程序的一部分(或者它們的組合)。此外,各種其它 外圍設(shè)備可以連接到所述計(jì)算機(jī)平臺,例如額外的數(shù)據(jù)存儲設(shè)備和打印設(shè)備。 還應(yīng)當(dāng)理解因?yàn)樵诟綀D中示出的組成系統(tǒng)組件和方法步驟中的 一些優(yōu) 選地用軟件來實(shí)現(xiàn),所以這些系統(tǒng)組件(或處理步驟)之間的實(shí)際連接可能根據(jù) 本發(fā)明被編排的方式而不同。給出這里的教導(dǎo)之后,本領(lǐng)域普通技術(shù)人員將 能夠想到本發(fā)明的這些和類似的實(shí)現(xiàn)或配置。
權(quán)利要求
1. 一種用于在無線網(wǎng)絡(luò)中發(fā)現(xiàn)源節(jié)點(diǎn)和目的地節(jié)點(diǎn)之間路由的方法,所述方法包括由所述源節(jié)點(diǎn)設(shè)置路由請求消息的中間答復(fù)標(biāo)志;利用所述路由請求消息來對所述無線網(wǎng)絡(luò)進(jìn)行泛洪;以及由具有到所述目的地節(jié)點(diǎn)的有效路由的第一中間節(jié)點(diǎn)以路由答復(fù)消息來響應(yīng)所述路由請求消息。
2. 如權(quán)利要求l所述的方法,還包括 更新所述路由請求消息;以及利用所述路由請求消息來對所述無線網(wǎng)絡(luò)進(jìn)行重新泛洪。
3. 如權(quán)利要求2所述的方法,其中,所述響應(yīng)動作由此建立所述無線網(wǎng) 絡(luò)的所述源節(jié)點(diǎn)和所述目的地節(jié)點(diǎn)之間的臨時正向路由。
4. 如權(quán)利要求2所述的方法,其中,所述更新動作還包括清除所述中 間答復(fù)標(biāo)志,并且利用所述源節(jié)點(diǎn)和所述中間節(jié)點(diǎn)之間的所述路由的累積量 度來更新所述路由請求消息中的量度。
5. 如權(quán)利要求l所述的方法,其中,所述無線網(wǎng)絡(luò)是無線網(wǎng)格網(wǎng)絡(luò)。
6. 如權(quán)利要求l所述的方法,其中,所述響應(yīng)動作的所述路由答復(fù)消息 被單播到所述源節(jié)點(diǎn)。
7. 如權(quán)利要求l所述的方法,其中,所述目的地節(jié)點(diǎn)的地址是因特網(wǎng)協(xié) 議地址和+某體訪問控制地址之一 。
8. 如權(quán)利要求l所述的方法,其中,所述目的地節(jié)點(diǎn)包括與代理和接入 點(diǎn)之一相關(guān)聯(lián)的目的地節(jié)點(diǎn)。
9. 如權(quán)利要求l所述的方法,還包括利用維持路由請求消息來對所述 無線網(wǎng)絡(luò)進(jìn)行泛洪,以便維持節(jié)點(diǎn)之間的最佳量度路由并且適應(yīng)網(wǎng)絡(luò)狀態(tài)的 改變。
10. 如權(quán)利要求9所迷的方法,還包括響應(yīng)所述維持路由請求消息, 好像它是所述路由請求消息 一樣。
11. 如權(quán)利要求3所述的方法,其中,所述臨時正向路由可用于在所述 源節(jié)點(diǎn)接收到所述路由答復(fù)消息時傳送數(shù)據(jù)分組/幀。
12. 如權(quán)利要求2所述的方法,其中,所述路由是最佳路由,并且其中,所述路由答復(fù)消息是第 一路由答復(fù)消息。
13. 如權(quán)利要求12所述的方法,還包括由所述目的地節(jié)點(diǎn)基于在由所述目的地節(jié)點(diǎn)接收的路由請求消息中接收 的累積量度來選擇在它自己和所述源節(jié)點(diǎn)之間的所述最佳路由; 創(chuàng)建另一路由答復(fù)消息;以及 將所述另 一路由答復(fù)消息單播到所述源節(jié)點(diǎn)。
14. 如權(quán)利要求13所述的方法,其中,當(dāng)所述源節(jié)點(diǎn)接收到所述另一路 由答復(fù)消息時,如果所述臨時正向路由是所述最佳路由,則所述另一路由答 復(fù)消息充當(dāng)確認(rèn),而如果所述臨時正向路由不是所述最佳路由,則所述另一 路由答復(fù)消息用來建立所述最佳路由。
15. —種用于在無線網(wǎng)絡(luò)中發(fā)現(xiàn)源節(jié)點(diǎn)和目的地節(jié)點(diǎn)之間路由的系統(tǒng),包括用于由所述源節(jié)點(diǎn)設(shè)置路由請求消息的中間答復(fù)標(biāo)志的部件; 用于利用所述路由請求消息來對所述無線網(wǎng)絡(luò)進(jìn)行泛洪的部件;以及 用于由具有到所述目的地節(jié)點(diǎn)的有效路由的第一中間節(jié)點(diǎn)以路由答復(fù)消 息來響應(yīng)所述路由請求消息的部件。
16. 如權(quán)利要求15所述的系統(tǒng),還包括 用于更新所述路由請求消息的部件;以及用于利用所述路由請求消息來對所述無線網(wǎng)絡(luò)進(jìn)行重新泛洪的部件。
17. 如權(quán)利要求15所述的系統(tǒng),其中,所述用于響應(yīng)的部件由此建立所 述無線網(wǎng)絡(luò)的所述源節(jié)點(diǎn)和所述目的地節(jié)點(diǎn)之間的臨時正向路由。
18. 如權(quán)利要求16所述的系統(tǒng),其中,所述用于更新的部件還包括用 于清除所述中間答復(fù)標(biāo)志的部件、以及利用所述源節(jié)點(diǎn)和所述中間節(jié)點(diǎn)之間 的所述路由的累積量度來更新所述路由請求消息中的量度的部件。
19. 如權(quán)利要求15所述的系統(tǒng),其中,所述無線網(wǎng)絡(luò)是無線網(wǎng)格網(wǎng)絡(luò)。
20. 如權(quán)利要求15所述的系統(tǒng),其中,所述用于響應(yīng)的部件的所述路由 答復(fù)消息被單播到所述源節(jié)點(diǎn)。
21. 如權(quán)利要求15所述的系統(tǒng),其中,所述目的地節(jié)點(diǎn)的地址是因特網(wǎng) 協(xié)議地址和媒體訪問控制地址之一 。
22. 如權(quán)利要求15所述的系統(tǒng),其中,所述目的地節(jié)點(diǎn)包括與代理和接 入點(diǎn)之一相關(guān)聯(lián)的目的地節(jié)點(diǎn)。
23. 如權(quán)利要求15所述的系統(tǒng),還包括用于利用維持路由請求消息來對所述無線網(wǎng)絡(luò)進(jìn)行泛洪以便維持節(jié)點(diǎn)之間的最佳量度路由并且適應(yīng)網(wǎng)絡(luò)狀 態(tài)的改變的部件。
24. 如權(quán)利要求23所述的系統(tǒng),還包括用于響應(yīng)所述維持路由請求消 息、好像它是所述路由請求消息一樣的部件。
25. 如權(quán)利要求16所述的系統(tǒng),其中,所述臨時正向路由可用于在所述 源節(jié)點(diǎn)接收到所述路由答復(fù)消息時傳送數(shù)據(jù)分組/幀。
26. 如權(quán)利要求16所述的系統(tǒng),其中,所述路由是最佳路由,并且其中, 所述路由答復(fù)消息是第一路由答復(fù)消息。
27. 如權(quán)利要求26所述的系統(tǒng),還包括用于由所述目的地節(jié)點(diǎn)基于在由所述目的地節(jié)點(diǎn)接收的路由請求消息中 接收的累積量度來選擇在它自己和所述源節(jié)點(diǎn)之間的所述最佳路由的部件; 用于創(chuàng)建另一路由答復(fù)消息的部件;以及 用于將所述另 一路由答復(fù)消息單播到所述源節(jié)點(diǎn)的部件。
28. 如權(quán)利要求27所述的系統(tǒng),其中,當(dāng)所述源節(jié)點(diǎn)接收到所述另一路 由答復(fù)消息時,如果所述臨時正向路由是所述最佳路由,則所述另一路由答 復(fù)消息充當(dāng)確認(rèn),而如果所述臨時正向路由不是所述最佳路由,則所述另一 路由答復(fù)消息用來建立所述最佳路由。
全文摘要
描述了一種用于在無線網(wǎng)絡(luò)中發(fā)現(xiàn)源節(jié)點(diǎn)和目的地節(jié)點(diǎn)之間路由的系統(tǒng)和方法,包括由所述源節(jié)點(diǎn)設(shè)置路由請求消息的中間答復(fù)標(biāo)志;利用所述路由請求消息來對所述無線網(wǎng)絡(luò)進(jìn)行泛洪;以及由具有到所述目的地節(jié)點(diǎn)的有效路由的第一中間節(jié)點(diǎn)以路由答復(fù)消息來響應(yīng)所述路由請求消息。還描述了一種用于在路由答復(fù)消息變?yōu)榈谝宦酚纱饛?fù)消息的情況下發(fā)現(xiàn)最佳路由的系統(tǒng)和方法。所述用于發(fā)現(xiàn)最佳路由的系統(tǒng)和方法包括由目的地基于在由該目的地節(jié)點(diǎn)接收的路由請求消息中接收的累積量度來選擇在它自己和源節(jié)點(diǎn)之間的最佳路由,創(chuàng)建另一路由答復(fù)消息,并且將所述另一路由答復(fù)消息單播給所述源節(jié)點(diǎn)。
文檔編號H04L12/56GK101305559SQ200580052021
公開日2008年11月12日 申請日期2005年11月9日 優(yōu)先權(quán)日2005年11月9日
發(fā)明者航 劉 申請人:湯姆森特許公司