基于模塊化設(shè)計的Ad Hoc網(wǎng)絡(luò)路由協(xié)議實現(xiàn)方法
【專利摘要】本發(fā)明提供一種基于模塊化設(shè)計的Ad?Hoc網(wǎng)絡(luò)路由協(xié)議實現(xiàn)方法。技術(shù)方案路是:通過將任意一種路由協(xié)議劃分為若干個參數(shù)可調(diào)的功能模塊進行實現(xiàn),即在構(gòu)建基本協(xié)議模塊的基礎(chǔ)上,根據(jù)待實現(xiàn)路由協(xié)議的特性參數(shù)配置待實現(xiàn)路由協(xié)議,最后就可以運行待實現(xiàn)的路由協(xié)議。利用本發(fā)明方法實現(xiàn)的路由協(xié)議具有靈活性好、實現(xiàn)快速、可移植性高等特點。
【專利說明】基于模塊化設(shè)計的Ad Hoc網(wǎng)絡(luò)路由協(xié)議實現(xiàn)方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于無線通信網(wǎng)絡(luò)【技術(shù)領(lǐng)域】,涉及一種無線自組織(Ad Hoc)網(wǎng)絡(luò)路由協(xié)議 (以下簡稱路由協(xié)議)的實現(xiàn)方法。
【背景技術(shù)】
[0002] 在Ad Hoc網(wǎng)絡(luò)中,路由協(xié)議為經(jīng)過網(wǎng)絡(luò)節(jié)點的每個數(shù)據(jù)分組尋找一條最佳的傳輸 路徑,并將該數(shù)據(jù)分組有效地傳送到目的節(jié)點。路由協(xié)議的實現(xiàn)一直是路由協(xié)議研究的重 點與難點所在。根據(jù)已發(fā)表的相關(guān)文獻,國內(nèi)外對路由協(xié)議進行了大量的研究,但其中絕大 部分研究工作是在計算機模擬環(huán)境下進行的算法仿真,缺乏在真實網(wǎng)絡(luò)環(huán)境中對研究工作 的評估確認,其原因就在于路由協(xié)議實現(xiàn)的復(fù)雜性。
[0003] 因為Unix/Linux系統(tǒng)提供穩(wěn)定的底層網(wǎng)絡(luò)運行機制,以及豐富的API接口函數(shù), 所以目前多數(shù)路由協(xié)議在該系統(tǒng)中實現(xiàn)。此類路由協(xié)議的實現(xiàn)一般采用直接路由設(shè)計方 法,即分解為報文轉(zhuǎn)發(fā)功能和報文路由功能兩大部分進行,其中報文轉(zhuǎn)發(fā)功能是在系統(tǒng)的 核心層實現(xiàn),報文路由功能則是在用戶層實現(xiàn)。各種路由協(xié)議的報文轉(zhuǎn)發(fā)功能與Unix/ Linux系統(tǒng)基本路由體系一致,但是由于路由協(xié)議種類繁多且結(jié)構(gòu)各異,其報文路由功能差 別很大。如果采用Unix/Linux系統(tǒng)基本路由體系進行路由協(xié)議實現(xiàn),工作量和復(fù)雜度都很 大,并且不同路由協(xié)議之間的細節(jié)差異,以及某些協(xié)議的特別需求會導(dǎo)致路由協(xié)議實現(xiàn)的 難度進一步提高,也不便于在其他操作系統(tǒng)上的移植。因此有必要提出一種簡單高效的基 于模塊化設(shè)計的路由協(xié)議實現(xiàn)方法,既能兼顧到Unix/Linux系統(tǒng)的穩(wěn)定性,又能提供靈活 的功能模塊化設(shè)計方法,從而滿足路由協(xié)議多樣化的特征,便于路由協(xié)議在不同操作系統(tǒng) 之間的快速移植。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明需要解決的技術(shù)問題是:克服現(xiàn)有路由協(xié)議實現(xiàn)過程的繁瑣復(fù)雜,以及不 便于快速的進行同類路由協(xié)議的開發(fā)或改進的缺點,提供一種簡單高效的基于模塊化設(shè)計 的路由協(xié)議實現(xiàn)方法,使用該方法實現(xiàn)的路由協(xié)議具有靈活性好、實現(xiàn)快速、可移植性高等 特點。
[0005] 本發(fā)明的技術(shù)方案的思路是:通過將任意一種路由協(xié)議劃分為若干個參數(shù)可調(diào)的 功能模塊進行實現(xiàn),即在構(gòu)建基本協(xié)議模塊的基礎(chǔ)上,根據(jù)待實現(xiàn)路由協(xié)議的特性參數(shù)配 置待實現(xiàn)路由協(xié)議,最后就可以運行待實現(xiàn)的路由協(xié)議。
[0006] 本發(fā)明的技術(shù)方案是基于模塊化設(shè)計的Ad Hoc網(wǎng)絡(luò)路由協(xié)議實現(xiàn)方法,其特征在 于,利用下述過程實現(xiàn)路由協(xié)議的報文路由功能:
[0007] 第一步:構(gòu)建基礎(chǔ)協(xié)議模塊
[0008] 構(gòu)建基礎(chǔ)協(xié)議模塊包括構(gòu)建通用參數(shù)配置接口子模塊、路由算法子模塊和路由維 護子模塊。通用參數(shù)配置接口子模塊實現(xiàn)的功能是:接收待實現(xiàn)路由協(xié)議的特性參數(shù)并將 上述特性參數(shù)傳遞給路由算法子模塊和路由維護子模塊;路由算法子模塊實現(xiàn)的功能是: 接收待實現(xiàn)路由協(xié)議的特性參數(shù)完成自身配置,完成用戶路由表的初始化,并根據(jù)接收或 發(fā)送的路由報文獲取路由信息,更新用戶路由表;路由維護子模塊實現(xiàn)的功能是:接收待 實現(xiàn)路由協(xié)議的特性參數(shù)完成自身配置,動態(tài)維護用戶路由表,根據(jù)用戶路由表信息添加 或刪除核心路由表。
[0009] 第二步:配置待實現(xiàn)的路由協(xié)議
[0010] 將待實現(xiàn)路由協(xié)議的特性參數(shù)輸入基礎(chǔ)協(xié)議模塊,基礎(chǔ)協(xié)議模塊的通用參數(shù)配置 接口子模塊接收并分別傳遞給路由算法子模塊和路由維護子模塊。路由算法子模塊接收待 實現(xiàn)路由協(xié)議的特性參數(shù),完成自身配置;路由維護子模塊接收待實現(xiàn)路由協(xié)議的特性參 數(shù),完成自身配置。
[0011] 第三步:待實現(xiàn)路由協(xié)議的運行
[0012] 利用下述過程運行待實現(xiàn)路由協(xié)議:路由算法子模塊首先完成用戶路由表的初始 化,然后從接收或發(fā)送的路由報文中獲取路由信息,實現(xiàn)用戶路由表的更新;路由維護子模 塊實現(xiàn)用戶路由表的動態(tài)維護,根據(jù)用戶路由表信息,實現(xiàn)核心路由表的添加或刪除。
[0013] 本發(fā)明的有益效果
[0014] 本發(fā)明提出了一種靈活高效的基于模塊化設(shè)計的路由協(xié)議實現(xiàn)方法,為Unix/ Linux系統(tǒng)中路由協(xié)議的實現(xiàn)提供了一種新的思路。該方法克服了現(xiàn)有路由協(xié)議實現(xiàn)過程 中復(fù)雜繁瑣的缺點,基礎(chǔ)協(xié)議模塊根據(jù)任意一種待實現(xiàn)路由協(xié)議的特性參數(shù)完成配置,即 可運行待實現(xiàn)的路由協(xié)議。該方法也為實際Ad Hoc網(wǎng)絡(luò)中評估、驗證和比較多種路由協(xié)議 的性能提供了非常便捷的途徑。測試結(jié)果表明該方法簡單高效,并且具有良好的通用性和 可擴展性。
【專利附圖】
【附圖說明】
[0015] 圖1是本發(fā)明提供的路由協(xié)議實現(xiàn)方法的應(yīng)用原理示意圖;
[0016] 圖2是本發(fā)明提供的路由協(xié)議報文路由功能模塊化設(shè)計的原理示意圖;
[0017] 圖3是本發(fā)明提供的路由協(xié)議報文路由功能的具體運行流程;
[0018] 圖4是以DSDV路由協(xié)議為例本發(fā)明方法的測試結(jié)果。
【具體實施方式】
[0019] 下面結(jié)合附圖對本發(fā)明進行詳細說明。
[0020] 圖1是本發(fā)明提供的路由協(xié)議實現(xiàn)方法的應(yīng)用原理示意圖。如圖所示,待實現(xiàn)路 由協(xié)議包括報文轉(zhuǎn)發(fā)功能和報文路由功能兩大部分,報文轉(zhuǎn)發(fā)功能采用Unix/Linux基本 路由體系實現(xiàn),報文路由功能采用本發(fā)明提供的方法實現(xiàn)。
[0021] 圖2是本發(fā)明提供的路由協(xié)議報文路由功能模塊化設(shè)計的原理示意圖。根據(jù)待實 現(xiàn)路由協(xié)議報文路由功能的要求,將其轉(zhuǎn)化為通用參數(shù)配置接口子模塊、路由算法子模塊 和路由維護子模塊三大部分并通過軟件編程實現(xiàn)。其中通用參數(shù)配置接口子模塊包括一個 輸入接口和兩個輸出接口,輸入接口接收待實現(xiàn)路由協(xié)議的特性參數(shù),輸出接口分別向路 由算法子模塊和路由維護子模塊傳遞上述特性參數(shù);路由算法子模塊包括兩個輸入接口、 一個輸出接口和四個線程,輸入接口分別用于從通用參數(shù)配置接口子模塊接收待實現(xiàn)路由 協(xié)議的特性參數(shù)和從路由信息接口獲取接收或發(fā)送的路由報文中的路由信息,輸出接口向 用戶路由表發(fā)送更新信息,線程L1完成用戶路由表的初始化,線程L2和L3分別從接收和 發(fā)送的路由報文中獲取路由信息,線程L4根據(jù)獲取的路由信息實現(xiàn)用戶路由表的更新;路 由維護子模塊包括兩個輸入接口、兩個輸出接口和兩個線程,輸入接口分別用于從通用參 數(shù)配置接口子模塊接收待實現(xiàn)路由協(xié)議的特性參數(shù)和從用戶路由表獲取路由信息,兩個輸 出接口分別向用戶路由表發(fā)送動態(tài)維護信息和向核心路由表發(fā)送添加和刪除信息,線程R1 實現(xiàn)用戶路由表的動態(tài)維護,線程R2根據(jù)用戶路由表的信息實現(xiàn)核心路由表的添加和刪 除。
[0022] 圖3是本發(fā)明提供的路由協(xié)議報文路由功能的具體運行流程。如圖所示,在Unix/ Linux操作系統(tǒng)中采用基于模塊化設(shè)計的方法實現(xiàn)的路由協(xié)議報文路由功能的具體運行流 程為:路由算法子模塊首先調(diào)用線程L1完成用戶路由表的初始化,然后當路由算法子模塊 獲得路由報文后,對路由報文類型進行判決:如果是接收的路由報文,就調(diào)用路由算法子模 塊的線程L2從接收的路由報文中獲取路由信息;如果是發(fā)送的路由報文,就調(diào)用路由算法 子模塊的線程L3從發(fā)送的路由報文中獲取路由信息。最后再調(diào)用路由算法子模塊的線程 L4,根據(jù)上述路由信息更新用戶路由表。路由維護子模塊調(diào)用線程R1動態(tài)維護用戶路由 表,并根據(jù)用戶路由表信息調(diào)用線程R2添加和刪除核心路由表。
[0023] 以DSDV路由協(xié)議為例,通過通用接口配置子模塊,輸入路由更新方式、更新時間 間隔、路由維持時間、最大跳數(shù)限制等DSDV路由協(xié)議的特性參數(shù),其中路由更新方式、更新 時間間隔等特性參數(shù)傳遞給路由算法子模塊,路由維持時間、最大跳數(shù)限制等特性參數(shù)傳 遞給路由維護子模塊,由此可以形成DSDV路由協(xié)議。
[0024] 以A0DV路由協(xié)議為例,通過通用接口配置子模塊,輸入觸發(fā)路由尋找方式、 RREQ (路由請求)尋找范圍、RREQ嘗試次數(shù)、握手消息間隔、路由維持時間等A0DV路由協(xié)議 的特性參數(shù),其中參數(shù)觸發(fā)路由尋找方式、RREQ尋找范圍、RREQ嘗試次數(shù)等參數(shù)傳遞給路 由算法子模塊,握手消息間隔、路由維持時間等參數(shù)傳遞給路由維護子模塊,由此可以形成 A0DV路由協(xié)議。
[0025] 圖4是以DSDV路由協(xié)議為例,本發(fā)明方法的實際測試結(jié)果。拓撲結(jié)構(gòu)㈧和(B) 中的A、B、C、D和E分別表示Ad Hoc網(wǎng)絡(luò)中的五個節(jié)點,旁邊的數(shù)字為對應(yīng)的每個節(jié)點的 IP地址,節(jié)點之間的雙向箭頭表示兩個節(jié)點之間存在雙向鏈路,雙向箭頭上的"X"表示兩 個節(jié)點之間的雙向鏈路失效。每個節(jié)點按照本發(fā)明提供的模塊化設(shè)計方法進行DSDV路由 協(xié)議的實現(xiàn)。協(xié)議運行中,拓撲結(jié)構(gòu)(A)中節(jié)點A的核心路由表如核心路由表(A)所示,拓 撲結(jié)構(gòu)⑶中節(jié)點A的核心路由表如核心路由表⑶所示。從兩個核心路由表可以看出: 基于模塊化設(shè)計實現(xiàn)的路由協(xié)議,核心路由表信息正確,在單跳和多跳組網(wǎng)時均能夠正常 運行,并且能夠在拓撲結(jié)構(gòu)動態(tài)變化時(如拓撲結(jié)構(gòu)(B)所示,節(jié)點A和E之間的雙向鏈路 失效),及時、正確的更新核心路由表信息。實測結(jié)果證明,本發(fā)明中基于模塊化設(shè)計的路由 協(xié)議實現(xiàn)方法,在正確保證路由協(xié)議功能的情況下,降低了協(xié)議實現(xiàn)復(fù)雜度,提高了靈活性 與可移植性。
【權(quán)利要求】
1. 一種基于模塊化設(shè)計的無線自組織網(wǎng)絡(luò)路由協(xié)議實現(xiàn)方法,其特征在于,利用下述 過程實現(xiàn)無線自組織網(wǎng)絡(luò)中的路由協(xié)議的報文路由功能: 第一步,構(gòu)建基礎(chǔ)協(xié)議模塊: 構(gòu)建基礎(chǔ)協(xié)議模塊包括構(gòu)建通用參數(shù)配置接口子模塊、路由算法子模塊和路由維護子 模塊;通用參數(shù)配置接口子模塊實現(xiàn)的功能是:接收待實現(xiàn)路由協(xié)議的特性參數(shù)并將上述 特性參數(shù)傳遞給路由算法子模塊和路由維護子模塊;路由算法子模塊實現(xiàn)的功能是:接收 待實現(xiàn)路由協(xié)議的特性參數(shù)完成自身配置,完成用戶路由表的初始化,并根據(jù)接收或發(fā)送 的路由報文獲取路由信息,更新用戶路由表;路由維護子模塊實現(xiàn)的功能是:接收待實現(xiàn) 路由協(xié)議的特性參數(shù)完成自身配置,動態(tài)維護用戶路由表,根據(jù)用戶路由表信息添加或刪 除核心路由表; 第二步,配置待實現(xiàn)的路由協(xié)議: 將待實現(xiàn)路由協(xié)議的特性參數(shù)輸入基礎(chǔ)協(xié)議模塊,基礎(chǔ)協(xié)議模塊的通用參數(shù)配置接口 子模塊接收并分別傳遞給路由算法子模塊和路由維護子模塊;路由算法子模塊接收待實現(xiàn) 路由協(xié)議的特性參數(shù),完成自身配置;路由維護子模塊接收待實現(xiàn)路由協(xié)議的特性參數(shù),完 成自身配置; 第三步,待實現(xiàn)路由協(xié)議的運行: 利用下述過程運行待實現(xiàn)路由協(xié)議:路由算法子模塊首先完成用戶路由表的初始化, 然后從接收或發(fā)送的路由報文中獲取路由信息,實現(xiàn)用戶路由表的更新;路由維護子模塊 實現(xiàn)用戶路由表的動態(tài)維護,根據(jù)用戶路由表信息,實現(xiàn)核心路由表的添加或刪除。
【文檔編號】H04W40/02GK104125618SQ201410332603
【公開日】2014年10月29日 申請日期:2014年7月14日 優(yōu)先權(quán)日:2014年7月14日
【發(fā)明者】王杉, 魏急波, 熊春林, 趙海濤, 張少杰, 黃圣春, 施峻武, 鐘達 申請人:中國人民解放軍國防科學(xué)技術(shù)大學(xué)