一種拓?fù)淇刂茍?bào)文的處理方法和裝置制造方法
【專利摘要】本發(fā)明提供了一種拓?fù)淇刂茍?bào)文的處理方法,該方法包括:第一節(jié)點(diǎn)在向選擇自身為MPR節(jié)點(diǎn)的直連鄰居節(jié)點(diǎn)發(fā)送TC報(bào)文之前,判斷該鄰居節(jié)點(diǎn)是否選擇了包含所述第一節(jié)點(diǎn)在內(nèi)的多個(gè)MPR節(jié)點(diǎn);當(dāng)判定該鄰居節(jié)點(diǎn)選擇了包含所述第一節(jié)點(diǎn)在內(nèi)的多個(gè)MPR節(jié)點(diǎn)時(shí),所述第一節(jié)點(diǎn)判斷自身是否符合向該鄰居節(jié)點(diǎn)發(fā)送TC報(bào)文的發(fā)送條件,當(dāng)判定符合發(fā)送條件時(shí),所述第一節(jié)點(diǎn)向該鄰居節(jié)點(diǎn)發(fā)送所述TC報(bào)文,當(dāng)判定不符合發(fā)送條件時(shí),不向所述鄰居節(jié)點(diǎn)發(fā)送所述TC報(bào)文。本發(fā)明還提供了一種拓?fù)淇刂茍?bào)文的處理裝置。
【專利說明】一種拓?fù)淇刂茍?bào)文的處理方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及無線Ad hoc網(wǎng)絡(luò)【技術(shù)領(lǐng)域】,尤其涉及一種拓?fù)淇刂茍?bào)文的處理方法和
>J-U ρ?α裝直。
【背景技術(shù)】
[0002]無線Ad hoc網(wǎng)絡(luò)(Mobile Ad hoc Network,MANET)是一種高度動(dòng)態(tài)的、自組織自配置的無線網(wǎng)格網(wǎng)絡(luò)(Mesh網(wǎng)絡(luò)),網(wǎng)絡(luò)中的節(jié)點(diǎn)同時(shí)具有終端和路由器的功能,網(wǎng)絡(luò)不依賴于任何中心化的接入點(diǎn)或網(wǎng)絡(luò)基礎(chǔ)設(shè)施,且網(wǎng)絡(luò)中的無線節(jié)點(diǎn)通過無線射頻建立鏈路連接。
[0003]優(yōu)化鏈路狀態(tài)路由(Optimized Link State Routing, 0LSR)協(xié)議是一種應(yīng)用于無線Ad hoc網(wǎng)絡(luò)的動(dòng)態(tài)路由協(xié)議。無線Ad hoc網(wǎng)絡(luò)中的節(jié)點(diǎn)之間需要周期性地交換各種控制信息,通過分布式計(jì)算來更新和建立自己的網(wǎng)絡(luò)拓?fù)鋱D,被鄰節(jié)點(diǎn)選為多點(diǎn)中繼站(Multipoint Relay,MPR)的節(jié)點(diǎn)需要周期性地向網(wǎng)絡(luò)廣播控制信息,控制信息中包含了將它選為MPR的那些節(jié)點(diǎn)(MPR選舉者)的信息,只有MPR節(jié)點(diǎn)被用作路由選擇節(jié)點(diǎn),非MPR節(jié)點(diǎn)不參與路由計(jì)算。OLSR協(xié)議還利用MPR節(jié)點(diǎn)有效地廣播控制信息,非MPR節(jié)點(diǎn)不需要轉(zhuǎn)發(fā)控制信息,因此,區(qū)別于傳統(tǒng)的路由協(xié)議,OLSR協(xié)議能夠有效減少報(bào)文在網(wǎng)絡(luò)中傳輸?shù)臄?shù)量。
[0004]OLSR協(xié)議中的報(bào)文有兩種,一種是HELLO報(bào)文,另一種是拓?fù)淇刂?TopologyControl, TC)報(bào)文。HELLO報(bào)文只在一跳范圍內(nèi)廣播,不能被轉(zhuǎn)發(fā),而TC報(bào)文需要洪泛到全網(wǎng),節(jié)點(diǎn)根據(jù)接收到的TC報(bào)文來計(jì)算網(wǎng)絡(luò)拓?fù)鋱D。為了控制報(bào)文在網(wǎng)絡(luò)中傳輸?shù)臄?shù)量,在OLSR協(xié)議中,只有MPR節(jié)點(diǎn)可以轉(zhuǎn)發(fā)TC報(bào)文。
[0005]在OLSR協(xié)議中,每個(gè)節(jié)點(diǎn)通過HELLO報(bào)文可以獲知自己的一跳(l_hop)和兩跳(2-hop)鄰居,形成相應(yīng)的Ι-hop鄰居集合和2-hop鄰居集合。每個(gè)節(jié)點(diǎn)將各自獨(dú)立地從自身的Ι-hop鄰居集合中選舉MPR,選舉出的MPR形成MPR子集,該MPR子集能夠覆蓋到該節(jié)點(diǎn)的所有2-hop鄰居。
[0006]目前,節(jié)點(diǎn)從自身的Ι-hop鄰居集合中選舉MPR的規(guī)則有:
[0007]1、優(yōu)先選取willingness值大的節(jié)點(diǎn);
[0008]2、優(yōu)先選取剩余連通度RO值大的節(jié)點(diǎn);
[0009]3、優(yōu)先選取物理連通度D O值大的節(jié)點(diǎn);
[0010]4、優(yōu)先選取選舉自身為MPR的節(jié)點(diǎn);
[0011]5、自定義選舉。例如,在圖1所示的無線Ad hoc網(wǎng)絡(luò)中,可以使用優(yōu)先級MPP>MP1>MP2>MP3>MAP1>MAP2>MAP3>MAP4 來選舉 MPR 節(jié)點(diǎn);其中,MPP 表示 Mesh 網(wǎng)關(guān)節(jié)點(diǎn)(MeshPortal Point), MAP 表不 Mesh 接入節(jié)點(diǎn)(Mesh Access Point), MP 表不 Mesh 節(jié)點(diǎn)(MeshPoint)。
[0012]當(dāng)網(wǎng)絡(luò)中選舉出多個(gè)MPR節(jié)點(diǎn)時(shí),這多個(gè)MPR節(jié)點(diǎn)可能具有相同的l_hop鄰居,在OLSR協(xié)議中,MPR節(jié)點(diǎn)會(huì)向其直連的鄰居節(jié)點(diǎn)發(fā)送TC報(bào)文,那么當(dāng)這多個(gè)MPR節(jié)點(diǎn)接收到同一個(gè)TC報(bào)文時(shí),則這多個(gè)MPR節(jié)點(diǎn)會(huì)同時(shí)向其相同的ι-hop鄰居轉(zhuǎn)發(fā)該TC報(bào)文,如此,就造成了向同一個(gè)節(jié)點(diǎn)傳輸多份相同的TC報(bào)文的情況。在圖1中所示的無線Ad hoc網(wǎng)絡(luò)中,假設(shè)根據(jù)上述選舉規(guī)則選舉出三個(gè)MPR節(jié)點(diǎn):MPP、MP2和MP3。當(dāng)MPP節(jié)點(diǎn)自身的TC報(bào)文發(fā)生變化時(shí),MPP節(jié)點(diǎn)發(fā)出一個(gè)新的TC報(bào)文,MP2和MP3作為MPR節(jié)點(diǎn)接收到來自MPP的新的TC報(bào)文時(shí),需要轉(zhuǎn)發(fā)該新的TC報(bào)文,但是,MP2和MP3具有相同的l_hop鄰居、即MAP2節(jié)點(diǎn)和MAP4節(jié)點(diǎn),那么MAP2節(jié)點(diǎn)會(huì)接收到MP2和MP3轉(zhuǎn)發(fā)的兩份相同的新的TC報(bào)文,MAP4節(jié)點(diǎn)也會(huì)接收到MP2和MP3轉(zhuǎn)發(fā)的兩份相同的新的TC報(bào)文,這就造成了報(bào)文的重復(fù)傳輸。
【發(fā)明內(nèi)容】
[0013]為了解決現(xiàn)有存在的技術(shù)問題,本發(fā)明實(shí)施例提供了一種拓?fù)淇刂茍?bào)文的處理方法和裝置。
[0014]基于本發(fā)明實(shí)施例,本發(fā)明提供一種拓?fù)淇刂茍?bào)文的處理方法,該方法應(yīng)用于Mesh網(wǎng)絡(luò)的任意一節(jié)點(diǎn),該方法包括:
[0015]當(dāng)?shù)谝还?jié)點(diǎn)與第二節(jié)點(diǎn)為直連鄰居,第一節(jié)點(diǎn)未選擇第二節(jié)點(diǎn)為MPR且第二節(jié)點(diǎn)選擇了包含第一節(jié)點(diǎn)在內(nèi)的多個(gè)直連節(jié)點(diǎn)為MPR節(jié)點(diǎn)時(shí),所述第一節(jié)點(diǎn)通過選舉算法判斷自身是否為第二節(jié)點(diǎn)的新TC報(bào)文發(fā)送節(jié)點(diǎn),若是,則所述第一節(jié)點(diǎn)向所述第二節(jié)點(diǎn)發(fā)送新TC報(bào)文,若不是,則所述第一節(jié)點(diǎn)不向所述第二節(jié)點(diǎn)發(fā)送新TC報(bào)文;
[0016]所述選舉算法用于為所述第二節(jié)點(diǎn)在該第二節(jié)點(diǎn)的包含所述第一節(jié)點(diǎn)在內(nèi)的多個(gè)MPR節(jié)點(diǎn)中唯一為其確定一個(gè)負(fù)責(zé)向其轉(zhuǎn)發(fā)新TC報(bào)文的節(jié)點(diǎn)。
[0017]進(jìn)一步地,所述第一節(jié)點(diǎn)通過第二節(jié)點(diǎn)發(fā)送的HELLO報(bào)文中攜帶的MPR信息判斷所述第二節(jié)點(diǎn)是否選擇了包含所述第一節(jié)點(diǎn)在內(nèi)的多個(gè)MPR節(jié)點(diǎn),所述MPR信息包含了所述第二節(jié)點(diǎn)選作MPR的節(jié)點(diǎn)的標(biāo)識信息;所述選舉算法基于所述標(biāo)識信息為所述第二節(jié)點(diǎn)確定出負(fù)責(zé)為所述第二節(jié)點(diǎn)發(fā)送新TC報(bào)文的MPR節(jié)點(diǎn)。
[0018]進(jìn)一步地,所述方法還包括:當(dāng)?shù)谝还?jié)點(diǎn)與第二節(jié)點(diǎn)為直連鄰居,所述第一節(jié)點(diǎn)未選擇第二節(jié)點(diǎn)為MPR節(jié)點(diǎn),且第二節(jié)點(diǎn)也未選擇第一節(jié)點(diǎn)為MPR節(jié)點(diǎn)時(shí),若所述第二節(jié)點(diǎn)選擇有其他節(jié)點(diǎn)作為其MPR節(jié)點(diǎn),則所述第一節(jié)點(diǎn)不直接向第二節(jié)點(diǎn)發(fā)送TC報(bào)文。
[0019]進(jìn)一步地,所述方法還包括:當(dāng)所述第二節(jié)點(diǎn)只有所述第一節(jié)點(diǎn)作為其MPR節(jié)點(diǎn)時(shí),所述第一節(jié)點(diǎn)直接向所述第二節(jié)點(diǎn)發(fā)送新TC報(bào)文。
[0020]基于本發(fā)明實(shí)施例,本發(fā)明還提供一種拓?fù)淇刂茍?bào)文的處理裝置,所述裝置應(yīng)用于Mesh網(wǎng)絡(luò)的任意一節(jié)點(diǎn),該裝置包括:
[0021]判斷單元,用于當(dāng)?shù)谝还?jié)點(diǎn)與第二節(jié)點(diǎn)為直連鄰居,第一節(jié)點(diǎn)未選擇第二節(jié)點(diǎn)為MPR且第二節(jié)點(diǎn)選擇了包含第一節(jié)點(diǎn)在內(nèi)的多個(gè)直連節(jié)點(diǎn)為MPR節(jié)點(diǎn)時(shí),通過選舉算法判斷自身是否為第二節(jié)點(diǎn)的新TC報(bào)文發(fā)送節(jié)點(diǎn);當(dāng)判定為是,則調(diào)用發(fā)送單元向所述第二節(jié)點(diǎn)發(fā)送所述新TC報(bào)文,若否,則不調(diào)用發(fā)送單元向所述第二節(jié)點(diǎn)發(fā)送所述新TC報(bào)文;
[0022]發(fā)送單元,用于發(fā)送新TC報(bào)文;
[0023]所述選舉算法用于為所述第二節(jié)點(diǎn)在該第二節(jié)點(diǎn)的包含所述第一節(jié)點(diǎn)在內(nèi)的多個(gè)MPR節(jié)點(diǎn)中唯一為其確定一個(gè)負(fù)責(zé)向其轉(zhuǎn)發(fā)新TC報(bào)文的節(jié)點(diǎn)。
[0024]進(jìn)一步地,所述判斷單元通過第二節(jié)點(diǎn)發(fā)送的HELLO報(bào)文中攜帶的MPR信息判斷所述第二節(jié)點(diǎn)是否選擇了包含所述第一節(jié)點(diǎn)在內(nèi)的多個(gè)MPR節(jié)點(diǎn),所述MPR信息包含了所述第二節(jié)點(diǎn)選作MPR節(jié)點(diǎn)的標(biāo)識信息;所述選舉算法基于所述標(biāo)識信息為所述第二節(jié)點(diǎn)確定出負(fù)責(zé)為所述第二節(jié)點(diǎn)發(fā)送新TC報(bào)文的MPR節(jié)點(diǎn)。
[0025]進(jìn)一步地,所述判斷單元,還用于當(dāng)?shù)谝还?jié)點(diǎn)與第二節(jié)點(diǎn)為直連鄰居,所述第一節(jié)點(diǎn)未選擇第二節(jié)點(diǎn)為MPR節(jié)點(diǎn),且第二節(jié)點(diǎn)也未選擇第一節(jié)點(diǎn)為MPR節(jié)點(diǎn)時(shí),判斷所述第二節(jié)點(diǎn)是否選擇有其他節(jié)點(diǎn)作為其MPR節(jié)點(diǎn),若有,則不調(diào)用所述發(fā)送單元向所述第二節(jié)點(diǎn)發(fā)送TC報(bào)文。
[0026]進(jìn)一步地,所述判斷單元,還用于判斷所述第二節(jié)點(diǎn)是否只有所述第一節(jié)點(diǎn)作為其MPR節(jié)點(diǎn),若是,則調(diào)用發(fā)送單元向所述第二節(jié)點(diǎn)發(fā)送新TC報(bào)文。
[0027]本發(fā)明實(shí)施例提供的拓?fù)淇刂茍?bào)文的處理方法和裝置:第一節(jié)點(diǎn)自身的TC報(bào)文發(fā)生變化時(shí)生成新的TC報(bào)文或者接收新的TC報(bào)文時(shí),向自身選舉的MPR子集中的第二節(jié)點(diǎn)發(fā)送所述新的TC報(bào)文、和/或、向選舉自身為MPR的鄰居節(jié)點(diǎn)發(fā)送所述新的TC報(bào)文。通過上述技術(shù)方案,可以有效區(qū)分TC報(bào)文洪泛對象,避免重復(fù)擴(kuò)散TC報(bào)文,從而有效減少網(wǎng)絡(luò)上TC報(bào)文的數(shù)量。
【專利附圖】
【附圖說明】
[0028]圖1為現(xiàn)有TC報(bào)文洪泛網(wǎng)絡(luò)不意圖;
[0029]圖2為本發(fā)明實(shí)施例提供的OLSR協(xié)議中TC報(bào)文的洪泛方法流程圖;
[0030]圖3為本發(fā)明實(shí)施例提供的TC報(bào)文洪泛網(wǎng)絡(luò)示意圖;
[0031]圖4為本發(fā)明提供的第一節(jié)點(diǎn)選擇性向選擇自身為MPR節(jié)點(diǎn)的直連鄰居節(jié)點(diǎn)發(fā)送TC報(bào)文的步驟流程圖;
[0032]圖5所示為本發(fā)明實(shí)施例提供的OLSR協(xié)議中TC報(bào)文的洪泛裝置結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0033]OLSR協(xié)議中,每個(gè)節(jié)點(diǎn)都在自己的鄰居節(jié)點(diǎn)中選擇一部分作為自己的MPR節(jié)點(diǎn)。只有被選舉成為MPR的節(jié)點(diǎn)才會(huì)對洪泛TC報(bào)文到全網(wǎng)負(fù)責(zé)。OLSR通過使用MPR機(jī)制,減少了協(xié)議的開銷,對路由協(xié)議進(jìn)行了優(yōu)化。MPR節(jié)點(diǎn)周期性的洪泛TC報(bào)文,包括自身產(chǎn)生的TC報(bào)文和接收到的來自其他MPR節(jié)點(diǎn)的TC報(bào)文。但是,由于多個(gè)MPR節(jié)點(diǎn)可能具有相同的Ι-hop鄰居,因此會(huì)造成向同一個(gè)節(jié)點(diǎn)傳輸多份相同的TC報(bào)文的情況。
[0034]為了避免上述情況的出現(xiàn),本發(fā)明實(shí)施例提供了一種OLSR協(xié)議中TC報(bào)文的處理方法,首先需要說明的是,本發(fā)明實(shí)施例提供的下述方法步驟在MPR選舉完成后執(zhí)行。如圖2所示,該方法包括:
[0035]步驟201,第一節(jié)點(diǎn)自身的TC報(bào)文發(fā)生變化時(shí)生成新的TC報(bào)文,或者第一節(jié)點(diǎn)接收到新的TC報(bào)文。
[0036]由于無線Ad hoc網(wǎng)絡(luò)具有高度變化的拓?fù)浣Y(jié)構(gòu),因此,網(wǎng)絡(luò)中的MPR節(jié)點(diǎn)需要周期性的發(fā)送TC報(bào)文,包括自身產(chǎn)生的TC報(bào)文和接收到的來自其他MPR節(jié)點(diǎn)的TC報(bào)文。
[0037]上述TC報(bào)文為最新的TC報(bào)文,根據(jù)TC報(bào)文的序列號可以判斷其是否為最新。
[0038]步驟202,所述第一節(jié)點(diǎn)向自身選舉的MPR節(jié)點(diǎn)發(fā)送所述新的TC報(bào)文;
[0039]為了保證網(wǎng)絡(luò)的連通性,按照協(xié)議規(guī)定,所述第一節(jié)點(diǎn)一定會(huì)將新的TC報(bào)文向所有自己選擇的MPR節(jié)點(diǎn)發(fā)送,該處理方式的優(yōu)先級要高于后面提到的選擇性地向選擇自身為MPR節(jié)點(diǎn)的直連鄰居節(jié)點(diǎn)發(fā)送新TC報(bào)文的處理方式。
[0040]本發(fā)明實(shí)施例中,MPR子集指網(wǎng)絡(luò)中單個(gè)節(jié)點(diǎn)從自身的直連即I跳(Ι-hop)鄰居節(jié)點(diǎn)中選舉出的MPR節(jié)點(diǎn)的集合,網(wǎng)絡(luò)中所有單個(gè)節(jié)點(diǎn)的MPR子集組成了整個(gè)網(wǎng)絡(luò)的MPR集入口 ο
[0041]以圖3為例,假設(shè)第一節(jié)點(diǎn)為MPP節(jié)點(diǎn),該MPP節(jié)點(diǎn)選舉的MPR節(jié)點(diǎn)構(gòu)成的集合、即該MPP節(jié)點(diǎn)的MPR子集為{MP2,MP3},則當(dāng)MPP節(jié)點(diǎn)的TC變化或收到其他節(jié)點(diǎn)發(fā)送的新的TC報(bào)文時(shí),會(huì)向MP2、MP3分別發(fā)送這些新的TC報(bào)文。
[0042]繼續(xù)以圖3為例,假設(shè)第一節(jié)點(diǎn)為MAP2節(jié)點(diǎn),MAP2的MPR子集為{MP2,MP3} ,MAP2上的新TC報(bào)文,需要向自己的MPR子集中的MPR節(jié)點(diǎn)即MP2和MP3節(jié)點(diǎn)分別發(fā)送。
[0043]繼續(xù)以圖3為例,假設(shè)第一節(jié)點(diǎn)為MP類型的節(jié)點(diǎn),MP類型節(jié)點(diǎn)也會(huì)選舉自己的MPR節(jié)點(diǎn),以圖3中的MP2為例,MP2的MPR子集為{MPP},則當(dāng)該MP2節(jié)點(diǎn)自身的TC報(bào)文變化或收到其他節(jié)點(diǎn)發(fā)送的新的TC報(bào)文時(shí),MP2節(jié)點(diǎn)會(huì)向自己的MPR子集內(nèi)的所有節(jié)點(diǎn)發(fā)送這些新的TC報(bào)文。同理,如果MP3選擇的MPR節(jié)點(diǎn)也包含MPP節(jié)點(diǎn),則MP3也需要向MPP節(jié)點(diǎn)發(fā)送新的TC報(bào)文。
[0044]步驟203,第一節(jié)點(diǎn)選擇性地向除自身選擇的MPR節(jié)點(diǎn)之外的其他直連鄰居節(jié)點(diǎn)發(fā)送新TC報(bào)文。
[0045]由于兩個(gè)節(jié)點(diǎn)之間可能互相選擇對方為MPR節(jié)點(diǎn),任意一節(jié)點(diǎn)會(huì)優(yōu)先向自己選擇的MPR節(jié)點(diǎn)發(fā)送新TC報(bào)文,因此,第一節(jié)點(diǎn)在向選擇自身為MPR節(jié)點(diǎn)的直連鄰居節(jié)點(diǎn)發(fā)送新TC報(bào)文時(shí),需要剔除第一節(jié)點(diǎn)選擇的MPR節(jié)點(diǎn),即跳過已經(jīng)向其發(fā)送過所述新TC報(bào)文的鄰居節(jié)點(diǎn),不再重復(fù)發(fā)送。在剩余的直連鄰居節(jié)點(diǎn)中,本發(fā)明遵守下面所述的一些選擇策略,選擇性地向除自身選擇的MPR節(jié)點(diǎn)之外的其他直連鄰居節(jié)點(diǎn)發(fā)送新TC報(bào)文。
[0046]Mesh網(wǎng)絡(luò)中的任意一節(jié)點(diǎn),設(shè)為第一節(jié)點(diǎn),當(dāng)該第一節(jié)點(diǎn)的直連I跳鄰居節(jié)點(diǎn)選擇該第一節(jié)點(diǎn)為MPR節(jié)點(diǎn)時(shí),且該第一節(jié)點(diǎn)未選擇該鄰居節(jié)點(diǎn)為MPR節(jié)點(diǎn)時(shí),該第一節(jié)點(diǎn)在向該鄰居節(jié)點(diǎn)發(fā)送新的TC報(bào)文時(shí),需要先判斷自身是否被選舉為該鄰居節(jié)點(diǎn)的TC報(bào)文轉(zhuǎn)發(fā)節(jié)點(diǎn),當(dāng)該第一節(jié)點(diǎn)被選舉為該鄰居節(jié)點(diǎn)的TC報(bào)文轉(zhuǎn)發(fā)節(jié)點(diǎn)時(shí),才會(huì)向選擇自身為MPR的直連鄰居節(jié)點(diǎn)發(fā)送新的TC報(bào)文,具體的發(fā)送過程如圖4所示,具體步驟為:
[0047]步驟401,第一節(jié)點(diǎn)接收鄰居節(jié)點(diǎn)發(fā)送的呼叫HELLO報(bào)文。
[0048]按現(xiàn)有協(xié)議,HELLO報(bào)文是周期性發(fā)送的,在Mesh網(wǎng)絡(luò)完成MPR選舉過程之后,發(fā)送的HELLO報(bào)文中會(huì)攜帶MPR信息。
[0049]步驟402,第一節(jié)點(diǎn)根據(jù)HELLO報(bào)文判斷該鄰居節(jié)點(diǎn)是否選舉自身為MPR,如果是,執(zhí)行步驟403,如果否,第一節(jié)點(diǎn)不向該鄰居節(jié)點(diǎn)發(fā)送新的TC報(bào)文,流程結(jié)束。
[0050]第一節(jié)點(diǎn)根據(jù)接收到的HELLO報(bào)文中攜帶的MPR信息來判斷鄰居節(jié)點(diǎn)是否選舉自身為MPR。在本發(fā)明實(shí)施例中,MPR信息可以為鄰居接口介質(zhì)訪問控制(Media AccessControl, MAC)地址,可以攜帶在HELLO報(bào)文的Address block TLV字段中(當(dāng)然,也可以攜帶在其他已有字段或者專門預(yù)留的字段中)。如果鄰居節(jié)點(diǎn)選擇了第一節(jié)點(diǎn)為MPR,那么該鄰居節(jié)點(diǎn)會(huì)將第一節(jié)點(diǎn)的MAC地址作為鄰居接口 MAC地址攜帶在HELLO報(bào)文中發(fā)送給第一節(jié)點(diǎn)。MPR信息也可以是IP地址,如果鄰居節(jié)點(diǎn)選擇了第一節(jié)點(diǎn)為MPR,那么該鄰居節(jié)點(diǎn)會(huì)將第一節(jié)點(diǎn)的IP地址作為鄰居IP地址攜帶在HELLO報(bào)文中發(fā)送給第一節(jié)點(diǎn)。
[0051]步驟403,在判斷結(jié)果表征該鄰居節(jié)點(diǎn)選擇了第一節(jié)點(diǎn)為MPR時(shí),所述第一節(jié)點(diǎn)根據(jù)HELLO報(bào)文進(jìn)一步判斷該鄰居節(jié)點(diǎn)是否選舉了多個(gè)節(jié)點(diǎn)作為其MPR節(jié)點(diǎn),如果是,執(zhí)行步驟404,否則,執(zhí)行步驟405。
[0052]第一節(jié)點(diǎn)根據(jù)HELLO報(bào)文中攜帶的鄰居接口 MAC地址中包含的MAC地址的個(gè)數(shù)就可以判斷出該鄰居節(jié)點(diǎn)是否選取了多個(gè)MPR,當(dāng)有多個(gè)MAC地址時(shí),表明該鄰居節(jié)點(diǎn)選擇了多個(gè)MPR ;這多個(gè)MAC地址即為該鄰居節(jié)點(diǎn)選取的多個(gè)MPR節(jié)點(diǎn)的MAC地址?;蛘?,第一節(jié)點(diǎn)根據(jù)HELLO報(bào)文中攜帶的鄰居IP地址的個(gè)數(shù)就可以判斷出該鄰居節(jié)點(diǎn)是否選取了多個(gè)MPR,當(dāng)有多個(gè)鄰居IP地址時(shí),表明選取了多個(gè)MPR;這多個(gè)鄰居IP地址即為該鄰居節(jié)點(diǎn)選取的多個(gè)MPR節(jié)點(diǎn)的IP地址。
[0053]步驟404,第一節(jié)點(diǎn)根據(jù)預(yù)設(shè)的選舉算法,確定自身是否被選舉為該直連鄰居節(jié)點(diǎn)的新TC報(bào)文發(fā)送節(jié)點(diǎn),如果是,執(zhí)行步驟405 ;否則,第一節(jié)點(diǎn)不向該鄰居節(jié)點(diǎn)發(fā)送新的TC報(bào)文,流程結(jié)束。
[0054]所述預(yù)設(shè)的選舉算法用于在該鄰居節(jié)點(diǎn)選擇的包含所述第一節(jié)點(diǎn)在內(nèi)的多個(gè)MPR節(jié)點(diǎn)中唯一確定一個(gè)負(fù)責(zé)向該鄰居節(jié)點(diǎn)發(fā)送新TC報(bào)文的節(jié)點(diǎn)。
[0055]所述預(yù)設(shè)的選舉算法可以為:比較HELLO報(bào)文的鄰居接口 MAC/IP地址中包含的多個(gè)MAC/IP地址,例如,第一節(jié)點(diǎn)的MAC/IP地址最大時(shí),判定為第一節(jié)點(diǎn)被選中為該鄰居節(jié)點(diǎn)發(fā)送新TC報(bào)文;也可以設(shè)定為MAC/IP地址最小,或者也可以預(yù)設(shè)其他的條件,只要能夠保證選擇出唯一一個(gè)節(jié)點(diǎn)負(fù)責(zé)為該鄰居節(jié)點(diǎn)轉(zhuǎn)發(fā)新TC報(bào)文即可。
[0056]步驟405,所述第一節(jié)點(diǎn)向所述鄰居節(jié)點(diǎn)發(fā)送所述新的TC報(bào)文。
[0057]當(dāng)所述鄰居節(jié)點(diǎn)僅選舉了第一節(jié)點(diǎn)為MPR時(shí),第一節(jié)點(diǎn)直接向所述鄰居節(jié)點(diǎn)發(fā)送所述新的TC報(bào)文;
[0058]本發(fā)明實(shí)施例在該鄰居節(jié)點(diǎn)選舉的多個(gè)MPR中,通過選舉算法為該鄰居確定唯——個(gè)MPR為其發(fā)送新TC報(bào)文,通過該方式能夠避免其他MPR節(jié)點(diǎn)也向該鄰居節(jié)點(diǎn)發(fā)送重復(fù)的TC報(bào)文的情況。
[0059]以圖3為例,MP2、MP3為MPP的MPR節(jié)點(diǎn),MPP會(huì)將新TC報(bào)文發(fā)送給MP2和MP3,MP2和MP3同時(shí)為MAP2的MPR節(jié)點(diǎn),且MP2和MP3都未選擇MAP2為MPR節(jié)點(diǎn),假設(shè),根據(jù)預(yù)設(shè)的發(fā)送新TC報(bào)文的選舉算法確定MP2負(fù)責(zé)為MAP2發(fā)送新TC報(bào)文,則只有MP2會(huì)將接收到的新TC報(bào)文發(fā)送給MAP2,雖然MAP2也選擇了 MP3作為其MPR節(jié)點(diǎn),但由于根據(jù)選舉算法沒有選中其作為MAP2的新TC報(bào)文發(fā)送節(jié)點(diǎn),因此MP3不會(huì)向MAP2發(fā)送相同的新TC報(bào)文。
[0060]進(jìn)一步地,在有多臺MP設(shè)備的Mesh網(wǎng)絡(luò)中,每一節(jié)點(diǎn)可能會(huì)選舉出來一臺或多臺MPR設(shè)備,所以該Mesh網(wǎng)絡(luò)中的任意一節(jié)點(diǎn),第一節(jié)點(diǎn)為例,第一節(jié)點(diǎn)向與其非直連的節(jié)點(diǎn)泛洪的TC報(bào)文會(huì)由該第一節(jié)點(diǎn)的MPR節(jié)點(diǎn)負(fù)責(zé)泛洪轉(zhuǎn)發(fā),對于和第一節(jié)點(diǎn)直連但任何一方都未選擇對方為MPR的情況,第一節(jié)點(diǎn)不向該直連節(jié)點(diǎn)直接發(fā)送TC報(bào)文,而是通過第一節(jié)點(diǎn)的直連節(jié)點(diǎn)中的MPR節(jié)點(diǎn)負(fù)責(zé)轉(zhuǎn)發(fā),從而最大程度上減少了重復(fù)泛洪。以圖3為例,MAP2和MPl為直連節(jié)點(diǎn),任意一方都沒有選擇對方為MPR節(jié)點(diǎn),此時(shí)MAP2節(jié)點(diǎn)不直接向MPl發(fā)送新TC報(bào)文,MPI也不會(huì)直接向MAP2發(fā)送新TC報(bào)文,MAP2需要泛洪的新TC報(bào)文會(huì)首先向其選擇的MPR節(jié)點(diǎn)即MP2和MP3節(jié)點(diǎn)發(fā)送,MP2和MP3會(huì)向其選的MPR節(jié)點(diǎn)即MPP節(jié)點(diǎn)發(fā)送,最終,MPP節(jié)點(diǎn)會(huì)將MAP2產(chǎn)生的新TC報(bào)文轉(zhuǎn)發(fā)給MPl。同理,MPl需要泛洪的新TC報(bào)文,會(huì)經(jīng)過MPP,然后由MP2或MP3轉(zhuǎn)發(fā)給MAP2。
[0061]若兩個(gè)節(jié)點(diǎn)是直連節(jié)點(diǎn),相互之間任一方都不選擇對方為MPR節(jié)點(diǎn),則當(dāng)這兩個(gè)節(jié)點(diǎn)中的任一節(jié)點(diǎn)既沒有再選擇其他節(jié)點(diǎn)為MPR節(jié)點(diǎn)也沒有其他節(jié)點(diǎn)選擇該節(jié)點(diǎn)為MPR節(jié)點(diǎn)時(shí),則該節(jié)點(diǎn)的對端節(jié)點(diǎn)需要直接向該節(jié)點(diǎn)發(fā)送新TC報(bào)文。
[0062]通過本發(fā)明實(shí)施例提供的TC報(bào)文處理,可以避免重復(fù)擴(kuò)散TC報(bào)文,從而有效減少網(wǎng)絡(luò)上TC報(bào)文的數(shù)量。
[0063]為了實(shí)現(xiàn)上述的拓?fù)淇刂茍?bào)文的處理方法,本發(fā)明實(shí)施例還提供了一種拓?fù)淇刂茍?bào)文的處理裝置,該裝置的硬件環(huán)境通常至少包括有CPU、內(nèi)存以及非易失性存儲(chǔ)器,當(dāng)然還可能包括各種轉(zhuǎn)發(fā)芯片、I/o接口等硬件。請參考圖5,以軟件實(shí)現(xiàn)為例,本實(shí)施例通過該裝置的CPU將非易失性存儲(chǔ)其中對應(yīng)的計(jì)算機(jī)程序指令讀取到內(nèi)存中運(yùn)行,使該裝置包括有:判斷單元10、發(fā)送單元20 ;在本發(fā)明的一種實(shí)施方式中:
[0064]判斷單元10,用于當(dāng)?shù)谝还?jié)點(diǎn)與第二節(jié)點(diǎn)為直連鄰居,第一節(jié)點(diǎn)未選擇第二節(jié)點(diǎn)為MPR且第二節(jié)點(diǎn)選擇了包含第一節(jié)點(diǎn)在內(nèi)的多個(gè)直連節(jié)點(diǎn)為MPR節(jié)點(diǎn)時(shí),通過選舉算法判斷自身是否為第二節(jié)點(diǎn)的新TC報(bào)文發(fā)送節(jié)點(diǎn);當(dāng)判定為是,則調(diào)用發(fā)送單元20向所述第二節(jié)點(diǎn)發(fā)送所述新TC報(bào)文,若否,則不調(diào)用發(fā)送單元20向所述第二節(jié)點(diǎn)發(fā)送所述新TC報(bào)文;
[0065]發(fā)送單元20,用于根據(jù)判斷單元10的判決結(jié)果向直連鄰居發(fā)送新TC報(bào)文;
[0066]所述選舉算法用于為所述第二節(jié)點(diǎn)在該第二節(jié)點(diǎn)的包含所述第一節(jié)點(diǎn)在內(nèi)的多個(gè)MPR節(jié)點(diǎn)中唯一為其確定一個(gè)負(fù)責(zé)向其轉(zhuǎn)發(fā)新TC報(bào)文的節(jié)點(diǎn)。
[0067]在一實(shí)施方案中,所述判斷單元10通過第二節(jié)點(diǎn)發(fā)送的HELLO報(bào)文中攜帶的MPR信息判斷所述第二節(jié)點(diǎn)是否選擇了包含所述第一節(jié)點(diǎn)在內(nèi)的多個(gè)MPR節(jié)點(diǎn),所述MPR信息包含了第二節(jié)點(diǎn)選作MPR節(jié)點(diǎn)的標(biāo)識信息,所述節(jié)點(diǎn)標(biāo)識可以為MAC地址或IP地址;
[0068]所述選舉算法基于所述標(biāo)識信息為所述第二節(jié)點(diǎn)確定出負(fù)責(zé)為所述第二節(jié)點(diǎn)發(fā)送新TC報(bào)文的MPR節(jié)點(diǎn)。。
[0069]在一實(shí)施方案中,所述判斷單元10還用于當(dāng)?shù)谝还?jié)點(diǎn)與第二節(jié)點(diǎn)為直連鄰居,所述第一節(jié)點(diǎn)未選擇第二節(jié)點(diǎn)為MPR節(jié)點(diǎn),且第二節(jié)點(diǎn)也未選擇第一節(jié)點(diǎn)為MPR節(jié)點(diǎn)時(shí),判斷所述第二節(jié)點(diǎn)是否選擇有其他節(jié)點(diǎn)作為其MPR節(jié)點(diǎn),若有,則所述判斷單元10不調(diào)用發(fā)送單元20向所述第二節(jié)點(diǎn)發(fā)送TC報(bào)文。
[0070]在一實(shí)施方案中,判斷單元10還用于判斷所述第二節(jié)點(diǎn)是否只有所述第一節(jié)點(diǎn)作為其MPR節(jié)點(diǎn),若是,則調(diào)用發(fā)送單元20向所述第二節(jié)點(diǎn)發(fā)送新TC報(bào)文。
[0071]通過本發(fā)明上述實(shí)施例提供技術(shù)方案,第一節(jié)點(diǎn)可以向自身選舉的MPR子集中的第二節(jié)點(diǎn)發(fā)送新的TC報(bào)文,和/或,向選舉自身為MPR的鄰居節(jié)點(diǎn)發(fā)送新的TC報(bào)文,從而可以有效區(qū)分TC報(bào)文洪泛對象,避免重復(fù)擴(kuò)散TC報(bào)文,有效減少網(wǎng)絡(luò)上TC報(bào)文的數(shù)量。
[0072]本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用硬件實(shí)施例、軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器和光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
[0073]本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
[0074]這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
[0075]這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
[0076]以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。
【權(quán)利要求】
1.一種拓?fù)淇刂茍?bào)文的處理方法,其特征在于,該方法應(yīng)用于無線網(wǎng)格網(wǎng)絡(luò)即Mesh網(wǎng)絡(luò)的任意一節(jié)點(diǎn),該方法包括: 當(dāng)?shù)谝还?jié)點(diǎn)與第二節(jié)點(diǎn)為直連鄰居,第一節(jié)點(diǎn)未選擇第二節(jié)點(diǎn)為多點(diǎn)中繼站MPR且第二節(jié)點(diǎn)選擇了包含第一節(jié)點(diǎn)在內(nèi)的多個(gè)直連節(jié)點(diǎn)為MPR節(jié)點(diǎn)時(shí),所述第一節(jié)點(diǎn)通過選舉算法判斷自身是否為第二節(jié)點(diǎn)的新拓?fù)淇刂芓C報(bào)文發(fā)送節(jié)點(diǎn),若是,則所述第一節(jié)點(diǎn)向所述第二節(jié)點(diǎn)發(fā)送新TC報(bào)文,若不是,則所述第一節(jié)點(diǎn)不向所述第二節(jié)點(diǎn)發(fā)送新TC報(bào)文; 所述選舉算法用于為所述第二節(jié)點(diǎn)在該第二節(jié)點(diǎn)的包含所述第一節(jié)點(diǎn)在內(nèi)的多個(gè)MPR節(jié)點(diǎn)中唯一為其確定一個(gè)負(fù)責(zé)向其轉(zhuǎn)發(fā)新TC報(bào)文的節(jié)點(diǎn)。
2.根據(jù)權(quán)利要求1所述拓?fù)淇刂茍?bào)文的處理方法,其特征在于, 所述第一節(jié)點(diǎn)通過第二節(jié)點(diǎn)發(fā)送的HELLO報(bào)文中攜帶的MPR信息判斷所述第二節(jié)點(diǎn)是否選擇了包含所述第一節(jié)點(diǎn)在內(nèi)的多個(gè)MPR節(jié)點(diǎn),所述MPR信息包含了所述第二節(jié)點(diǎn)選作MPR的節(jié)點(diǎn)的標(biāo)識信息; 所述選舉算法基于所述標(biāo)識信息為所述第二節(jié)點(diǎn)確定出負(fù)責(zé)為所述第二節(jié)點(diǎn)發(fā)送新TC報(bào)文的MPR節(jié)點(diǎn)。
3.根據(jù)權(quán)利要求1所述拓?fù)淇刂茍?bào)文的處理方法,其特征在于,所述方法還包括: 當(dāng)?shù)谝还?jié)點(diǎn)與第二節(jié)點(diǎn)為直連鄰居,所述第一節(jié)點(diǎn)未選擇第二節(jié)點(diǎn)為MPR節(jié)點(diǎn),且第二節(jié)點(diǎn)也未選擇第一節(jié)點(diǎn)為MPR節(jié)點(diǎn)時(shí),若所述第二節(jié)點(diǎn)選擇有其他節(jié)點(diǎn)作為其MPR節(jié)點(diǎn),則所述第一節(jié)點(diǎn)不直接向第二節(jié)點(diǎn)發(fā)送TC報(bào)文。
4.根據(jù)權(quán)利要求1所述拓?fù)淇刂茍?bào)文的處理方法,其特征在于,所述方法還包括: 當(dāng)所述第二節(jié)點(diǎn)只有所述第一節(jié)點(diǎn)作為其MPR節(jié)點(diǎn)時(shí),所述第一節(jié)點(diǎn)直接向所述第二節(jié)點(diǎn)發(fā)送新TC報(bào)文。
5.一種拓?fù)淇刂茍?bào)文的處理裝置,其特征在于,所述裝置應(yīng)用于無線網(wǎng)格網(wǎng)絡(luò)Mesh網(wǎng)絡(luò)的任意一節(jié)點(diǎn),該裝置包括: 判斷單元,用于當(dāng)?shù)谝还?jié)點(diǎn)與第二節(jié)點(diǎn)為直連鄰居,第一節(jié)點(diǎn)未選擇第二節(jié)點(diǎn)為多點(diǎn)中繼站MPR且第二節(jié)點(diǎn)選擇了包含第一節(jié)點(diǎn)在內(nèi)的多個(gè)直連節(jié)點(diǎn)為MPR節(jié)點(diǎn)時(shí),通過選舉算法判斷自身是否為第二節(jié)點(diǎn)的新TC報(bào)文發(fā)送節(jié)點(diǎn);當(dāng)判定為是,則調(diào)用發(fā)送單元向所述第二節(jié)點(diǎn)發(fā)送所述新拓?fù)淇刂芓C報(bào)文,若否,則不調(diào)用發(fā)送單元向所述第二節(jié)點(diǎn)發(fā)送所述新TC報(bào)文; 發(fā)送單元,用于發(fā)送新TC報(bào)文; 所述選舉算法用于為所述第二節(jié)點(diǎn)在該第二節(jié)點(diǎn)的包含所述第一節(jié)點(diǎn)在內(nèi)的多個(gè)MPR節(jié)點(diǎn)中唯一為其確定一個(gè)負(fù)責(zé)向其轉(zhuǎn)發(fā)新TC報(bào)文的節(jié)點(diǎn)。
6.根據(jù)權(quán)利要求5所述拓?fù)淇刂茍?bào)文的處理裝置,其特征在于, 所述判斷單元通過第二節(jié)點(diǎn)發(fā)送的HELLO報(bào)文中攜帶的MPR信息判斷所述第二節(jié)點(diǎn)是否選擇了包含所述第一節(jié)點(diǎn)在內(nèi)的多個(gè)MPR節(jié)點(diǎn),所述MPR信息包含了所述第二節(jié)點(diǎn)選作MPR節(jié)點(diǎn)的標(biāo)識信息; 所述選舉算法基于所述標(biāo)識信息為所述第二節(jié)點(diǎn)確定出負(fù)責(zé)為所述第二節(jié)點(diǎn)發(fā)送新TC報(bào)文的MPR節(jié)點(diǎn)。
7.根據(jù)權(quán)利要求5所述拓?fù)淇刂茍?bào)文的處理裝置,其特征在于, 所述判斷單元,還用于當(dāng)?shù)谝还?jié)點(diǎn)與第二節(jié)點(diǎn)為直連鄰居,所述第一節(jié)點(diǎn)未選擇第二節(jié)點(diǎn)為MPR節(jié)點(diǎn),且第二節(jié)點(diǎn)也未選擇第一節(jié)點(diǎn)為MPR節(jié)點(diǎn)時(shí),判斷所述第二節(jié)點(diǎn)是否選擇有其他節(jié)點(diǎn)作為其MPR節(jié)點(diǎn),若有,則不調(diào)用所述發(fā)送單元向所述第二節(jié)點(diǎn)發(fā)送TC報(bào)文。
8.根據(jù)權(quán)利要求5所述拓?fù)淇刂茍?bào)文的處理裝置,其特征在于, 所述判斷單元,還用于判斷所述第二節(jié)點(diǎn)是否只有所述第一節(jié)點(diǎn)作為其MPR節(jié)點(diǎn),若是,則調(diào)用發(fā)送單元向所述第二節(jié)點(diǎn)發(fā)送新TC報(bào)文。
【文檔編號】H04W40/02GK104410985SQ201410560105
【公開日】2015年3月11日 申請日期:2014年10月20日 優(yōu)先權(quán)日:2014年10月20日
【發(fā)明者】晁軍顯, 魏志廣 申請人:杭州華三通信技術(shù)有限公司