本發(fā)明涉及一種Ad hoc網(wǎng)絡(luò)機(jī)會(huì)路由方法,屬于路由選擇機(jī)制的技術(shù)領(lǐng)域。
背景技術(shù):
路由協(xié)議工作在網(wǎng)絡(luò)層,用于在源節(jié)點(diǎn)與目的節(jié)點(diǎn)間建立數(shù)據(jù)包傳輸路徑。Ad hoc網(wǎng)絡(luò)中的路由協(xié)議需要具有抗毀性、可靠性、可拓展性、安全性等特性以滿足數(shù)據(jù)通信的質(zhì)量需求。機(jī)會(huì)路由協(xié)議在每一跳數(shù)據(jù)傳輸時(shí)通過多個(gè)候選轉(zhuǎn)發(fā)節(jié)點(diǎn)共同參與數(shù)據(jù)包轉(zhuǎn)發(fā)來提高數(shù)據(jù)傳輸能力。此外,該協(xié)議能夠適應(yīng)動(dòng)態(tài)的網(wǎng)絡(luò)拓?fù)湟约肮?jié)點(diǎn)的移動(dòng)特性,傳統(tǒng)路由在Ad hoc網(wǎng)絡(luò)中維持一條固定的路徑比較困難,路徑中任何一個(gè)節(jié)點(diǎn)失效,都會(huì)造成數(shù)據(jù)傳輸失敗。機(jī)會(huì)路由協(xié)議數(shù)據(jù)傳輸不依賴固定路徑,多個(gè)候選轉(zhuǎn)發(fā)節(jié)點(diǎn)均有機(jī)會(huì)成為轉(zhuǎn)發(fā)節(jié)點(diǎn),增大了數(shù)據(jù)包到達(dá)目的節(jié)點(diǎn)的概率,減小了拓?fù)渥儎?dòng)對(duì)Ad hoc網(wǎng)絡(luò)數(shù)據(jù)傳輸性能的影響。
機(jī)會(huì)路由協(xié)議利用其獨(dú)有的機(jī)會(huì)轉(zhuǎn)發(fā)機(jī)制能夠很好地利用無線網(wǎng)絡(luò)的廣播特性,非常適合拓?fù)渥兓瘎×业腁d hoc網(wǎng)絡(luò)。
Ad hoc網(wǎng)絡(luò)的分布式特點(diǎn)使網(wǎng)絡(luò)中不存在中心節(jié)點(diǎn),相對(duì)于集中式的網(wǎng)絡(luò)具有更高的抗毀性、可靠性、可拓展性。由于Ad hoc網(wǎng)絡(luò)采用無線方式通信,無線信號(hào)暴露在開放空間中,相比固定網(wǎng)絡(luò)更容易受到網(wǎng)絡(luò)監(jiān)聽、數(shù)據(jù)篡改、虛假路由和選擇轉(zhuǎn)發(fā)等攻擊,這些攻擊為Ad hoc網(wǎng)絡(luò)的安全性帶來了巨大的威脅。
Ad hoc網(wǎng)絡(luò)暴露在開放的空間很容易遭受敵方惡意行為的攻擊。本文將影響Ad hoc網(wǎng)絡(luò)安全的行為稱作惡意攻擊行為,將惡意攻擊行為的發(fā)起者稱為攻擊者。通過非法手段獲得授權(quán)并潛入Ad hoc網(wǎng)絡(luò)的惡意節(jié)點(diǎn),可能對(duì)數(shù)據(jù)實(shí)行丟棄、監(jiān)聽、篡改等操作,嚴(yán)重影響了網(wǎng)絡(luò)的數(shù)據(jù)安全且更難以進(jìn)行識(shí)別與定位??蓪d hoc網(wǎng)絡(luò)路由層遭受的常見惡意攻擊行為分為以下幾類:
網(wǎng)絡(luò)監(jiān)聽:無線網(wǎng)絡(luò)中最普遍存在的攻擊方式,該攻擊竊取網(wǎng)絡(luò)中的通信數(shù)據(jù),破壞信息的保密性。
數(shù)據(jù)篡改:網(wǎng)絡(luò)攻擊者篡改經(jīng)由它傳輸?shù)臄?shù)據(jù)包,或者偽造數(shù)據(jù)包破壞信息的完整性,對(duì)網(wǎng)絡(luò)的信息采集以及基于信息的決策造成負(fù)面影響。
虛假路由:攻擊者通過修改路由信息,使無線網(wǎng)絡(luò)產(chǎn)生路由環(huán)、延伸或縮短路由,產(chǎn)生虛假錯(cuò)誤路由信息、分割網(wǎng)絡(luò)、增加端到端的延遲等。
選擇轉(zhuǎn)發(fā):網(wǎng)絡(luò)中的攻擊者在數(shù)據(jù)包轉(zhuǎn)發(fā)過程中丟棄部分或全部數(shù)據(jù)包,使得數(shù)據(jù)包不能到達(dá)目的節(jié)點(diǎn)。該攻擊的一種常見形式為不轉(zhuǎn)發(fā)任何經(jīng)由它的數(shù)據(jù)包,就像一個(gè)黑洞(即所謂“黑洞攻擊”),然而攻擊者的鄰近節(jié)點(diǎn)會(huì)認(rèn)為攻擊者毀壞,將不再通過它轉(zhuǎn)發(fā)數(shù)據(jù)包。一種較難被發(fā)覺的做法是選擇性轉(zhuǎn)發(fā)數(shù)據(jù)包,常見的槽洞攻擊、女巫攻擊以及蟲洞攻擊,其最終目標(biāo)都是實(shí)現(xiàn)“有選擇的轉(zhuǎn)發(fā)”。
惡意攻擊行為會(huì)破壞Ad hoc網(wǎng)絡(luò)的安全性,簡(jiǎn)單的網(wǎng)絡(luò)監(jiān)聽攻擊可以通過公鑰、密鑰、數(shù)字證書認(rèn)證、數(shù)據(jù)加密等技術(shù)防止攻擊者獲得網(wǎng)絡(luò)中的數(shù)據(jù)信息。而攻擊者潛入網(wǎng)絡(luò)內(nèi)部實(shí)行的數(shù)據(jù)篡改、虛假路由、選擇轉(zhuǎn)發(fā)攻擊行為需要通過惡意行為識(shí)別機(jī)制發(fā)現(xiàn),進(jìn)而阻止惡意節(jié)點(diǎn)對(duì)數(shù)據(jù)傳輸?shù)呢?fù)面影響。如果僅通過上述的惡意行為識(shí)別機(jī)制進(jìn)行攻擊者識(shí)別,很可能造成誤判現(xiàn)象的發(fā)生。例如網(wǎng)絡(luò)中數(shù)據(jù)傳輸過程中存在誤碼而并未發(fā)現(xiàn)更正,則在上述過程中進(jìn)行信息校驗(yàn)時(shí),會(huì)將誤碼導(dǎo)致的信息校驗(yàn)不統(tǒng)一識(shí)別為對(duì)數(shù)據(jù)的篡改攻擊。上述虛假路由攻擊、選擇性轉(zhuǎn)發(fā)攻擊的識(shí)別也存在著較大的誤判可能,環(huán)境對(duì)無線自組網(wǎng)絡(luò)的性能有著很大的影響,如果環(huán)境發(fā)生變化,同樣可能存在統(tǒng)計(jì)信息與路由信息表中信息存在較大差異的情況。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題在于克服現(xiàn)有技術(shù)的不足,提出一種規(guī)避惡意攻擊的Ad hoc網(wǎng)絡(luò)機(jī)會(huì)路由方法,采用機(jī)會(huì)路由協(xié)議充分利用無線網(wǎng)絡(luò)中的廣播特性,提高網(wǎng)絡(luò)的數(shù)據(jù)傳輸能力,并且在機(jī)會(huì)路由協(xié)議中加入基于數(shù)據(jù)特征信息的惡意行為識(shí)別機(jī)制、基于信任度的節(jié)點(diǎn)信任機(jī)制,將惡意節(jié)點(diǎn)剔除出Ad hoc網(wǎng)絡(luò),從而有效的保障數(shù)據(jù)傳輸?shù)陌踩浴?/p>
本發(fā)明具體采用以下技術(shù)方案解決上述技術(shù)問題:
一種規(guī)避惡意攻擊的Ad hoc網(wǎng)絡(luò)機(jī)會(huì)路由方法,包括如下步驟:
(1)網(wǎng)絡(luò)中各節(jié)點(diǎn)分別維護(hù)一個(gè)路由信息表,并通過周期性廣播hello消息來更新路由信息表,路由信息表中記錄hello消息傳輸時(shí)延信息;
(2)基于hello消息時(shí)延參數(shù)選擇候選轉(zhuǎn)發(fā)節(jié)點(diǎn)并基于優(yōu)先級(jí)確立轉(zhuǎn)發(fā)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)包的傳輸;
(3)基于數(shù)據(jù)特征信息識(shí)別網(wǎng)絡(luò)中存在的惡意行為,包括數(shù)據(jù)篡改攻擊、虛假路由攻擊和選擇轉(zhuǎn)發(fā)攻擊行為;
(4)通過節(jié)點(diǎn)信任度量化惡意行為對(duì)各節(jié)點(diǎn)信任度的影響,根據(jù)信任度的大小判別惡意節(jié)點(diǎn)并將惡意節(jié)點(diǎn)剔除出Ad hoc網(wǎng)絡(luò)。
進(jìn)一步地,步驟(1)中,路由信息表中包含類型標(biāo)識(shí)、路由信息表序號(hào)、時(shí)間戳、發(fā)送hello消息節(jié)點(diǎn)ID、接收hello消息節(jié)點(diǎn)ID、hello消息包接收率、hello消息平均傳輸時(shí)延,路由信息更新步驟如下:
步驟(1-1)網(wǎng)絡(luò)中各節(jié)點(diǎn)向一跳范圍內(nèi)其他節(jié)點(diǎn)周期性發(fā)送hello消息,hello消息頭部包含發(fā)送hello消息節(jié)點(diǎn)ID、hello消息序列號(hào)和發(fā)送時(shí)間;
步驟(1-2)接收到hello消息的節(jié)點(diǎn)記錄其一個(gè)周期時(shí)間內(nèi)hello消息的接收情況,路由信息表項(xiàng)中記錄發(fā)送hello消息節(jié)點(diǎn)ID與接收hello消息節(jié)點(diǎn)ID,計(jì)算得出包接收率以及記錄每次接收到hello消息的時(shí)間與hello消息發(fā)送時(shí)間差求平均得傳輸時(shí)延放入路由信息表項(xiàng)中;
步驟(1-3)各節(jié)點(diǎn)均廣播完一個(gè)周期的hello消息后,網(wǎng)絡(luò)中各節(jié)點(diǎn)廣播其路由信息表到全網(wǎng)所有節(jié)點(diǎn),各接收節(jié)點(diǎn)添加其路由信息表中沒有的記錄,若接收到時(shí)間戳較晚的記錄,則用時(shí)間戳較晚的記錄替換時(shí)間戳較早的記錄。
進(jìn)一步地,步驟(2)中基于hello消息時(shí)延參數(shù)選擇候選轉(zhuǎn)發(fā)節(jié)點(diǎn)具體為:采用hello消息平均傳輸時(shí)延作為新的路由衡量尺度,記作τ,用于表示節(jié)點(diǎn)到目的節(jié)點(diǎn)傳輸數(shù)據(jù)包所要的時(shí)間耗費(fèi);發(fā)送節(jié)點(diǎn)記作x,目的節(jié)點(diǎn)記作d,每一跳數(shù)據(jù)包傳輸時(shí)從發(fā)送節(jié)點(diǎn)x的鄰近節(jié)點(diǎn)集Rx中選擇節(jié)點(diǎn)組成候選轉(zhuǎn)發(fā)集Fx,添加到候選轉(zhuǎn)發(fā)集的節(jié)點(diǎn)n,須滿足候選轉(zhuǎn)發(fā)節(jié)點(diǎn)選擇條件:
τ(n,d)<=τ(x,d)
τ(n,d)為從節(jié)點(diǎn)n到節(jié)點(diǎn)d路徑上所有鏈路τ值之和的最小值,τ(x,d)為從節(jié)點(diǎn)x到節(jié)點(diǎn)d路徑上所有鏈路τ值之和的最小值;此外,惡意節(jié)點(diǎn)不允許成為候選轉(zhuǎn)發(fā)節(jié)點(diǎn)。
進(jìn)一步地,步驟(2)中基于優(yōu)先級(jí)確立轉(zhuǎn)發(fā)節(jié)點(diǎn)具體為:首先根據(jù)各候選轉(zhuǎn)發(fā)節(jié)點(diǎn)ETX值的大小確定其優(yōu)先級(jí),ETX值越小優(yōu)先級(jí)越高,優(yōu)先級(jí)最高的節(jié)點(diǎn)接收到數(shù)據(jù)包后,成為轉(zhuǎn)發(fā)節(jié)點(diǎn)并轉(zhuǎn)發(fā)數(shù)據(jù)包,轉(zhuǎn)發(fā)節(jié)點(diǎn)向其鄰近節(jié)點(diǎn)廣播ACK消息,發(fā)送節(jié)點(diǎn)接收到ACK消息后再將ACK消息廣播給它的鄰近節(jié)點(diǎn),從而抑制低優(yōu)先級(jí)節(jié)點(diǎn)轉(zhuǎn)發(fā)同時(shí)告知發(fā)送節(jié)點(diǎn)數(shù)據(jù)包已成功接收。
進(jìn)一步地,步驟(3)中具體包括:
數(shù)據(jù)篡改攻擊識(shí)別,具體為:
發(fā)送節(jié)點(diǎn)發(fā)送的數(shù)據(jù)包以及接收節(jié)點(diǎn)接收到數(shù)據(jù)包后回復(fù)的ACK消息中包含數(shù)據(jù)包中數(shù)據(jù)信息的MD5編碼值作為數(shù)據(jù)特征信息,數(shù)據(jù)包發(fā)送節(jié)點(diǎn)發(fā)送數(shù)據(jù)包時(shí)會(huì)計(jì)算并保存包中數(shù)據(jù)的MD5編碼值,用于與接收節(jié)點(diǎn)回復(fù)的ACK消息中的MD5編碼值進(jìn)行對(duì)比校驗(yàn),若MD5編碼值不同,則接收節(jié)點(diǎn)為發(fā)動(dòng)數(shù)據(jù)篡改的攻擊者;當(dāng)轉(zhuǎn)發(fā)節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù)包時(shí),候選轉(zhuǎn)發(fā)節(jié)點(diǎn)監(jiān)聽到數(shù)據(jù)包轉(zhuǎn)發(fā)的節(jié)點(diǎn)對(duì)數(shù)據(jù)包中數(shù)據(jù)進(jìn)行校驗(yàn),首先計(jì)算數(shù)據(jù)包中數(shù)據(jù)的MD5編碼值并與包中攜帶的MD5編碼值對(duì)比,然后將數(shù)據(jù)包中MD5編碼值與本地相同數(shù)據(jù)包的MD5編碼值進(jìn)行對(duì)比,若MD5編碼值存在不同,則識(shí)別該轉(zhuǎn)發(fā)節(jié)點(diǎn)造成了數(shù)據(jù)篡改攻擊;
虛假路由攻擊識(shí)別,具體為:
每次進(jìn)行路由信息表更新時(shí),都對(duì)全網(wǎng)中各節(jié)點(diǎn)已有的路由信息表進(jìn)行校驗(yàn),若某節(jié)點(diǎn)路由信息表中存在字段與其他節(jié)點(diǎn)路由信息表中相應(yīng)字段不同,則該節(jié)點(diǎn)識(shí)別為虛假路由攻擊者;
以及選擇轉(zhuǎn)發(fā)攻擊識(shí)別,具體為:
網(wǎng)絡(luò)中的各節(jié)點(diǎn)本地維護(hù)一個(gè)包含包接收率和傳輸時(shí)延的數(shù)據(jù)結(jié)構(gòu),用于統(tǒng)計(jì)在路由信息表更新后直到下次路由信息表更新前的路由信息,并將統(tǒng)計(jì)到的信息與路由信息表中信息進(jìn)行對(duì)比,若信息數(shù)值差異超過閾值,則識(shí)別為虛假路由攻擊或選擇轉(zhuǎn)發(fā)攻擊,其中,統(tǒng)計(jì)到的包接收率與傳輸時(shí)延的實(shí)際值與路由信息表中值差異若超過閾值,則識(shí)別為選擇轉(zhuǎn)發(fā)攻擊。
進(jìn)一步地,步驟(4)中節(jié)點(diǎn)信任度的表示方法為:每個(gè)節(jié)點(diǎn)維護(hù)一個(gè)節(jié)點(diǎn)信任度列表,其中記錄著該節(jié)點(diǎn)對(duì)其他節(jié)點(diǎn)的信任度值,每一個(gè)表項(xiàng)就是該節(jié)點(diǎn)評(píng)估的某一節(jié)點(diǎn)的信任度值,信任度列表項(xiàng)包含:節(jié)點(diǎn)編號(hào)ID、直接信任度DC間接信任度IDC、信任度變化量ΔCD;直接信任度為節(jié)點(diǎn)自身通過ACK消息及監(jiān)聽得出的對(duì)其他節(jié)點(diǎn)的信任度評(píng)估,間接信任度為節(jié)點(diǎn)通過網(wǎng)絡(luò)中的其他節(jié)點(diǎn)得知的節(jié)點(diǎn)信任度評(píng)估,通過數(shù)據(jù)傳輸獲得;直接信任度與間接信任度的加權(quán)平均記作節(jié)點(diǎn)信任度CD,計(jì)算公式如下:
CD=w1·DC+w2·IDC
將節(jié)點(diǎn)信任度CD小于等于信任度閾值的節(jié)點(diǎn)稱作惡意節(jié)點(diǎn),w1、w2為權(quán)值,w1+w2=1,w1代表節(jié)點(diǎn)自身評(píng)估的信任度的權(quán)重,w2代表其他節(jié)點(diǎn)評(píng)估的信任度的權(quán)重。
進(jìn)一步地,直接信任度更新方法具體包括:
通過數(shù)據(jù)特征信息的校驗(yàn)從而發(fā)現(xiàn)網(wǎng)絡(luò)中的數(shù)據(jù)篡改攻擊,并將該攻擊對(duì)節(jié)點(diǎn)信任度的影響量化為直接信任度的改變,即令DC+=Vm,Vm為數(shù)據(jù)篡改攻擊造成的節(jié)點(diǎn)信任度變化量,向其鄰近節(jié)點(diǎn)廣播信任度更新消息;
節(jié)點(diǎn)作為候選轉(zhuǎn)發(fā)節(jié)點(diǎn)校驗(yàn)監(jiān)聽到轉(zhuǎn)發(fā)節(jié)點(diǎn)轉(zhuǎn)發(fā)的數(shù)據(jù)包的過程,對(duì)比監(jiān)聽到的數(shù)據(jù)包中路由信息與本地路由信息表中路由信息,對(duì)比二者路由信息中各字段數(shù)值,若數(shù)值差異超過閾值范圍,則認(rèn)為節(jié)點(diǎn)遭受虛假路由攻擊或選擇轉(zhuǎn)發(fā)攻擊,修改被監(jiān)聽節(jié)點(diǎn)的信任度,即令DC+=Vc,Vc為虛假路由或選擇性轉(zhuǎn)發(fā)造成的節(jié)點(diǎn)信任度變化量,向其鄰近節(jié)點(diǎn)廣播信任度更新消息。
進(jìn)一步地,間接信任度更新方法具體為:
間接信任度通過節(jié)點(diǎn)間廣播節(jié)點(diǎn)信任度獲取節(jié)點(diǎn)信任度,當(dāng)一個(gè)節(jié)點(diǎn)接收到其他節(jié)點(diǎn)廣播的節(jié)點(diǎn)信任度更新消息時(shí),該節(jié)點(diǎn)更新其間接信任度,接收到其他節(jié)點(diǎn)廣播的信任度更新消息后,節(jié)點(diǎn)針對(duì)被評(píng)估節(jié)點(diǎn)的間接信任度更新如下式所示:
IDC+=ΔDC
CD+=w2·ΔDC
其中,ΔDC為信任度更新消息發(fā)送節(jié)點(diǎn)針對(duì)被評(píng)估節(jié)點(diǎn)的直接信任度變化評(píng)估。
有益效果:與現(xiàn)有技術(shù)相比,本發(fā)明方法結(jié)合惡意節(jié)點(diǎn)識(shí)別機(jī)制與節(jié)點(diǎn)信任機(jī)制,能夠更加準(zhǔn)確的識(shí)別Ad hoc網(wǎng)絡(luò)中的惡意行為,定位惡意節(jié)點(diǎn)。節(jié)點(diǎn)信任機(jī)制將各節(jié)點(diǎn)的惡意行為進(jìn)行評(píng)估并將評(píng)估結(jié)果量化為節(jié)點(diǎn)的信任度,進(jìn)而定位戰(zhàn)場(chǎng)環(huán)境中的惡意節(jié)點(diǎn)并防止其對(duì)網(wǎng)絡(luò)的進(jìn)一步破壞。將機(jī)會(huì)路由協(xié)議應(yīng)用于Ad hoc網(wǎng)絡(luò)有效的提高了網(wǎng)絡(luò)中的數(shù)據(jù)傳輸能力,此外,通過惡意節(jié)點(diǎn)識(shí)別機(jī)制以及節(jié)點(diǎn)信任機(jī)制能夠有效的保證Ad hoc網(wǎng)絡(luò)的信息安全性。
附圖說明
圖1為本發(fā)明的路由信息表項(xiàng)示意圖。
圖2為本發(fā)明的節(jié)點(diǎn)信任機(jī)制中直接信任度的更新流程圖。
圖3為本發(fā)明的節(jié)點(diǎn)信任機(jī)制中間接信任度的更新流程圖。
圖4為本發(fā)明的沖突避免過程示意圖。
圖5為本發(fā)明的接收節(jié)點(diǎn)Flooding報(bào)文處理過程示意圖。
具體實(shí)施方式
下面結(jié)合說明書附圖對(duì)本發(fā)明的實(shí)施方式進(jìn)行描述。
本發(fā)明設(shè)計(jì)了一種規(guī)避惡意攻擊的Ad hoc網(wǎng)絡(luò)機(jī)會(huì)路由方法,首先通過路由信息更新獲取機(jī)會(huì)路由協(xié)議運(yùn)行的先驗(yàn)信息,然后在獲取路由信息的前提下進(jìn)行數(shù)據(jù)傳輸過程,通過候選轉(zhuǎn)發(fā)節(jié)點(diǎn)選擇機(jī)制以及轉(zhuǎn)發(fā)節(jié)點(diǎn)確立機(jī)制將數(shù)據(jù)包沿機(jī)會(huì)路徑從源節(jié)點(diǎn)傳輸?shù)侥康墓?jié)點(diǎn)。此外,協(xié)議通過惡意行為識(shí)別機(jī)制與節(jié)點(diǎn)信任機(jī)制識(shí)別出網(wǎng)絡(luò)中的惡意節(jié)點(diǎn)并將惡意節(jié)點(diǎn)剔除出Ad hoc網(wǎng)絡(luò),剔除的惡意節(jié)點(diǎn)將無法參與數(shù)據(jù)傳輸過程。
步驟(1)、基于hello消息的路由信息更新機(jī)制,具體為:路由信息更新機(jī)制中涉及的路由信息表項(xiàng)示意圖如圖1所示,網(wǎng)絡(luò)中各節(jié)點(diǎn)分別維護(hù)一個(gè)路由信息表,路由信息表中包含類型標(biāo)識(shí)、路由信息表序號(hào)、時(shí)間戳、發(fā)送hello消息節(jié)點(diǎn)ID、接收hello消息節(jié)點(diǎn)ID、包接收率、傳輸時(shí)延,通過各節(jié)點(diǎn)間周期性廣播hello消息來更新路由信息表,具體路由信息更新步驟如下:
步驟(1-1)、網(wǎng)絡(luò)中各節(jié)點(diǎn)向一跳范圍內(nèi)其他節(jié)點(diǎn)(即鄰近節(jié)點(diǎn))周期性發(fā)送hello消息,hello消息頭部包含發(fā)送hello消息節(jié)點(diǎn)ID、hello消息序列號(hào)、發(fā)送時(shí)間。即設(shè)xi為網(wǎng)絡(luò)中任一節(jié)點(diǎn),xi∈X,X={x1,x2,…,xN},X為網(wǎng)絡(luò)中的節(jié)點(diǎn)集合,N為節(jié)點(diǎn)個(gè)數(shù)。節(jié)點(diǎn)xi在周期時(shí)間T范圍內(nèi)廣播K個(gè)hello消息,此后在節(jié)點(diǎn)xi的鄰近節(jié)點(diǎn)中選擇一節(jié)點(diǎn)繼續(xù)廣播hello消息,直到所有節(jié)點(diǎn)均發(fā)送過hello消息。
步驟(1-2)、接收到hello消息的節(jié)點(diǎn)記錄其一個(gè)周期時(shí)間內(nèi)hello消息的接收情況,路由信息表項(xiàng)中記錄發(fā)送hello消息節(jié)點(diǎn)ID與接收hello消息節(jié)點(diǎn)ID,計(jì)算得出包接收率以及記錄每次接收到hello消息的時(shí)間與hello消息發(fā)送時(shí)間差求平均得傳輸時(shí)延放入路由信息表項(xiàng)中。路由信息表每增加一項(xiàng)記錄,路由信息表序號(hào)加1。
步驟(1-3)、集合X中各節(jié)點(diǎn)均廣播完一個(gè)周期的hello消息后,網(wǎng)絡(luò)中各節(jié)點(diǎn)廣播其路由信息表到全網(wǎng)所有節(jié)點(diǎn),各接收節(jié)點(diǎn)添加其路由信息表中沒有的記錄,若接收到時(shí)間戳較晚的記錄,則用時(shí)間戳較晚的記錄替換時(shí)間戳較早的記錄。協(xié)議基于該路由信息表中記錄進(jìn)行路由選擇。
步驟(2)、基于hello消息時(shí)延參數(shù)選擇候選轉(zhuǎn)發(fā)節(jié)點(diǎn)并基于優(yōu)先級(jí)確立轉(zhuǎn)發(fā)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)包的傳輸。本步驟中采用hello消息平均傳輸時(shí)延作為新的路由衡量尺度,記作τ,用于表示節(jié)點(diǎn)到目的節(jié)點(diǎn)傳輸數(shù)據(jù)包所要的時(shí)間耗費(fèi),每個(gè)鏈路對(duì)應(yīng)一個(gè)傳輸時(shí)延參數(shù)。源節(jié)點(diǎn)記作s,目的節(jié)點(diǎn)記作d,數(shù)據(jù)包從源節(jié)點(diǎn)傳輸?shù)侥康墓?jié)點(diǎn),在獲得上述路由信息后,協(xié)議通過基于時(shí)延參數(shù)的候選轉(zhuǎn)發(fā)節(jié)點(diǎn)選擇機(jī)制以及基于優(yōu)先級(jí)的轉(zhuǎn)發(fā)節(jié)點(diǎn)確立機(jī)制進(jìn)行數(shù)據(jù)包的傳輸,基于時(shí)延參數(shù)的候選轉(zhuǎn)發(fā)節(jié)點(diǎn)選擇機(jī)制包括步驟(2-1)、步驟(2-2),基于優(yōu)先級(jí)的轉(zhuǎn)發(fā)節(jié)點(diǎn)確立機(jī)制包括步驟(2-3)、步驟(2-4),具體數(shù)據(jù)傳輸過程步驟如下:
步驟(2-1)、發(fā)送節(jié)點(diǎn)記作x,初始發(fā)送節(jié)點(diǎn)為源節(jié)點(diǎn),每一跳數(shù)據(jù)包傳輸時(shí)從發(fā)送節(jié)點(diǎn)x的鄰近節(jié)點(diǎn)集Rx中選擇節(jié)點(diǎn)組成候選轉(zhuǎn)發(fā)集Fx。添加到候選轉(zhuǎn)發(fā)集的節(jié)點(diǎn)n(n∈Rx)須滿足候選轉(zhuǎn)發(fā)節(jié)點(diǎn)選擇條件:
τ(n,d)<=τ(x,d)
τ值的計(jì)算運(yùn)用Dijkstra最短路徑算法,對(duì)網(wǎng)絡(luò)中的節(jié)點(diǎn)集合V中的任意兩個(gè)節(jié)點(diǎn)vi和vj,節(jié)點(diǎn)vi到節(jié)點(diǎn)vj(vi,vj∈V,vi≠vj)的路徑τ值通過下式計(jì)算:
其中,vk為從節(jié)點(diǎn)vi到節(jié)點(diǎn)vj的路徑ξ上的節(jié)點(diǎn),v1、v2、v3、…、vhop+1即為路徑ξ上從節(jié)點(diǎn)vi到節(jié)點(diǎn)vj的各節(jié)點(diǎn)。vi=v1,vj=vhop+1,hop為路徑ξ的跳數(shù),τ(vi,vj)即為從節(jié)點(diǎn)vi到節(jié)點(diǎn)vj路徑上所有鏈路τ值之和的最小值。此外,惡意節(jié)點(diǎn)不允許成為候選轉(zhuǎn)發(fā)節(jié)點(diǎn)。
步驟(2-2)、數(shù)據(jù)包由發(fā)送節(jié)點(diǎn)x發(fā)送給候選轉(zhuǎn)發(fā)節(jié)點(diǎn),若目的節(jié)點(diǎn)接收到數(shù)據(jù)包,則轉(zhuǎn)到步驟(2-5);若目的節(jié)點(diǎn)未接收到數(shù)據(jù)包,則轉(zhuǎn)到步驟(2-3)。
步驟(2-3)、為步驟(2-2)中選出的候選轉(zhuǎn)發(fā)節(jié)點(diǎn)分配優(yōu)先級(jí),以ETX(期望傳輸次數(shù))作為候選轉(zhuǎn)發(fā)節(jié)點(diǎn)優(yōu)先級(jí)評(píng)判的標(biāo)準(zhǔn),節(jié)點(diǎn)ETX值越小優(yōu)先級(jí)越高。
步驟(2-4)、高優(yōu)先級(jí)的節(jié)點(diǎn)接收到數(shù)據(jù)包后,成為轉(zhuǎn)發(fā)節(jié)點(diǎn)并轉(zhuǎn)發(fā)數(shù)據(jù)包,轉(zhuǎn)發(fā)節(jié)點(diǎn)向其鄰近節(jié)點(diǎn)(包括發(fā)送節(jié)點(diǎn))廣播ACK消息,發(fā)送節(jié)點(diǎn)接收到ACK消息后再將ACK消息廣播給它的鄰近節(jié)點(diǎn),從而抑制低優(yōu)先級(jí)節(jié)點(diǎn)轉(zhuǎn)發(fā)同時(shí)告知發(fā)送節(jié)點(diǎn)數(shù)據(jù)包已成功接收,接收到數(shù)據(jù)包的候選轉(zhuǎn)發(fā)節(jié)點(diǎn)中優(yōu)先級(jí)最高的節(jié)點(diǎn)成為轉(zhuǎn)發(fā)節(jié)點(diǎn)并且轉(zhuǎn)發(fā)數(shù)據(jù)包,轉(zhuǎn)到步驟(2-2)。
步驟(2-5)、數(shù)據(jù)包傳輸結(jié)束。
步驟(3)、基于數(shù)據(jù)特征信息識(shí)別網(wǎng)絡(luò)中存在的數(shù)據(jù)篡改攻擊、虛假路由攻擊和選擇轉(zhuǎn)發(fā)攻擊等惡意行為。為了防止惡意行為對(duì)Ad hoc網(wǎng)絡(luò)中數(shù)據(jù)傳輸安全性的破壞,本發(fā)明通過基于數(shù)據(jù)特征信息的惡意行為識(shí)別機(jī)制發(fā)現(xiàn)網(wǎng)絡(luò)中存在的惡意行為,具體步驟如下:
步驟(3-1)、發(fā)送節(jié)點(diǎn)發(fā)送的數(shù)據(jù)包以及接收節(jié)點(diǎn)接收到數(shù)據(jù)包后回復(fù)的ACK消息中要包含數(shù)據(jù)包中數(shù)據(jù)信息的MD5編碼值作為數(shù)據(jù)特征信息,數(shù)據(jù)包發(fā)送節(jié)點(diǎn)發(fā)送數(shù)據(jù)包時(shí)會(huì)計(jì)算并保存包中數(shù)據(jù)的MD5編碼值,用于與接收節(jié)點(diǎn)回復(fù)的ACK消息中的MD5編碼值進(jìn)行對(duì)比校驗(yàn),若MD5編碼值不同,則接收節(jié)點(diǎn)為發(fā)動(dòng)數(shù)據(jù)篡改的攻擊者。
步驟(3-2)、機(jī)會(huì)路由協(xié)議中,在進(jìn)行一跳數(shù)據(jù)傳輸時(shí),多個(gè)候選轉(zhuǎn)發(fā)節(jié)點(diǎn)均會(huì)收到數(shù)據(jù)包,當(dāng)轉(zhuǎn)發(fā)節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù)包時(shí),部分候選轉(zhuǎn)發(fā)節(jié)點(diǎn)會(huì)監(jiān)聽到轉(zhuǎn)發(fā)的數(shù)據(jù)包。監(jiān)聽到數(shù)據(jù)包轉(zhuǎn)發(fā)的節(jié)點(diǎn)對(duì)數(shù)據(jù)包中數(shù)據(jù)進(jìn)行校驗(yàn),首先計(jì)算數(shù)據(jù)包中數(shù)據(jù)的MD5編碼值并與包中攜帶的MD5編碼值對(duì)比,然后將數(shù)據(jù)包中MD5編碼值與本地相同數(shù)據(jù)包的MD5編碼值進(jìn)行對(duì)比。若MD5編碼值存在不同,則識(shí)別該轉(zhuǎn)發(fā)節(jié)點(diǎn)造成了數(shù)據(jù)篡改攻擊。
步驟(3-3)、每次進(jìn)行路由信息表更新時(shí),都對(duì)全網(wǎng)中各節(jié)點(diǎn)已有的路由信息表進(jìn)行校驗(yàn),若某節(jié)點(diǎn)路由信息表中存在字段與其他節(jié)點(diǎn)路由信息表中相應(yīng)字段不同,則該節(jié)點(diǎn)識(shí)別為虛假路由攻擊者。
步驟(3-4)、網(wǎng)絡(luò)中的各節(jié)點(diǎn)本地需要維護(hù)一個(gè)包含包接收率、傳輸時(shí)延的數(shù)據(jù)結(jié)構(gòu),用于統(tǒng)計(jì)在路由信息表更新后直到下次路由信息表更新前的路由信息,并將統(tǒng)計(jì)到的信息與路由信息表中信息進(jìn)行對(duì)比,若信息數(shù)值差異超過閾值,則識(shí)別為虛假路由攻擊或選擇轉(zhuǎn)發(fā)攻擊,其中,統(tǒng)計(jì)到的包接收率與傳輸時(shí)延的實(shí)際值與路由信息表中的值差異若超過閾值,則識(shí)別為選擇轉(zhuǎn)發(fā)攻擊。
步驟(4)、如果僅通過步驟(3)所述基于數(shù)據(jù)特征信息的惡意行為識(shí)別機(jī)制進(jìn)行攻擊者識(shí)別,很可能造成誤判現(xiàn)象的發(fā)生。本發(fā)明采用基于信任度的節(jié)點(diǎn)信任機(jī)制對(duì)各節(jié)點(diǎn)信任度的影響,從而定位出惡意節(jié)點(diǎn)并將惡意節(jié)點(diǎn)剔除出Ad hoc網(wǎng)絡(luò)。每個(gè)節(jié)點(diǎn)維護(hù)一個(gè)節(jié)點(diǎn)信任度列表,其中記錄著該節(jié)點(diǎn)對(duì)其他節(jié)點(diǎn)的信任度值,每一個(gè)表項(xiàng)就是該節(jié)點(diǎn)評(píng)估的某一節(jié)點(diǎn)的信任度值。信任度列表項(xiàng)包含:節(jié)點(diǎn)編號(hào)ID、直接信任度(DC,Direct Credit)、間接信任度(IDC,Indirect Credit)、信任度變化量ΔCD。直接信任度為節(jié)點(diǎn)自身通過ACK消息及監(jiān)聽得出的對(duì)其他節(jié)點(diǎn)的信任度評(píng)估,間接信任度為節(jié)點(diǎn)通過網(wǎng)絡(luò)中的其他節(jié)點(diǎn)得知的節(jié)點(diǎn)信任度評(píng)估,通過數(shù)據(jù)傳輸獲得。直接信任度與間接信任度的加權(quán)平均記作節(jié)點(diǎn)的信任度(CD,Credit Degree),計(jì)算公式如下:
CD=w1·DC+w2·IDC
其中,DC、IDC初值均為1,w1、w2為權(quán)值,w1+w2=1,w1代表節(jié)點(diǎn)自身評(píng)估的信任度的權(quán)重,w2代表其他節(jié)點(diǎn)評(píng)估的信任度的權(quán)重。該過程類似人類社會(huì)中我們對(duì)他人的信任包含自己的主觀判斷和他人的評(píng)價(jià)兩部分組成。節(jié)點(diǎn)應(yīng)該以自身的判斷為主、以其他節(jié)點(diǎn)的判斷為輔來綜合判斷某節(jié)點(diǎn)的信任度,如取w1=0.75,w2=0.25。將節(jié)點(diǎn)信任度CD小于等于信任度閾值CD_threshold的節(jié)點(diǎn)稱作惡意節(jié)點(diǎn),數(shù)據(jù)傳輸過程中,識(shí)別出的惡意節(jié)點(diǎn)不得參與數(shù)據(jù)轉(zhuǎn)發(fā)。
信任度的大小決定著節(jié)點(diǎn)為惡意節(jié)點(diǎn)可能性的高低,本發(fā)明通過惡意行為識(shí)別機(jī)制更新直接信任度值,直接信任度更新流程圖如圖2所示,圖2(a)、(b)分別對(duì)應(yīng)如下步驟(4-1)、步驟(4-2);通過節(jié)點(diǎn)間廣播節(jié)點(diǎn)信任度信息獲取節(jié)點(diǎn)的間接信任度,間接信任度更新流程如圖3所示,對(duì)應(yīng)如下步驟(4-3)。信任度更新的具體步驟如下:
步驟(4-1)、通過數(shù)據(jù)特征信息的校驗(yàn)從而發(fā)現(xiàn)網(wǎng)絡(luò)中的數(shù)據(jù)篡改攻擊,并將該攻擊對(duì)節(jié)點(diǎn)信任度的影響量化為直接信任度的改變,即令DC+=Vm,Vm為數(shù)據(jù)篡改攻擊造成的節(jié)點(diǎn)信任度變化量,向其鄰近節(jié)點(diǎn)廣播信任度更新消息。
步驟(4-2)、節(jié)點(diǎn)作為候選轉(zhuǎn)發(fā)節(jié)點(diǎn)校驗(yàn)監(jiān)聽到轉(zhuǎn)發(fā)節(jié)點(diǎn)轉(zhuǎn)發(fā)的數(shù)據(jù)包的過程,對(duì)比監(jiān)聽到的數(shù)據(jù)包中路由信息與本地路由信息表中路由信息,對(duì)比二者路由信息中各字段數(shù)值,若數(shù)值差異超過閾值范圍,則認(rèn)為節(jié)點(diǎn)遭受虛假路由攻擊或選擇轉(zhuǎn)發(fā)攻擊,修改被監(jiān)聽節(jié)點(diǎn)的信任度,向其鄰近節(jié)點(diǎn)廣播信任度更新消息。即令DC+=Vc,Vc為虛假路由或選擇性轉(zhuǎn)發(fā)造成的節(jié)點(diǎn)信任度變化量。Vm和Vc可由人為憑經(jīng)驗(yàn)根據(jù)要求設(shè)定,范圍均為(0,1)之間的實(shí)數(shù),Vm和Vc的絕對(duì)值大小取決于網(wǎng)絡(luò)對(duì)惡意攻擊的容忍程度,安全性要求越高,Vm和Vc的絕對(duì)值越大。
步驟(4-3)、間接信任度通過節(jié)點(diǎn)間廣播節(jié)點(diǎn)信任度獲取節(jié)點(diǎn)信任度。當(dāng)一個(gè)節(jié)點(diǎn)接收到其他節(jié)點(diǎn)廣播的節(jié)點(diǎn)信任度更新消息時(shí),該節(jié)點(diǎn)更新其間接信任度。接收到其他節(jié)點(diǎn)廣播的信任度更新消息后,節(jié)點(diǎn)針對(duì)被評(píng)估節(jié)點(diǎn)的間接信任度更新如下式所示:
IDC+=ΔDC
CD+=w2·ΔDC
其中,ΔDC為信任度更新消息發(fā)送節(jié)點(diǎn)針對(duì)被評(píng)估節(jié)點(diǎn)的直接信任度變化評(píng)估,其值等于節(jié)點(diǎn)本地針對(duì)被評(píng)估節(jié)點(diǎn)的直接信任度減去其他節(jié)點(diǎn)廣播的信任度更新消息中被評(píng)估節(jié)點(diǎn)的直接信任度。w2值的大小代表著節(jié)點(diǎn)對(duì)其他節(jié)點(diǎn)信任度評(píng)估結(jié)果的信任程度。
本發(fā)明涉及的機(jī)會(huì)路由協(xié)議需要周期性的全網(wǎng)更新路由信息表,其中包含全網(wǎng)任意鏈路的狀態(tài)信息。各節(jié)點(diǎn)通過廣播hello消息獲得該節(jié)點(diǎn)與其鄰近節(jié)點(diǎn)所組成鏈路的狀態(tài)信息并記錄到節(jié)點(diǎn)本地的路由信息表,此后進(jìn)行路由信息表的全網(wǎng)更新。Flooding報(bào)文中包含:報(bào)文序列號(hào)、路由信息表、源節(jié)點(diǎn)號(hào)、傳輸距離計(jì)數(shù)。其中,報(bào)文序列號(hào)用于Flooding報(bào)文識(shí)別,路由信息表是節(jié)點(diǎn)本地存儲(chǔ)的路由信息表數(shù)據(jù),源節(jié)點(diǎn)號(hào)記錄著報(bào)文的源節(jié)點(diǎn)編號(hào),節(jié)點(diǎn)的傳輸距離計(jì)數(shù)用于標(biāo)識(shí)報(bào)文的傳輸距離,從而控制報(bào)文的傳播。
Ad hoc網(wǎng)絡(luò)以空氣為傳輸介質(zhì),由于無線網(wǎng)絡(luò)的廣播特性,多個(gè)相距較近的節(jié)點(diǎn)同時(shí)進(jìn)行報(bào)文傳輸可能存在內(nèi)爆以及報(bào)文沖突碰撞的問題。多個(gè)相同頻率的無線信道若在同一時(shí)刻進(jìn)行報(bào)文傳輸,其信號(hào)會(huì)存在相互干擾,接收端收到的將是混亂的數(shù)據(jù)報(bào)文或錯(cuò)誤的數(shù)據(jù)。一種基本的沖突避免機(jī)制為:接收端每接收到一個(gè)數(shù)據(jù)包或報(bào)文就回復(fù)一個(gè)確認(rèn)報(bào)文,若發(fā)送端未接收到確認(rèn)報(bào)文則進(jìn)行重發(fā)。然而,該機(jī)制僅能避免一對(duì)發(fā)送節(jié)點(diǎn)與接收節(jié)點(diǎn)間的報(bào)文重復(fù)問題,并不能避免一個(gè)接收節(jié)點(diǎn)針對(duì)多個(gè)發(fā)送節(jié)點(diǎn)所產(chǎn)生的報(bào)文沖突。
為實(shí)現(xiàn)報(bào)文沖突的避免,我們要求報(bào)文發(fā)送節(jié)點(diǎn)在報(bào)文傳輸前監(jiān)聽是否有節(jié)點(diǎn)正在進(jìn)行傳輸,若有其他節(jié)點(diǎn)正在進(jìn)行數(shù)據(jù)傳輸,則該節(jié)點(diǎn)再等待一個(gè)隨機(jī)時(shí)隙,然后進(jìn)行數(shù)據(jù)傳輸;若沒有其他節(jié)點(diǎn)進(jìn)行數(shù)據(jù)傳輸則該節(jié)點(diǎn)立即進(jìn)行報(bào)文傳輸,接收到報(bào)文的節(jié)點(diǎn)回復(fù)確認(rèn)報(bào)文。
為了避免同一時(shí)刻有大量的節(jié)點(diǎn)對(duì)進(jìn)行報(bào)文傳輸導(dǎo)致的報(bào)文接收沖突問題,我們要求在報(bào)文傳輸前各節(jié)點(diǎn)等待一個(gè)隨機(jī)時(shí)隙,這個(gè)時(shí)隙大小處于0和最大時(shí)隙Tmax之間,這樣可以很大程度上減少網(wǎng)絡(luò)中同時(shí)進(jìn)行報(bào)文傳輸?shù)墓?jié)點(diǎn)數(shù)量,避免沖突。
如圖4所示為沖突避免過程的實(shí)現(xiàn)過程,若同一時(shí)間段同時(shí)有三個(gè)報(bào)文發(fā)送節(jié)點(diǎn),報(bào)文接收節(jié)點(diǎn)均在它們的通信范圍之內(nèi),則沖突避免過程如下步驟所述:
步驟a.節(jié)點(diǎn)A監(jiān)聽得知沒有其他節(jié)點(diǎn)正在進(jìn)行報(bào)文傳輸,等待一個(gè)隨機(jī)時(shí)隙然后傳輸報(bào)文。
步驟b.節(jié)點(diǎn)B要傳輸報(bào)文時(shí),需要等待節(jié)點(diǎn)A傳輸完畢。
步驟c.節(jié)點(diǎn)B在報(bào)文傳輸前等待一個(gè)隨機(jī)時(shí)隙。
步驟d.節(jié)點(diǎn)B等待隨機(jī)時(shí)隙時(shí),節(jié)點(diǎn)C要傳輸報(bào)文,則節(jié)點(diǎn)C會(huì)監(jiān)聽是否有節(jié)點(diǎn)在傳輸,此外,節(jié)點(diǎn)C在傳輸前也要等待一個(gè)隨機(jī)時(shí)隙。
步驟e.若節(jié)點(diǎn)C比節(jié)點(diǎn)B要等待的隨機(jī)時(shí)隙短,則節(jié)點(diǎn)C等待時(shí)隙結(jié)束后進(jìn)行報(bào)文傳輸。
步驟f.節(jié)點(diǎn)B監(jiān)聽到節(jié)點(diǎn)C報(bào)文傳輸結(jié)束,則節(jié)點(diǎn)B在報(bào)文傳輸前等待一個(gè)隨機(jī)時(shí)隙,然后進(jìn)行報(bào)文傳輸。
各節(jié)點(diǎn)等待的隨機(jī)時(shí)隙仍有可能相同,此時(shí)接收出錯(cuò),接收節(jié)點(diǎn)不會(huì)返回確認(rèn)報(bào)文,則發(fā)送節(jié)點(diǎn)重新等待一個(gè)隨機(jī)時(shí)隙再進(jìn)行報(bào)文傳輸。
全網(wǎng)中各節(jié)點(diǎn)采用上述Flooding報(bào)文結(jié)構(gòu)以及報(bào)文沖突避免機(jī)制進(jìn)行Flooding報(bào)文傳輸,F(xiàn)looding報(bào)文從源節(jié)點(diǎn)傳輸?shù)饺W(wǎng)所有其他節(jié)點(diǎn)。在報(bào)文傳輸中,我們通過報(bào)文中的源節(jié)點(diǎn)號(hào)識(shí)別報(bào)文源節(jié)點(diǎn),則每個(gè)節(jié)點(diǎn)都要收到全網(wǎng)所有其他節(jié)點(diǎn)作為源節(jié)點(diǎn)發(fā)送的Flooding報(bào)文。每個(gè)節(jié)點(diǎn)要維護(hù)一個(gè)n項(xiàng)的映射表,n為網(wǎng)絡(luò)中節(jié)點(diǎn)數(shù),每一項(xiàng)為Flooding報(bào)文的源節(jié)點(diǎn)號(hào)與傳輸距離計(jì)數(shù)的映射。傳輸距離計(jì)數(shù)初值為0,各節(jié)點(diǎn)洪泛發(fā)送Flooding報(bào)文,接收到Flooding報(bào)文的節(jié)點(diǎn)檢查映射表中對(duì)應(yīng)源節(jié)點(diǎn)的傳輸距離計(jì)數(shù),并通過傳輸距離計(jì)數(shù)值控制Flooding報(bào)文傳輸。具體過程為:
報(bào)文發(fā)送節(jié)點(diǎn)在發(fā)送報(bào)文時(shí)將其中的傳輸距離計(jì)數(shù)加1,發(fā)送節(jié)點(diǎn)可以是源節(jié)點(diǎn)也可以是轉(zhuǎn)發(fā)節(jié)點(diǎn)。
接收節(jié)點(diǎn)接收到Flooding報(bào)文后的處理過程如圖5所示,接收節(jié)點(diǎn)接收到報(bào)文后將查看報(bào)文中的源節(jié)點(diǎn)號(hào)以及傳輸距離計(jì)數(shù),若接收節(jié)點(diǎn)本地的源節(jié)點(diǎn)-傳輸距離計(jì)數(shù)映射表中源節(jié)點(diǎn)號(hào)對(duì)應(yīng)的傳輸距離計(jì)數(shù)小于報(bào)文中的傳輸距離計(jì)數(shù),則本地映射表中源節(jié)點(diǎn)號(hào)對(duì)應(yīng)的傳輸距離計(jì)數(shù)加1,接收節(jié)點(diǎn)接收?qǐng)?bào)文,然后廣播Flooding報(bào)文到其鄰近節(jié)點(diǎn);若接收節(jié)點(diǎn)本地映射表中源節(jié)點(diǎn)號(hào)對(duì)應(yīng)的傳輸距離計(jì)數(shù)大于等于報(bào)文中的傳輸距離計(jì)數(shù),則該接收節(jié)點(diǎn)已經(jīng)接收到了該源節(jié)點(diǎn)的Flooding報(bào)文,將新接收到的報(bào)文丟棄。此外,當(dāng)接收到的報(bào)文傳輸距離計(jì)數(shù)等于網(wǎng)絡(luò)中節(jié)點(diǎn)數(shù)n時(shí),不再轉(zhuǎn)發(fā)報(bào)文。