專利名稱:一種在無(wú)線對(duì)等網(wǎng)絡(luò)中建立通訊鏈路的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及無(wú)線對(duì)等網(wǎng)絡(luò),特別是涉及一種在無(wú)線對(duì)等網(wǎng)絡(luò)中建立通訊鏈路的方法。
背景技術(shù):
一般而言,網(wǎng)絡(luò)從架構(gòu)上被分為客戶端/服務(wù)器(Client-Server)網(wǎng)絡(luò)和對(duì)等連接網(wǎng)絡(luò)(Peer-to-Peer)兩種。所謂對(duì)等連接網(wǎng)絡(luò),是指在網(wǎng)絡(luò)中,設(shè)備之間沒(méi)有中心、主從、或者等級(jí)的區(qū)分,在網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)的地位都是對(duì)等的。每個(gè)節(jié)點(diǎn)既充當(dāng)服務(wù)器,為其他節(jié)點(diǎn)提供服務(wù),同時(shí)也享用其他節(jié)點(diǎn)提供的服務(wù)。網(wǎng)絡(luò)上設(shè)備之間的通訊,僅取決于網(wǎng)絡(luò)狀況、設(shè)備功能和安全許可。對(duì)等網(wǎng)絡(luò)上的設(shè)備也被稱作對(duì)等節(jié)點(diǎn)(Peer)?;趯?duì)等網(wǎng)絡(luò)上的設(shè)備不需要向某一個(gè)設(shè)備進(jìn)行注冊(cè),設(shè)備間的通訊及其服務(wù)調(diào)用也不通過(guò)其它設(shè)備中介。
對(duì)等連接的網(wǎng)絡(luò)與集中控制方式連接的網(wǎng)絡(luò)的區(qū)別是對(duì)等連接網(wǎng)絡(luò)上不具有某一個(gè)設(shè)備,其它設(shè)備需要向它注冊(cè),并且設(shè)備間的通訊也需要通過(guò)它的調(diào)度。在對(duì)等網(wǎng)絡(luò)上,每一個(gè)對(duì)等節(jié)點(diǎn)可以申請(qǐng)其它對(duì)等節(jié)點(diǎn)提供的服務(wù)和資源,也可以成為其它對(duì)等節(jié)點(diǎn)申請(qǐng)服務(wù)和資源的提供者。
對(duì)等連接的網(wǎng)絡(luò)與集中控制方式連接的網(wǎng)絡(luò)相比,具有許多優(yōu)越性。在集中控制方式連接的網(wǎng)絡(luò)上,會(huì)因?yàn)橹行目刂破鞯墓收显斐烧麄€(gè)網(wǎng)絡(luò)的癱瘓。在對(duì)等連接的網(wǎng)絡(luò)環(huán)境下,網(wǎng)絡(luò)上的任何設(shè)備出現(xiàn)故障都不會(huì)對(duì)網(wǎng)絡(luò)造成重大危害,問(wèn)題只會(huì)發(fā)生在局部。因此,對(duì)等連接的網(wǎng)絡(luò)在系統(tǒng)的魯棒性方面具有無(wú)可比擬的優(yōu)越性。另外,對(duì)等網(wǎng)絡(luò)的隨意連接也為搭建一個(gè)臨時(shí)的網(wǎng)絡(luò)環(huán)境,提供了快捷和方便的手段。
與上述的兩種網(wǎng)絡(luò)架構(gòu)相對(duì)應(yīng),無(wú)線局域網(wǎng)也有兩種網(wǎng)絡(luò)架構(gòu)對(duì)等網(wǎng)絡(luò)和結(jié)構(gòu)化網(wǎng)絡(luò)。
結(jié)構(gòu)化網(wǎng)絡(luò)由無(wú)線訪問(wèn)點(diǎn)(Access Point,AP)、無(wú)線工作站以及分布式系統(tǒng)(DSS)構(gòu)成,覆蓋的區(qū)域分基本服務(wù)區(qū)(BSS)和擴(kuò)展服務(wù)區(qū)(ESS)。無(wú)線訪問(wèn)點(diǎn)用于在無(wú)線工作站和其他網(wǎng)絡(luò)之間接收、緩存和轉(zhuǎn)發(fā)數(shù)據(jù)。無(wú)線訪問(wèn)點(diǎn)能夠覆蓋幾十至幾百個(gè)用戶,覆蓋半徑達(dá)上百米。
基本服務(wù)區(qū)由一個(gè)無(wú)線訪問(wèn)點(diǎn)以及與其關(guān)聯(lián)的無(wú)線工作站構(gòu)成,在任何時(shí)候,任何無(wú)線工作站都與該無(wú)線訪問(wèn)點(diǎn)關(guān)聯(lián)。換句話說(shuō),一個(gè)無(wú)線訪問(wèn)點(diǎn)所覆蓋的微蜂窩區(qū)域就是基本服務(wù)區(qū)。無(wú)線工作站與無(wú)線訪問(wèn)點(diǎn)關(guān)聯(lián)采用AP的基本服務(wù)區(qū)標(biāo)示符(BSSID),在802.11中,BSSID是AP的MAC地址。
擴(kuò)展服務(wù)區(qū)是指由多個(gè)AP以及連接它們的分布式系統(tǒng)組成的結(jié)構(gòu)化網(wǎng)絡(luò),所有AP必需共享同一個(gè)擴(kuò)展服務(wù)區(qū)標(biāo)示符(ESSID),也可以說(shuō)擴(kuò)展服務(wù)區(qū)ESS中包含多個(gè)BSS。
在無(wú)線結(jié)構(gòu)化網(wǎng)絡(luò)中,通常采用無(wú)線訪問(wèn)點(diǎn)或者路由器來(lái)擴(kuò)大網(wǎng)絡(luò)的覆蓋范圍,下面是無(wú)線結(jié)構(gòu)化網(wǎng)絡(luò)的幾種組網(wǎng)方式。
在企業(yè)級(jí)應(yīng)用環(huán)境中,往往采用多個(gè)無(wú)線訪問(wèn)點(diǎn)覆蓋一片較大區(qū)域的組網(wǎng)方式。為了能夠做到客戶端在這片區(qū)域內(nèi)的無(wú)縫漫游,每個(gè)相鄰的無(wú)線訪問(wèn)點(diǎn)的覆蓋范圍都需要有一定程度的重疊。重疊區(qū)域內(nèi)的無(wú)線電信號(hào)如果頻道也重疊,勢(shì)必會(huì)造成沖突,影響到網(wǎng)絡(luò)傳輸速率,因此,相鄰無(wú)線訪問(wèn)點(diǎn)通常采用不重疊頻道的方法來(lái)避免干擾。
另外一種組網(wǎng)方式是每個(gè)基本服務(wù)區(qū)的無(wú)線訪問(wèn)點(diǎn)和有線網(wǎng)絡(luò)連接,通過(guò)有線網(wǎng)絡(luò)將多個(gè)基本服務(wù)區(qū)連接成一個(gè)擴(kuò)展服務(wù)區(qū)。
還有一種組網(wǎng)方式是利用一對(duì)無(wú)線訪問(wèn)點(diǎn)連接兩個(gè)無(wú)線局域網(wǎng)網(wǎng)段;或者是利用無(wú)線中繼器在通訊路徑的中間轉(zhuǎn)發(fā)數(shù)據(jù),從而延伸系統(tǒng)的覆蓋范圍的組網(wǎng)方式。
無(wú)線對(duì)等網(wǎng)絡(luò)也稱Ad-hoc網(wǎng)絡(luò),它覆蓋的服務(wù)區(qū)被稱為獨(dú)立基本服務(wù)區(qū)。對(duì)等網(wǎng)絡(luò)用于一臺(tái)無(wú)線工作站和另一臺(tái)或多臺(tái)其他無(wú)線工作站直接通訊。在無(wú)線對(duì)等網(wǎng)絡(luò)中,兩個(gè)對(duì)等節(jié)點(diǎn)間必須有最低強(qiáng)度的電磁覆蓋,才能夠連接起來(lái)。因此對(duì)等網(wǎng)絡(luò)只能用于少數(shù)用戶的組網(wǎng)環(huán)境,比如4至8個(gè)用戶,并且他們離得足夠近。
由于無(wú)線網(wǎng)絡(luò)采用電磁波作為載體,電磁波能夠穿過(guò)天花板,玻璃,樓層,磚,墻等物體,但是同時(shí)電磁波的強(qiáng)度通過(guò)這些障礙之后會(huì)被衰減。這種電磁波強(qiáng)度的衰減,可能導(dǎo)致兩個(gè)對(duì)等節(jié)點(diǎn)間失去最低強(qiáng)度的電磁覆蓋,從而失去連接。
在圖1上半部分顯示的情況是設(shè)備B、C都在設(shè)備A的發(fā)送范圍內(nèi),由于建筑物墻壁的阻擋,造成信號(hào)衰減,導(dǎo)致設(shè)備C無(wú)法與設(shè)備A直接點(diǎn)對(duì)點(diǎn)的連接;在圖1下半部分顯示的第二種情況是設(shè)備A的覆蓋范圍只能達(dá)到設(shè)備B,但不能到達(dá)設(shè)備C,同樣設(shè)備C的覆蓋范圍只能到達(dá)設(shè)備B,不能到達(dá)設(shè)備A,在此情況下,無(wú)法實(shí)現(xiàn)設(shè)備A與設(shè)備C的直接點(diǎn)對(duì)點(diǎn)的連接。
對(duì)于現(xiàn)有無(wú)線對(duì)等連接網(wǎng)絡(luò)來(lái)說(shuō),在圖1所示的兩種情況下如果要完成設(shè)備A和C的連接,需要無(wú)線對(duì)等網(wǎng)絡(luò)中的對(duì)等節(jié)點(diǎn)支持路由功能。如果網(wǎng)絡(luò)中的對(duì)等節(jié)點(diǎn)不支持路由功能,則設(shè)備A和C無(wú)法完成連接。同時(shí),支持路由功能的無(wú)線對(duì)等網(wǎng)絡(luò)雖然可以實(shí)現(xiàn)設(shè)備A和設(shè)備C的連接,但是整個(gè)連接過(guò)程是通過(guò)網(wǎng)絡(luò)中的對(duì)等節(jié)點(diǎn)自主完成的,無(wú)法對(duì)傳輸?shù)陌踩缘忍岢龈叩囊蟆,F(xiàn)有技術(shù)中,沒(méi)有在無(wú)線對(duì)等網(wǎng)絡(luò)的兩個(gè)對(duì)等節(jié)點(diǎn)間建立通訊鏈路的方法。
因此,需要為無(wú)線對(duì)等網(wǎng)絡(luò)提供一種在兩個(gè)節(jié)點(diǎn)間建立通訊鏈路的方法,該方法不僅可以在兩個(gè)沒(méi)有直接電磁波覆蓋的節(jié)點(diǎn)之間建立連接(無(wú)論該無(wú)線對(duì)等網(wǎng)絡(luò)內(nèi)的對(duì)等節(jié)點(diǎn)是否支持路由功能),而且可以通過(guò)該通訊鏈路通訊來(lái)提高傳輸?shù)陌踩浴?br>
發(fā)明內(nèi)容
鑒于上述現(xiàn)有技術(shù)所存在的問(wèn)題,本發(fā)明的目的是提供一種在無(wú)線對(duì)等網(wǎng)絡(luò)中建立通訊鏈路的方法,通過(guò)該方法,不僅可以在兩個(gè)沒(méi)有直接電磁波覆蓋的節(jié)點(diǎn)之間建立連接,而且可以通過(guò)該通訊鏈路通訊來(lái)提高傳輸?shù)陌踩浴?br>
本發(fā)明的目的是通過(guò)以下技術(shù)方案實(shí)現(xiàn)的本發(fā)明提供一種無(wú)線對(duì)等網(wǎng)絡(luò)兩個(gè)對(duì)等節(jié)點(diǎn)間建立通訊鏈路的方法,包括以下步驟A、源對(duì)等節(jié)點(diǎn)創(chuàng)建和發(fā)送連接請(qǐng)求消息,并直接或者通過(guò)中繼對(duì)等節(jié)點(diǎn)的轉(zhuǎn)發(fā)到達(dá)目標(biāo)對(duì)等節(jié)點(diǎn);B、目標(biāo)對(duì)等節(jié)點(diǎn)收到連接請(qǐng)求消息后,創(chuàng)建和發(fā)送連接反饋消息,并按照連接請(qǐng)求消息到達(dá)目標(biāo)對(duì)等節(jié)點(diǎn)的路徑,返回到源對(duì)等節(jié)點(diǎn),在源對(duì)等節(jié)點(diǎn)和目標(biāo)對(duì)等節(jié)點(diǎn)間建立通訊鏈路。
所述的步驟A包括A1、源對(duì)等節(jié)點(diǎn)創(chuàng)建和發(fā)送連接請(qǐng)求消息;A2、收到的連接請(qǐng)求消息的對(duì)等節(jié)點(diǎn)判斷自身是目標(biāo)對(duì)等節(jié)點(diǎn)還是中繼對(duì)等節(jié)點(diǎn),如果是目標(biāo)對(duì)等節(jié)點(diǎn)則繼續(xù)步驟B,如果是中繼對(duì)等節(jié)點(diǎn),則創(chuàng)建并轉(zhuǎn)發(fā)連接請(qǐng)求消息。
所述步驟B包括B1、目標(biāo)對(duì)等節(jié)點(diǎn)創(chuàng)建和發(fā)送連接反饋消息,在消息中指定處理該消息的對(duì)等節(jié)點(diǎn)的標(biāo)識(shí);B2、對(duì)等節(jié)點(diǎn)判斷是否接受收到的連接反饋消息,如果是則保存該消息;如果是中繼對(duì)等節(jié)點(diǎn),則創(chuàng)建并發(fā)送連接反饋消息,并在消息中指定處理該消息的對(duì)等節(jié)點(diǎn)的標(biāo)識(shí),如果是源對(duì)等節(jié)點(diǎn),結(jié)束本流程。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果在于通過(guò)在兩個(gè)對(duì)等節(jié)點(diǎn)間的通訊鏈路的建立,可以避免由于障礙物、網(wǎng)絡(luò)衰減等因素造成的信號(hào)死角,增加整個(gè)網(wǎng)絡(luò)的聯(lián)通性能,而且可以通過(guò)該通訊鏈路來(lái)提高傳輸?shù)陌踩浴?br>
圖1所示為無(wú)線對(duì)等網(wǎng)絡(luò)中利用現(xiàn)有技術(shù)實(shí)現(xiàn)連接存在困難情形的示意圖;圖2所示為本發(fā)明源對(duì)等節(jié)點(diǎn)發(fā)送連接請(qǐng)求消息的流程圖;圖3所示為本發(fā)明判斷是目標(biāo)對(duì)等節(jié)點(diǎn)還是中繼對(duì)等節(jié)點(diǎn)的流程圖;圖4所示為本發(fā)明中繼對(duì)等節(jié)點(diǎn)保存和轉(zhuǎn)發(fā)連接請(qǐng)求消息的流程圖;圖5所示為本發(fā)明目標(biāo)對(duì)等節(jié)點(diǎn)保存連接請(qǐng)求消息和發(fā)送連接反饋消息的流程圖;圖6所示為本發(fā)明判斷是否保存連接反饋消息的流程圖;圖7所示為本發(fā)明中繼對(duì)等節(jié)點(diǎn)保存和轉(zhuǎn)發(fā)連接反饋消息的流程圖。
具體實(shí)施例方式
在后述的具體實(shí)施例中,用到如下定義的概念當(dāng)一個(gè)對(duì)等節(jié)點(diǎn)發(fā)起連接請(qǐng)求時(shí),該對(duì)等節(jié)點(diǎn)被稱為源對(duì)等節(jié)點(diǎn)(SourcePeer,SP);接收到連接請(qǐng)求,并符合連接請(qǐng)求條件的對(duì)等節(jié)點(diǎn),被稱為目標(biāo)對(duì)等節(jié)點(diǎn)(Destination Peer,DP);接收到連接請(qǐng)求,不符合連接請(qǐng)求條件,可做為中間橋梁轉(zhuǎn)發(fā)連接請(qǐng)求消息的對(duì)等節(jié)點(diǎn)被稱為中繼對(duì)等節(jié)點(diǎn)(RelayPeer,RP)。
組標(biāo)識(shí)(Group ID)是一個(gè)對(duì)等網(wǎng)絡(luò)中的識(shí)別碼,持有相同組標(biāo)識(shí)的設(shè)備被認(rèn)為可以聯(lián)通,該組標(biāo)識(shí)可以通過(guò)手工或者自動(dòng)分配獲得。
對(duì)等節(jié)點(diǎn)標(biāo)識(shí)(Peer ID)是對(duì)等節(jié)點(diǎn)的標(biāo)識(shí)符,對(duì)等節(jié)點(diǎn)IP(Peer IP)是對(duì)等節(jié)點(diǎn)的網(wǎng)絡(luò)地址。
本發(fā)明的核心思想是,如果源對(duì)等節(jié)點(diǎn)發(fā)送的連接請(qǐng)求消息不能直接到達(dá)目標(biāo)對(duì)等節(jié)點(diǎn),則符合轉(zhuǎn)發(fā)條件的對(duì)等節(jié)點(diǎn)收到連接請(qǐng)求消息后作為中繼對(duì)等節(jié)點(diǎn)保存該連接請(qǐng)求消息后轉(zhuǎn)發(fā)該消息,直到該消息到達(dá)目標(biāo)對(duì)等節(jié)點(diǎn),目標(biāo)對(duì)等節(jié)點(diǎn)隨后發(fā)送連接反饋消息,符合轉(zhuǎn)發(fā)條件的對(duì)等節(jié)點(diǎn)收到連接反饋消息后作為中繼對(duì)等節(jié)點(diǎn)保存該連接反饋消息后轉(zhuǎn)發(fā)該消息,直到該消息沿著連接請(qǐng)求消息到達(dá)目標(biāo)對(duì)等節(jié)點(diǎn)的路徑,返回到源對(duì)等節(jié)點(diǎn);如果源對(duì)等節(jié)點(diǎn)發(fā)送的連接結(jié)請(qǐng)求消息直接到達(dá)目標(biāo)對(duì)等節(jié)點(diǎn),則目標(biāo)對(duì)等節(jié)點(diǎn)發(fā)送的連接反饋消息直接返回到源對(duì)等節(jié)點(diǎn),從而在源對(duì)等節(jié)點(diǎn)和目標(biāo)對(duì)等節(jié)點(diǎn)之間直接或者間接地建立一個(gè)通訊鏈路。
上述的連接請(qǐng)求消息的內(nèi)容包括消息類型,消息序號(hào),請(qǐng)求的服務(wù)或者目標(biāo)對(duì)等節(jié)點(diǎn)的標(biāo)識(shí)信息,生成該連接請(qǐng)求消息對(duì)等節(jié)點(diǎn)的IP;此外,為了提高安全性,還可以進(jìn)一步包括與安全驗(yàn)證相關(guān)的內(nèi)容,如組標(biāo)識(shí),生成該連接請(qǐng)求消息的對(duì)等節(jié)點(diǎn)的ID。其中目標(biāo)對(duì)等節(jié)點(diǎn)的標(biāo)識(shí)信息是指目標(biāo)對(duì)等節(jié)點(diǎn)的ID或者IP等。
上述的連接反饋消息的內(nèi)容包括消息類型,消息序號(hào),生成連接反饋消息對(duì)等節(jié)點(diǎn)的IP以及需要接收處理該消息的對(duì)等節(jié)點(diǎn)的IP;此外,為了傳輸?shù)陌踩?,還可以進(jìn)一步包括與安全驗(yàn)證相關(guān)的內(nèi)容,如組標(biāo)識(shí),生成該消息對(duì)等節(jié)點(diǎn)的ID,以及提供的服務(wù)或者目標(biāo)節(jié)點(diǎn)的標(biāo)識(shí)信息。
消息序號(hào)由源對(duì)等節(jié)點(diǎn)產(chǎn)生,具有唯一性,并在連接請(qǐng)求消息轉(zhuǎn)發(fā)以及連接反饋消息的生成和轉(zhuǎn)發(fā)過(guò)程中得以復(fù)制,用來(lái)區(qū)分不同的連接請(qǐng)求消息和連接反饋消息。生成消息序號(hào)的一種方式是IP+序號(hào),通過(guò)該生成方式保持消息序號(hào)的唯一性,例如在IPv4中,IP為由4個(gè)字節(jié)共32位的數(shù)字串組成。比如129.45.8.22,可以成為12945822,則消息序號(hào)可以是12945822000到12945822999中的一個(gè)值。
為對(duì)本發(fā)明有進(jìn)一步的了解,下面將結(jié)合附圖對(duì)本發(fā)明所述的方法進(jìn)行詳細(xì)的說(shuō)明。
本發(fā)明所述方法包括以下步驟步驟11,源對(duì)等節(jié)點(diǎn)創(chuàng)建和發(fā)送連接請(qǐng)求消息。
如圖2所示,源對(duì)等節(jié)點(diǎn)創(chuàng)建連接請(qǐng)求消息,生成消息序號(hào),將消息序號(hào)填入到消息中,將消息的類型設(shè)為連接請(qǐng)求消息,并在連接請(qǐng)求消息中填入請(qǐng)求的服務(wù)或者目標(biāo)對(duì)等節(jié)點(diǎn)的標(biāo)識(shí)信息,自身的IP和ID,組標(biāo)識(shí);然后,在源對(duì)等節(jié)點(diǎn)的請(qǐng)求消息隊(duì)列中保存該連接請(qǐng)求消息,然后發(fā)送連接請(qǐng)求消息。
步驟12,收到連接請(qǐng)求消息的對(duì)等節(jié)點(diǎn)判斷自身為該連接請(qǐng)求消息的目標(biāo)對(duì)等節(jié)點(diǎn)還是中繼對(duì)等節(jié)點(diǎn)。
對(duì)等節(jié)點(diǎn)收到連接請(qǐng)求消息后,把自身的信息和該連接請(qǐng)求消息中包含的信息進(jìn)行比較,判斷自身為該連接請(qǐng)求消息的目標(biāo)對(duì)等節(jié)點(diǎn)還是中繼對(duì)等節(jié)點(diǎn),如圖3所示,具體步驟包括對(duì)等節(jié)點(diǎn)檢查該消息的消息類型,確定為連接請(qǐng)求消息;對(duì)等節(jié)點(diǎn)檢驗(yàn)自身的組標(biāo)識(shí)是否和該消息中的組標(biāo)識(shí)相符合,如果不符合,則說(shuō)明該對(duì)等節(jié)點(diǎn)不符合該連接請(qǐng)求消息要求的聯(lián)通性要求,則收到連接請(qǐng)求消息的對(duì)等節(jié)點(diǎn)結(jié)束對(duì)該消息的處理;如果符合,則繼續(xù)。
對(duì)等節(jié)點(diǎn)判斷是否已經(jīng)處理過(guò)相同的連接請(qǐng)求消息。實(shí)現(xiàn)該判斷的方法有多種,一種實(shí)現(xiàn)的方法是,檢查請(qǐng)求消息隊(duì)列中是否存在具有相同消息序號(hào)的連接請(qǐng)求消息,如果存在,則說(shuō)明該對(duì)等節(jié)點(diǎn)已經(jīng)處理過(guò)該連接請(qǐng)求消息,不能重復(fù)處理該消息,此時(shí),收到連接請(qǐng)求消息的對(duì)等節(jié)點(diǎn)結(jié)束對(duì)該消息的處理;如果不存在,則說(shuō)明該對(duì)等節(jié)點(diǎn)尚未處理過(guò)該連接請(qǐng)求消息,繼續(xù)下面的步驟。
還有一種實(shí)現(xiàn)的方法是,每個(gè)對(duì)等節(jié)點(diǎn)維護(hù)一個(gè)請(qǐng)求消息標(biāo)記隊(duì)列,當(dāng)它處理過(guò)一個(gè)連接請(qǐng)求消息后,則在該請(qǐng)求消息標(biāo)記隊(duì)列中保存可以唯一標(biāo)識(shí)該連接請(qǐng)求消息的標(biāo)記,例如該消息的消息序號(hào)和一個(gè)用來(lái)表明是連接請(qǐng)求消息還是連接反饋消息的位。當(dāng)收到連接請(qǐng)求消息時(shí),檢查該消息標(biāo)記隊(duì)列中是否存在該連接請(qǐng)求消息的標(biāo)記,如果存在,則說(shuō)明該對(duì)等節(jié)點(diǎn)已經(jīng)處理過(guò)該連接請(qǐng)求消息,不能重復(fù)處理該消息,此時(shí),收到連接請(qǐng)求消息的對(duì)等節(jié)點(diǎn)結(jié)束對(duì)該消息的處理;如果不存在,則說(shuō)明該對(duì)等節(jié)點(diǎn)尚未處理過(guò)該連接請(qǐng)求消息,繼續(xù)下面的步驟。
對(duì)等節(jié)點(diǎn)把該消息包含的請(qǐng)求的服務(wù)或者目標(biāo)對(duì)等節(jié)點(diǎn)的標(biāo)識(shí)信息和自身提供的服務(wù)或者標(biāo)識(shí)信息相比較,判斷二者是否符合。如果符合,說(shuō)明該對(duì)等節(jié)點(diǎn)就是該連接請(qǐng)求消息請(qǐng)求的節(jié)點(diǎn),為目標(biāo)對(duì)等節(jié)點(diǎn),繼續(xù)執(zhí)行步驟14,否則,該對(duì)等節(jié)點(diǎn)可以作為中繼對(duì)等節(jié)點(diǎn),繼續(xù)執(zhí)行中繼對(duì)等節(jié)點(diǎn)保存和轉(zhuǎn)發(fā)連接請(qǐng)求消息的步驟13;在上述步驟中,對(duì)連接請(qǐng)求消息位的判斷和對(duì)組標(biāo)識(shí)是否符合的判斷的順序可以互換,并不影響執(zhí)行的結(jié)果。
步驟13,中繼對(duì)等節(jié)點(diǎn)保存和轉(zhuǎn)發(fā)連接請(qǐng)求消息。
如圖4所示,中繼對(duì)等節(jié)點(diǎn)在請(qǐng)求消息隊(duì)列中保存收到的連接請(qǐng)求消息,然后建立中繼連接請(qǐng)求消息,把保存的連接請(qǐng)求消息中的消息序號(hào),消息類型,組標(biāo)識(shí),請(qǐng)求的服務(wù)或者目標(biāo)對(duì)等節(jié)點(diǎn)的標(biāo)識(shí)信息拷貝到中繼連接請(qǐng)求消息中,并填入自身的IP和ID,然后發(fā)送連接請(qǐng)求消息。如果對(duì)等節(jié)點(diǎn)還維護(hù)了請(qǐng)求消息標(biāo)記隊(duì)列,則在標(biāo)記隊(duì)列中記錄該連接請(qǐng)求消息的標(biāo)記。
步驟14,目標(biāo)對(duì)等節(jié)點(diǎn)保存收到的連接請(qǐng)求消息和發(fā)送連接反饋消息。
如圖5所示,目標(biāo)對(duì)等節(jié)點(diǎn)在請(qǐng)求消息隊(duì)列保存收到的連接請(qǐng)求消息,然后建立連接反饋消息,將消息類型設(shè)為連接反饋消息,在連接反饋消息中填入組標(biāo)識(shí)、自身的IP和ID,提供的服務(wù)或者自身的標(biāo)識(shí)信息,并將連接請(qǐng)求消息中包含的消息序號(hào)和對(duì)等節(jié)點(diǎn)的IP填入到連接反饋消息中,具有該IP的對(duì)等節(jié)點(diǎn)就是需要處理該連接反饋消息的對(duì)等節(jié)點(diǎn);在請(qǐng)求消息隊(duì)列中保存該連接反饋消息,然后發(fā)送該連接反饋消息。如果對(duì)等節(jié)點(diǎn)還維護(hù)了請(qǐng)求消息標(biāo)記隊(duì)列,則在標(biāo)記隊(duì)列中記錄上述連接請(qǐng)求消息和連接反饋消息的標(biāo)記。
步驟15,收到連接反饋消息的對(duì)等節(jié)點(diǎn)判斷是否為指定處理該消息的對(duì)等節(jié)點(diǎn)。
對(duì)等節(jié)點(diǎn)收到連接反饋消息后,由于連接反饋消息中指定了需要處理該消息的對(duì)等節(jié)點(diǎn)的IP,所以可以通過(guò)和自身的IP相比較,來(lái)判斷是否為指定的處理該消息的對(duì)等節(jié)點(diǎn),具體步驟如圖6所示,包括對(duì)等節(jié)點(diǎn)檢查收到消息中的消息類型,確定為連接反饋消息;對(duì)等節(jié)點(diǎn)檢驗(yàn)自身的組標(biāo)識(shí)是否和該消息中的組標(biāo)識(shí)相符合,如果不符合則說(shuō)明不符合該連接反饋消息要求的聯(lián)通性,則收到連接反饋消息的對(duì)等節(jié)點(diǎn)結(jié)束對(duì)該消息的處理,如果符合則繼續(xù);對(duì)等節(jié)點(diǎn)判斷是否已經(jīng)處理過(guò)相同的連接請(qǐng)求消息,如果尚未處理過(guò),則說(shuō)明該對(duì)等節(jié)點(diǎn)尚未轉(zhuǎn)發(fā)過(guò)連接請(qǐng)求消息,也就不會(huì)是連接反饋消息的目的節(jié)點(diǎn),則收到連接反饋消息的對(duì)等節(jié)點(diǎn)結(jié)束對(duì)該消息的處理,如果已經(jīng)處理過(guò),則繼續(xù)執(zhí)行下述的判斷。實(shí)現(xiàn)的方法可以是檢查請(qǐng)求消息隊(duì)列中是否具有相同消息序號(hào)的連接請(qǐng)求消息,或者在對(duì)等節(jié)點(diǎn)維護(hù)請(qǐng)求消息標(biāo)記隊(duì)列的情況下,檢查是否存在該連接請(qǐng)求消息的標(biāo)記。
對(duì)等節(jié)點(diǎn)判斷是否已經(jīng)處理過(guò)相同的連接反饋消息,如果已經(jīng)處理過(guò),則說(shuō)明該對(duì)等節(jié)點(diǎn)已經(jīng)轉(zhuǎn)發(fā)過(guò)連接反饋消息,不能重復(fù)處理該連接反饋消息,此時(shí),收到連接反饋消息的對(duì)等節(jié)點(diǎn)結(jié)束對(duì)該消息的處理;如果沒(méi)有處理過(guò),則繼續(xù)。實(shí)現(xiàn)的方法可以是檢查請(qǐng)求消息隊(duì)列中是否具有相同消息序號(hào)的連接反饋消息,或者在對(duì)等節(jié)點(diǎn)維護(hù)請(qǐng)求消息標(biāo)記隊(duì)列的情況下,檢查是否存在該連接反饋消息的標(biāo)記。
對(duì)等節(jié)點(diǎn)檢驗(yàn)自身的IP是否和該消息中請(qǐng)求的IP相符合,如果不符合則說(shuō)明該對(duì)等節(jié)點(diǎn)不是該連接反饋消息的指定處理該消息的對(duì)等節(jié)點(diǎn),則收到連接反饋消息的對(duì)等節(jié)點(diǎn)結(jié)束對(duì)該消息的處理;如果符合則繼續(xù)執(zhí)行步驟16。
在上述步驟中,對(duì)連接請(qǐng)求消息位和連接反饋消息位的判斷以及對(duì)組標(biāo)識(shí)是否符合的判斷的順序可以互換,并不影響執(zhí)行的結(jié)果。
步驟16,對(duì)等節(jié)點(diǎn)判斷自身是中繼對(duì)等節(jié)點(diǎn)還是源對(duì)等節(jié)點(diǎn)。
對(duì)等節(jié)點(diǎn)判斷保存在請(qǐng)求消息隊(duì)列中的對(duì)應(yīng)連接請(qǐng)求消息的IP是否和自身的IP相同,如果不同則是中繼對(duì)等節(jié)點(diǎn),繼續(xù)執(zhí)行步驟17,如果相同則是源對(duì)等節(jié)點(diǎn),繼續(xù)執(zhí)行步驟18。
步驟17,中繼對(duì)等節(jié)點(diǎn)保存并轉(zhuǎn)發(fā)連接反饋消息。
如圖7所示,中繼對(duì)等節(jié)點(diǎn)在請(qǐng)求消息中繼隊(duì)列中的連接請(qǐng)求消息對(duì)應(yīng)位置保存該連接反饋消息;建立新的連接反饋消息,向連接反饋消息中填入保存的對(duì)應(yīng)連接請(qǐng)求消息的消息序號(hào)和源對(duì)等節(jié)點(diǎn)IP、請(qǐng)求的服務(wù)或者目標(biāo)對(duì)等節(jié)點(diǎn)的標(biāo)識(shí)信息,自身的IP和ID,組標(biāo)識(shí);發(fā)送連接反饋消息。如果對(duì)等節(jié)點(diǎn)還維護(hù)了請(qǐng)求消息標(biāo)記隊(duì)列,則在標(biāo)記隊(duì)列中記錄連接反饋消息的標(biāo)記。
步驟18,源對(duì)等節(jié)點(diǎn)保存連接反饋消息。
源對(duì)等節(jié)點(diǎn)保存連接反饋消息,完成與目標(biāo)對(duì)等節(jié)點(diǎn)的通訊鏈路的建立。如果對(duì)等節(jié)點(diǎn)還維護(hù)了請(qǐng)求消息標(biāo)記隊(duì)列,則在標(biāo)記隊(duì)列中記錄連接反饋消息的標(biāo)記。
通過(guò)如上的描述可以看出,對(duì)等節(jié)點(diǎn)在接收連接請(qǐng)求消息和連接反饋消息時(shí),通過(guò)對(duì)消息中組標(biāo)識(shí)的檢查,可以保證組成通訊鏈路的節(jié)點(diǎn)都具有指定的組標(biāo)識(shí),從而提高通訊鏈路的安全性和可靠性;但是,如果對(duì)等網(wǎng)絡(luò)中不需要進(jìn)行組標(biāo)識(shí)的檢驗(yàn)時(shí),在消息中也可以不添加組標(biāo)識(shí)信息,在步驟中也省略對(duì)組標(biāo)識(shí)的檢驗(yàn),并不影響通訊鏈路的建立。連接請(qǐng)求消息和連接反饋消息中的對(duì)等節(jié)點(diǎn)的ID項(xiàng),在對(duì)等網(wǎng)絡(luò)中的對(duì)等節(jié)點(diǎn)不需要ID驗(yàn)證時(shí),也可以省略。
在上述步驟中,可以限制每個(gè)對(duì)等節(jié)點(diǎn)只能接收或者發(fā)送一個(gè)連接請(qǐng)求消息以及對(duì)應(yīng)的連接反饋消息,則每個(gè)對(duì)等節(jié)點(diǎn)同時(shí)只能維護(hù)一條通訊鏈路。
當(dāng)源對(duì)等節(jié)點(diǎn)到目標(biāo)對(duì)等節(jié)點(diǎn)的鏈路建立后,或者源對(duì)等節(jié)點(diǎn)需要釋放網(wǎng)絡(luò)中相應(yīng)的資源時(shí),源對(duì)等節(jié)點(diǎn)則發(fā)送取消連接消息,在取消連接消息中填入消息序號(hào);收到取消連接消息的對(duì)等節(jié)點(diǎn)檢查消息隊(duì)列中是否存在和該取消連接消息符合的連接請(qǐng)求消息,如果不存在,則結(jié)束,否則釋放相關(guān)的資源并轉(zhuǎn)發(fā)取消連接消息。
本發(fā)明的一個(gè)實(shí)施例是通過(guò)在連接請(qǐng)求消息中設(shè)置時(shí)間戳,控制連接的時(shí)間。源對(duì)等節(jié)點(diǎn)在建立連接請(qǐng)求消息的時(shí)候,設(shè)置連接結(jié)束的時(shí)間戳,該時(shí)間戳在中繼對(duì)等節(jié)點(diǎn)的轉(zhuǎn)發(fā)的連接請(qǐng)求消息中得以復(fù)制,當(dāng)前時(shí)間一旦超過(guò)默認(rèn)連接時(shí)間,源對(duì)等節(jié)點(diǎn)將不再接收連接反饋消息,同時(shí),各個(gè)對(duì)等節(jié)點(diǎn)將釋放與該連接請(qǐng)求相關(guān)的資源。
當(dāng)源對(duì)等節(jié)點(diǎn)請(qǐng)求的服務(wù)有多個(gè)目標(biāo)對(duì)等節(jié)點(diǎn)可以提供時(shí),源對(duì)等節(jié)點(diǎn)可以根據(jù)自己的需要去選擇一個(gè)優(yōu)選的通訊鏈路,為實(shí)現(xiàn)這個(gè)目的,本發(fā)明的另外一個(gè)實(shí)施例是,源對(duì)等節(jié)點(diǎn)建立一個(gè)連接反饋消息隊(duì)列,當(dāng)收到目標(biāo)對(duì)等節(jié)點(diǎn)的連接反饋消息時(shí),并不立即將連接反饋消息保存在請(qǐng)求消息隊(duì)列中,而是把所收到的所有符合條件的連接反饋消息都存儲(chǔ)在連接反饋消息隊(duì)列中,并根據(jù)一定的條件,從中選擇一個(gè)優(yōu)選的目標(biāo)對(duì)等對(duì)等節(jié)點(diǎn),然后再將選中的連接反饋消息保存在請(qǐng)求消息隊(duì)列中。選擇的條件可以是目標(biāo)對(duì)等節(jié)點(diǎn)與源對(duì)等節(jié)點(diǎn)建立通訊鏈路經(jīng)過(guò)的對(duì)等節(jié)點(diǎn)的個(gè)數(shù)條件。
根據(jù)本發(fā)明的上述實(shí)施例,還可以在源對(duì)等節(jié)點(diǎn)和目標(biāo)對(duì)等節(jié)點(diǎn)建立通訊鏈路后,對(duì)鏈路上的對(duì)等節(jié)點(diǎn)臨時(shí)采用特殊的組標(biāo)識(shí),以提高通訊的私密性。
以上所述,僅為本發(fā)明較佳的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種無(wú)線對(duì)等網(wǎng)絡(luò)兩個(gè)對(duì)等節(jié)點(diǎn)間建立通訊鏈路的方法,該方法包括以下步驟A、源對(duì)等節(jié)點(diǎn)創(chuàng)建和發(fā)送連接請(qǐng)求消息,并直接或者通過(guò)中繼對(duì)等節(jié)點(diǎn)的轉(zhuǎn)發(fā)到達(dá)目標(biāo)對(duì)等節(jié)點(diǎn);B、目標(biāo)對(duì)等節(jié)點(diǎn)收到連接請(qǐng)求消息后,創(chuàng)建和發(fā)送連接反饋消息,并按照連接請(qǐng)求消息到達(dá)目標(biāo)對(duì)等節(jié)點(diǎn)的路徑,返回到源對(duì)等節(jié)點(diǎn),在源對(duì)等節(jié)點(diǎn)和目標(biāo)對(duì)等節(jié)點(diǎn)間建立通訊鏈路。
2.按照權(quán)利要求1所述的方法,其特征在于,所述的步驟A包括A1、源對(duì)等節(jié)點(diǎn)創(chuàng)建和發(fā)送連接請(qǐng)求消息;A2、收到的連接請(qǐng)求消息的對(duì)等節(jié)點(diǎn)判斷自身是目標(biāo)對(duì)等節(jié)點(diǎn)還是中繼對(duì)等節(jié)點(diǎn),如果是目標(biāo)對(duì)等節(jié)點(diǎn)則繼續(xù)步驟B,如果是中繼對(duì)等節(jié)點(diǎn),則創(chuàng)建并轉(zhuǎn)發(fā)連接請(qǐng)求消息。
3.按照權(quán)利要求1所述的方法,其特征在于,所述步驟B包括B1、目標(biāo)對(duì)等節(jié)點(diǎn)創(chuàng)建和發(fā)送連接反饋消息,在消息中指定處理該消息的對(duì)等節(jié)點(diǎn)的標(biāo)識(shí);B2、對(duì)等節(jié)點(diǎn)判斷是否接受收到的連接反饋消息,如果是則保存該消息;如果是中繼對(duì)等節(jié)點(diǎn),則創(chuàng)建并發(fā)送連接反饋消息,并在消息中指定處理該消息的對(duì)等節(jié)點(diǎn)的標(biāo)識(shí),如果是源對(duì)等節(jié)點(diǎn),結(jié)束本流程。
4.按照權(quán)利要求1或2或3所述的方法,其特征在于,對(duì)等節(jié)點(diǎn)上設(shè)有連接請(qǐng)求消息標(biāo)記和連接反饋消息標(biāo)記,當(dāng)對(duì)等節(jié)點(diǎn)發(fā)出連接請(qǐng)求消息/連接反饋消息后,記錄相應(yīng)的連接請(qǐng)求消息標(biāo)記/連接反饋消息標(biāo)記,并對(duì)隨后收到的相同的連接請(qǐng)求消息/連接反饋消息不予處理。
5.按照權(quán)利要求1或2或3所述的方法,其特征在于,連接請(qǐng)求消息和連接反饋消息中包含組標(biāo)識(shí)信息,對(duì)等節(jié)點(diǎn)只處理和自身具有相同組標(biāo)識(shí)的消息,組標(biāo)識(shí)不同則結(jié)束處理。
6.按照權(quán)利要求1或2或3所述的方法,其特征在于,連接請(qǐng)求消息中包含時(shí)間戳,如果在規(guī)定的時(shí)間內(nèi)無(wú)法建立通訊鏈路,則保存該連接請(qǐng)求消息的對(duì)等節(jié)點(diǎn)釋放相關(guān)資源。
7.按照權(quán)利要求1或2或3所述的方法,其特征在于,源對(duì)等節(jié)點(diǎn)建立連接反饋消息隊(duì)列,保存多個(gè)目標(biāo)對(duì)等節(jié)點(diǎn)的連接反饋消息。
8.按照權(quán)利要求7所述的方法,其特征在于,源對(duì)等節(jié)點(diǎn)選擇連接反饋消息隊(duì)列中到達(dá)目標(biāo)對(duì)等節(jié)點(diǎn)節(jié)點(diǎn)最少的鏈路建立通訊鏈路。
9.按照權(quán)利要求1或2或3所述的方法,其特征在于,在源對(duì)等節(jié)點(diǎn)和目標(biāo)對(duì)等節(jié)點(diǎn)間的通訊鏈路建立后,將鏈路上所有對(duì)等節(jié)點(diǎn)的組標(biāo)識(shí)更改為預(yù)定的組標(biāo)識(shí)。
10.按照權(quán)利要求1或2或3所述的方法,其特征在于,在步驟B之后進(jìn)一步包括C、源對(duì)等節(jié)點(diǎn)發(fā)送取消連接消息,收到取消連接消息的對(duì)等節(jié)點(diǎn)判斷是否符合取消連接消息的要求,如果是,則釋放相關(guān)資源并轉(zhuǎn)發(fā)該消息,如果不是,則結(jié)束。
全文摘要
本發(fā)明涉及在無(wú)線對(duì)等網(wǎng)絡(luò)的兩個(gè)對(duì)等節(jié)點(diǎn)之間建立通訊鏈路的方法,源對(duì)等節(jié)點(diǎn)發(fā)出的連接請(qǐng)求消息;該消息如果不能直接到達(dá)目標(biāo)對(duì)等節(jié)點(diǎn),則符合轉(zhuǎn)發(fā)條件的對(duì)等節(jié)點(diǎn)轉(zhuǎn)發(fā)該連接請(qǐng)求消息;連接請(qǐng)求消息到達(dá)目標(biāo)對(duì)等節(jié)點(diǎn)后,目標(biāo)對(duì)等節(jié)點(diǎn)發(fā)送連接反饋消息,該連接反饋消息沿著連接請(qǐng)求消息到達(dá)目標(biāo)對(duì)等節(jié)點(diǎn)的路徑,返回到源對(duì)等節(jié)點(diǎn),從而在源對(duì)等節(jié)點(diǎn)和目標(biāo)對(duì)等節(jié)點(diǎn)之間建立通訊鏈路。
文檔編號(hào)H04L29/06GK101047582SQ200610067070
公開(kāi)日2007年10月3日 申請(qǐng)日期2006年3月31日 優(yōu)先權(quán)日2006年3月31日
發(fā)明者姜珊 申請(qǐng)人:聯(lián)想(北京)有限公司