解決無線路由擁塞問題的一種新的路由協(xié)議的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于無線通信領(lǐng)域,涉及一種適用于信息檢測傳送的網(wǎng)絡(luò)路由策略,具體涉及解決無線路由擁塞問題的一種新的路由協(xié)議,可用于信息檢測傳送。
【背景技術(shù)】
[0002]Mobile ad hoc networks(MANETs)是一種移動自組織網(wǎng)。在這種網(wǎng)絡(luò)中,終端覆蓋范圍具有有限性,兩個(gè)無法直接通信的用戶終端可借助其它節(jié)點(diǎn)進(jìn)行分組轉(zhuǎn)發(fā)。由于其特殊性,它的應(yīng)用場合主要有以下幾類:軍事應(yīng)用、傳感器網(wǎng)絡(luò)、緊急應(yīng)用、個(gè)人通信等,其在傳感器網(wǎng)絡(luò)方面的應(yīng)用在逐步增加。而由于基礎(chǔ)設(shè)施的缺乏、節(jié)點(diǎn)的移動性和不可預(yù)知的拓?fù)渥兓伎赡軐?dǎo)致節(jié)點(diǎn)連接的失敗。此外,當(dāng)網(wǎng)絡(luò)通信量較大而節(jié)點(diǎn)網(wǎng)卡隊(duì)列不夠時(shí),分組成功投遞率也將降低,此時(shí)對于擁塞的控制就顯得尤為重要。
[0003]Destinat1n-Sequenced Distance Vector routing protocol(DSDV)是一個(gè)典型的MANETs路由協(xié)議,改進(jìn)自傳統(tǒng)的路由信息協(xié)議Routing Informat1n Protocol (RIP)。每個(gè)DSDV節(jié)點(diǎn)都保存了一張路由表,包含了要到達(dá)目的節(jié)點(diǎn)所經(jīng)過的下一跳節(jié)點(diǎn)。DSDV協(xié)議為每一個(gè)路由表中的條目都標(biāo)記了一個(gè)由目的節(jié)點(diǎn)產(chǎn)生的序列號,用來判斷這條路由條目的新舊。每個(gè)節(jié)點(diǎn)每次都將序列號加2,當(dāng)路由條目中的序列號小于接收到的路由條目時(shí),此路由條目將會被替代。當(dāng)節(jié)點(diǎn)移動或當(dāng)節(jié)點(diǎn)不能使用時(shí)都會導(dǎo)致鏈路斷裂,斷裂路由的metric設(shè)為BIG值,序列號加1(奇數(shù)序列號)。其產(chǎn)生的奇數(shù)序列號將大于之前由目的節(jié)點(diǎn)所產(chǎn)生的序列號,此時(shí)這個(gè)無效路由將被傳播到整個(gè)網(wǎng)絡(luò)。在此過程中除了目的節(jié)點(diǎn)之外的所有節(jié)點(diǎn)都認(rèn)為不可通過此節(jié)點(diǎn)到達(dá)目的節(jié)點(diǎn),因此將產(chǎn)生很多丟包。當(dāng)網(wǎng)絡(luò)通信量較大時(shí),節(jié)點(diǎn)的網(wǎng)卡隊(duì)列也會產(chǎn)生丟包。
[0004]近年來,人們對DSDV協(xié)議性能的提高主要集中在解決DSDV因使用陳舊路由而致使的丟包問題。人們大多通過檢測鏈路的狀態(tài),通過信息交換策略等方法重建斷裂的路由,這只能解決鏈路斷裂造成的分組丟失問題而不能解決網(wǎng)絡(luò)擁塞造成的分組丟失問題。對于網(wǎng)絡(luò)的擁塞問題,人們大多是通過調(diào)整發(fā)送速率來減輕網(wǎng)絡(luò)的擁塞,這種方法雖然可以減輕網(wǎng)絡(luò)的擁塞,卻無法高效的利用整個(gè)網(wǎng)絡(luò),從而造成資源浪費(fèi)。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提出了解決無線路由擁塞問題的一種新的路由協(xié)議,所述路由協(xié)議通過路由重建可以減少因鏈路斷裂和節(jié)點(diǎn)擁塞而丟失的分組。
[0006]本發(fā)明通過以下技術(shù)方案實(shí)現(xiàn):
[0007]解決無線路由擁塞問題的一種新的路由協(xié)議,其包括鏈路斷裂策略和節(jié)點(diǎn)擁塞策略,當(dāng)節(jié)點(diǎn)1檢測到鏈路斷裂時(shí),所述鏈路斷裂策略讓所述節(jié)點(diǎn)1在一跳的范圍內(nèi)通過廣播無效路由創(chuàng)建一個(gè)新的無循環(huán)路由,減少因鏈路斷裂造成的丟包。當(dāng)節(jié)點(diǎn)C發(fā)生擁塞時(shí),所述節(jié)點(diǎn)擁塞策略讓所述節(jié)點(diǎn)C通過通知上游節(jié)點(diǎn)B,讓所述上游節(jié)點(diǎn)B重建一個(gè)到達(dá)目的節(jié)點(diǎn)的無循環(huán)路由,減輕節(jié)點(diǎn)的擁塞狀態(tài);
[0008]當(dāng)所述節(jié)點(diǎn)1檢測到鏈路斷裂時(shí),所述鏈路斷裂策略使用以下信息交換策略:
[0009]當(dāng)所述節(jié)點(diǎn)1檢測到與鄰節(jié)點(diǎn)2之間的鏈路斷裂時(shí),所述鏈路斷裂策略將所述節(jié)點(diǎn)1中所有要經(jīng)過這條鏈路的路由都設(shè)為無效,并廣播所述無效路由,在所述無效路由重建之前,所有要經(jīng)過這條鏈路的分組都進(jìn)行緩存;
[0010]接收到所述無效路由的鄰節(jié)點(diǎn),將所述無效路由與所述鄰節(jié)點(diǎn)路由表中的相應(yīng)有效路由相比較,當(dāng)所述鄰節(jié)點(diǎn)路由表中的相應(yīng)所述有效路由為到所述節(jié)點(diǎn)2且下一跳為所述節(jié)點(diǎn)1的路由時(shí),所述鄰節(jié)點(diǎn)用所訴無效路由更新所述有效路由,當(dāng)所述鄰節(jié)點(diǎn)路由表中的相應(yīng)所述有效路由的序列號比所述無效路由的序列號大時(shí),所述鄰節(jié)點(diǎn)立即廣播所述路由重建信息,或當(dāng)所述鄰節(jié)點(diǎn)路由表中的相應(yīng)所述有效路由的序列號與所述無效路由的序列號相同但跳數(shù)不大于所述無效路由的跳數(shù)加1時(shí),所述鄰節(jié)點(diǎn)立即廣播所述路由重建信息,當(dāng)所述節(jié)點(diǎn)1或所述路由表中所述無效路由的目的節(jié)點(diǎn)為所述節(jié)點(diǎn)2的所述鄰節(jié)點(diǎn)接收到所述路由重建信息時(shí),所述節(jié)點(diǎn)1和所述鄰節(jié)點(diǎn)更新路由并廣播,當(dāng)所述節(jié)點(diǎn)1或所述路由表中所述無效路由的目的節(jié)點(diǎn)為所述節(jié)點(diǎn)2的所述鄰節(jié)點(diǎn)沒有接收到所述路由重建信息時(shí),且當(dāng)所述節(jié)點(diǎn)1和所述鄰節(jié)點(diǎn)沒有要發(fā)送到所述節(jié)點(diǎn)2的分組時(shí),只需等待周期更新以重建所述無效路由,反之,所述節(jié)點(diǎn)1和所述鄰節(jié)點(diǎn)立即重播所述無效路由;
[0011]所述節(jié)點(diǎn)擁塞策略,首先為所有節(jié)點(diǎn)的網(wǎng)卡隊(duì)列設(shè)置兩個(gè)閾值,分別稱為上限閾值和下限閾值,當(dāng)所述節(jié)點(diǎn)C的所述網(wǎng)卡隊(duì)列中的分組數(shù)目超過所述上限閾值且所述節(jié)點(diǎn)C中有一個(gè)分組來自所述節(jié)點(diǎn)B要轉(zhuǎn)發(fā)到節(jié)點(diǎn)D時(shí),所述節(jié)點(diǎn)C向所述節(jié)點(diǎn)B發(fā)送擁塞信息并設(shè)置一個(gè)定時(shí)器,所述節(jié)點(diǎn)B接收到所述擁塞信息,將路由表中下一跳為所述節(jié)點(diǎn)C目的節(jié)點(diǎn)為所述節(jié)點(diǎn)D的路由設(shè)置為擁塞無效,當(dāng)所述節(jié)點(diǎn)B有分組要轉(zhuǎn)發(fā)到所述節(jié)點(diǎn)D時(shí),所述節(jié)點(diǎn)B廣播路由擁塞無效信息,接收到所述路由擁塞無效信息的所述節(jié)點(diǎn)C和節(jié)點(diǎn)E廣播擁塞無效回復(fù)信息,所述節(jié)點(diǎn)B接收到所述擁塞無效回復(fù)信息后要加以判斷,忽略路由表中與之相矛盾的路由,其他按常規(guī)更新方式更新并廣播,當(dāng)所述定時(shí)器時(shí)間到且所述節(jié)點(diǎn)C仍處于擁塞狀態(tài)時(shí),重復(fù)上述步驟,反之,不做任何處理,當(dāng)所訴節(jié)點(diǎn)C的所述網(wǎng)卡隊(duì)列中的分組數(shù)目少于所述下限閾值時(shí),所述節(jié)點(diǎn)C發(fā)送以自己為目的節(jié)點(diǎn)的更新包;
[0012]本發(fā)明的有益技術(shù)效果為:
[0013]解決無線路由擁塞問題的一種新的路由協(xié)議,其特征在于為所有節(jié)點(diǎn)的所述網(wǎng)卡隊(duì)列設(shè)置兩個(gè)閾值,分別為所述上限閾值和所述下限閾值,當(dāng)所述節(jié)點(diǎn)C的所述網(wǎng)卡隊(duì)列中的分組數(shù)目超過所述上限閾值時(shí),判斷為所述節(jié)點(diǎn)C發(fā)生擁塞,所述節(jié)點(diǎn)C向需要轉(zhuǎn)發(fā)分組的所述上游節(jié)點(diǎn)B發(fā)送擁塞信息,接收到所述擁塞信息的所述節(jié)點(diǎn)B將路由表中相應(yīng)的下一跳為所述節(jié)點(diǎn)C的路由設(shè)置為擁塞無效,當(dāng)所述節(jié)點(diǎn)B中有分組要經(jīng)過所述節(jié)點(diǎn)C轉(zhuǎn)發(fā)時(shí),所述節(jié)點(diǎn)B廣播路由擁塞無效信息,接收到所述路由擁塞無效信息的鄰節(jié)點(diǎn)廣播擁塞無效回復(fù)信息,所述節(jié)點(diǎn)B接收到所述擁塞無效回復(fù)信息后要加以判斷,忽略路由表中與之相矛盾的路由,其他按常規(guī)更新方式更新并廣播,通過信息交換創(chuàng)建一個(gè)新的無循環(huán)路由,以改善擁塞發(fā)生時(shí)網(wǎng)絡(luò)的狀態(tài)。
【附圖說明】
[0014]圖1是所述節(jié)點(diǎn)C發(fā)生擁塞;
[0015]圖2是所述節(jié)點(diǎn)C發(fā)送所述擁塞信息給所述節(jié)點(diǎn)B;
[0016]圖3是所訴節(jié)點(diǎn)B有分組要經(jīng)所述節(jié)點(diǎn)C轉(zhuǎn)發(fā)給所述節(jié)點(diǎn)D;
[0017]圖4是所述節(jié)點(diǎn)B廣播到所述節(jié)點(diǎn)D的所述擁塞無效路由信息;
[0018]圖5是所述節(jié)點(diǎn)C和所述節(jié)點(diǎn)E廣播到所述節(jié)點(diǎn)D的所述擁塞無效回復(fù)信息;