本發(fā)明涉及第四代移動通信技術(The4thGenerationMobileCommunication,4G)長期演進(LongTermEvolution,LTE)以及無線移動自組網領域,特別涉及一種無線自組網的路由方法及裝置。
背景技術:
:Adhoc網絡通信技術是一種能夠快速自動組網的移動通信技術,它不同于一般的有中心的、集中式控制的、依賴預先部署通信基礎設施的網絡,具有快速部署、不依賴基礎通信設施、能自維護自管理、抗毀性強等特點,網絡中的節(jié)點不僅具有普通移動終端的功能,而且具有路由功能,網絡的通信靠節(jié)點之間的相互協(xié)作、自組織和自運行、共同完成通信任務;已廣泛的用于應急通信中。目前Adhoc網絡通信技術逐步向著高速化、寬帶化和網絡化方向發(fā)展,已從最初的話音為主,發(fā)展到以數據為主、數話并重,通信保障模式也從傳統(tǒng)的單手段模式,發(fā)展到多手段綜合運用的互聯(lián)網模式。而傳統(tǒng)的技術不再適用,LTE技術具有傳輸速率高,無線傳輸時延低,頻譜效率高,全IP架構,語音和數據融合等特點,符合當前戰(zhàn)術通信的需求,因此將LTE技術應用到應急通信中是一個新的挑戰(zhàn),也為移動通信設備提供了新的機遇?;贏dhoc網絡通信技術和LTE技術的上述特點,Adhoc網絡通信技術和LTE技術相結合已成為一種技術發(fā)展趨勢,在基于LTE技術的無線自組網中如何路由成為亟待解決的問題。技術實現要素:本發(fā)明的目的在于提供一種無線自組網的路由方法及裝置,能更好地在基于LTE通信方式的無線自組網中通過節(jié)點模式選舉解決路由的問題。根據本發(fā)明的一個方面,提供了一種無線自組網的路由方法,包括:當前節(jié)點通過與其它節(jié)點交互節(jié)點信息,獲取當前節(jié)點所在無線自組網魚眼域的拓撲信息;根據所獲取的拓撲信息,將所述魚眼域內的節(jié)點選舉為基站模式節(jié)點或終端模式節(jié)點;根據所述當前節(jié)點及其一跳鄰居節(jié)點的類型,建立相應的鄰接關系,并得到鏈路狀態(tài)信息;根據所述鏈路狀態(tài)信息,以本節(jié)點為根節(jié)點,生成路由表。優(yōu)選地,所述當前節(jié)點通過與其它節(jié)點交互節(jié)點信息,獲取當前節(jié)點所在無線自組網魚眼域的拓撲信息的步驟包括:所述當前節(jié)點向其它節(jié)點廣播攜帶本節(jié)點信息和兩跳內鄰居節(jié)點信息的廣播報文,并接收來自其它節(jié)點的廣播報文;根據所收到的每個廣播報文的序列號,判斷所述廣播報文是否是最新廣播報文;若是最新廣播報文,則更新拓撲表,從而得到以當前節(jié)點為中心的魚眼域的拓撲信息。優(yōu)選地,所述根據所獲取的拓撲信息,將所述魚眼域內的節(jié)點選舉為基站模式節(jié)點或終端模式節(jié)點的步驟包括:當根據所獲取的魚眼域的拓撲信息,確定所述當前節(jié)點的三跳及以內的鄰居節(jié)點均為空閑模式節(jié)點時,判斷所述當前節(jié)點的連接數是否大于其三跳及以內的空閑模式節(jié)點的連接數;若判斷所述當前節(jié)點的連接數大于其三跳及以內的空閑模式節(jié)點的連接數,則將所述當前節(jié)點選舉為基站模式節(jié)點;若判斷所述當前節(jié)點的連接數等于其三跳及以內的空閑模式節(jié)點的連接數,則將節(jié)點ID最小的節(jié)點選舉為基站模式節(jié)點。優(yōu)選地,所述根據所獲取的拓撲信息,將所述魚眼域內的節(jié)點選舉為基站模式節(jié)點或終端模式節(jié)點的步驟還包括:當根據所獲取的魚眼域的拓撲信息,確定所述當前節(jié)點的三跳及以內的鄰居節(jié)點中存在基站模式節(jié)點時,將所述當前節(jié)點選舉為終端模式節(jié)點。優(yōu)選地,所述根據所獲取的拓撲信息,將所述魚眼域內的節(jié)點選舉為基站模式節(jié)點或終端模式節(jié)點的步驟包括:根據所獲取的魚眼域的拓撲信息,判斷所述當前節(jié)點的連接數是否大于其三跳及以內的鄰居節(jié)點的連接數;若判斷所述當前節(jié)點的連接數大于其三跳及以內的鄰居節(jié)點的連接數,則將所述當前節(jié)點選舉為基站模式節(jié)點;若判斷所述當前節(jié)點的連接數等于其三跳及以內的鄰居節(jié)點的連接數,則將節(jié)點ID最小的節(jié)點選舉為基站模式節(jié)點。優(yōu)選地,所述根據所獲取的拓撲信息,將所述魚眼域內的節(jié)點選舉為基站模式節(jié)點或終端模式節(jié)點的步驟還包括:當根據所獲取的魚眼域的拓撲信息,確定所述當前節(jié)點的鄰居節(jié)點中存在基站模式節(jié)點和終端模式節(jié)點時,判斷所述當前節(jié)點的連接數是否大于終端模式節(jié)點的連接數;若所述當前節(jié)點的連接數大于終端模式節(jié)點的連接數,則將所述當前節(jié)點選舉為基站模式節(jié)點,否則將所述當前節(jié)點選舉為終端模式節(jié)點。優(yōu)選地,所述根據所獲取的拓撲信息,將所述魚眼域內的節(jié)點選舉為基站模式節(jié)點或終端模式節(jié)點的步驟還包括:當根據所獲取的魚眼域的拓撲信息,確定所述當前節(jié)點的鄰居節(jié)點中存在基站模式節(jié)點且不存在終端模式節(jié)點時,將所述當前節(jié)點選舉為終端模式節(jié)點。優(yōu)選地,所述根據所獲取的拓撲信息,將所述魚眼域內的節(jié)點選舉為基站模式節(jié)點或終端模式節(jié)點的步驟還包括:當根據所獲取的魚眼域的拓撲信息,確定所述當前節(jié)點的一跳鄰居節(jié)點均為終端模式節(jié)點,或者一跳鄰居節(jié)點中不存在基站模塊節(jié)點且兩跳鄰居節(jié)點中存在基站模塊時,將所述當前節(jié)點選舉為基站模式節(jié)點。優(yōu)選地,所述根據所述當前節(jié)點及其一跳鄰居節(jié)點的類型,建立相應的鄰接關系,并得到鏈路狀態(tài)信息的步驟包括:若所述當前節(jié)點為基站模式節(jié)點,則所述當前節(jié)點與其一跳鄰居節(jié)點中的終端模式節(jié)點建立鄰接關系,生成對應于所述鄰接關系的鏈路狀態(tài)信息,并將所生成的鏈路狀態(tài)信息分別攜帶于兩個不同的報文,發(fā)送至魚眼域內的節(jié)點和魚眼域外的節(jié)點,以供魚眼域內和魚眼域外的各節(jié)點更新鏈路狀態(tài)信息;若所述當前節(jié)點為終端模式節(jié)點,則所述當前節(jié)點與其一跳鄰居節(jié)點中的基站模式節(jié)點建立鄰接關系,生成對應于所述鄰接關系的鏈路狀態(tài)信息,并將所生成的鏈路狀態(tài)信息發(fā)送至魚眼域內的各個節(jié)點,以供魚眼域內的各節(jié)點更新鏈路狀態(tài)信息。根據本發(fā)明的另一方面,提供了一種無線自組網的路由裝置,包括設置在每個節(jié)點上的以下模塊:交互模塊,用于通過與其它節(jié)點交互節(jié)點信息,獲取當前節(jié)點所在魚眼域的拓撲信息;選舉模塊,用于根據所獲取的魚眼域的拓撲信息,將所述魚眼域內的節(jié)點選舉為基站模式節(jié)點或終端模式節(jié)點;鏈路狀態(tài)生成模塊,用于根據所述當前節(jié)點及其一跳鄰居節(jié)點的類型,建立相應的鄰接關系,并得到鏈路狀態(tài)信息;路由生成模塊,用于根據所述鏈路狀態(tài)表,以本節(jié)點為根節(jié)點,生成路由表。與現有技術相比較,本發(fā)明的有益效果在于:通過本發(fā)明的路由方法及裝置,實現了將現有的LTE技術應用到了無線自組網中,更適應網絡拓撲的快速變化,提高了路由精準度,節(jié)省了路由開銷。附圖說明圖1是本發(fā)明實施例提供的無線自組網的路由方法的原理框圖;圖2是本發(fā)明實施例提供的無線自組網的路由裝置框圖;圖3是本發(fā)明實施例提供的路由協(xié)議算法的基本步驟示意圖;圖4是本發(fā)明實施例提供的定期廣播節(jié)點信息的過程圖;圖5是本發(fā)明實施例提供的節(jié)點初始上電時網絡拓撲圖;圖6是本發(fā)明實施例提供的節(jié)點間獲取到鄰居節(jié)點信息后的網絡拓撲圖;圖7是本發(fā)明實施例提供的節(jié)點模式選舉完成后形成鄰接關系的拓撲圖;圖8是本發(fā)明實施例提供的普通的節(jié)點模式選舉流程圖;圖9是本發(fā)明實施例提供的優(yōu)選的節(jié)點模式選舉流程圖;圖10是本發(fā)明實施例提供的新節(jié)點進入網絡時的拓撲圖;圖11是本發(fā)明實施例提供的拓撲穩(wěn)定后的拓撲圖;圖12是本發(fā)明實施例提供的重新進行模式選舉時使用普通的選舉算法后的鄰接關系圖;圖13是本發(fā)明實施例提供的重新進行模式選舉時使用優(yōu)選的舉算法后的鄰接關系圖。具體實施方式以下結合附圖對本發(fā)明的優(yōu)選實施例進行詳細說明,應當理解,以下所說明的優(yōu)選實施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。圖1是本發(fā)明實施例提供的無線自組網的路由方法的原理框圖,如圖1所示,步驟包括:步驟S101:當前節(jié)點通過與其它節(jié)點交互節(jié)點信息,獲取當前節(jié)點所在無線自組網魚眼域的拓撲信息。對于任意一個節(jié)點,節(jié)點上電并廣播序列號為1的廣播報文時,該廣播報文中只有本節(jié)點信息。通過節(jié)點信息交互,節(jié)點在發(fā)送后續(xù)的廣播報文時,可以攜帶本節(jié)點信息及所獲取的魚眼域內的其它節(jié)點信息。所述魚眼域可以是以本節(jié)點為中心的N跳(例如3跳)以內的區(qū)域。步驟S102:根據所獲取的拓撲信息,將所述魚眼域內的節(jié)點選舉為基站模式節(jié)點或終端模式節(jié)點。無線自組網中,隨著網絡拓撲的變化,每個節(jié)點所在魚眼域的拓撲信息也可能發(fā)生變化,因此需要根據不同的情況選舉或重新選舉所述魚眼域內的節(jié)點。例如在網絡初始形成階段,若魚眼域內網絡收斂,則可以通過選舉將魚眼域內的節(jié)點確定為基站模式節(jié)點(即節(jié)點工作模式為基站模式)或終端模式節(jié)點(即節(jié)點工作模式為終端模式),而在網絡維護節(jié)點,節(jié)點連接數等變化時可能導致重新選舉。步驟S103:根據所述當前節(jié)點及其一跳鄰居節(jié)點的類型,建立相應的鄰接關系,并得到鏈路狀態(tài)信息。若步驟S102確定當前節(jié)點為基站模式節(jié)點,則建立當前節(jié)點與其一跳鄰居節(jié)點中的終端模式節(jié)點之間的鄰接關系,生成對應于所述鄰接關系的鏈路狀態(tài)信息,并將所生成的鏈路狀態(tài)信息分別攜帶于兩個不同的報文,發(fā)送至魚眼域內的節(jié)點和魚眼域外的節(jié)點。例如,將鏈路狀態(tài)信息攜帶于廣播報文中發(fā)送至魚眼域內,實現魚眼域內各節(jié)點鏈路狀態(tài)信息的更新;將鏈路狀態(tài)信息攜帶于鏈路狀態(tài)報文中發(fā)送至魚眼域外,實現魚眼域外的節(jié)點的鏈路狀態(tài)信息更新。若步驟S102確定所述當前節(jié)點為終端模式節(jié)點,則建立當前節(jié)點與其一跳鄰居節(jié)點中的基站模式節(jié)點之間的鄰接關系,生成對應于所述鄰接關系的鏈路狀態(tài)信息,并將所生成的鏈路狀態(tài)信息發(fā)送至魚眼域內的各個節(jié)點,以供魚眼域內的各節(jié)點更新鏈路狀態(tài)信息。步驟S104:根據所述鏈路狀態(tài)表,生成以本節(jié)點為根節(jié)點的路由表。圖2是本發(fā)明實施例提供的無線自組網的路由裝置框圖,如圖2所示,包括設置在每個節(jié)點上的交互模塊、選舉模塊、鏈路狀態(tài)生成模塊和路由生成模塊。交互模塊,用于通過與其它節(jié)點交互節(jié)點信息,獲取當前節(jié)點所在無線自組網魚眼域的拓撲信息。當所述魚眼域是以本節(jié)點為中心的N跳(例如3跳)以內的區(qū)域時,以3跳為例,所述拓撲信息包括3跳及以內的節(jié)點的信息。選舉模塊,用于根據所獲取的拓撲信息,將所述魚眼域內的節(jié)點選舉為基站模式節(jié)點或終端模式節(jié)點。當鏈路狀態(tài)發(fā)生變化時,選舉模塊也可以根據具體情況進行重新選舉。鏈路狀態(tài)生成模塊,用于根據所述當前節(jié)點及其一跳鄰居節(jié)點的類型,建立相應的鄰接關系,并得到鏈路狀態(tài)信息。各個節(jié)點可以交互鏈路狀態(tài)信息,使得每個節(jié)點都可以及時更新各自的鏈路狀態(tài)信息,從而得到到達目的節(jié)點的路由。路由生成模塊,用于根據所述鏈路狀態(tài)表,生成以本節(jié)點為根節(jié)點的路由表。無線自組網網中的節(jié)點采用LTE制式通信時,存在如下特點:1)由于射頻阻塞特性,約定節(jié)點工作模式要么為基站模式,要么為終端模式。2)當網絡要求節(jié)點作為基站模式工作時,作為終端模式工作的鄰居節(jié)點按照鏈接要求與此節(jié)點建立鏈接。3)網絡的主要作用為轉發(fā)數據以及本網內接入節(jié)點間的通信,組成的網絡要連通性好。4)作為終端模式的工作節(jié)點作為中繼節(jié)點使用時,需連接多個基站模式工作的節(jié)點。5)終端模式工作的鄰居節(jié)點間不建立鄰接關系,只有基站模式和終端模式的鄰居節(jié)點間存在鄰接關系。6)基站模式的節(jié)點不工作(即Down掉)后,要重新進行節(jié)點模式的選取。7)由于網絡移動性帶來的拓撲多變、易變,網絡狀態(tài)信息和路由信息必須快速收斂?;谏鲜鯨TE的無線通信方式的特點,需要對節(jié)點進行模式的選舉以及維護,且終端模式的節(jié)點只能和基站模式的節(jié)點直接通信,基站模式的節(jié)點和基站模式的節(jié)點不能直接通信?,F有的無線路由算法主要是基于路由發(fā)現或鏈路-狀態(tài)交換進行的各種演變算法,僅適用于所有鄰居節(jié)點間可以直接通信,即不受節(jié)點工作模式制約的無線自組網,而不適用于受節(jié)點工作模式制約的無線自組網,即不適用于結合LTE技術的無線自組網。同時,所有鄰居節(jié)點間可以直接通信的無線自組網考慮網絡移動性不足,且網絡中路由控制報文過多,浪費資源。本發(fā)明通過結合LTE無線傳輸特性和節(jié)點的高速移動,基于鏈路狀態(tài)協(xié)議,提出的改進性魚眼路由算法協(xié)議。本實施例為基于改進魚眼狀態(tài)路由(FisheyeStateRouting,FSR)改進的路由協(xié)議算法,以節(jié)點3跳內的區(qū)域設為魚眼域,3跳外的區(qū)域設為魚眼模糊域為例,3跳內每個節(jié)點通過定時廣播本節(jié)點和2跳及以內的鄰居節(jié)點信息進行3跳拓撲信息的維護,并通過結合最大鏈路數和節(jié)點ID,利用以本節(jié)點為中心的3跳拓撲信息選取節(jié)點的工作模式,進而在基站模式(MANETDesignatedRouter,MDR)節(jié)點和終端模式節(jié)點之間形成鄰接關系;3跳外的區(qū)域,只有MDR(即基站模式的節(jié)點)節(jié)點能夠以更長的周期對每個節(jié)點信息進行廣播式泛洪,其中,只和一個基站模式節(jié)點建立鄰接關系的終端模式節(jié)點在收到后不進行轉發(fā),只有和多個基站模式節(jié)點建立鄰接關系的終端模式節(jié)點在收到后進行轉發(fā)。每個節(jié)點根據維護的節(jié)點鏈路狀態(tài)表進行路由表的生成和維護,根據3跳內的拓撲表進行節(jié)點模式維護。需要說明的是,節(jié)點的模式分為基站模式、終端模式和空閑模式,其中,節(jié)點身份未確定前為空閑模式,例如終端模式節(jié)點根據接收的廣播報文周期檢查自己所接入的MDR的狀態(tài),若所接入的MDR節(jié)點down掉或者離開,則先根據鄰居節(jié)點信息確定是否有可以接入的MDR節(jié)點,如果存在則直接接入,如果不存在就將該終端模塊節(jié)點設置為空閑模式節(jié)點,并等待重新進行節(jié)點模式的選擇;又例如MDR節(jié)點周期檢查2跳上的MDR鄰居節(jié)點數,如果MDR節(jié)點具有2跳節(jié)點(排除網絡本來就是一跳拓撲的情況)且MDR節(jié)點數變?yōu)?,說明以此MDR節(jié)點為中心的一跳網絡變?yōu)楣铝⒕W絡,此時將該MDR節(jié)點設置為空閑模式節(jié)點,并等待重新進行節(jié)點模式的選擇。圖3是本發(fā)明實施例提供的路由協(xié)議算法的基本步驟示意圖,如圖3所示,步驟包括:步驟S201:網絡拓撲信息生成及維護。節(jié)點上電初始化后,通過定時廣播本節(jié)點和2跳及以內的鄰接點信息以及接收鄰居節(jié)點的廣播報文來生成和維護以本節(jié)點為中心的3跳拓撲信息。廣播消息分為全廣播報文(fullbroadcast)和差異廣播報文(differentbroadcast),其中,fullbroadcast以較長的周期(3倍于differentbroadcast的廣播周期)定時發(fā)送所有的2跳的雙向鄰居的節(jié)點信息,differentbroadcast以較短的周期定時發(fā)送變化的鄰居節(jié)點信息,既可以節(jié)省帶寬資源,又可以及時了解網絡拓撲變化情況。節(jié)點收到來自其它節(jié)點的廣播報文后,根據序號和報文信息更新拓撲表,并判斷拓撲信息是否發(fā)生變化,在拓撲信息變化后要等到拓撲穩(wěn)定后才能夠進行步驟S202的節(jié)點模式選舉步驟。網絡維護階段,節(jié)點收到fullbroadcast報文后,根據節(jié)點序號判斷是否是最新的廣播報文,如果序號最新,更新3跳內拓撲表;節(jié)點收到differentbroadcast報文后,更新鏈路狀態(tài)表,若鏈路狀態(tài)發(fā)生變化,更新路由表,并進行節(jié)點模式的維護。步驟S202:節(jié)點模式選舉及鄰接關系形成與維護。初始態(tài)時,節(jié)點需要等到獲取到的3跳網絡拓撲穩(wěn)定即達到收斂后,根據3跳網絡拓撲的拓撲信息進行節(jié)點模式的選舉。維護態(tài)時,當3跳內網絡拓撲發(fā)生變化,并需要重新進行節(jié)點模式的選舉時,等到網絡拓撲結構在一定時間內一直處于收斂狀態(tài)即拓撲穩(wěn)定后,根據3跳內的拓撲信息進行節(jié)點模式的選舉。判斷節(jié)點模式是否需要重新進行選舉的標準是:1、如果本節(jié)點是工作在終端模式的節(jié)點,當本節(jié)點的鄰居節(jié)點數增多或者本節(jié)點連接的所有MDR節(jié)點DOWN掉時,需要進行節(jié)點模式的選舉;2、如果本節(jié)點是工作在基站模式的節(jié)點,即MDR節(jié)點,當本節(jié)點的鄰居節(jié)點數減少到1或者本節(jié)點的鄰接中繼節(jié)點數減少為0時,需要進行節(jié)點模式的選舉。節(jié)點身份選舉后,根據一跳鄰居節(jié)點的模式進行鄰接關系的建立,即本節(jié)點及周圍一跳鄰居節(jié)點的工作模式確定后,進行鄰接關系的建立,即終端模式節(jié)點與基站模式節(jié)點之間建立鏈接,并生成各自的鏈路狀態(tài)表。步驟S203:鏈路狀態(tài)信息定時更新處理。對于每個節(jié)點,3跳內的鏈路狀態(tài)信息通過3跳內節(jié)點的廣播信息來更新和維護;3跳外節(jié)點的鏈路狀態(tài)信息,通過接收3跳外節(jié)點廣播的鏈路狀態(tài)報文來更新和維護,即接收到鏈路狀態(tài)報文時,根據序號更新鏈路狀態(tài)表,如果鏈路狀態(tài)發(fā)生變化,則在步驟S204中更新路由表。進一步地,3跳內的基站模式節(jié)點也以較長的周期定時向3跳外的節(jié)點廣播鏈路狀態(tài)報文,使3跳外的節(jié)點維護鏈路狀態(tài)信息。步驟S204:路由表的生成及維護。以計算節(jié)點為根節(jié)點,根據鏈路狀態(tài)表建立到各個目的節(jié)點的路徑,更新路由表,并進行路由表維護。優(yōu)選地,根據鏈路狀態(tài)表使用迪杰斯特拉算法建立到各個目的節(jié)點的最短路徑。下面結合附圖對網絡拓撲初步逐步形成階段和網絡維護階段分別進行詳細描述。一、網絡拓撲初始逐步形成時實施步驟:步驟1:網絡拓撲的形成。節(jié)點上電并完成初始化后,啟動周期廣播定時器,定時器時長為△t,當定時器超時后,發(fā)送differentbroadcast報文,報文序列號為1,此時報文只包含本節(jié)點信息,無鄰居節(jié)點信息,當定時器超時次數為3n△t時(n=1,2,3…),發(fā)送fullbroadcast報文,如圖4所示的定期廣播節(jié)點信息的過程圖,節(jié)點每次發(fā)送廣播報文時報文序列號加1。節(jié)點接收到鄰居節(jié)點的廣播報文后,根據序號和報文類型,進行廣播報文的處理。具體地說,節(jié)點收到fullbroadcast廣播報文后,根據節(jié)點序列號判斷是否是最新的廣播報文,如果序列號最新,則更新3跳內拓撲表,并在下次發(fā)送廣播報文時攜帶拓撲表中的鄰居節(jié)點信息;節(jié)點收到differentbroadcast報文后,更新鏈路狀態(tài)表,但不進行路由表的更新。圖5是本發(fā)明實施例提供的節(jié)點初始上電時網絡拓撲圖,如圖5所示,本例只講述節(jié)點上電的情景:網絡初始態(tài)時,同時有節(jié)點1、節(jié)點2、節(jié)點3和節(jié)點4上電。開始時各個節(jié)點均沒有鄰居節(jié)點,每個節(jié)點在第一次發(fā)送differenthello廣播報文時只攜帶自己的節(jié)點信息,各節(jié)點間沒有鄰接關系。例如,節(jié)點1收到節(jié)點2的第一次發(fā)送的廣播報文后,節(jié)點1更新拓撲表如表1所示。表1節(jié)點1節(jié)點2節(jié)點10節(jié)點20節(jié)點1收到節(jié)點3的廣播報文后,節(jié)點1更新拓撲表如表2所示。表2節(jié)點1節(jié)點2節(jié)點3節(jié)點100節(jié)點200節(jié)點300期間,節(jié)點2分別收到節(jié)點1和節(jié)點3的第一次發(fā)送的廣播報文,更新后的拓撲表如表3所示。表3節(jié)點1節(jié)點2節(jié)點3節(jié)點100節(jié)點200節(jié)點300節(jié)點3分別收到節(jié)點1、節(jié)點2和節(jié)點4的廣播報文,更新后的拓撲表如表4所示。表4節(jié)點4收到節(jié)點3的廣播報文,更新后的拓撲表如表5所示。表5第2個周期超時,節(jié)點1發(fā)送攜帶有本節(jié)點信息和鄰居節(jié)點2和鄰居節(jié)點3的信息的廣播報文,報文序列號為2。節(jié)點2收到節(jié)點1的廣播報文后,發(fā)現節(jié)點1中有自己,更新自己和節(jié)點1的鄰居關系為雙向鄰居,并更新本節(jié)點的拓撲表,如表6所示。表6節(jié)點1節(jié)點2節(jié)點3節(jié)點110節(jié)點210節(jié)點300節(jié)點2收到節(jié)點3的廣播報文后,更新本節(jié)點的拓撲表如表7。表7節(jié)點1節(jié)點2節(jié)點3節(jié)點4節(jié)點1100節(jié)點2110節(jié)點3010節(jié)點4000節(jié)點1收到節(jié)點2的廣播報文后,發(fā)現節(jié)點2中有新增鄰居節(jié)點4和3以及自己,更新拓撲表如表8。表8節(jié)點1節(jié)點2節(jié)點3節(jié)點4節(jié)點1100節(jié)點2100節(jié)點3000節(jié)點4000期間,節(jié)點3先后收到節(jié)點1、2和4的廣播報文,更新拓撲表如表9所示。表9節(jié)點1節(jié)點2節(jié)點3節(jié)點4節(jié)點1010節(jié)點2010節(jié)點3111節(jié)點4001期間節(jié)點4收到節(jié)點3的廣播報文,更新拓撲表如表10。表10節(jié)點1節(jié)點2節(jié)點3節(jié)點4節(jié)點1000節(jié)點2000節(jié)點3001節(jié)點4001第3個周期超時廣播報文后,各個節(jié)點的拓撲表如表11。表11節(jié)點1節(jié)點2節(jié)點3節(jié)點4節(jié)點1110節(jié)點2110節(jié)點3111節(jié)點4001其中,各個表中的1表示雙向鄰居關系,0表示非鄰居關系。然后,又經過連續(xù)4個周期,即4△t后,拓撲結構仍然沒變,說明拓撲收斂拓撲穩(wěn)定,拓撲圖如圖6所示的節(jié)點間獲取到鄰居節(jié)點信息后的網絡拓撲圖。步驟2:節(jié)點模式選舉及鄰接關系形成。等到網絡拓撲穩(wěn)定即收斂后進行節(jié)點模式的選舉以及建立鄰接關系,形成如圖7所示的節(jié)點模式選舉完成后形成鄰接關系的拓撲圖。需要說明的是,網絡拓撲收斂的標準是網絡拓撲在一定時間4△t內沒有變化。圖8是本發(fā)明實施例提供的普通的節(jié)點模式選舉流程圖,如圖8所示,步驟包括:步驟S301:選舉定時器超時。步驟S302:判斷本節(jié)點是否存在鄰居節(jié)點,若存在,執(zhí)行步驟S303,否則,執(zhí)行步驟S307。步驟S303:判斷本節(jié)點的3跳及以內鄰居節(jié)點是否全為空閑模式,若全為空閑模式,則執(zhí)行步驟S308,否則,執(zhí)行步驟S304。步驟S304:判斷本節(jié)點是否存在基站模式的鄰居節(jié)點,若存在,執(zhí)行步驟S310,否則執(zhí)行步驟S305。步驟S305:判斷鄰居節(jié)點是否均為終端模式,若均為終端模式,則執(zhí)行步驟S309,否則執(zhí)行步驟S306。步驟S306:判斷2跳中是否存在基站模式節(jié)點,若存在,則執(zhí)行步驟S309,否則執(zhí)行步驟S307。步驟S307:啟動選舉定時器,定時時長為△t。步驟S308:判斷本節(jié)點是否在3跳及以內的節(jié)點中的連接數最大且節(jié)點ID最小,若是,則執(zhí)行步驟S309,否則執(zhí)行步驟S307。步驟S309:設置本節(jié)點的工作模式為基站模式,即本節(jié)點的身份為基站模式節(jié)點。步驟S310:設置本節(jié)點的工作模式為終端模式,即本節(jié)點的身份為終端模式節(jié)點,并執(zhí)行步驟S311。步驟S311:判斷本節(jié)點的周圍鄰居節(jié)點的工作模式是否均已確定,若是,則執(zhí)行步驟S312,否則執(zhí)行步驟S307。步驟S312:基站模式節(jié)點與終端模式節(jié)點之間建立鄰接關系,建立鏈路,兩個節(jié)點分別建立并更新鏈路狀態(tài)表。步驟S313:結束流程。通過流程可以看出,普通的選舉過程為:1)如果本節(jié)點不存在鄰居節(jié)點,則本節(jié)點的工作模式設置為空閑模式,并設置選舉定時器,時長為△t,等待下一個周期選舉。2)如果本節(jié)點的三跳及以內的鄰居全為空閑模式,本節(jié)點的連接數在所有的3跳及以內具有空閑模式的節(jié)點中最大,則選擇本節(jié)點的工作模式為基站模式,連接數存在相等的情況時,選擇節(jié)點ID小的節(jié)點作為基站模式節(jié)點;否則設置選舉定時器,等到下個周期進行選舉。3)如果本節(jié)點存在基站模式的鄰居節(jié)點,則本節(jié)點設置為終端模式節(jié)點。4)如果本節(jié)點的一跳鄰居節(jié)點只有終端模式,則本節(jié)點設置為基站模式節(jié)點,為MDR節(jié)點。5)如果本節(jié)點一跳中不存在基站模式的節(jié)點,2跳鄰居中存在基站模式的節(jié)點,則設置本節(jié)點為基站模式節(jié)點。6)如果本節(jié)點的一跳鄰居節(jié)點模式和本節(jié)點模式都已經確定,則進行鄰接關系的建立,終端模式節(jié)點選擇鄰居為基站模式的節(jié)點發(fā)起連接建立,否則設置選舉定時器,等待下個周期進行連接的建立。圖9是本發(fā)明實施例提供的優(yōu)選的節(jié)點模式選舉流程圖,如圖9所示,步驟包括:步驟S401:選舉定時器超時。步驟S402:判斷本節(jié)點是否存在鄰居節(jié)點,若存在,執(zhí)行步驟S403,否則,執(zhí)行步驟S408。步驟S403:判斷本節(jié)點是否在3跳及以內的節(jié)點中的連接數最大且節(jié)點ID最小,若是,則執(zhí)行步驟S413,否則執(zhí)行步驟S404。步驟S404:判斷本節(jié)點是否存在基站模式的鄰居節(jié)點和終端模式的鄰居節(jié)點,若存在,執(zhí)行步驟S409,否則執(zhí)行步驟S405。步驟S405:判斷鄰居節(jié)點是否均為基站模式或者基站和非終端模式,若是,則執(zhí)行步驟S410,否則執(zhí)行步驟S406。步驟S406:判斷鄰居節(jié)點是否均為終端模式,若是,則執(zhí)行步驟S413,否則執(zhí)行步驟S407。步驟S407:判斷本節(jié)點的2跳鄰居節(jié)點中是否存在基站模式節(jié)點,若存在,則執(zhí)行步驟S413,否則執(zhí)行步驟S408。步驟S408:啟動選舉定時器,定時時長為△t。步驟S409:判斷本節(jié)點的連接數是否大于終端模式的鄰居節(jié)點的連接數,若是,則執(zhí)行步驟S413,否則執(zhí)行步驟S410。步驟S410:設置本節(jié)點的工作模式為終端模式,即本節(jié)點的身份為終端模式節(jié)點,并執(zhí)行步驟S411。步驟S411:判斷本節(jié)點的周圍鄰居節(jié)點的工作模式是否均已確定,若是,則執(zhí)行步驟S412,否則執(zhí)行步驟S408。步驟S412:基站模式節(jié)點與終端模式節(jié)點之間建立鄰接關系,建立鏈路,兩個節(jié)點分別建立并更新鏈路狀態(tài)表。步驟S413:設置本節(jié)點的工作模式為基站模式。步驟S414:結束流程。通過流程可以看出,優(yōu)選的選舉過程為:1)如果本節(jié)點不存在鄰居節(jié)點,則本節(jié)點的工作模式設置為空閑模式,并設置選舉定時器,時長為△t,等待下一個周期選舉。2)如果本節(jié)點的連接數在所有的3跳及以內的節(jié)點中最大,則選擇本節(jié)點為基站模式節(jié)點,當存在連接數相等的情況時,選擇節(jié)點ID小的節(jié)點作為基站模式節(jié)點。3)如果本節(jié)點存在基站模式的鄰居節(jié)點和終端模式的鄰居節(jié)點,且本節(jié)點連接數大于終端模式的鄰居節(jié)點的連接數,則設置本節(jié)點為基站模式,否則設置本節(jié)點為終端模式。4)如果本節(jié)點只存在基站模式的鄰居節(jié)點或者基站模式和非終端模式的鄰居節(jié)點,則設置本節(jié)點為終端模式。5)如果本節(jié)點的一跳鄰居節(jié)點只有終端模式,則本節(jié)點設置為基站模式節(jié)點,為MDR節(jié)點。6)如果本節(jié)點一跳中不存在基站模式的節(jié)點,2跳鄰居中存在基站模式的節(jié)點,則設置本節(jié)點為基站模式節(jié)點。7)如果本節(jié)點的一跳鄰居節(jié)點模式和本節(jié)點模式都已經確定,則進行鄰接關系的建立,終端模式節(jié)點選擇鄰居為基站模式的節(jié)點發(fā)起連接建立,否則設置選舉定時器,等待下個周期進行連接的建立。承接步驟1的例子,網絡中拓撲已經穩(wěn)定,開始進行節(jié)點模式選舉,節(jié)點1、節(jié)點2和節(jié)點4發(fā)現3跳內本節(jié)點的連接度不是最大的,等到下個周期選舉,節(jié)點3發(fā)現自己的連接度是最大的,設置本節(jié)點為基站模式;等到下個周期超時后,節(jié)點1,2,4分別設置自己為終端模式;并且節(jié)點1,2,4發(fā)起和節(jié)點3的連接建立,建立鄰接關系,如圖7所示。步驟3:鏈路狀態(tài)定時更新處理。3跳內屬于魚眼域,3跳外屬于魚眼模糊域,3跳內的鏈路狀態(tài)通過differentbroadcast報文定時更新,節(jié)點定時向3跳外發(fā)送鏈路狀態(tài)更新(LinkStateUpdate,LSU)報文。3跳內節(jié)點模式選舉完成且鄰接關系建立,如果本節(jié)點為基站模式,則向3跳外發(fā)送鏈路狀態(tài)更新報文,并設置鏈路狀態(tài)更新定時器,時長為k(k>3△t),具有中繼功能的終端模式節(jié)點收到該報文后,根據報文中的序列號判斷該報文是否為最新報文,如果為最新報文,則進行轉發(fā),否則丟棄報文。進一步地,節(jié)點收到鏈路狀態(tài)更新報文后,判斷序列號為最新,則更新鏈路狀態(tài)表,并判斷鏈路狀態(tài)是否發(fā)生變化,存在變化則更新路由表。承接步驟1的例子,鏈路狀態(tài)更新后的鄰接關系如表12所示。表12節(jié)點1節(jié)點2節(jié)點3節(jié)點4節(jié)點1010節(jié)點2010節(jié)點3111節(jié)點4001步驟4:路由表的形成。根據鏈路狀態(tài)表,以本節(jié)點為根節(jié)點,按照迪杰斯特拉算法生成最短路徑樹的路由表。路由表信息包括目的節(jié)點、下一跳節(jié)點和跳數等信息。二、網絡維護階段的具體實施步驟步驟10:網絡拓撲更新及維護。本節(jié)點通過周期廣播本節(jié)點和2跳及以內的鄰居節(jié)點信息以及接收來自其它節(jié)點的廣播報文來維護3跳內的拓撲信息和鏈路狀態(tài)信息,定時器時長為△t,當定時器超時后,發(fā)送differentbroadcast報文,當定時器超時次數為3n△t時(n=1,2,3…),發(fā)送fullbroadcast報文,如圖4所示。節(jié)點接收到fullbroadcast廣播報文后,根據節(jié)點序列號判斷是否是最新的廣播報文,如果序列號為最新,則更新3跳內的拓撲表,接收到differentbroadcast報文后,更新鏈路狀態(tài)表。此處列舉一個節(jié)點增加引起拓撲變化的場景,本發(fā)明不局限于此場景:圖10是本發(fā)明實施例提供的新節(jié)點進入網絡時的拓撲圖,如圖10所示,節(jié)點5和節(jié)點6開機進入。開始時節(jié)點5和6沒有鄰居信息,只廣播自己的節(jié)點信息;經過4△t時間后,各個節(jié)點的拓撲表穩(wěn)定,如圖11所示的拓撲穩(wěn)定后的拓撲圖,拓撲表如表13所示。表13節(jié)點1節(jié)點2節(jié)點3節(jié)點4節(jié)點5節(jié)點6節(jié)點101000節(jié)點201011節(jié)點311100節(jié)點400100節(jié)點501000節(jié)點601000步驟20:節(jié)點模式及鄰接關系的維護。當網絡拓撲發(fā)生變化時,判斷是否需要重新進行節(jié)點模式選舉的標準如下:1、如果本節(jié)點是工作在終端模式的節(jié)點,則在本節(jié)點的鄰居節(jié)點數增多或者本節(jié)點連接的所有MDR節(jié)點DOWN掉時,需要重新進行節(jié)點模式的選舉。2、如果本節(jié)點是MDR節(jié)點即工作在基站模式的節(jié)點,則在本節(jié)點的鄰居節(jié)點數減少到小于等于1或者本節(jié)點的鄰接中繼節(jié)點數減少為0時,需要重新進行節(jié)點模式的選舉。節(jié)點模式的選舉及鄰接關系建立過程與初始態(tài)(即網絡拓撲初始逐步形成時)時的選舉過程相同,在此不再贅述。承接步驟10中的例子,根據網絡拓撲變化節(jié)點是否重新選舉的標準,節(jié)點2需要重新進行節(jié)點模式選舉。圖12是本發(fā)明實施例提供的重新進行模式選舉時使用普通的選舉算法后的鄰接關系圖,如圖12所示,按照普通的節(jié)點選舉方式,節(jié)點2的鄰居有基站模式的節(jié)點,所以其仍然為終端模式,節(jié)點5的鄰居節(jié)點只有終端模式,所以節(jié)點5為基站模式;節(jié)點6的鄰居節(jié)點只有終端模式,所以節(jié)點6為基站模式。模式選舉完后,節(jié)點2向節(jié)點5和節(jié)點6發(fā)起鄰接關系的建立。圖13是本發(fā)明實施例提供的重新進行模式選舉時使用優(yōu)選的舉算法后的鄰接關系圖,如圖13所示,按照優(yōu)先的節(jié)點選舉的方式,節(jié)點2的連接度比節(jié)點1大,選擇自己為基站模式,節(jié)點5的鄰居只有基站模式,選擇自己為終端模式。節(jié)點模式選舉完后,通過廣播報文節(jié)點1發(fā)現自己的鄰居節(jié)點2模式改為基站模式,于是向節(jié)點2發(fā)起連接的建立,節(jié)點5向節(jié)點2發(fā)起鄰接關系的建立。步驟30:鏈路狀態(tài)定時更新處理。處理機制與初始態(tài)(即網絡拓撲初始逐步形成時)時的步驟3相同。步驟40:路由表更新及維護。在以下3種情況更新路由表:1)鏈路狀態(tài)變化時當根據接收到的鏈路狀態(tài)報文或者發(fā)現鄰居鏈路狀態(tài)發(fā)生變化時,更新鏈路狀態(tài)表,根據最新的鏈路狀態(tài)表更新路由表。2)接收到不可達報文當收到不可達報文時,根據目的ip地址,刪除到此目的的路由。3)數據轉發(fā)不存在到目的的路由時當進行數據轉發(fā)查找到目的的路由時,發(fā)現路由不存在且目的節(jié)點不在節(jié)點的3跳拓撲范圍內時,向具有鄰接關系的MDR或者中繼節(jié)點發(fā)送路由請求報文(RouteRequest,RREQ)并啟動定時器,接收到RREQ報文的MDR或者中繼節(jié)點,根據序列號確認是到目的節(jié)點的最新RREQ報文后,記錄到源節(jié)點的反向路由,并查看自己是否具有到目的IP的路由,如果存在,則按原路徑向源節(jié)點回復路由響應報文(RouteResponse,RREP)報文,如果此節(jié)點發(fā)現到目的節(jié)點的路徑不可達,則丟棄此報文,否則啟動反向路由清除定時器,繼續(xù)轉發(fā)RREQ報文;中間節(jié)點若在收到RREP響應報文前定時器超時,則清除反向路由,若在超時前收到RREP報文,建立到目的節(jié)點的正向路由,更新到路由表;源節(jié)點在定時器超時前如果收到RREP報文,則更新路由表,并發(fā)送報文;如果定時器超時后沒有收到任何響應報文,則直接丟棄數據,并向源發(fā)送目的不可達報文。綜上所述,本發(fā)明具有以下技術效果:1、本發(fā)明將現有的LTE技術應用到無線自組網中,提高了通信的速率和質量,數據業(yè)務也可以得到很好的應用;2、本發(fā)明在廣播鏈路狀態(tài)報文時,只有具有鄰接關系的節(jié)點轉發(fā)該報文,節(jié)省了路由開銷;3、本發(fā)明結合按需路由發(fā)現的協(xié)議與鏈路狀態(tài)協(xié)議,節(jié)省了路由控制報文的開銷,節(jié)省了帶寬,更適應網絡拓撲的快速變化,提高了路由精準度,可以有效的降低報文的丟包率;4、本發(fā)明適用于采用對等或分層方式的無線自組網。盡管上文對本發(fā)明進行了詳細說明,但是本發(fā)明不限于此,本
技術領域:
技術人員可以根據本發(fā)明的原理進行各種修改。因此,凡按照本發(fā)明原理所作的修改,都應當理解為落入本發(fā)明的保護范圍。當前第1頁1 2 3