專(zhuān)利名稱(chēng)::大規(guī)模動(dòng)態(tài)異構(gòu)混合無(wú)線自組織網(wǎng)絡(luò)中的接入及路由計(jì)算方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種用于無(wú)線自組織網(wǎng)絡(luò)與基礎(chǔ)設(shè)施網(wǎng)絡(luò)相結(jié)合的混合式網(wǎng)絡(luò)的接入方法及其路由計(jì)算方法,屬于無(wú)線自組織網(wǎng)絡(luò)路由
技術(shù)領(lǐng)域:
。
背景技術(shù):
:無(wú)線自組織網(wǎng)絡(luò)(WirelessAd-hocNetwork,也稱(chēng)Ad-hoc網(wǎng)絡(luò))是以無(wú)線通信為基礎(chǔ)的新興網(wǎng)絡(luò)技術(shù),具有多跳路由、自組織、可快速部署等特點(diǎn)。這種網(wǎng)絡(luò)是由帶有無(wú)線收發(fā)設(shè)備的節(jié)點(diǎn)組成的多跳、自治系統(tǒng),移動(dòng)節(jié)點(diǎn)同時(shí)具有路由功能。當(dāng)源節(jié)點(diǎn)與目的節(jié)點(diǎn)之間的距離超出彼此信號(hào)的覆蓋范圍時(shí),節(jié)點(diǎn)采用自組織的方式,根據(jù)路由策略和路由表參與分組轉(zhuǎn)發(fā)和路由維護(hù)工作,即多跳路由。近年來(lái),由于其不依賴(lài)于網(wǎng)絡(luò)基礎(chǔ)設(shè)施、易于建網(wǎng)、便于擴(kuò)充、可移動(dòng)、生存性強(qiáng),因而無(wú)線自組織網(wǎng)絡(luò)的研究成為計(jì)算機(jī)網(wǎng)絡(luò)研究的熱點(diǎn)問(wèn)題。但由于受到無(wú)線自組織網(wǎng)絡(luò)現(xiàn)行路由協(xié)議和組織結(jié)構(gòu)的限制,使得其本身無(wú)法構(gòu)建大規(guī)模的網(wǎng)絡(luò)結(jié)構(gòu)。在無(wú)線自組織網(wǎng)絡(luò)中,輔助以有線網(wǎng)、衛(wèi)星網(wǎng)絡(luò)等基礎(chǔ)設(shè)施網(wǎng)絡(luò),無(wú)線自組織網(wǎng)絡(luò)中的節(jié)點(diǎn)不僅可以訪問(wèn)基礎(chǔ)設(shè)施網(wǎng)絡(luò),而且可以通過(guò)基礎(chǔ)設(shè)施網(wǎng)絡(luò)進(jìn)行移動(dòng)節(jié)點(diǎn)之間的通信。只需要建立每個(gè)移動(dòng)節(jié)點(diǎn)到接入基礎(chǔ)設(shè)施網(wǎng)絡(luò)的"關(guān)聯(lián)節(jié)點(diǎn)"的映射關(guān)聯(lián)關(guān)系,即可通過(guò)基礎(chǔ)設(shè)施網(wǎng)絡(luò)轉(zhuǎn)發(fā)移動(dòng)節(jié)點(diǎn)之間的通信報(bào)文。但在現(xiàn)有的接入方式中,移動(dòng)節(jié)點(diǎn)需要根據(jù)接入位置不停地變換自己的地址,使得移動(dòng)節(jié)點(diǎn)通信在接入切換時(shí)不得不中斷。本發(fā)明使用平面地址來(lái)解決網(wǎng)絡(luò)中節(jié)點(diǎn)IP地址切換問(wèn)題,但是要使得所有關(guān)聯(lián)關(guān)系通告到所有關(guān)聯(lián)節(jié)點(diǎn),需要將所有關(guān)聯(lián)關(guān)系信息廣播到全網(wǎng)。因此存在的問(wèn)題有,廣播需要路由器的支持,會(huì)增加設(shè)備的開(kāi)支,不能完全利用已有的現(xiàn)有基礎(chǔ)設(shè)施網(wǎng)絡(luò)結(jié)構(gòu);同時(shí),隨著這種混合網(wǎng)絡(luò)規(guī)模的擴(kuò)大,廣播的開(kāi)銷(xiāo)也是巨大的。
發(fā)明內(nèi)容本發(fā)明的發(fā)明目的是解決混合網(wǎng)絡(luò)規(guī)模增大帶來(lái)的路由開(kāi)銷(xiāo)增大的問(wèn)題。本發(fā)明中引入節(jié)點(diǎn)角色的概念,將網(wǎng)絡(luò)中存在的節(jié)點(diǎn)分為不同的角色一種稱(chēng)為"移動(dòng)節(jié)點(diǎn)",它們是移動(dòng)自組織網(wǎng)絡(luò)中進(jìn)行自組織無(wú)線通信的節(jié)點(diǎn),可以通過(guò)連接周?chē)?關(guān)聯(lián)節(jié)點(diǎn)"接入到基礎(chǔ)設(shè)施網(wǎng)絡(luò);一種稱(chēng)為"關(guān)聯(lián)節(jié)點(diǎn)",它們一方面擁有可以與周?chē)囊苿?dòng)自組織網(wǎng)絡(luò)節(jié)點(diǎn)通信的無(wú)線網(wǎng)絡(luò)接口,一方面可以通過(guò)衛(wèi)星鏈路、移動(dòng)基站、雙絞線等基礎(chǔ)設(shè)施鏈路接入到基礎(chǔ)設(shè)施網(wǎng)絡(luò),是無(wú)線網(wǎng)絡(luò)與基礎(chǔ)設(shè)施網(wǎng)絡(luò)連接的接入點(diǎn),同時(shí),它們由于移動(dòng)離開(kāi)原來(lái)的接入位置而無(wú)法接入到基礎(chǔ)設(shè)施網(wǎng)絡(luò)時(shí),就會(huì)改變角色,變?yōu)槠胀ǖ?移動(dòng)節(jié)點(diǎn)"。本發(fā)明采用的技術(shù)方案為在混合無(wú)線自組織網(wǎng)絡(luò)中,通過(guò)使用所有關(guān)聯(lián)節(jié)點(diǎn)維護(hù)的分布式哈希表結(jié)構(gòu),在移動(dòng)節(jié)點(diǎn)之間進(jìn)行連接到不同關(guān)聯(lián)節(jié)點(diǎn)的的尋徑,將移動(dòng)節(jié)點(diǎn)的IP地址看作待查詢(xún)的關(guān)鍵字,將其連接的關(guān)聯(lián)節(jié)點(diǎn)的IP地址看作是對(duì)應(yīng)于某關(guān)鍵字的值。通過(guò)結(jié)構(gòu)化P2P資源定位的思想,接入混合網(wǎng)絡(luò)的節(jié)點(diǎn)共同維護(hù)整個(gè)映射關(guān)系表,每個(gè)節(jié)點(diǎn)只需維護(hù)少量信息,節(jié)點(diǎn)經(jīng)過(guò)有限次查找即可獲取需要的尋徑信息。該方法提出了新的混合網(wǎng)絡(luò)接入方式,可以提高通信吞吐量,降低通信時(shí)延;該方法重點(diǎn)考慮了系統(tǒng)的可擴(kuò)展性和負(fù)載能力,為萬(wàn)級(jí)、十萬(wàn)級(jí)節(jié)點(diǎn)網(wǎng)絡(luò)的尋徑開(kāi)銷(xiāo)給予了有效控制,為其可靠運(yùn)行提供了有效保證。本系統(tǒng)所涉及的技術(shù)結(jié)構(gòu)簡(jiǎn)單,易于擴(kuò)展,可靠性強(qiáng)。本發(fā)明的有益效果是1、平面地址使得移動(dòng)節(jié)點(diǎn)在不同接入節(jié)點(diǎn)之間切換時(shí)不需要變更其IP地址,使得IP地址成為其在混合網(wǎng)絡(luò)中的唯一標(biāo)識(shí)。2、可以將無(wú)線自組織網(wǎng)絡(luò)中的節(jié)點(diǎn)以即插即用的方式接入到基礎(chǔ)設(shè)施網(wǎng)絡(luò)中,實(shí)現(xiàn)了一種方便有效的大規(guī)模無(wú)線自組織網(wǎng)絡(luò)與基礎(chǔ)設(shè)施網(wǎng)絡(luò)的互聯(lián)。3、實(shí)現(xiàn)了快速定位目標(biāo)移動(dòng)節(jié)點(diǎn)所連接的關(guān)聯(lián)節(jié)點(diǎn),從而在路由到目標(biāo)移動(dòng)節(jié)點(diǎn)時(shí),可以將計(jì)算到目標(biāo)移動(dòng)節(jié)點(diǎn)路由的問(wèn)題轉(zhuǎn)換為査找目標(biāo)節(jié)點(diǎn)所連接的關(guān)聯(lián)節(jié)點(diǎn)的問(wèn)題。本發(fā)明利用分布式哈希表結(jié)構(gòu),每個(gè)關(guān)聯(lián)節(jié)點(diǎn)可以保存O(logn)個(gè)其它關(guān)聯(lián)節(jié)點(diǎn)的信息,并且可以在O(logn)的時(shí)間內(nèi)査找到所需的信息。圖1是混合網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖2是混合網(wǎng)絡(luò)上的通信過(guò)程;圖3是消息轉(zhuǎn)發(fā)邏輯圖4是關(guān)聯(lián)節(jié)點(diǎn)結(jié)構(gòu)的維護(hù);圖5是路由表的查找過(guò)程流程圖6是消息轉(zhuǎn)發(fā)流程圖7是消息路由報(bào)文封裝示意圖8是移動(dòng)節(jié)點(diǎn)受限按需路由協(xié)議流程圖9是應(yīng)用場(chǎng)景實(shí)例及涉及的數(shù)據(jù)結(jié)構(gòu)圖。具體實(shí)施例方式下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)的描述如圖1所示,圖中下方圈出的移動(dòng)節(jié)點(diǎn)通過(guò)多跳連接而構(gòu)成無(wú)線自組織網(wǎng)絡(luò),其中標(biāo)識(shí)為ANX(X為數(shù)字)的節(jié)點(diǎn)是可以連接到基礎(chǔ)設(shè)施網(wǎng)絡(luò)的,稱(chēng)為關(guān)聯(lián)節(jié)點(diǎn),標(biāo)識(shí)為腦X的節(jié)點(diǎn)是移動(dòng)節(jié)點(diǎn),我們稱(chēng)這種拓?fù)浣Y(jié)構(gòu)的混合網(wǎng)絡(luò)為混合無(wú)線自組織網(wǎng)絡(luò)。通過(guò)將這種混合無(wú)線自組織網(wǎng)絡(luò)接入基礎(chǔ)設(shè)施網(wǎng)絡(luò),可以完成擴(kuò)大Adhoc網(wǎng)絡(luò)規(guī)模、提高通信質(zhì)量的設(shè)想。本發(fā)明在原有Adhoc網(wǎng)絡(luò)的基礎(chǔ)上,引入一類(lèi)新的關(guān)聯(lián)節(jié)點(diǎn)(由于其接入基礎(chǔ)設(shè)施網(wǎng)絡(luò)的特點(diǎn),也成為"接入節(jié)點(diǎn)"),用于連接無(wú)線自組織網(wǎng)絡(luò)與基礎(chǔ)設(shè)施網(wǎng)絡(luò)。圖2表示了兩種通信方式,圖示兩個(gè)移動(dòng)節(jié)點(diǎn)之間的通信既可以通過(guò)黑色實(shí)線箭頭的無(wú)線鏈路一個(gè)接一個(gè)的轉(zhuǎn)發(fā)數(shù)據(jù),也可以經(jīng)虛線箭頭通過(guò)關(guān)聯(lián)節(jié)點(diǎn)接入基礎(chǔ)設(shè)施網(wǎng)絡(luò)實(shí)現(xiàn)通信,而基礎(chǔ)設(shè)施網(wǎng)絡(luò)的穩(wěn)定性和高帶寬可以帶來(lái)更好的通信吞吐量和更低的通信時(shí)延。對(duì)于網(wǎng)絡(luò)結(jié)構(gòu)的組織,所有移動(dòng)節(jié)點(diǎn)被賦予網(wǎng)絡(luò)中唯一固定的IP地址作為標(biāo)識(shí),且移動(dòng)節(jié)點(diǎn)的IP地址不因?yàn)槠渫負(fù)浣Y(jié)構(gòu)的改變而改變。節(jié)點(diǎn)移動(dòng)時(shí)會(huì)使得其連接的關(guān)聯(lián)節(jié)點(diǎn)也隨之發(fā)生改變,從而引起網(wǎng)絡(luò)路由的改變,這就需要提供一種合適的消息路由機(jī)制。按照常規(guī)的方法,當(dāng)節(jié)點(diǎn)的IP地址固定時(shí),為維護(hù)節(jié)點(diǎn)的路由信息,網(wǎng)絡(luò)中的各個(gè)節(jié)點(diǎn)需要維護(hù)到所有節(jié)點(diǎn)的路由表項(xiàng),這時(shí)可以通過(guò)廣播的方式完成節(jié)點(diǎn)之間路由信息的交換。但是隨著網(wǎng)絡(luò)規(guī)模的擴(kuò)大,維護(hù)和消息交換的開(kāi)銷(xiāo)太大,因此本發(fā)明引入結(jié)構(gòu)化P2P網(wǎng)絡(luò)的查詢(xún)方法,將維護(hù)網(wǎng)絡(luò)路由信息的問(wèn)題抽象為在網(wǎng)絡(luò)中進(jìn)行資源査找的問(wèn)題,艮P:將移動(dòng)節(jié)點(diǎn)固定的IP地址看作是待査詢(xún)的資源的關(guān)鍵字(key),將其連接的關(guān)聯(lián)節(jié)點(diǎn)的IP地址信息作為待査詢(xún)的資源(value),從而把路由計(jì)算的過(guò)程抽象為P2P網(wǎng)絡(luò)中資源定位的過(guò)程。這樣就利用了結(jié)構(gòu)化P2P網(wǎng)絡(luò)分布式哈希表的存儲(chǔ)結(jié)構(gòu)和較小的查找及維護(hù)開(kāi)銷(xiāo)的特點(diǎn),達(dá)到完成大規(guī)?;旌蠠o(wú)線自組織網(wǎng)絡(luò)中路由計(jì)算的目的。圖3描述了源移動(dòng)節(jié)點(diǎn)M和目的移動(dòng)節(jié)點(diǎn)N通過(guò)基礎(chǔ)設(shè)施網(wǎng)絡(luò)通信的過(guò)程,圖中粗線箭頭為報(bào)文轉(zhuǎn)發(fā)路徑,細(xì)線箭頭為路由查詢(xún)路徑。首先移動(dòng)節(jié)點(diǎn)M發(fā)送數(shù)據(jù)給它的關(guān)聯(lián)節(jié)點(diǎn)A,A節(jié)點(diǎn)在A、B、C等關(guān)聯(lián)節(jié)點(diǎn)集合所構(gòu)成的分布式結(jié)構(gòu)中査找目的移動(dòng)節(jié)點(diǎn)N所關(guān)聯(lián)的關(guān)聯(lián)節(jié)點(diǎn)的信息,通過(guò)使用P2P網(wǎng)絡(luò)中的資源定位方法,可以從C節(jié)點(diǎn)處獲得N的關(guān)聯(lián)節(jié)點(diǎn)為B節(jié)點(diǎn),于是A節(jié)點(diǎn)將數(shù)據(jù)經(jīng)過(guò)基礎(chǔ)設(shè)施網(wǎng)絡(luò)轉(zhuǎn)發(fā)給B,B收到數(shù)據(jù)后再將數(shù)據(jù)通過(guò)無(wú)線鏈路轉(zhuǎn)發(fā)送給N,從而完成移動(dòng)節(jié)點(diǎn)M、N通過(guò)基礎(chǔ)設(shè)施網(wǎng)絡(luò)的通信。下面具體講述此過(guò)程中路由信息的查詢(xún)過(guò)程。如圖4所示,在路由信息的存儲(chǔ)、維護(hù)以及查詢(xún)過(guò)程中,本發(fā)明以Chord環(huán)狀結(jié)構(gòu)作為示例,具體說(shuō)明其路由査詢(xún)的方法。本發(fā)明重點(diǎn)考慮在上述關(guān)聯(lián)節(jié)點(diǎn)的邏輯結(jié)構(gòu)以及路由查詢(xún)與消息轉(zhuǎn)發(fā)方法。首先將各關(guān)聯(lián)節(jié)點(diǎn)按其標(biāo)識(shí)的大小順序順時(shí)針加入chord環(huán),Chord環(huán)結(jié)構(gòu)中的所有關(guān)聯(lián)節(jié)點(diǎn)組織成圖4所示的邏輯環(huán)結(jié)構(gòu)。本發(fā)明中路由表的建立過(guò)程如下,關(guān)聯(lián)節(jié)點(diǎn)計(jì)算與其連接的移動(dòng)節(jié)點(diǎn)的IP地址散列后的ID值,將其作為移動(dòng)節(jié)點(diǎn)的標(biāo)識(shí),此時(shí)關(guān)聯(lián)節(jié)點(diǎn)需要將移動(dòng)節(jié)點(diǎn)的IP地址與自身IP地址的映射關(guān)系發(fā)布到圖4所示的邏輯結(jié)構(gòu)中,圖中每個(gè)關(guān)聯(lián)節(jié)點(diǎn)維護(hù)一個(gè)m個(gè)選項(xiàng)的表,稱(chēng)作指針表fingertable,m是根據(jù)實(shí)際的需求,給定一個(gè)大于等于節(jié)點(diǎn)數(shù)取以10為底的對(duì)數(shù)底值。Fingertable的維護(hù)規(guī)則為,其第i個(gè)入口表示當(dāng)前節(jié)點(diǎn)Successor(id+21)求得的節(jié)點(diǎn)的信息。定義Successor(key)為關(guān)鍵值key的"后繼節(jié)點(diǎn)",即第一個(gè)散列值大于等于key(此處是指移動(dòng)節(jié)點(diǎn)的IP地址的散列值)的關(guān)聯(lián)節(jié)點(diǎn),形式定義如下7n^"a欲w"Mmef={wocfe|ocfeeWre/e^wiVofifeSef&nodeeZ/awMjtfeiS1"}Successor(—)={wocfeI("ocfe&"ode')sSwcciVoafe5W(—)&//a我wocfe)S//a我woflfe')}其中第一個(gè)定義式表示關(guān)聯(lián)節(jié)點(diǎn)集的定義,即所有既有無(wú)線通信接口與移動(dòng)節(jié)點(diǎn)通信又能接入到基礎(chǔ)設(shè)施網(wǎng)絡(luò)的節(jié)點(diǎn);第二個(gè)定義式表示關(guān)鍵字key的后繼節(jié)點(diǎn)集的定義,即是所有關(guān)聯(lián)節(jié)點(diǎn)集中節(jié)點(diǎn)散列值大于等于key的散列值的節(jié)點(diǎn)集合;第三個(gè)定義式指key的后繼Successor(key)的含義為在所有關(guān)鍵字key后繼節(jié)點(diǎn)集中第一個(gè)id大于等于key值的接入節(jié)點(diǎn)。圖4中A8節(jié)點(diǎn)表示ip地址散列值為8的關(guān)聯(lián)節(jié)點(diǎn),A8節(jié)點(diǎn)右側(cè)的表格即為A8節(jié)點(diǎn)維護(hù)的fingertable,其中包含常數(shù)項(xiàng)表項(xiàng),此處使用6個(gè)表項(xiàng)為例。每個(gè)表項(xiàng)中有兩個(gè)值,第一個(gè)值為入口關(guān)聯(lián)節(jié)點(diǎn)的編號(hào),稱(chēng)為start值,是如下公式所示的值,若給每個(gè)表項(xiàng)定義一個(gè)行號(hào)l,2,…,則第i行表項(xiàng)的start值為Start[i]=Hash(node,ip)+21—1,即節(jié)點(diǎn)ip地址的散列值加上2的i-1次方;每行表項(xiàng)中的第二個(gè)值為待查詢(xún)關(guān)聯(lián)節(jié)點(diǎn)的編號(hào),為節(jié)點(diǎn)標(biāo)識(shí)大于等于Start[i]值的第一個(gè)關(guān)聯(lián)節(jié)點(diǎn)的編號(hào)。例如圖中有Al、A8、A15、A23、A33…等編號(hào)的節(jié)點(diǎn),A8節(jié)點(diǎn)的fingertable中,第1行第1項(xiàng)的值start[l]為8+2=9,我們加上關(guān)聯(lián)節(jié)點(diǎn)的標(biāo)識(shí)A記做A9,而所有網(wǎng)絡(luò)中存在的節(jié)點(diǎn)中,A15是第一個(gè)大于等于A9的節(jié)點(diǎn),所以第1行第2項(xiàng)的值為A15,以此類(lèi)推。每個(gè)關(guān)聯(lián)節(jié)點(diǎn)上維護(hù)部分路由信息,描述為關(guān)鍵字與其對(duì)應(yīng)的值的形式,即移動(dòng)節(jié)點(diǎn)與其關(guān)聯(lián)節(jié)點(diǎn)的映射項(xiàng)(MobileIP,AssociateIP),該部分路由信息存儲(chǔ)于網(wǎng)絡(luò)中移動(dòng)節(jié)點(diǎn)ip散列值作為關(guān)鍵字的后繼關(guān)聯(lián)節(jié)點(diǎn)上,mobileIP代表移動(dòng)節(jié)點(diǎn)的IP地址,此處作為路由信息資源的關(guān)鍵字,AssociateIP為移動(dòng)節(jié)點(diǎn)所關(guān)聯(lián)的關(guān)聯(lián)節(jié)點(diǎn)的IP地址,此處作為路由信息資源的查詢(xún)值。在關(guān)聯(lián)節(jié)點(diǎn)上,其關(guān)鍵字后繼節(jié)點(diǎn)的查找算法,取決于具體的P2P邏輯結(jié)構(gòu),下文將給出Chord環(huán)結(jié)構(gòu)的基本思想。關(guān)聯(lián)節(jié)點(diǎn)A査找移動(dòng)節(jié)點(diǎn)M(ip地址為M.ip)連接的關(guān)聯(lián)節(jié)點(diǎn),節(jié)點(diǎn)A向結(jié)構(gòu)化P2P結(jié)構(gòu)發(fā)出key=Hash(M.ip)的查詢(xún),利用"尋找后繼"方法(FindSuccessor)定位到資源所在節(jié)點(diǎn),獲得需要的(MobileIP,AssociateIP)的路由資源映射信息,本發(fā)明中路由表的査找過(guò)程核心即為FindSuccessor方法。圖5流程圖為査找路由資源映射信息的流程,初始査詢(xún)節(jié)點(diǎn)要查找目標(biāo)移動(dòng)節(jié)點(diǎn)MobileA的路由信息,首先查找本地的緩存看是否有到MobileA的映射關(guān)系。若有,則判斷Cache是否過(guò)期,沒(méi)有過(guò)期直接返回結(jié)果,若過(guò)期或者緩存中沒(méi)有則開(kāi)始分布式的査找,通過(guò)上述FindSuccessor方法,計(jì)算MobileA的關(guān)聯(lián)映射關(guān)系應(yīng)該査找的下一跳節(jié)點(diǎn)并向該節(jié)點(diǎn)發(fā)送査詢(xún)請(qǐng)求。下一跳節(jié)點(diǎn)收到該查詢(xún)后,首先査詢(xún)其緩存信息是否存在該資源且是否有效,若沒(méi)有有效信息,則遞歸地進(jìn)行上述查找過(guò)程;若査找成功,則返回查詢(xún)結(jié)果給初始查詢(xún)節(jié)點(diǎn)。初始查詢(xún)節(jié)點(diǎn)收到査詢(xún)結(jié)果后將結(jié)果加入其緩存并使用返回的結(jié)果作為目的地址進(jìn)行數(shù)據(jù)發(fā)送。在N個(gè)節(jié)點(diǎn)規(guī)模的關(guān)聯(lián)節(jié)點(diǎn)組成的網(wǎng)絡(luò)結(jié)構(gòu)中,此算法的開(kāi)銷(xiāo)為O(logN)。本發(fā)明中在移動(dòng)節(jié)點(diǎn)之間通過(guò)關(guān)聯(lián)節(jié)點(diǎn)進(jìn)行消息路由的方法也不同于常規(guī)的路由及轉(zhuǎn)發(fā)方案,為了不改變基礎(chǔ)設(shè)施網(wǎng)絡(luò)部分的路由表結(jié)構(gòu)與表項(xiàng),在關(guān)聯(lián)節(jié)點(diǎn)采取對(duì)IP數(shù)據(jù)報(bào)進(jìn)行封裝的方法。對(duì)于網(wǎng)絡(luò)中的關(guān)聯(lián)節(jié)點(diǎn)與移動(dòng)節(jié)點(diǎn),并不認(rèn)為是完全不同的兩種類(lèi)型的節(jié)點(diǎn),而是相同類(lèi)型的節(jié)點(diǎn)在混合網(wǎng)絡(luò)中由于連接位置、連接關(guān)系不同而存在的兩種"角色",作為關(guān)聯(lián)節(jié)點(diǎn),一方面與移動(dòng)節(jié)點(diǎn)之間進(jìn)行無(wú)線通信,同時(shí)通過(guò)衛(wèi)星鏈路、有線鏈路等接入基礎(chǔ)設(shè)施網(wǎng)絡(luò),因此每個(gè)關(guān)聯(lián)節(jié)點(diǎn)有兩個(gè)IP地址,一個(gè)是作為移動(dòng)節(jié)點(diǎn)的IP地址,稱(chēng)為M.ip,另一個(gè)是接入到基礎(chǔ)設(shè)施網(wǎng)絡(luò)中的IP地址,定義為Associate,ip。關(guān)聯(lián)節(jié)點(diǎn)需要完成通過(guò)基礎(chǔ)設(shè)施網(wǎng)絡(luò)轉(zhuǎn)發(fā)移動(dòng)節(jié)點(diǎn)之間的數(shù)據(jù)通信的任務(wù),如圖6流程圖所示,所有關(guān)聯(lián)節(jié)點(diǎn)對(duì)收到的報(bào)文進(jìn)行分析,判斷其目的地址是否為移動(dòng)節(jié)點(diǎn),若不是則査找系統(tǒng)路由表,然后交由系統(tǒng)轉(zhuǎn)發(fā)表進(jìn)行該數(shù)據(jù)的轉(zhuǎn)發(fā),若是則在本地緩存的映射表中查找移動(dòng)節(jié)點(diǎn)對(duì)應(yīng)關(guān)聯(lián)節(jié)點(diǎn)信息,找到即進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),若找不到,則啟動(dòng)分布式查詢(xún)過(guò)程,在關(guān)聯(lián)節(jié)點(diǎn)維護(hù)的分布式結(jié)構(gòu)中査找目的移動(dòng)節(jié)點(diǎn)關(guān)聯(lián)的關(guān)聯(lián)節(jié)點(diǎn)映射關(guān)系的信息,若找到則通過(guò)基礎(chǔ)設(shè)施網(wǎng)絡(luò)將數(shù)據(jù)轉(zhuǎn)發(fā)到該關(guān)聯(lián)節(jié)點(diǎn),否則丟棄該數(shù)據(jù)。圖7給出了在數(shù)據(jù)通過(guò)基礎(chǔ)設(shè)施網(wǎng)絡(luò)進(jìn)行傳輸時(shí)數(shù)據(jù)格式的變化,移動(dòng)節(jié)點(diǎn)MobileA發(fā)送IP數(shù)據(jù)報(bào)給移動(dòng)節(jié)點(diǎn)MobileB,首先MobileA將IP數(shù)據(jù)報(bào)發(fā)送給它連接的接入節(jié)點(diǎn)AssociateA,報(bào)文格式如圖7(a)所示。AssociateA節(jié)點(diǎn)轉(zhuǎn)發(fā)IP數(shù)據(jù)報(bào)格式如圖7(b)所示,數(shù)據(jù)報(bào)報(bào)文中,將IP數(shù)據(jù)報(bào)封裝在UDP報(bào)文中,更改目的地址為上述査詢(xún)Lookup(MobileB.ip)得到的AssociateB的IP地址,而將真正目的IP地址置于新數(shù)據(jù)報(bào)報(bào)文IP數(shù)據(jù)報(bào)數(shù)據(jù)域中。AssociateB節(jié)點(diǎn)收到任意的IP數(shù)據(jù)報(bào)報(bào)文,只要是在其接收封裝數(shù)據(jù)的端口收到的報(bào)文,則為封裝的報(bào)文,因此還原數(shù)據(jù)報(bào)為原來(lái)格式,并向移動(dòng)節(jié)點(diǎn)MobileB轉(zhuǎn)發(fā)該報(bào)文。需要注意的是,我們把Associate,ip與M.ip作為兩個(gè)獨(dú)立的地址空間使用,在基礎(chǔ)設(shè)施網(wǎng)絡(luò)部分,不在路由表內(nèi)添加M.ip地址段的路由信息,此類(lèi)信息僅由關(guān)聯(lián)節(jié)點(diǎn)負(fù)責(zé)維護(hù)。本發(fā)明中基于結(jié)構(gòu)化P2P的路由技術(shù)包含路由計(jì)算與消息轉(zhuǎn)發(fā)兩個(gè)部分,主要建立和維護(hù)以下幾個(gè)專(zhuān)門(mén)的數(shù)據(jù)結(jié)構(gòu)。對(duì)于本發(fā)明中兩種不同角色的節(jié)點(diǎn),在關(guān)聯(lián)節(jié)點(diǎn),需要維護(hù)路由資源信息表(RoutingResourceInformationTable)、移動(dòng)節(jié)點(diǎn)表(MobileNodeTable)兩個(gè)特殊的數(shù)據(jù)結(jié)構(gòu);而在移動(dòng)節(jié)點(diǎn),只需維護(hù)關(guān)聯(lián)節(jié)點(diǎn)表(AssoicateNodeTable)即可。另外與基本的路由協(xié)議相同,每個(gè)節(jié)點(diǎn)還需維護(hù)一張路由表,用于數(shù)據(jù)轉(zhuǎn)發(fā)時(shí)尋找下一跳節(jié)點(diǎn)。下面按照路由計(jì)算、數(shù)據(jù)轉(zhuǎn)發(fā)兩部分具體說(shuō)明實(shí)施方式。1.路由計(jì)算部分包含移動(dòng)節(jié)點(diǎn)通過(guò)基礎(chǔ)設(shè)施的路由問(wèn)題,移動(dòng)節(jié)點(diǎn)之間的路由問(wèn)題,關(guān)聯(lián)協(xié)議問(wèn)題。移動(dòng)節(jié)點(diǎn)通過(guò)基礎(chǔ)設(shè)施的路由問(wèn)題,即獲取與目標(biāo)移動(dòng)節(jié)點(diǎn)關(guān)聯(lián)的關(guān)聯(lián)節(jié)點(diǎn)的信息,從而將數(shù)據(jù)發(fā)送給該關(guān)聯(lián)節(jié)點(diǎn)實(shí)現(xiàn)數(shù)據(jù)的路由,本發(fā)明將其抽象為在關(guān)聯(lián)節(jié)點(diǎn)組成的網(wǎng)絡(luò)結(jié)構(gòu)中進(jìn)行資源查找的問(wèn)題。對(duì)于移動(dòng)節(jié)點(diǎn)之間的無(wú)線自組織網(wǎng)絡(luò)的路由計(jì)算,可以對(duì)現(xiàn)有國(guó)際標(biāo)準(zhǔn)化組織標(biāo)準(zhǔn)化的無(wú)線路由協(xié)議開(kāi)放式鏈路狀態(tài)路由(OLSR)協(xié)議進(jìn)行必要的修改,通過(guò)周期性的向鄰居節(jié)點(diǎn)廣播鄰居發(fā)現(xiàn)的Hello報(bào)文以及交換路由信息的TC報(bào)文,可以維護(hù)移動(dòng)節(jié)點(diǎn)之間的路由表項(xiàng),在計(jì)算的路由表項(xiàng)中去掉所有大于等于該移動(dòng)節(jié)點(diǎn)到關(guān)聯(lián)節(jié)點(diǎn)之間跳數(shù)的路由項(xiàng),從而利用基礎(chǔ)設(shè)施網(wǎng)絡(luò)代替可能較長(zhǎng)的無(wú)線鏈路的數(shù)據(jù)傳輸。也可以使用跳數(shù)受限的按需路由協(xié)議,首先在3或4跳范圍內(nèi)廣播按需路由請(qǐng)求,可能收到無(wú)線網(wǎng)絡(luò)或者關(guān)聯(lián)節(jié)點(diǎn)路由路徑,如果沒(méi)有找到,則以expandingring方法增加廣播的跳數(shù)直到找到一種情況為止。算法考慮同時(shí)找到關(guān)聯(lián)節(jié)點(diǎn)和目標(biāo)移動(dòng)節(jié)點(diǎn)的路由時(shí),優(yōu)先選擇無(wú)線鏈路進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。圖8給出了此過(guò)程的流程,節(jié)點(diǎn)首先尋找路由表中是否有到目的節(jié)點(diǎn)的路由,若有則選擇度量值Metric最小的路徑轉(zhuǎn)發(fā);若沒(méi)有,設(shè)置允許的跳數(shù)TTL為3,發(fā)送路由請(qǐng)求,若沒(méi)有路由響應(yīng)則依次增加TTL值重新發(fā)送,直到到達(dá)規(guī)定的上限值;若收到路由響應(yīng)報(bào)文,則將其加入路由表,并按照路由信息轉(zhuǎn)發(fā)數(shù)據(jù)。對(duì)于關(guān)聯(lián)協(xié)議,當(dāng)移動(dòng)節(jié)點(diǎn)關(guān)聯(lián)到一個(gè)關(guān)聯(lián)節(jié)點(diǎn)時(shí),需要進(jìn)行如下的操作,首先在移動(dòng)節(jié)點(diǎn)自身的路由表中添加一條到其關(guān)聯(lián)的關(guān)聯(lián)節(jié)點(diǎn)的默認(rèn)路由。而與其對(duì)應(yīng)的關(guān)聯(lián)節(jié)點(diǎn),首先在路由表中添加到移動(dòng)節(jié)點(diǎn)的路由項(xiàng),然后添加本關(guān)聯(lián)節(jié)點(diǎn)和對(duì)應(yīng)移動(dòng)節(jié)點(diǎn)間的關(guān)聯(lián)關(guān)系到"移動(dòng)節(jié)點(diǎn)表",表項(xiàng)為(mobileIP,Associated),最后按照分布式數(shù)據(jù)存儲(chǔ)的存儲(chǔ)原則,將映射關(guān)系發(fā)布到關(guān)鍵字為mobileIP散列值的后繼關(guān)聯(lián)節(jié)點(diǎn)上,存儲(chǔ)為路由資源信息表中的資源,供網(wǎng)絡(luò)中的節(jié)點(diǎn)査找。分布式數(shù)據(jù)存儲(chǔ)的要求是在每個(gè)關(guān)聯(lián)節(jié)點(diǎn)上只維護(hù)部分映射表項(xiàng)信息,每個(gè)信息存放的位置為信息關(guān)鍵字的后繼關(guān)聯(lián)節(jié)點(diǎn)。2.數(shù)據(jù)轉(zhuǎn)發(fā)部分包括通過(guò)關(guān)聯(lián)節(jié)點(diǎn)的消息轉(zhuǎn)發(fā),移動(dòng)節(jié)點(diǎn)間的消息轉(zhuǎn)發(fā)等。移動(dòng)節(jié)點(diǎn)的數(shù)據(jù)轉(zhuǎn)發(fā),首先根據(jù)無(wú)線網(wǎng)絡(luò)路由計(jì)算的結(jié)果,選擇是直接通過(guò)無(wú)線鏈路交付,還是首先交付給關(guān)聯(lián)節(jié)點(diǎn)后再通過(guò)基礎(chǔ)設(shè)施網(wǎng)絡(luò)進(jìn)行轉(zhuǎn)發(fā)。對(duì)于選擇的算法,本發(fā)明的算法考慮在發(fā)送節(jié)點(diǎn)對(duì)應(yīng)的關(guān)聯(lián)節(jié)點(diǎn)和目標(biāo)移動(dòng)節(jié)點(diǎn)中,首先判斷到兩者的無(wú)線鏈路的跳數(shù),選擇跳數(shù)較少的鏈路進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),如果兩者相等,則直接通過(guò)無(wú)線鏈路發(fā)送數(shù)據(jù)。需要再次說(shuō)明,本發(fā)明中所述的"移動(dòng)節(jié)點(diǎn)""關(guān)聯(lián)節(jié)點(diǎn)"都是無(wú)線通信節(jié)點(diǎn)的不同角色,無(wú)線通信節(jié)點(diǎn)是指具有無(wú)線通信收發(fā)模塊的移動(dòng)計(jì)算設(shè)備。無(wú)線通信節(jié)點(diǎn)只有一類(lèi),但是在不同情況下具有不同的角色,如果節(jié)點(diǎn)是可以自由移動(dòng)的無(wú)線節(jié)點(diǎn),且沒(méi)有直接接入基礎(chǔ)設(shè)施鏈路,則是本發(fā)明所述移動(dòng)節(jié)點(diǎn)角色;若節(jié)點(diǎn)直接接入基礎(chǔ)設(shè)施網(wǎng)絡(luò),同時(shí)又通過(guò)無(wú)線鏈路與其它節(jié)點(diǎn)連接,則其角色為關(guān)聯(lián)節(jié)點(diǎn)??偨Y(jié)以上內(nèi)容可知,本發(fā)明方法包括以下步驟-1)采用chord環(huán)結(jié)構(gòu)組織關(guān)聯(lián)節(jié)點(diǎn),將各關(guān)聯(lián)節(jié)點(diǎn)按其標(biāo)識(shí)的大小順序加入chord環(huán);2)建立以下各關(guān)系表各移動(dòng)節(jié)點(diǎn)維護(hù)一個(gè)關(guān)聯(lián)節(jié)點(diǎn)表,內(nèi)容為該移動(dòng)節(jié)點(diǎn)所關(guān)聯(lián)的關(guān)聯(lián)節(jié)點(diǎn)的標(biāo)識(shí)及IP地址;各關(guān)聯(lián)節(jié)點(diǎn)維護(hù)一個(gè)移動(dòng)節(jié)點(diǎn)表,其內(nèi)容為該關(guān)聯(lián)節(jié)點(diǎn)所關(guān)聯(lián)的移動(dòng)節(jié)點(diǎn)的標(biāo)識(shí)及IP地址;各關(guān)聯(lián)節(jié)點(diǎn)共同維護(hù)一個(gè)路由資源信息表,其內(nèi)容為移動(dòng)節(jié)點(diǎn)的標(biāo)識(shí)及與移動(dòng)節(jié)點(diǎn)關(guān)聯(lián)的關(guān)聯(lián)節(jié)點(diǎn)的標(biāo)識(shí)及ip地址信息,將該表存儲(chǔ)于IP地址的散列值大于等于該移動(dòng)節(jié)點(diǎn)標(biāo)識(shí)的第一個(gè)關(guān)聯(lián)節(jié)點(diǎn)上;各關(guān)聯(lián)節(jié)點(diǎn)維護(hù)一個(gè)m行的指針表,m為大于等于關(guān)聯(lián)節(jié)點(diǎn)的節(jié)點(diǎn)數(shù)取以IO為底的對(duì)數(shù)底值,其每行的內(nèi)容為入口關(guān)聯(lián)節(jié)點(diǎn)的編號(hào)及待查關(guān)聯(lián)節(jié)點(diǎn)的編號(hào),其中在第i行中,此處i^,l,…,m-l,入口關(guān)聯(lián)節(jié)點(diǎn)的編號(hào)等于該關(guān)聯(lián)節(jié)點(diǎn)的標(biāo)識(shí)+2卜、待查關(guān)聯(lián)節(jié)點(diǎn)的編號(hào)為節(jié)點(diǎn)標(biāo)識(shí)大于等于該入口關(guān)聯(lián)節(jié)點(diǎn)的編號(hào)的第一個(gè)關(guān)聯(lián)節(jié)點(diǎn)的編號(hào);3)進(jìn)行路由計(jì)算,包括移動(dòng)節(jié)點(diǎn)通過(guò)基礎(chǔ)設(shè)施的路由計(jì)算步驟3.l)和移動(dòng)節(jié)點(diǎn)之間的路由計(jì)算步驟3.2),其中3.l)計(jì)算移動(dòng)節(jié)點(diǎn)通過(guò)基礎(chǔ)設(shè)施的路由,即獲取與目標(biāo)移動(dòng)節(jié)點(diǎn)關(guān)聯(lián)的關(guān)聯(lián)節(jié)點(diǎn)的信息,從而將數(shù)據(jù)發(fā)送給該關(guān)聯(lián)節(jié)點(diǎn)實(shí)現(xiàn)數(shù)據(jù)的路由,包括以下子步驟3.1.l)源移動(dòng)節(jié)點(diǎn)根據(jù)其關(guān)聯(lián)節(jié)點(diǎn)表找到與其關(guān)聯(lián)的關(guān)聯(lián)節(jié)點(diǎn),此處稱(chēng)該關(guān)聯(lián)節(jié)點(diǎn)為初始查詢(xún)節(jié)點(diǎn);3.1.2)關(guān)聯(lián)節(jié)點(diǎn)進(jìn)行分布式的査找步驟,即以目標(biāo)移動(dòng)節(jié)點(diǎn)的標(biāo)識(shí)為關(guān)鍵字,以與目標(biāo)移動(dòng)節(jié)點(diǎn)關(guān)聯(lián)的關(guān)聯(lián)節(jié)點(diǎn)的IP地址為查詢(xún)值,根據(jù)初始查詢(xún)節(jié)點(diǎn)的指針表進(jìn)行遞歸査詢(xún);3.1.3)查找成功的節(jié)點(diǎn)向初始查詢(xún)節(jié)點(diǎn)返回査詢(xún)結(jié)果;3.2)計(jì)算移動(dòng)節(jié)點(diǎn)之間的無(wú)線自組織網(wǎng)絡(luò)的路由,包括以下子步驟3.2.l)對(duì)現(xiàn)有無(wú)線路由協(xié)議開(kāi)放式鏈路狀態(tài)路由協(xié)議進(jìn)行修改,通過(guò)周期性的向鄰居節(jié)點(diǎn)廣播鄰居發(fā)現(xiàn)的Hello報(bào)文以及交換路由信息的TC報(bào)文,維護(hù)移動(dòng)節(jié)點(diǎn)之間的路由表項(xiàng);3.2.2)在計(jì)算的路由表項(xiàng)中去掉所有大于等于該移動(dòng)節(jié)點(diǎn)到關(guān)聯(lián)節(jié)點(diǎn)之間跳數(shù)的路由項(xiàng),從而利用基礎(chǔ)設(shè)施網(wǎng)絡(luò)代替無(wú)線鏈路的數(shù)據(jù)傳輸;4)進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),根據(jù)無(wú)線網(wǎng)絡(luò)路由計(jì)算的結(jié)果,選擇是源移動(dòng)節(jié)點(diǎn)直接通過(guò)無(wú)線鏈路交付,還是源移動(dòng)節(jié)點(diǎn)先交付給關(guān)聯(lián)節(jié)點(diǎn)后再通過(guò)基礎(chǔ)設(shè)施網(wǎng)絡(luò)進(jìn)行轉(zhuǎn)發(fā),選擇的方法是首先判斷到兩者的無(wú)線鏈路的跳數(shù),選擇跳數(shù)較少的鏈路進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā);如果兩者相等,則直接通過(guò)無(wú)線鏈路發(fā)送數(shù)據(jù)。最后通過(guò)圖9中的一個(gè)應(yīng)用來(lái)描述網(wǎng)絡(luò)構(gòu)建與路由計(jì)算過(guò)程。實(shí)例網(wǎng)絡(luò)中有9個(gè)關(guān)聯(lián)節(jié)點(diǎn)(其節(jié)點(diǎn)標(biāo)識(shí)分別為Al、A8、A15、A23、A33、A39、A42、A48、A54,假設(shè)其節(jié)點(diǎn)標(biāo)識(shí)是由其ip地址散列得到的數(shù)值)和2個(gè)移動(dòng)節(jié)點(diǎn)(Ml、M29),其中M1與關(guān)聯(lián)節(jié)點(diǎn)A8關(guān)聯(lián),M29與關(guān)聯(lián)節(jié)點(diǎn)A39關(guān)聯(lián),所有9個(gè)關(guān)聯(lián)節(jié)點(diǎn)組成圖4所示的Chord環(huán)結(jié)構(gòu),圖中也給出了A8節(jié)點(diǎn)的fingertable結(jié)構(gòu)。在每一個(gè)關(guān)聯(lián)節(jié)點(diǎn)上,同時(shí)各自維護(hù)一個(gè)路由資源映射的數(shù)據(jù)結(jié)構(gòu),其中以移動(dòng)節(jié)點(diǎn)的標(biāo)識(shí)(如M1、M29)作為資源的關(guān)鍵字(key),以它們關(guān)聯(lián)的關(guān)聯(lián)節(jié)點(diǎn)(A8、A39)作為資源的值(value)。在網(wǎng)絡(luò)建立的過(guò)程中,關(guān)聯(lián)節(jié)點(diǎn)之間通過(guò)已知的一個(gè)Chord環(huán)中的節(jié)點(diǎn)維護(hù)其fingertable與鄰接關(guān)系,Ml與A8關(guān)聯(lián),A8將路由資源信息〈M1,A8〉發(fā)布到Chord環(huán)中,具體的存儲(chǔ)資源的節(jié)點(diǎn)為大于等于1(M1)的第一個(gè)關(guān)聯(lián)節(jié)點(diǎn)A1。同理,M29與A39關(guān)聯(lián),信息〈M29,A39〉發(fā)布到大于等于29的第一個(gè)關(guān)聯(lián)節(jié)點(diǎn)A33上。所有節(jié)點(diǎn)在查詢(xún)移動(dòng)節(jié)點(diǎn)路由的時(shí)候,例如査詢(xún)到M29的路由信息,則按照當(dāng)前關(guān)聯(lián)節(jié)點(diǎn)的fingertable信息,查找節(jié)點(diǎn)M29對(duì)應(yīng)的路由資源信息,從而實(shí)現(xiàn)路由資源的査詢(xún)。根據(jù)查找的結(jié)果,A8會(huì)從節(jié)點(diǎn)A33上得到M29的關(guān)聯(lián)節(jié)點(diǎn)為A39,從而得到一個(gè)(Ml,A8,A39,M29)的通信鏈路。數(shù)據(jù)在發(fā)送過(guò)程中,M1將數(shù)據(jù)交付給A8;A8依次將每個(gè)數(shù)據(jù)報(bào)文打包成新的UDP報(bào)文,以A39的地址為目的地址發(fā)送出去;A39收到上述UDP報(bào)文,還原為原來(lái)的數(shù)據(jù)包,并通過(guò)無(wú)線網(wǎng)絡(luò)發(fā)送給M29。以上即是一個(gè)完整的通過(guò)基礎(chǔ)設(shè)施網(wǎng)絡(luò)在兩個(gè)無(wú)線節(jié)點(diǎn)之間收發(fā)數(shù)據(jù)的過(guò)程。在整個(gè)過(guò)程中,移動(dòng)節(jié)點(diǎn)要維護(hù)其關(guān)聯(lián)的關(guān)聯(lián)節(jié)點(diǎn)信息表,包含關(guān)聯(lián)節(jié)點(diǎn)的標(biāo)識(shí)、IP地址;關(guān)聯(lián)節(jié)點(diǎn)要維護(hù)與它關(guān)聯(lián)的移動(dòng)節(jié)點(diǎn)列表,包含移動(dòng)節(jié)點(diǎn)的唯一標(biāo)識(shí)、IP地址以及本地的路由資源信息的緩存(cache),fingertable,以及結(jié)構(gòu)為〈Mi,Ai〉的路由資源信息,其中緩存中存儲(chǔ)本節(jié)點(diǎn)在Chord環(huán)中査找過(guò)的路由資源信息的備份。每個(gè)關(guān)聯(lián)節(jié)點(diǎn)只負(fù)責(zé)存儲(chǔ)部分路由資源,它存儲(chǔ)的部分為標(biāo)識(shí)Mi介于本關(guān)聯(lián)節(jié)點(diǎn)標(biāo)識(shí)與Chord環(huán)中下一個(gè)關(guān)聯(lián)節(jié)點(diǎn)標(biāo)識(shí)之間的路由資源信息。本例中,在A23節(jié)點(diǎn)上,只存儲(chǔ)M23至M32(因?yàn)镃hord環(huán)中下一個(gè)關(guān)聯(lián)節(jié)點(diǎn)為A33)這些移動(dòng)節(jié)點(diǎn)的路由信息。以上所述僅是本發(fā)明大規(guī)模混合無(wú)線自組織網(wǎng)絡(luò)中的基于結(jié)構(gòu)化P2P的路由技術(shù)的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本
技術(shù)領(lǐng)域:
的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明混合無(wú)線自組織網(wǎng)絡(luò)路由技術(shù)原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。權(quán)利要求1.一種大規(guī)模動(dòng)態(tài)異構(gòu)混合無(wú)線自組織網(wǎng)絡(luò)中的接入及路由計(jì)算方法,其特征在于包括以下步驟1)采用chord環(huán)結(jié)構(gòu)組織關(guān)聯(lián)節(jié)點(diǎn),將各關(guān)聯(lián)節(jié)點(diǎn)按其標(biāo)識(shí)的大小順序加入chord環(huán);2)建立以下各關(guān)系表各移動(dòng)節(jié)點(diǎn)維護(hù)一個(gè)關(guān)聯(lián)節(jié)點(diǎn)表,內(nèi)容為該移動(dòng)節(jié)點(diǎn)所關(guān)聯(lián)的關(guān)聯(lián)節(jié)點(diǎn)的標(biāo)識(shí)及IP地址;各關(guān)聯(lián)節(jié)點(diǎn)維護(hù)一個(gè)移動(dòng)節(jié)點(diǎn)表,其內(nèi)容為該關(guān)聯(lián)節(jié)點(diǎn)所關(guān)聯(lián)的移動(dòng)節(jié)點(diǎn)的標(biāo)識(shí)及IP地址;各關(guān)聯(lián)節(jié)點(diǎn)共同維護(hù)一個(gè)路由資源信息表,其內(nèi)容為移動(dòng)節(jié)點(diǎn)的標(biāo)識(shí)及與移動(dòng)節(jié)點(diǎn)關(guān)聯(lián)的關(guān)聯(lián)節(jié)點(diǎn)的標(biāo)識(shí)及ip地址信息,將該表存儲(chǔ)于IP地址的散列值大于等于該移動(dòng)節(jié)點(diǎn)標(biāo)識(shí)的第一個(gè)關(guān)聯(lián)節(jié)點(diǎn)上;各關(guān)聯(lián)節(jié)點(diǎn)維護(hù)一個(gè)m行的指針表,m為大于等于關(guān)聯(lián)節(jié)點(diǎn)的節(jié)點(diǎn)數(shù)取以10為底的對(duì)數(shù)底值,其每行的內(nèi)容為入口關(guān)聯(lián)節(jié)點(diǎn)的編號(hào)及待查關(guān)聯(lián)節(jié)點(diǎn)的編號(hào),其中在第i行中,此處i=0,1,…,m-1,入口關(guān)聯(lián)節(jié)點(diǎn)的編號(hào)等于該關(guān)聯(lián)節(jié)點(diǎn)的標(biāo)識(shí)+2i-1,待查關(guān)聯(lián)節(jié)點(diǎn)的編號(hào)為節(jié)點(diǎn)標(biāo)識(shí)大于等于該入口關(guān)聯(lián)節(jié)點(diǎn)的編號(hào)的第一個(gè)關(guān)聯(lián)節(jié)點(diǎn)的編號(hào);3)進(jìn)行路由計(jì)算,包括移動(dòng)節(jié)點(diǎn)通過(guò)基礎(chǔ)設(shè)施的路由計(jì)算步驟3.1)和移動(dòng)節(jié)點(diǎn)之間的路由計(jì)算步驟3.2),其中3.1)計(jì)算移動(dòng)節(jié)點(diǎn)通過(guò)基礎(chǔ)設(shè)施的路由,即獲取與目標(biāo)移動(dòng)節(jié)點(diǎn)關(guān)聯(lián)的關(guān)聯(lián)節(jié)點(diǎn)的信息,從而將數(shù)據(jù)發(fā)送給該關(guān)聯(lián)節(jié)點(diǎn)實(shí)現(xiàn)數(shù)據(jù)的路由,包括以下子步驟3.1.1)源移動(dòng)節(jié)點(diǎn)根據(jù)其關(guān)聯(lián)節(jié)點(diǎn)表找到與其關(guān)聯(lián)的關(guān)聯(lián)節(jié)點(diǎn),此處稱(chēng)該關(guān)聯(lián)節(jié)點(diǎn)為初始查詢(xún)節(jié)點(diǎn);3.1.2)關(guān)聯(lián)節(jié)點(diǎn)進(jìn)行分布式的查找步驟,即以目標(biāo)移動(dòng)節(jié)點(diǎn)的標(biāo)識(shí)為關(guān)鍵字,以與目標(biāo)移動(dòng)節(jié)點(diǎn)關(guān)聯(lián)的關(guān)聯(lián)節(jié)點(diǎn)的IP地址為查詢(xún)值,根據(jù)初始查詢(xún)節(jié)點(diǎn)的指針表進(jìn)行遞歸查詢(xún);3.1.3)查找成功的節(jié)點(diǎn)向初始查詢(xún)節(jié)點(diǎn)返回查詢(xún)結(jié)果;3.2)計(jì)算移動(dòng)節(jié)點(diǎn)之間的無(wú)線自組織網(wǎng)絡(luò)的路由,包括以下子步驟3.2.1)對(duì)現(xiàn)有無(wú)線路由協(xié)議開(kāi)放式鏈路狀態(tài)路由協(xié)議進(jìn)行修改,通過(guò)周期性的向鄰居節(jié)點(diǎn)廣播鄰居發(fā)現(xiàn)的Hello報(bào)文以及交換路由信息的TC報(bào)文,維護(hù)移動(dòng)節(jié)點(diǎn)之間的路由表項(xiàng);3.2.2)在計(jì)算的路由表項(xiàng)中去掉所有大于等于該移動(dòng)節(jié)點(diǎn)到關(guān)聯(lián)節(jié)點(diǎn)之間跳數(shù)的路由項(xiàng),從而利用基礎(chǔ)設(shè)施網(wǎng)絡(luò)代替無(wú)線鏈路的數(shù)據(jù)傳輸;4)進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),根據(jù)無(wú)線網(wǎng)絡(luò)路由計(jì)算的結(jié)果,選擇是源移動(dòng)節(jié)點(diǎn)直接通過(guò)無(wú)線鏈路交付,還是源移動(dòng)節(jié)點(diǎn)先交付給關(guān)聯(lián)節(jié)點(diǎn)后再通過(guò)基礎(chǔ)設(shè)施網(wǎng)絡(luò)進(jìn)行轉(zhuǎn)發(fā),選擇的方法是首先判斷到兩者的無(wú)線鏈路的跳數(shù),選擇跳數(shù)較少的鏈路進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā);如果兩者相等,則直接通過(guò)無(wú)線鏈路發(fā)送數(shù)據(jù)。2.如權(quán)利要求1所述的大規(guī)模動(dòng)態(tài)異構(gòu)混合無(wú)線自組織網(wǎng)絡(luò)中的接入及路由計(jì)算方法,其特征在于在所述步驟3.2)中,計(jì)算移動(dòng)節(jié)點(diǎn)之間的無(wú)線自組織網(wǎng)絡(luò)的路由時(shí),使用跳數(shù)受限的按需路由協(xié)議,首先在3或4跳范圍內(nèi)廣播按需路由請(qǐng)求,如果沒(méi)有找到路由路徑,則增加廣播的跳數(shù),直到找到一種情況為止。3.如權(quán)利要求1或2所述的大規(guī)模動(dòng)態(tài)異構(gòu)混合無(wú)線自組織網(wǎng)絡(luò)中的接入及路由計(jì)算方法,其特征在于所述關(guān)聯(lián)節(jié)點(diǎn)進(jìn)行分布式的査找步驟3.1.2)進(jìn)一步分為以下子步驟3.1.2.l)初始查詢(xún)節(jié)點(diǎn)向其指針表中第一行指明的待査關(guān)聯(lián)節(jié)點(diǎn)發(fā)送査詢(xún)請(qǐng)求;3.1.2.2)待查關(guān)聯(lián)節(jié)點(diǎn)首先查詢(xún)其存儲(chǔ)的路由資源信息表中是否有到目標(biāo)移動(dòng)節(jié)點(diǎn)的映射關(guān)系,若有則向初始査詢(xún)節(jié)點(diǎn)返回查詢(xún)結(jié)果,若無(wú)則繼續(xù)步驟3.1.2.3);3.1.2.3)初始查詢(xún)節(jié)點(diǎn)向其指針表中下一行指明的待査關(guān)聯(lián)節(jié)點(diǎn)發(fā)送查詢(xún)請(qǐng)求,返回步驟3.1.2.2)。4.如權(quán)利要求3所述的大規(guī)模動(dòng)態(tài)異構(gòu)混合無(wú)線自組織網(wǎng)絡(luò)中的接入及路由計(jì)算方法,其特征在于每個(gè)關(guān)聯(lián)節(jié)點(diǎn)只負(fù)責(zé)存儲(chǔ)部分路由資源信息,它存儲(chǔ)的部分為移動(dòng)節(jié)點(diǎn)的標(biāo)識(shí)介于本關(guān)聯(lián)節(jié)點(diǎn)標(biāo)識(shí)與Chord環(huán)中下一個(gè)關(guān)聯(lián)節(jié)點(diǎn)的標(biāo)識(shí)之間的路由資源信息。5.如權(quán)利要求1所述的大規(guī)模動(dòng)態(tài)異構(gòu)混合無(wú)線自組織網(wǎng)絡(luò)中的接入及路由計(jì)算方法,其特征在于在所述步驟4)中進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)時(shí),經(jīng)關(guān)聯(lián)節(jié)點(diǎn)再通過(guò)基礎(chǔ)設(shè)施網(wǎng)絡(luò)進(jìn)行轉(zhuǎn)發(fā)的步驟包括以下子步驟4.l)所有關(guān)聯(lián)節(jié)點(diǎn)對(duì)收到的報(bào)文進(jìn)行分析,判斷其目的地址是否為移動(dòng)節(jié)點(diǎn);4.2)若不是則丟棄該數(shù)據(jù);4.3)若是則在本地緩存的映射表中進(jìn)一步查找移動(dòng)節(jié)點(diǎn)對(duì)應(yīng)的關(guān)聯(lián)節(jié)點(diǎn)的信息;4.4)找到即進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā);4.5)若找不到,則啟動(dòng)分布式查詢(xún)過(guò)程,在關(guān)聯(lián)節(jié)點(diǎn)維護(hù)的分布式結(jié)構(gòu)中査找目的移動(dòng)節(jié)點(diǎn)關(guān)聯(lián)的關(guān)聯(lián)節(jié)點(diǎn)映射關(guān)系的信息;4.6)若找到則通過(guò)基礎(chǔ)設(shè)施網(wǎng)絡(luò)將數(shù)據(jù)轉(zhuǎn)發(fā)到該關(guān)聯(lián)節(jié)點(diǎn),否則丟棄該數(shù)據(jù)。6.如權(quán)利要求1所述的大規(guī)模動(dòng)態(tài)異構(gòu)混合無(wú)線自組織網(wǎng)絡(luò)中的接入及路由計(jì)算方法,其特征在于-在所述步驟4)中,初始查詢(xún)節(jié)點(diǎn)向目的地址進(jìn)行數(shù)據(jù)發(fā)送之前,要對(duì)源移動(dòng)節(jié)點(diǎn)發(fā)送的數(shù)據(jù)報(bào)進(jìn)行封裝,即,將IP數(shù)據(jù)報(bào)封裝在UDP報(bào)文中,更改目的地址為査詢(xún)后得到的與目標(biāo)移動(dòng)節(jié)點(diǎn)關(guān)聯(lián)的關(guān)聯(lián)節(jié)點(diǎn)的IP地址,而將真正的目的IP地址置于新報(bào)文的數(shù)據(jù)域中,關(guān)聯(lián)節(jié)點(diǎn)將該收到的報(bào)文還原為原來(lái)格式,并向目的移動(dòng)節(jié)點(diǎn)轉(zhuǎn)發(fā)還原后的報(bào)文。全文摘要本發(fā)明屬于無(wú)線自組織網(wǎng)絡(luò)路由
技術(shù)領(lǐng)域:
,具體的說(shuō)是一種用于無(wú)線自組織網(wǎng)絡(luò)與當(dāng)前異構(gòu)基礎(chǔ)設(shè)施網(wǎng)絡(luò)相結(jié)合的混合式網(wǎng)絡(luò)的動(dòng)態(tài)接入的構(gòu)建方案與路由技術(shù),主要解決上述大規(guī)模混合無(wú)線自組織網(wǎng)絡(luò)中移動(dòng)節(jié)點(diǎn)動(dòng)態(tài)接入基礎(chǔ)設(shè)施網(wǎng)絡(luò)與節(jié)點(diǎn)之間端到端通信的消息路由問(wèn)題。本發(fā)明包括1.無(wú)線自組織網(wǎng)絡(luò)與基礎(chǔ)設(shè)施網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)組成;2.移動(dòng)節(jié)點(diǎn)的動(dòng)態(tài)接入方法;3.混合無(wú)線自組織網(wǎng)絡(luò)中移動(dòng)節(jié)點(diǎn)利用結(jié)構(gòu)化接入節(jié)點(diǎn)的路由計(jì)算方法。本發(fā)明在上述構(gòu)建的網(wǎng)絡(luò)結(jié)構(gòu)中,利用P2P資源定位技術(shù)查找和維護(hù)路由信息,從而完成混合網(wǎng)絡(luò)中移動(dòng)節(jié)點(diǎn)之間的路由。本發(fā)明結(jié)構(gòu)簡(jiǎn)單,可支持移動(dòng)節(jié)點(diǎn)接入基礎(chǔ)設(shè)施網(wǎng)絡(luò)的即插即用,可以解決大規(guī)?;旌暇W(wǎng)絡(luò)中節(jié)點(diǎn)路由技術(shù)。文檔編號(hào)H04L12/56GK101110733SQ200710120590公開(kāi)日2008年1月23日申請(qǐng)日期2007年8月21日優(yōu)先權(quán)日2007年8月21日發(fā)明者劉昭屹,威吳,忠周,張兆豐,靖曹申請(qǐng)人:北京航空航天大學(xué)