一種路徑通斷的檢測方法和裝置制造方法
【專利摘要】本發(fā)明實(shí)施例提供了一種路徑通斷的檢測方法和裝置,該方法包括:當(dāng)需要通過第一節(jié)點(diǎn)進(jìn)行數(shù)據(jù)傳輸時(shí),所述第一節(jié)點(diǎn)向延遲最小的路徑上的下一跳節(jié)點(diǎn)發(fā)送單播探測報(bào)文,以便所述下一跳節(jié)點(diǎn)沿所述路徑將所述單播探測報(bào)文發(fā)送給目的節(jié)點(diǎn);所述第一節(jié)點(diǎn)判斷是否在探測周期內(nèi)接收到所述目的節(jié)點(diǎn)通過所述路徑發(fā)送的所述單播探測報(bào)文的響應(yīng),如果是,則確定所述路徑是通路,否則,則確定所述路徑是斷路。通過本申請,能夠及時(shí)獲知路徑的通斷。
【專利說明】一種路徑通斷的檢測方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,特別是涉及一種路徑通斷的檢測方法和裝置。
【背景技術(shù)】
[0002]隨著各種無線網(wǎng)絡(luò)的發(fā)展,出現(xiàn)了一種新型的無線網(wǎng)絡(luò)組網(wǎng)形式:Mesh網(wǎng)絡(luò),無線Mesh網(wǎng)絡(luò)的節(jié)點(diǎn)由Mesh路由器和Mesh客戶機(jī)組成,無線Mesh網(wǎng)絡(luò)具有自組織和自配置的特性,節(jié)點(diǎn)在網(wǎng)絡(luò)中能夠自動建立連接,動態(tài)擴(kuò)大覆蓋范圍。
[0003]Mesh協(xié)議可以在媒體接入控制(Media Access Control, MAC)層中實(shí)現(xiàn),MAC層相對于互聯(lián)網(wǎng)協(xié)議(Internet Protocol, IP)層少了很多數(shù)據(jù)包開銷,而且與無線網(wǎng)絡(luò)中的MAC層協(xié)議易于結(jié)合,協(xié)議效率更高。通過控制接收節(jié)點(diǎn)發(fā)送廣播幀的頻率,使得對整個(gè)數(shù)據(jù)發(fā)送和接收過程真正不可見的節(jié)點(diǎn)才能正確接收到該廣播幀,從而減少發(fā)送過程,避免信號干擾與占用帶寬。
[0004]在現(xiàn)有技術(shù)中,由于節(jié)點(diǎn)在Mesh網(wǎng)絡(luò)中能夠自動建立連接,因此,各路徑的通斷是時(shí)刻變化的,需要能夠及時(shí)獲知路徑的通斷。
[0005]因此,目前需要本領(lǐng)域技術(shù)人員迫切解決的一個(gè)技術(shù)問題就是:如何及時(shí)判斷路徑的通斷。
【發(fā)明內(nèi)容】
[0006]本發(fā)明實(shí)施例所要解決的技術(shù)問題是提供一種路徑通斷的檢測方法,及時(shí)判斷路徑的通斷。
[0007]相應(yīng)的,本發(fā)明實(shí)施例還提供了一種路徑通斷的檢測裝置,用以保證上述方法的實(shí)現(xiàn)及應(yīng)用。
[0008]為了解決上述問題,本發(fā)明公開了一種路徑通斷的檢測方法,包括:當(dāng)需要通過第一節(jié)點(diǎn)進(jìn)行數(shù)據(jù)傳輸時(shí),所述第一節(jié)點(diǎn)向延遲最小的路徑上的下一跳節(jié)點(diǎn)發(fā)送單播探測報(bào)文,以便所述下一跳節(jié)點(diǎn)沿所述路徑將所述單播探測報(bào)文發(fā)送給目的節(jié)點(diǎn);所述第一節(jié)點(diǎn)判斷是否在探測周期內(nèi)接收到所述目的節(jié)點(diǎn)通過所述路徑發(fā)送的所述單播探測報(bào)文的響應(yīng),如果是,則確定所述路徑是通路,否則,則確定所述路徑是斷路。
[0009]優(yōu)選地,在所述第一節(jié)點(diǎn)向延遲最小的路徑上的下一跳節(jié)點(diǎn)發(fā)送單播探測報(bào)文之前,所述方法還包括:所述單播探測報(bào)文的源節(jié)點(diǎn)向所述源節(jié)點(diǎn)和所述目的節(jié)點(diǎn)之間的中間節(jié)點(diǎn)廣播路由請求,其中,所述第一節(jié)點(diǎn)為所述源節(jié)點(diǎn)或所述中間節(jié)點(diǎn);所述中間節(jié)點(diǎn)建立到源節(jié)點(diǎn)的反向路由。
[0010]優(yōu)選地,在所述中間節(jié)點(diǎn)建立到源節(jié)點(diǎn)的反向路由之后,所述方法還包括:所述單播探測報(bào)文的源節(jié)點(diǎn)向所述源節(jié)點(diǎn)和所述目的節(jié)點(diǎn)之間的中間節(jié)點(diǎn)廣播路由請求,其中,所述路由請求包括源節(jié)點(diǎn)序列號和目的節(jié)點(diǎn)序列號,所述第一節(jié)點(diǎn)為所述源節(jié)點(diǎn)或所述中間節(jié)點(diǎn);選擇源節(jié)點(diǎn)序列號最大的反向路徑返回源節(jié)點(diǎn),當(dāng)序列號相同時(shí),選擇跳數(shù)最少的路徑。
[0011]優(yōu)選地,在確定所述路徑是斷路之后,所述方法還包括:所述第一節(jié)點(diǎn)緩存來自源節(jié)點(diǎn)的數(shù)據(jù)包;向所述目的節(jié)點(diǎn)發(fā)送路由請求;如果在預(yù)定時(shí)間內(nèi)接收到所述路由請求的響應(yīng),則所述路徑修復(fù)成功。
[0012]優(yōu)選地,如果在預(yù)定時(shí)間內(nèi)未接收到所述路由請求的響應(yīng),則所述第一節(jié)點(diǎn)通知所述源節(jié)點(diǎn)所述路徑為斷路,觸發(fā)所述源節(jié)點(diǎn)發(fā)起路由重建過程。
[0013]優(yōu)選地,在確定所述路徑是通路之后,所述第一節(jié)點(diǎn)在路由表中保存以下信息:目的節(jié)點(diǎn)的MAC地址、目的節(jié)點(diǎn)的序列號、目的節(jié)點(diǎn)的序列號的有效標(biāo)志、網(wǎng)絡(luò)接口、前驅(qū)節(jié)點(diǎn)列表、下一跳節(jié)點(diǎn)的MAC地址、到目的節(jié)點(diǎn)的跳數(shù)值、路由生存時(shí)間、反向路由生存時(shí)間和路由狀態(tài)。
[0014]優(yōu)選地,在確定所述路徑是斷路之后,所述方法還包括:所述第一節(jié)點(diǎn)向按照延遲從小到大的順序選擇的路徑發(fā)送單播探測報(bào)文,直到找到通路的路徑。
[0015]為了解決上述問題,本發(fā)明公開了一種路徑通斷的檢測裝置,包括:發(fā)送單元,當(dāng)需要通過所述裝置進(jìn)行數(shù)據(jù)傳輸時(shí),向延遲最小的路徑上的下一跳節(jié)點(diǎn)發(fā)送單播探測報(bào)文,以便所述下一跳節(jié)點(diǎn)沿所述路徑將所述單播探測報(bào)文發(fā)送給目的節(jié)點(diǎn);判斷單元,用于判斷是否在探測周期內(nèi)接收到所述目的節(jié)點(diǎn)通過所述路徑發(fā)送的所述單播探測報(bào)文的響應(yīng);確定單元,用于在所述判斷單元的判斷結(jié)果為是的情況下,確定所述路徑是通路,在所述判斷單元的判斷結(jié)果為否的情況下,確定所述路徑是斷路。
[0016]優(yōu)選地,所述裝置還包括:緩存單元,用于在確定所述路徑是斷路之后,緩存來自源節(jié)點(diǎn)的數(shù)據(jù)包;所述發(fā)送單元還用于向所述目的節(jié)點(diǎn)發(fā)送路由請求;所述確定單元還用于在預(yù)定時(shí)間內(nèi)接收到所述路由請求的響應(yīng)的情況下,確定所述路徑修復(fù)成功。
[0017]優(yōu)選地,所述發(fā)送單元還用于在預(yù)定時(shí)間內(nèi)未收到所述路由請求的響應(yīng)的情況下,通知所述源節(jié)點(diǎn)所述路徑為斷路,觸發(fā)所述源節(jié)點(diǎn)發(fā)起路由重建過程。
[0018]與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例包括以下優(yōu)點(diǎn):
[0019]在現(xiàn)有技術(shù)中,由于節(jié)點(diǎn)在Mesh網(wǎng)絡(luò)中能夠自動建立連接,因此,各路徑的通斷是時(shí)刻變化的,需要能夠及時(shí)獲知路徑的通斷。在本申請中,當(dāng)需要進(jìn)行數(shù)據(jù)傳輸時(shí),節(jié)點(diǎn)向延遲最小的路徑上的下一跳節(jié)點(diǎn)發(fā)送單播探測報(bào)文,如果在探測周期內(nèi)收到目的節(jié)點(diǎn)的響應(yīng),則可以確定這一路徑是通路,否則,確定該路徑為斷路,從而能夠及時(shí)獲知路徑的通斷。此外,本申請中,先判斷的是延遲最小的路徑的通斷,如果該路徑為通路,則可以使用該路徑,這樣,可以盡可能地減小數(shù)據(jù)傳輸?shù)难舆t。
【專利附圖】
【附圖說明】
[0020]圖1是本發(fā)明的一種路徑通斷的檢測方法實(shí)施例的步驟流程圖;
[0021]圖2是本發(fā)明的一種反向路由的建立方法的示意圖;
[0022]圖3是本發(fā)明的一種正向路由的建立方法的示意圖;
[0023]圖4是本發(fā)明的一種路徑通斷的檢測裝置實(shí)施例的結(jié)構(gòu)框圖;
[0024]圖5是本發(fā)明的一種路徑通斷的檢測裝置實(shí)施例的優(yōu)選的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0025]為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和【具體實(shí)施方式】對本發(fā)明作進(jìn)一步詳細(xì)的說明。
[0026]本發(fā)明實(shí)施例的核心構(gòu)思之一在于,當(dāng)需要通過第一節(jié)點(diǎn)進(jìn)行數(shù)據(jù)傳輸時(shí),所述第一節(jié)點(diǎn)向延遲最小的路徑上的下一跳節(jié)點(diǎn)發(fā)送單播探測報(bào)文,以便所述下一跳節(jié)點(diǎn)沿所述路徑將所述單播探測報(bào)文發(fā)送給目的節(jié)點(diǎn);所述第一節(jié)點(diǎn)判斷是否在探測周期內(nèi)接收到所述目的節(jié)點(diǎn)通過所述路徑發(fā)送的所述單播探測報(bào)文的響應(yīng),如果是,則確定所述路徑是通路,否則,則確定所述路徑是斷路。在本申請中,當(dāng)需要進(jìn)行數(shù)據(jù)傳輸時(shí),節(jié)點(diǎn)向延遲最小的路徑上的下一跳節(jié)點(diǎn)發(fā)送單播探測報(bào)文,如果在探測周期內(nèi)收到目的節(jié)點(diǎn)的響應(yīng),則可以確定這一路徑是通路,否則,確定該路徑為斷路,從而能夠及時(shí)獲知路徑的通斷。此外,本申請中,先判斷的是延遲最小的路徑的通斷,如果該路徑為通路,則可以使用該路徑,這樣,可以盡可能地減小數(shù)據(jù)傳輸?shù)难舆t。
[0027]參照圖1,示出了本發(fā)明的一種路徑通斷的檢測方法實(shí)施例的步驟流程圖,具體可以包括如下步驟:
[0028]步驟102,當(dāng)需要通過第一節(jié)點(diǎn)進(jìn)行數(shù)據(jù)傳輸時(shí),所述第一節(jié)點(diǎn)向延遲最小的路徑上的下一跳節(jié)點(diǎn)發(fā)送單播探測報(bào)文,以便所述下一跳節(jié)點(diǎn)沿所述路徑將所述單播探測報(bào)文發(fā)送給目的節(jié)點(diǎn);
[0029]其中,進(jìn)行數(shù)據(jù)傳輸可以包括:發(fā)送數(shù)據(jù)或轉(zhuǎn)發(fā)數(shù)據(jù),探測報(bào)文也是一種數(shù)據(jù),當(dāng)需要進(jìn)行數(shù)據(jù)傳輸時(shí),開始探測評價(jià)路徑,數(shù)據(jù)傳輸結(jié)束時(shí),技術(shù)探測評價(jià)路徑,這樣,只有在需要傳輸?shù)臅r(shí)候,才評價(jià)路徑,避免了在不需要傳輸?shù)臅r(shí)候進(jìn)行不必要的探測,節(jié)省了網(wǎng)絡(luò)資源。
[0030]本實(shí)施例中的路徑延遲包含了往返兩條路徑的延遲的總和,往返兩條路徑不一定要一致。
[0031]在本實(shí)施例中,單播探測報(bào)文的轉(zhuǎn)發(fā)以轉(zhuǎn)發(fā)節(jié)點(diǎn)的最小延遲路徑進(jìn)行發(fā)送。當(dāng)轉(zhuǎn)發(fā)節(jié)點(diǎn)發(fā)現(xiàn)跳數(shù)無法到達(dá)目的節(jié)點(diǎn)時(shí),向源節(jié)點(diǎn)返回該報(bào)文并要求更新路徑跳數(shù)。
[0032]在本發(fā)明實(shí)施例的一個(gè)優(yōu)選實(shí)例中,在所述第一節(jié)點(diǎn)向延遲最小的路徑上的下一跳節(jié)點(diǎn)發(fā)送單播探測報(bào)文之前,需要先建立該路徑,建立的方式可以包括:
[0033]所述單播探測報(bào)文的源節(jié)點(diǎn)向所述源節(jié)點(diǎn)和所述目的節(jié)點(diǎn)之間的中間節(jié)點(diǎn)廣播路由請求,其中,所述第一節(jié)點(diǎn)為所述源節(jié)點(diǎn)或所述中間節(jié)點(diǎn);所述中間節(jié)點(diǎn)建立到源節(jié)點(diǎn)的反向路由。通過該方式,建立了源節(jié)點(diǎn)到目的節(jié)點(diǎn)之間的反向路由。
[0034]所述單播探測報(bào)文的源節(jié)點(diǎn)向所述源節(jié)點(diǎn)和所述目的節(jié)點(diǎn)之間的中間節(jié)點(diǎn)廣播路由請求,其中,所述路由請求包括源節(jié)點(diǎn)序列號和目的節(jié)點(diǎn)序列號,所述第一節(jié)點(diǎn)為所述源節(jié)點(diǎn)或所述中間節(jié)點(diǎn);選擇源節(jié)點(diǎn)序列號最大的反向路徑返回源節(jié)點(diǎn),當(dāng)序列號相同時(shí),選擇跳數(shù)最少的路徑。通過該方式建立了源節(jié)點(diǎn)到目的節(jié)點(diǎn)之間的正向路由。
[0035]步驟104,所述第一節(jié)點(diǎn)判斷是否在探測周期內(nèi)接收到所述目的節(jié)點(diǎn)通過所述路徑發(fā)送的所述單播探測報(bào)文的響應(yīng),如果是,則確定所述路徑是通路,否則,則確定所述路徑是斷路。其中,節(jié)點(diǎn)探測周期可以為200(ms),整條路徑的探測周期為:跳數(shù)*200(ms)。
[0036]第一節(jié)點(diǎn)可以是路徑上任一節(jié)點(diǎn),路徑上每個(gè)節(jié)點(diǎn)負(fù)責(zé)快速評價(jià)下一跳路徑的通斷情況和到達(dá)目的節(jié)點(diǎn)的路徑延遲時(shí)間,進(jìn)而可以判斷路徑的通斷。
[0037]在本發(fā)明實(shí)施例的一個(gè)優(yōu)選實(shí)例中,如果確定該路徑是斷路,則可以對該路徑進(jìn)行修復(fù),例如,所述第一節(jié)點(diǎn)緩存來自源節(jié)點(diǎn)的數(shù)據(jù)包;向所述目的節(jié)點(diǎn)發(fā)送路由請求;如果在預(yù)定時(shí)間內(nèi)接收到所述路由請求的響應(yīng),則所述路徑修復(fù)成功。
[0038]在本發(fā)明實(shí)施例的另一個(gè)優(yōu)選實(shí)例中,如果在預(yù)定時(shí)間內(nèi)未接收到所述路由請求的響應(yīng),則所述第一節(jié)點(diǎn)通知所述源節(jié)點(diǎn)所述路徑為斷路,觸發(fā)所述源節(jié)點(diǎn)發(fā)起路由重建過程,重新建立源節(jié)點(diǎn)到目的節(jié)點(diǎn)的路由。
[0039]在本發(fā)明實(shí)施例的一個(gè)優(yōu)選實(shí)施例中,如果確定所述路徑是斷路,可以檢測其他路徑是否為通路,例如,所述第一節(jié)點(diǎn)向按照延遲從小到大的順序選擇路徑發(fā)送單播探測報(bào)文,按照步驟102-104的方法檢測路徑是否為通路,直到找到通路的路徑。通過該實(shí)施例,能夠盡可能地使用延遲小的路徑進(jìn)行數(shù)據(jù)傳輸。
[0040]在本發(fā)明實(shí)施例的另一個(gè)優(yōu)選實(shí)例中,第一節(jié)點(diǎn)可以在路由表中維護(hù)路徑信息,例如,確定所述路徑是通路之后,所述第一節(jié)點(diǎn)在路由表中保存以下信息:目的節(jié)點(diǎn)的MAC地址、目的節(jié)點(diǎn)的序列號、目的節(jié)點(diǎn)的序列號的有效標(biāo)志、網(wǎng)絡(luò)接口、前驅(qū)節(jié)點(diǎn)列表、下一跳節(jié)點(diǎn)的MAC地址、到目的節(jié)點(diǎn)的跳數(shù)值、路由生存時(shí)間、反向路由生存時(shí)間和路由狀態(tài)。其中,理由狀態(tài)可以包括:有效、無效、可修復(fù)或正在修復(fù)等。第一節(jié)點(diǎn)的路由表中除了存儲源、目的節(jié)點(diǎn)序列號和跳數(shù)值外,還存儲了其他一些有用信息,這些信息構(gòu)成了相關(guān)路由表項(xiàng)的軟狀態(tài)。
[0041]在具體實(shí)現(xiàn)時(shí),目的節(jié)點(diǎn)接收到單播探測報(bào)文后重置跳數(shù)并發(fā)送響應(yīng)給源節(jié)點(diǎn),由源節(jié)點(diǎn)計(jì)算路徑延遲。源節(jié)點(diǎn)接收到響應(yīng)后,依據(jù)情況更新跳數(shù)、路徑延遲以及執(zhí)行斷路操作。
[0042]另外,在具體實(shí)現(xiàn)時(shí),還可以采用智能值(cost)計(jì)算方法確定路徑的通斷,根據(jù)無線每一跳的發(fā)送速率及歷史發(fā)送速率計(jì)算每一跳的效率,折算出一個(gè)衡量每一跳性能的數(shù)值cost,在多跳的時(shí)候,計(jì)算多跳的cost值,當(dāng)cost在有效的范圍內(nèi)則認(rèn)為路徑是通路,否則認(rèn)為路徑是斷路。
[0043]在本實(shí)施例中,當(dāng)需要進(jìn)行數(shù)據(jù)傳輸時(shí),節(jié)點(diǎn)向延遲最小的路徑上的下一跳節(jié)點(diǎn)發(fā)送單播探測報(bào)文,如果在探測周期內(nèi)收到目的節(jié)點(diǎn)的響應(yīng),則可以確定這一路徑是通路,否則,確定該路徑為斷路,從而能夠及時(shí)獲知路徑的通斷。此外,本申請中,先判斷的是延遲最小的路徑的通斷,如果該路徑為通路,則可以使用該路徑,這樣,可以盡可能地減小數(shù)據(jù)傳輸?shù)难舆t。并且,本實(shí)施例通過單播探測報(bào)文的延遲來評價(jià)路徑,其中包含了節(jié)點(diǎn)間發(fā)送速率、擁塞程度因素,更貼近實(shí)際應(yīng)用的評價(jià)標(biāo)準(zhǔn)。
[0044]在無線Mesh網(wǎng)絡(luò)中,每個(gè)節(jié)點(diǎn)都會維持到最鄰近節(jié)點(diǎn)的最優(yōu)路徑。當(dāng)無線環(huán)境發(fā)生變化時(shí),比如:節(jié)點(diǎn)加入與退出,或者發(fā)生擁塞,路徑需要根據(jù)時(shí)延、吞吐量、噪聲等一系列因素進(jìn)行重新評估,Mesh網(wǎng)絡(luò)會自動地進(jìn)行自我調(diào)節(jié)最佳路徑。如果某個(gè)路徑丟失,網(wǎng)絡(luò)會通過重路由算法實(shí)現(xiàn)自我修復(fù),這樣節(jié)點(diǎn)一直保持連接,而且路徑也始終是最優(yōu)路徑。而且所有的自我調(diào)節(jié)和自我修復(fù)過程都是動態(tài)的,在后臺執(zhí)行并且是實(shí)時(shí)的一對用戶而言是透明的,不需要人為干預(yù)。本實(shí)施例對最優(yōu)路徑的評估采用多種因素綜合評估的算法,根據(jù)時(shí)延、吞吐量、噪聲的優(yōu)先級不同,并對信道做出實(shí)時(shí)評估,保證所選取的最優(yōu)路徑是準(zhǔn)確的、動態(tài)的,從而有效的提升了網(wǎng)絡(luò)狀態(tài)。
[0045]本實(shí)施例還提供了一種路徑的建立、維護(hù)和刪除方法,下面對此進(jìn)行具體說明。本實(shí)施例采用優(yōu)化的AOMDV算法在MAC層實(shí)現(xiàn)路徑的通斷檢測和評價(jià),每條路徑賦予一個(gè)cost值,該值綜合信號接收功率、信號噪聲、發(fā)送數(shù)據(jù)包成功率、傳輸延時(shí)等值綜合計(jì)算得出,cost在建立、維護(hù)路由的時(shí)候同時(shí)被更新,具體路由算法如下所述。
[0046]無線自組網(wǎng)按需平面距離矢量路由(Ad hoc On-demand Multipath DistanceVector Routing,AOMDV)路由算法包括路由建立、路由維護(hù)和路由刪除,主要通過路由請求(Route Request,RREQ)、路由回復(fù)(Route Reply,RREP)和 RERR(Route Error,路由錯誤)3種控制消息實(shí)現(xiàn)。
[0047]1.AOMDV 路由建立
[0048]AOMDV是一種典型的按需驅(qū)動路由協(xié)議,它的路由建立過程可以包括反向路由建立和正向路由建立。當(dāng)源節(jié)點(diǎn)需要轉(zhuǎn)發(fā)數(shù)據(jù)包時(shí),它在路由表中查找到目的節(jié)點(diǎn)的路由信息,當(dāng)路由表中沒有發(fā)現(xiàn)所需路由的條目時(shí),該算法就會發(fā)起路由發(fā)現(xiàn)過程。
[0049]a.反向路由的建立
[0050]源節(jié)點(diǎn)通過向鄰居節(jié)點(diǎn)廣播RREQ分組來發(fā)起一次路由發(fā)現(xiàn)過程。當(dāng)RREQ分組從源節(jié)點(diǎn)轉(zhuǎn)發(fā)到不同的中間節(jié)點(diǎn)時(shí),沿途經(jīng)過的所有中間節(jié)點(diǎn)都要自動建立到源節(jié)點(diǎn)的反向路由。反向路由的目的節(jié)點(diǎn)是源節(jié)點(diǎn),下一跳是第一個(gè)發(fā)送RREQ分組給該中間節(jié)點(diǎn)的鄰居地址。反向路由信息要存儲一段時(shí)間,以確保RREQ分組轉(zhuǎn)發(fā)到目的節(jié)點(diǎn)后產(chǎn)生的RREP分組沿反向路由信息回到源節(jié)點(diǎn)。如圖2所示,源節(jié)點(diǎn)S尋找到目的節(jié)點(diǎn)D的路由,通過廣播RREQ分組給各個(gè)中間節(jié)點(diǎn)M,最后到達(dá)目的節(jié)點(diǎn),同時(shí)建立了反向路由。
[0051]b.正向路由的建立
[0052]在目的節(jié)點(diǎn)發(fā)送RREP分組到源節(jié)點(diǎn)過程中,RREP分組并不會沿所有反向路徑返回源節(jié)點(diǎn)。RREQ分組包含源節(jié)點(diǎn)序列號和目的序列號。在啟動路由發(fā)起之前,源節(jié)點(diǎn)自動增加自己的序列號。RREP分組選擇源節(jié)點(diǎn)序列號最大的反向路徑返回源節(jié)點(diǎn),序列號相同時(shí),選擇跳數(shù)最少的路徑。在RREP分組傳輸?shù)耐瑫r(shí),沿著這條路徑上的每一個(gè)節(jié)點(diǎn)都記錄發(fā)送RREP分組的鄰居節(jié)點(diǎn)的地址,這樣到達(dá)源節(jié)點(diǎn)時(shí),也就建立了到達(dá)目的節(jié)點(diǎn)的正向路由。
[0053]2.AOMDV 路由維護(hù)
[0054](a)序列號的維護(hù)和更新
[0055]所謂序列號是路由表所維護(hù)的目的節(jié)點(diǎn)MAC地址的序列號。引入序列號的目的是為了避免節(jié)點(diǎn)間路由環(huán)路的出現(xiàn)。除上述源節(jié)點(diǎn)在發(fā)送RREQ前會增加自身序列號外,目的節(jié)點(diǎn)在組成RREP分組響應(yīng)包前,也會更新自己的序列號為當(dāng)前最大值,以標(biāo)識自己發(fā)送的RREQ/RREP分組為最新消息。各中間節(jié)點(diǎn)通過與接收到的RREQ/RREP分組比較序列號大小,來決定是否更新自己的路由表?xiàng)l目信息。當(dāng)一個(gè)節(jié)點(diǎn)發(fā)現(xiàn)它的下一跳節(jié)點(diǎn)中斷或鏈路過期時(shí),它通過查詢自己路由表找到所有使用該下一跳作為路徑的目的節(jié)點(diǎn),增大其在自己路由表中的目的節(jié)點(diǎn)的序列號,并把這些路徑標(biāo)記為無效。同時(shí),它向利用該損壞鏈路的活躍上游節(jié)點(diǎn)發(fā)送RERR分組(序列號已更新),收到這個(gè)RERR分組的節(jié)點(diǎn)再依次將RERR分組轉(zhuǎn)發(fā)給它們各自的活躍鄰居,直到所有與損壞鏈路有關(guān)的活躍節(jié)點(diǎn)都被通知到為止。源節(jié)點(diǎn)收到斷鏈的通知后,如果仍需要與目的節(jié)點(diǎn)聯(lián)系,要再次發(fā)起新的路由發(fā)現(xiàn)過程。
[0056](b)路由表的維護(hù)和管理
[0057]AOMDV定義的路由表?xiàng)l目包括下列信息:目的節(jié)點(diǎn)MAC地址、目的節(jié)點(diǎn)序列號、目的節(jié)點(diǎn)的序列號的有效標(biāo)志、網(wǎng)絡(luò)接口、前驅(qū)節(jié)點(diǎn)列表、下一跳節(jié)點(diǎn)MAC地址、到目的節(jié)點(diǎn)跳數(shù)值、路由生存時(shí)間、反向路由生存時(shí)間和路由狀態(tài)(有效、無效、可修復(fù)或正在修復(fù)等)。節(jié)點(diǎn)的路由表項(xiàng)中除了存儲源、目的節(jié)點(diǎn)序列號和跳數(shù)值外,還存儲了其他一些有用信息,這些信息構(gòu)成了相關(guān)路由表項(xiàng)的軟狀態(tài)。
[0058]當(dāng)一節(jié)點(diǎn)接收到一條包含未知目的節(jié)點(diǎn)的控制信息或和一未知節(jié)點(diǎn)通信時(shí),需要在自己的路由表中新建該目的節(jié)點(diǎn)條目,并把其中的目的序列號有效標(biāo)志初始化為假;路徑建立后再設(shè)置為真。
[0059]前驅(qū)節(jié)點(diǎn)列表指向所有可能使用這條路由表項(xiàng)的鄰居節(jié)點(diǎn)地址,在下一跳鏈路中斷時(shí),節(jié)點(diǎn)向前驅(qū)鏈表中所有鄰節(jié)點(diǎn)地址發(fā)送RERR分組信息,以達(dá)到快速通告鏈路中斷的目的。路由生存時(shí)間為路由表中某個(gè)條目有效的時(shí)間,在計(jì)算上采用當(dāng)前時(shí)間加路由超時(shí)時(shí)間。一般地路由條目路徑中有節(jié)點(diǎn)發(fā)送或轉(zhuǎn)發(fā)到目的節(jié)點(diǎn)的分組,即認(rèn)為這個(gè)路由條目有效,此時(shí)按上述方法重新計(jì)算路由生存時(shí)間。反之,超過了生存時(shí)間該路由還沒有活動,則標(biāo)記路由狀態(tài)為無效。反向路由生存時(shí)間是指路由發(fā)起時(shí)目的節(jié)點(diǎn)發(fā)送RREP分組沒有經(jīng)過的反向路由過期時(shí)間。一般這個(gè)時(shí)間比較短暫,路徑建立后,這些反向路由就會被刪除。
[0060](c)你好(Hello)消息機(jī)制
[0061]在AOMDV路由協(xié)議中,有一種特殊的RREP分組消息,它的源、目的節(jié)點(diǎn)地址均為本節(jié)點(diǎn)MAC,目的序列號為本節(jié)點(diǎn)最新序列號,跳數(shù)為0,TTL值為1,這個(gè)分組稱為Hello消息分組。節(jié)點(diǎn)通過廣播本地Hello消息來保證網(wǎng)絡(luò)的連接性。每隔固定時(shí)間,節(jié)點(diǎn)會檢查自己上一固定時(shí)間是否發(fā)出廣播報(bào)文(如RREQ或二層適當(dāng)信息),如果沒有發(fā)送,它就廣播一條Hello消息。相鄰節(jié)點(diǎn)收到Hello消息,會確認(rèn)到這個(gè)鄰居的有效路由,如果路由不存在,就新建該路由。如果已存在,就增加這條路由的生命期。如果節(jié)點(diǎn)在一段固定時(shí)間內(nèi)沒有收到有效路由中相鄰節(jié)點(diǎn)的Hello消息或其它報(bào)文便認(rèn)為該鏈路中斷,并發(fā)送RERR至相關(guān)路由的節(jié)點(diǎn),通告路由故障。
[0062](d)局部修復(fù)與路由重建
[0063]局部修復(fù)和路由重建是AOMDV路由協(xié)議中常用的兩種路徑恢復(fù)辦法。局部修復(fù)是在保持路由聯(lián)通性前提下,用放棄最優(yōu)路徑來縮短路由恢復(fù)時(shí)間的一種路由修復(fù)方式。當(dāng)中間節(jié)點(diǎn)檢測到某鄰居節(jié)點(diǎn)鏈路中斷時(shí),先緩存來自源節(jié)點(diǎn)的數(shù)據(jù)包,同時(shí)發(fā)送RREQ,如果目的節(jié)點(diǎn)收到該RREQ,則回復(fù)該中間節(jié)點(diǎn)RREP,路由修復(fù)成功。如果在設(shè)定時(shí)間內(nèi)沒有收到來自目的節(jié)點(diǎn)的RREP,中間節(jié)點(diǎn)則向所有的前驅(qū)節(jié)點(diǎn)廣播RERR消息,收到RERR分組的鄰節(jié)點(diǎn)繼續(xù)向自己的上游節(jié)點(diǎn)轉(zhuǎn)發(fā)這個(gè)分組,直到傳送到所有受影響的源節(jié)點(diǎn),把所有相關(guān)的路由條目設(shè)置為無效。源節(jié)點(diǎn)如果還需要和路由條目中的目的節(jié)點(diǎn)通信,那就要重新發(fā)起路由發(fā)現(xiàn)過程,即路由重建。
[0064]3.AOMDV 路由刪除
[0065]在上述路由建立中,我們知道,當(dāng)目的節(jié)點(diǎn)發(fā)送RREP消息沿反向路由返回源節(jié)點(diǎn)建立正向路由時(shí),有一部分反向路由是不經(jīng)過的,這部分反向路由在路徑建立后一段內(nèi)是要被刪除。另外,因節(jié)點(diǎn)故障或移動導(dǎo)致鏈路中斷而產(chǎn)生的過期無效路由,AOMDV也會在一段時(shí)間內(nèi)把它們刪除。
[0066]通過該實(shí)施例,實(shí)現(xiàn)了路徑(路由)的建立、維護(hù)和刪除。
[0067]需要說明的是,對于方法實(shí)施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明實(shí)施例并不受所描述的動作順序的限制,因?yàn)橐罁?jù)本發(fā)明實(shí)施例,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動作并不一定是本發(fā)明實(shí)施例所必須的。
[0068]參照圖4,示出了本發(fā)明一種路徑通斷的檢測裝置實(shí)施例的結(jié)構(gòu)框圖,具體可以包括如下模塊:
[0069]發(fā)送單元402,當(dāng)需要通過所述裝置進(jìn)行數(shù)據(jù)傳輸時(shí),向延遲最小的路徑上的下一跳節(jié)點(diǎn)發(fā)送單播探測報(bào)文,以便所述下一跳節(jié)點(diǎn)沿所述路徑將所述單播探測報(bào)文發(fā)送給目的節(jié)點(diǎn);
[0070]判斷單元404,用于判斷是否在探測周期內(nèi)接收到所述目的節(jié)點(diǎn)通過所述路徑發(fā)送的所述單播探測報(bào)文的響應(yīng);
[0071]確定單元406,用于在所述判斷單元的判斷結(jié)果為是的情況下,確定所述路徑是通路,在所述判斷單元的判斷結(jié)果為否的情況下,確定所述路徑是斷路。
[0072]圖5示出了本發(fā)明一種路徑通斷的檢測裝置實(shí)施例的優(yōu)選的結(jié)構(gòu)框圖,在本發(fā)明實(shí)施例的一個(gè)優(yōu)選實(shí)例中,所述裝置還包括:
[0073]緩存單元502,用于在確定所述路徑是斷路之后,緩存來自源節(jié)點(diǎn)的數(shù)據(jù)包;
[0074]所述發(fā)送單元402還用于向所述目的節(jié)點(diǎn)發(fā)送路由請求;
[0075]所述確定單元406還用于在預(yù)定時(shí)間內(nèi)接收到所述路由請求的響應(yīng)的情況下,確定所述路徑修復(fù)成功。
[0076]在本發(fā)明實(shí)施例的一個(gè)優(yōu)選實(shí)例中,所述發(fā)送單元402還用于在預(yù)定時(shí)間內(nèi)未收到所述路由請求的響應(yīng)的情況下,通知所述源節(jié)點(diǎn)所述路徑為斷路,觸發(fā)所述源節(jié)點(diǎn)發(fā)起路由重建過程。
[0077]圖5示出了本發(fā)明一種路徑通斷的檢測裝置實(shí)施例的優(yōu)選的結(jié)構(gòu)框圖,在本發(fā)明實(shí)施例的一個(gè)優(yōu)選實(shí)例中,所述裝置還包括:保存單元504,用于在確定所述路徑是通路之后,在路由表中保存以下信息:
[0078]目的節(jié)點(diǎn)的MAC地址、目的節(jié)點(diǎn)的序列號、目的節(jié)點(diǎn)的序列號的有效標(biāo)志、網(wǎng)絡(luò)接口、前驅(qū)節(jié)點(diǎn)列表、下一跳節(jié)點(diǎn)的MAC地址、到目的節(jié)點(diǎn)的跳數(shù)值、路由生存時(shí)間、反向路由生存時(shí)間和路由狀態(tài)。
[0079]圖5示出了本發(fā)明一種路徑通斷的檢測裝置實(shí)施例的優(yōu)選的結(jié)構(gòu)框圖,在本發(fā)明實(shí)施例的一個(gè)優(yōu)選實(shí)例中,所述裝置還包括:選擇單元506,用于在確定所述路徑是斷路之后,向按照延遲從小到大的順序選擇的路徑發(fā)送單播探測報(bào)文,直到找到通路的路徑。
[0080]對于裝置實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
[0081]本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見即可。
[0082]本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明實(shí)施例的實(shí)施例可提供為方法、裝置、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明實(shí)施例可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明實(shí)施例可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
[0083]本發(fā)明實(shí)施例是參照根據(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è)方框中指定的功能的裝置。
[0084]這些計(jì)算機(jī)程序指令也可存儲在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲器中,使得存儲在該計(jì)算機(jī)可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
[0085]這些計(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è)方框中指定的功能的步驟。
[0086]盡管已描述了本發(fā)明實(shí)施例的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實(shí)施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明實(shí)施例范圍的所有變更和修改。
[0087]最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者終端設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者終端設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者終端設(shè)備中還存在另外的相同要素。
[0088]以上對本發(fā)明所提供的一種路徑通斷的檢測方法和裝置,進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在【具體實(shí)施方式】及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
【權(quán)利要求】
1.一種路徑通斷的檢測方法,其特征在于,包括: 當(dāng)需要通過第一節(jié)點(diǎn)進(jìn)行數(shù)據(jù)傳輸時(shí),所述第一節(jié)點(diǎn)向延遲最小的路徑上的下一跳節(jié)點(diǎn)發(fā)送單播探測報(bào)文,以便所述下一跳節(jié)點(diǎn)沿所述路徑將所述單播探測報(bào)文發(fā)送給目的節(jié)占.所述第一節(jié)點(diǎn)判斷是否在探測周期內(nèi)接收到所述目的節(jié)點(diǎn)通過所述路徑發(fā)送的所述單播探測報(bào)文的響應(yīng),如果是,則確定所述路徑是通路,否則,則確定所述路徑是斷路。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述第一節(jié)點(diǎn)向延遲最小的路徑上的下一跳節(jié)點(diǎn)發(fā)送單播探測報(bào)文之前,所述方法還包括: 所述單播探測報(bào)文的源節(jié)點(diǎn)向所述源節(jié)點(diǎn)和所述目的節(jié)點(diǎn)之間的中間節(jié)點(diǎn)廣播路由請求,其中,所述第一節(jié)點(diǎn)為所述源節(jié)點(diǎn)或所述中間節(jié)點(diǎn); 所述中間節(jié)點(diǎn)建立到源節(jié)點(diǎn)的反向路由。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,在所述中間節(jié)點(diǎn)建立到源節(jié)點(diǎn)的反向路由之后,所述方法還包括: 所述單播探測報(bào)文的源節(jié)點(diǎn)向所述源節(jié)點(diǎn)和所述目的節(jié)點(diǎn)之間的中間節(jié)點(diǎn)廣播路由請求,其中,所述路由請求包括源節(jié)點(diǎn)序列號和目的節(jié)點(diǎn)序列號,所述第一節(jié)點(diǎn)為所述源節(jié)點(diǎn)或所述中間節(jié)點(diǎn); 選擇源節(jié)點(diǎn)序列號最大的反向路徑返回源節(jié)點(diǎn),當(dāng)序列號相同時(shí),選擇跳數(shù)最少的路徑。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,在確定所述路徑是斷路之后,所述方法還包括: 所述第一節(jié)點(diǎn)緩存來自源節(jié)點(diǎn)的數(shù)據(jù)包; 向所述目的節(jié)點(diǎn)發(fā)送路由請求; 如果在預(yù)定時(shí)間內(nèi)接收到所述路由請求的響應(yīng),則所述路徑修復(fù)成功。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,如果在預(yù)定時(shí)間內(nèi)未接收到所述路由請求的響應(yīng),則所述第一節(jié)點(diǎn)通知所述源節(jié)點(diǎn)所述路徑為斷路,觸發(fā)所述源節(jié)點(diǎn)發(fā)起路由重建過程。
6.根據(jù)權(quán)利要求1至5中任一項(xiàng)所述的方法,其特征在于,在確定所述路徑是通路之后,所述第一節(jié)點(diǎn)在路由表中保存以下信息: 目的節(jié)點(diǎn)的MAC地址、目的節(jié)點(diǎn)的序列號、目的節(jié)點(diǎn)的序列號的有效標(biāo)志、網(wǎng)絡(luò)接口、前驅(qū)節(jié)點(diǎn)列表、下一跳節(jié)點(diǎn)的MAC地址、到目的節(jié)點(diǎn)的跳數(shù)值、路由生存時(shí)間、反向路由生存時(shí)間和路由狀態(tài)。
7.根據(jù)權(quán)利要求1至5中任一項(xiàng)所述的方法,其特征在于,在確定所述路徑是斷路之后,所述方法還包括: 所述第一節(jié)點(diǎn)向按照延遲從小到大的順序選擇的路徑發(fā)送單播探測報(bào)文,直到找到通路的路徑。
8.一種路徑通斷的檢測裝置,其特征在于,包括: 發(fā)送單元,當(dāng)需要通過所述裝置進(jìn)行數(shù)據(jù)傳輸時(shí),向延遲最小的路徑上的下一跳節(jié)點(diǎn)發(fā)送單播探測報(bào)文,以便所述下一跳節(jié)點(diǎn)沿所述路徑將所述單播探測報(bào)文發(fā)送給目的節(jié)占. 判斷單元,用于判斷是否在探測周期內(nèi)接收到所述目的節(jié)點(diǎn)通過所述路徑發(fā)送的所述單播探測報(bào)文的響應(yīng); 確定單元,用于在所述判斷單元的判斷結(jié)果為是的情況下,確定所述路徑是通路,在所述判斷單元的判斷結(jié)果為否的情況下,確定所述路徑是斷路。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述裝置還包括: 緩存單元,用于在確定所述路徑是斷路之后,緩存來自源節(jié)點(diǎn)的數(shù)據(jù)包; 所述發(fā)送單元還用于向所述目的節(jié)點(diǎn)發(fā)送路由請求; 所述確定單元還用于在預(yù)定時(shí)間內(nèi)接收到所述路由請求的響應(yīng)的情況下,確定所述路徑修復(fù)成功。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述發(fā)送單元還用于在預(yù)定時(shí)間內(nèi)未收到所述路由請求的響應(yīng)的情況下,通知所述源節(jié)點(diǎn)所述路徑為斷路,觸發(fā)所述源節(jié)點(diǎn)發(fā)起路由重建過程。
【文檔編號】H04W24/00GK104301912SQ201410510536
【公開日】2015年1月21日 申請日期:2014年9月28日 優(yōu)先權(quán)日:2014年9月28日
【發(fā)明者】李騰飛 申請人:北京盈進(jìn)科技有限公司