?

Ad hoc網絡中基于區塊鏈的AODV協議改進研究

2021-10-25 03:42閆帥領房月華宋凌云
信息記錄材料 2021年10期
關鍵詞:路由表數據包路由

閆帥領,孟 彬,房月華,宋凌云,趙 鑫

(1衡水學院數學與計算機學院 河北 衡水 053000)

(2衡水學院經濟與管理學院 河北 衡水 053000)

(3衡水學院生命科學學院 河北 衡水 053000)

(4衡水學院科研處 河北 衡水 053000)

1 引言

AODV協議最早由Charles E.Perkin和Elizabeth M.Belding-Royer于1999年提出,它基于傳統的距離向量算法,采用序列號的方法避免了環路的發生和過時路由的產生[1-2]。該協議包括路由建立與路由維護兩個階段。AODV協議在安全的網絡環境下可快速地查找到一條由源節點到目的節點的路徑,然而當網絡環境中存在惡意節點時,該協議便可能選擇了惡意節點充當路徑節點而引發數據傳輸過程中的路徑頻繁中斷。因此,很多學者提出了很多的改進方法:文獻[3]針對Ad Hoc網絡的黑洞節點對AODV協議路由查找過程中的破壞,提出了一種基于安全遞歸的認證鏈改進機制,該機制可有效防止黑洞節點對路由建立過程的破壞,效果顯著;文獻[4]針對AODV協議執行過程中引發的節點由于消耗過大而失效問題,提出了一種負載均衡的改進AODV協議,此協議針對可避免網絡阻塞,增強網絡的健壯性;文獻[5-6]在AODV協議的效率方面提出了改進相應的協議,最終在網絡性能比如時間延遲、控制開銷等方面得到了顯著的改善。

綜合上述研究可知,目前在對AODV協議進行改進研究時,主要集中在不安全環境中對某一種惡意節點的防范或者是在安全環境下提高網絡性能,而在不安全環境中對未知的惡意節點進行防范研究并不多。因此,本文針對未知惡意節點的情況提出了一種基于區塊鏈的改進AODV協議,該協議能夠通過將惡意節點進行排除路徑節點選擇的方式,建立一條相對穩定的最終路由,進而確保數據包的投遞率。

2 BIAODV協議

當Ad Hoc網絡中一個節點向另一個節點發送數據包時,我們將發送數據包的節點稱為源節點,接收數據包的節點稱為目的節點。網絡中每一個節點維護兩張路由表,其中第1張路由表中記錄著曾經與該節點通信的歷史路徑信息,第2張路由表則搜集節點可直接通信的節點信息以形成直接通信區塊。當有源節點向目的節點發送有數據包時,首先此源節點檢查自身的第1張路由表中是否保存有到目的節點的路徑,如果有,則按照此路徑進行數據包的發送;否則,啟動路由建立過程。網絡中的每一個節點周期性地向其周圍廣播探測包,當鄰居節點收到探測包后便會產生一個對應的響應包。收到響應包的節點即在自身的第2張路由表中記錄對應信息,并生成信息區塊。信息區塊中包含的信息有:區塊號、鄰居節點地址信息、本節點地址、上一地址預留空間和下一地址預留空間。

2.1 路由建立

路由建立的過程是由源節點發出的請求分組RREQ,經過網絡中的節點到達目的節點,再由目的節點按照逆路徑發送響應包到源節點,而源節點根據響應包所記錄的路徑信息形成一條由源節點到目的節點的路徑的過程。具體過程主要可描述為以下的步驟。

第1步:源節點將自身的信息區塊設定為原始區塊,產生一個路由請求分組RREQ,并將其廣播給相鄰節點。

第2步:當鄰居節點收到RREQ分組后,查看是否有同樣的EERQ包(具有相同ID號和源節點標識的EERQ包)經過。若有,則放棄該包,結束。若沒有,則建立反向路由并將自身的信息區塊的上一地址預留空間填充為RREQ的發送節點地址,進入第2步。

第3步:檢查該節點是否為目的節點,若是,則依據建立的反向路由信息向源節點返回路由應答分組RREP,設置信息區塊的下一地址空間為end結束標志,形成完整的路徑區塊鏈。否則,進入第3步。

第4步:查詢其路由表,檢查有沒有到目的節點的路由并且該路由足夠新(即其路由表中的序列號大于或等于RREQ中的目的序列號),若存在,則依據建立的反向路由信息向源節點返回路由應答分組RREP,并填充相應的區塊信息的上一地址空間和下一地址空間,結束。否則,進入第4步。

第5步:更新自身路由表,并將該RREQ分組廣播給自己的相鄰節點。并將下一地址預留空間信息周期性地填充鄰居節點,以測試是否存在到達目的節點的路徑信息,以形成完整的路徑區塊鏈。進入第2步。

經過以上5步便形成了源節點到目的節點的完整路徑信息,其路徑信息會以區塊鏈的形式存在,假設網絡經過3個節點的數據轉發便到達目的節點則區塊鏈的形式見圖1,同時對應的中間節點均存儲有源節點到目的節點的完整路徑信息備份。

圖1 路徑區塊鏈

2.2 路由維護

在路由的維護階段,BIAODV采用差錯處理包RERR進行路由的維護與修復,RERR包是由出錯節點產生的,其包含了目的節點地址、目的節點序列號以及節點的跳數等內容。當出現鏈路破裂或下一跳不可達時,出錯節點原路返回RERR包,并刪除包含不可達節點的路由信息,沿途傳輸RERR報文的中間節點也將刪除路由表中的相應信息。出錯節點替換信息區塊的下一地址空間節點,尋找到達下一不可達信息的下一跳節點,以修補原有路由信息。

3 實驗仿真

本文采用NS3網絡仿真軟件,設置移動節點在100 m×100 m區域內移動,節點數量設置為100個,其中惡意節點的一組內包含黑洞節點10個、蟲洞節點3個、不合作節點3個。并且每個節點以Random Way Point模型移動,即節點隨機移動至一個位置,停留一段時間后再移動至另一個目的地,直到仿真時間結束。

由圖2可知,本文所提出的改進AODV協議(BIAODV)在路徑中斷率上明顯低于傳統的AODV協議,最主要的原因是本文算法采用了區塊鏈技術,在選取路徑中間節點的過程中比較了節點的穩定性以選取更優的節點擔任路徑節點。因此,建立了更為穩定的路由,并提前對可能斷裂的節點實施了有效的補救措施。隨著惡意節點數量的增加,傳統的AODV協議由于在路徑節點的選擇中未考慮節點自身情況,最終導致路徑中存在惡意節點而不斷發生鏈路斷裂的情況。

圖2 鏈路中斷概率隨惡意節點變化

由圖3可知,本文所提出的改進AODV協議(BIAODV)較傳統的AODV協議有更好的數據投遞率,而且隨著惡意節點數的增加,這種優勢就更加的明顯。主要原因是BIAODV每一個節點維護的區塊中均包含可與其直接通信的節點,路徑斷裂的概率大大降低,從而可保證數據包的準確投遞。

圖3 數據投遞率與惡意節點變化

4 結語

本文提出的改進的協議(BIAODV)使得每個節點存儲其鄰居節點,在路徑的查找過程中利用節點的信息區塊的連接方式,逐步查找最終的路徑信息,進而形成完整的路徑區塊鏈。該協議相對于傳統的AODV協議具有更好的數據包投遞率和更優的鏈路中斷特性。

猜你喜歡
路由表數據包路由
基于Jpcap的網絡數據包的監聽與分析
基于OSPF特殊區域和LSA的教學設計與實踐
鐵路數據網路由匯聚引發的路由迭代問題研究
研究路由表的查找過程
SmartSniff
探究路由與環路的問題
基于預期延遲值的擴散轉發路由算法
PRIME和G3-PLC路由機制對比
BGP創始人之一Tony Li:找到更好的途徑分配互聯網地址
移動IPV6在改進數據包發送路徑模型下性能分析
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合