目錄
1 DSR協(xié)議簡介
2 路由發(fā)現(xiàn)
2.1 路由發(fā)現(xiàn)過程
2.2 幾種情況
3 路由維護(hù)
3.1 點(diǎn)到點(diǎn)證實(shí)機(jī)制
3.2 端到端證實(shí)機(jī)制
4 路由緩沖技術(shù)優(yōu)化策略
5 DSR協(xié)議的優(yōu)缺點(diǎn)
5.1 優(yōu)點(diǎn)
5.2 缺點(diǎn)
1 DSR協(xié)議簡介
DSR協(xié)議是一種基于源路由方式的按需路由協(xié)議。在DSR協(xié)議中,當(dāng)發(fā)送者發(fā)送報文時,在數(shù)據(jù)報文頭部攜帶到達(dá)目的節(jié)點(diǎn)的路由信息,該路由信息由網(wǎng)絡(luò)中的若干節(jié)點(diǎn)地址組成,源節(jié)點(diǎn)的數(shù)據(jù)報文就通過這些節(jié)點(diǎn)的中繼轉(zhuǎn)發(fā)到達(dá)目的節(jié)點(diǎn)。也就是說,在開始數(shù)據(jù)報文發(fā)送前,源節(jié)點(diǎn)就已經(jīng)完成了路由發(fā)現(xiàn)過程并得到了有效路由。與基于表驅(qū)動方式的路由協(xié)議不同的是,在DSR協(xié)議中,節(jié)點(diǎn)不需要實(shí)時維護(hù)網(wǎng)絡(luò)的拓?fù)湫畔?,因此在?jié)點(diǎn)需要發(fā)送數(shù)據(jù)時,如何能夠知道到達(dá)目的節(jié)點(diǎn)的路由是DSR路由協(xié)議需要解決的核心問題。
DSR路由協(xié)議主要路由發(fā)現(xiàn)和路由維護(hù)兩部分組成。路由發(fā)現(xiàn)過程主要用于幫助源節(jié)點(diǎn)獲得到達(dá)目的節(jié)點(diǎn)的路由。當(dāng)路由中的節(jié)點(diǎn)由于移動、關(guān)機(jī)等原因無法保證到達(dá)目的節(jié)點(diǎn)時,當(dāng)前的路由就不再有效了。DSR協(xié)議通過路由維護(hù)過程來監(jiān)測當(dāng)前路由的可用情況,當(dāng)監(jiān)測到路由故障時,將調(diào)用新的一輪路由發(fā)現(xiàn)過程。同時為了提高系統(tǒng)性能,在DSR協(xié)議中,還引入了一系列的優(yōu)化技術(shù),如路由緩沖等。下面將分別介紹這幾個部分。
2 路由發(fā)現(xiàn)
2.1 路由發(fā)現(xiàn)過程
節(jié)點(diǎn)通過路由發(fā)現(xiàn)過程獲得到達(dá)網(wǎng)絡(luò)中其他節(jié)點(diǎn)的路由。
1. 源節(jié)點(diǎn)首先向其鄰節(jié)點(diǎn)廣播路由請求報文。報文中包括“目的節(jié)點(diǎn)地址”、“路由記錄”以及“請求ID”等字段。其中“路由記錄”字段用于記錄從源節(jié)點(diǎn)到目的節(jié)點(diǎn)路由中的中間節(jié)點(diǎn)地址,當(dāng)路由請求報文到達(dá)目的節(jié)點(diǎn)時,該字段中的所有節(jié)點(diǎn)地址即構(gòu)成了從源節(jié)點(diǎn)到目的節(jié)點(diǎn)的路由?!罢埱驣D”字段由源節(jié)點(diǎn)管理,中間節(jié)點(diǎn)維護(hù)<源節(jié)點(diǎn)地址,請求ID>序列對列表,<源節(jié)點(diǎn)地址,請求ID>序列用于唯一標(biāo)識一個路由請求報文,以防止收到重復(fù)的路由請求。
2. 中間節(jié)點(diǎn)在收到源節(jié)點(diǎn)的路由請求報文后,按照以下步驟處理報文:
(1)如果路由請求報文的<源節(jié)點(diǎn)地址,請求ID>存在于本節(jié)點(diǎn)的序列對列表中,表明此請求報文已經(jīng)收到過,節(jié)點(diǎn)不用處理該請求;如果不存在,則轉(zhuǎn)步驟(2)
(2)然后當(dāng)前節(jié)點(diǎn)的地址已存在與路由記錄字段中,該節(jié)點(diǎn)不用處理該請求;如果不存在,則轉(zhuǎn)步驟(3)
(3)如果請求報文的目的節(jié)點(diǎn)就是本節(jié)點(diǎn),則路由記錄節(jié)點(diǎn)中的節(jié)點(diǎn)地址序列構(gòu)成了從源節(jié)點(diǎn)到目的節(jié)點(diǎn)的路由。節(jié)點(diǎn)向源節(jié)點(diǎn)發(fā)送“路由響應(yīng)”報文,同時將該路由拷貝到“路由響應(yīng)”報文中;否則轉(zhuǎn)步驟(4)
(4)該節(jié)點(diǎn)是中間節(jié)點(diǎn)。將節(jié)點(diǎn)地址附在報文的“路由記錄”字段后,同時向鄰節(jié)點(diǎn)廣播該路由請求。
通過這種方法,路由請求報文將最終到達(dá)目的節(jié)點(diǎn)。如圖1所示為節(jié)點(diǎn)A到達(dá)節(jié)點(diǎn)D的路由請求過程。虛線箭頭代表路由請求消息發(fā)送,括號中的內(nèi)容代表消息中的路由記錄。
?圖1 DSR路由請求過程
其中有幾個需要注意的問題:
(1)節(jié)點(diǎn)B分別收到了兩次路由請求報文,B先收到來自A的路由請求,并將自己的地址添加到路由記錄字段后將該消息廣播給其鄰節(jié)點(diǎn),隨后B又收到來自F的路由請求,由于路由請求報文的<源節(jié)點(diǎn)地址,請求ID>存在于節(jié)點(diǎn)B的序列對列表中,因此B對此不做任何處理。
(2)目的節(jié)點(diǎn)D可能會同時收到來自節(jié)點(diǎn)C和E的路由請求消息,造成消息碰撞,反而收不到正確的路由請求,因此在Ad hoc網(wǎng)絡(luò)中,廣播并非完全可靠??梢圆捎靡欢ǖ牟呗詠肀苊?,如節(jié)點(diǎn)隨機(jī)延時發(fā)送,或者節(jié)點(diǎn)間采用證實(shí)機(jī)制等。
2.2 幾種情況
目的根據(jù)收到的源節(jié)點(diǎn)路由請求報文回送“路由響應(yīng)”報文。目的節(jié)點(diǎn)在將“路由響應(yīng)”報文轉(zhuǎn)發(fā)到源節(jié)點(diǎn)時,需要考慮這樣幾種情況:
(1)目的節(jié)點(diǎn)有到達(dá)源節(jié)點(diǎn)的路由。此時目的節(jié)點(diǎn)可以直接使用該路由回送響應(yīng)報文;
(2)如果目的節(jié)點(diǎn)沒有到源節(jié)點(diǎn)的路由,此時需要考慮節(jié)點(diǎn)通信信道問題:
①如果網(wǎng)絡(luò)中所有節(jié)點(diǎn)間的通信信道是對稱的,此時目的節(jié)點(diǎn)到源節(jié)點(diǎn)的路由即為源節(jié)點(diǎn)到目的節(jié)點(diǎn)的反向路由;
②如果信道是非對稱的,目的節(jié)點(diǎn)就需要發(fā)起到源節(jié)點(diǎn)的路由請求過程,同時將路由響應(yīng)報文捎帶在新的路由協(xié)議中。
如圖2所示為DSR的路由響應(yīng)過程。假設(shè)信道是雙向信道,節(jié)點(diǎn)D根據(jù)最短路由原則選擇了路由(A-B-C-D)作為最終路由,將此信息通過反向路由發(fā)送至源節(jié)點(diǎn)A
?圖2 DSR路由響應(yīng)過程
3 路由維護(hù)
傳統(tǒng)的路由協(xié)議中通過周期性廣播路由更新消息將路由發(fā)現(xiàn)和路由維護(hù)過程合二為一。而在DSR協(xié)議中,由于沒有這種周期性的廣播,節(jié)點(diǎn)必須通過路由維護(hù)過程來檢測路由的可用性。
按照路由維護(hù)的不同檢測方法,可以將路由維護(hù)分為以下兩種:
3.1 點(diǎn)到點(diǎn)證實(shí)機(jī)制
又稱逐跳證實(shí)機(jī)制。即相鄰節(jié)點(diǎn)間通過數(shù)據(jù)鏈路層的消息證實(shí)或者高層應(yīng)用層之間的消息證實(shí)機(jī)制,來檢測路由中各鄰節(jié)點(diǎn)的可達(dá)性。當(dāng)發(fā)現(xiàn)節(jié)點(diǎn)間的傳輸故障,即路由不再有效時,向上級節(jié)點(diǎn)發(fā)送“路由差錯”報文,收到路由差錯報文的節(jié)點(diǎn)根據(jù)此信息將該路由從本節(jié)點(diǎn)的路由緩沖區(qū)中刪除。
3.2 端到端證實(shí)機(jī)制
在有些應(yīng)用中要求端到端節(jié)點(diǎn)間的證實(shí),通過端到端的證實(shí)機(jī)制可以用來檢測整個路由的有效性。但當(dāng)路由發(fā)生故障時,該機(jī)制無法確定故障發(fā)生的位置,即究竟是在哪個節(jié)點(diǎn)間發(fā)生了故障。
ps.?點(diǎn)到點(diǎn)與端到端都是網(wǎng)絡(luò)設(shè)備之間的關(guān)系,兩者工作的網(wǎng)絡(luò)分層不同。點(diǎn)到點(diǎn)工作在物理層,是指兩個網(wǎng)絡(luò)設(shè)備直接相連,中間沒有其他設(shè)備;端到端工作在傳輸層(如TCP連接),是指兩個網(wǎng)絡(luò)設(shè)備之間的邏輯互連,不管中間有多少物理設(shè)備。
4 路由緩沖技術(shù)優(yōu)化策略
在DSR協(xié)議中,為了提高系統(tǒng)效率,協(xié)議中采用了路由緩沖優(yōu)化策略。由于無線廣播信道的特點(diǎn),節(jié)點(diǎn)可以處于“混合監(jiān)聽”狀態(tài),即可以聽到相鄰節(jié)點(diǎn)發(fā)出的所有報文,包括路由請求、路由響應(yīng)等。這些報文中攜帶了網(wǎng)絡(luò)的一些路由信息,節(jié)點(diǎn)通過緩存這些路由信息,可以盡量減少每次發(fā)送新報文時啟動的路由發(fā)現(xiàn)過程,以提高系統(tǒng)的效率。如圖3所示,節(jié)點(diǎn)A通過發(fā)起目的節(jié)點(diǎn)為D的路由請求過程,獲得路由A-B-C-B,同時節(jié)點(diǎn)A也獲得了到達(dá)該路由中所有節(jié)點(diǎn)(如節(jié)點(diǎn)B、C)的路由,節(jié)點(diǎn)B等中間節(jié)點(diǎn)也獲得了到達(dá)節(jié)點(diǎn)D的路由。
?圖3 DSR路由緩沖技術(shù)
同時,中間節(jié)點(diǎn)在收到源節(jié)點(diǎn)的路由請求時,如果本節(jié)點(diǎn)路由緩沖區(qū)中有到達(dá)目的節(jié)點(diǎn)的路由,可以直接恢復(fù)路由響應(yīng)消息。如節(jié)點(diǎn)F在發(fā)起到節(jié)點(diǎn)D的路由請求時,當(dāng)報文到達(dá)節(jié)點(diǎn)B時,節(jié)點(diǎn)B中有緩沖路由B-C-D,此時節(jié)點(diǎn)B可以直接回復(fù)路由協(xié)議(F-B-C-D)。這樣一方面加快了路由請求的響應(yīng),同時也減少了路由請求消息的廣播。
當(dāng)然,這樣也會出現(xiàn)一些問題。例如,假設(shè)節(jié)點(diǎn)A和節(jié)點(diǎn)B都有到節(jié)點(diǎn)D的路由,它們幾乎同時都收到節(jié)點(diǎn)F的路由請求,幾乎同時響應(yīng),由于“隱終端”等問題,可能會造成報文沖突。為了解決這個問題,在DSR協(xié)議中,要求節(jié)點(diǎn)在發(fā)送緩沖路由前先隨機(jī)等待一段時間(通常時間和距離目的節(jié)點(diǎn)的跳數(shù)成正比,即距離越長,等待時間越久)。這樣,一方面避免了響應(yīng)沖突問題,同時也解決了路由的最短優(yōu)化問題。文章來源:http://www.zghlxwxcb.cn/news/detail-443749.html
盡管路由緩沖技術(shù)能夠在一定程度上提高系統(tǒng)的效率,但同時一些錯誤或國企的路由緩沖信息(如由于某些節(jié)點(diǎn)的移動使得路由失效)也會對網(wǎng)絡(luò)帶來負(fù)面影響,這些錯誤的路由信息可能會影響和感染其他節(jié)點(diǎn)。對此,可以采用一定的策略來減少其影響。例如為緩沖路由設(shè)定有效期,超過有效期的路由將被認(rèn)為無效,將其從緩沖區(qū)中刪除。文章來源地址http://www.zghlxwxcb.cn/news/detail-443749.html
5 DSR協(xié)議的優(yōu)缺點(diǎn)
5.1 優(yōu)點(diǎn)
- 僅在需要通信的節(jié)點(diǎn)間維護(hù)路由,減少了路由維護(hù)的代價
- 路由緩沖技術(shù)可進(jìn)一步減少路由發(fā)現(xiàn)的代價
- 由于采用了路由緩沖技術(shù),因此在一次路由的發(fā)現(xiàn)過程中,會產(chǎn)生多種到達(dá)目的節(jié)點(diǎn)的路徑
- 支持非對稱傳輸信道模式
5.2 缺點(diǎn)
- 由于采用源節(jié)點(diǎn)路由,每個數(shù)據(jù)報文的頭部都要攜帶路由信息,增加了報文長度;
- 用于路由發(fā)現(xiàn)的控制報文可能會涉及全網(wǎng)各節(jié)點(diǎn),造成一定的耗費(fèi);一種可行的優(yōu)化方法是控制路由發(fā)現(xiàn)報文的傳輸距離(如跳數(shù)),如果本輪路由發(fā)現(xiàn)失敗,后續(xù)的路由發(fā)現(xiàn)過程中再加大傳輸距離;
- “路由響應(yīng)風(fēng)暴”問題。由于采用路由緩沖技術(shù),中間節(jié)點(diǎn)根據(jù)自己的緩沖路由,對路由請求直接應(yīng)答,源節(jié)點(diǎn)會同時收到多個路由響應(yīng),造成路由響應(yīng)信息之間的競爭;通常的解決方法是當(dāng)中間節(jié)點(diǎn)在監(jiān)聽到鄰節(jié)點(diǎn)的路由報文,發(fā)現(xiàn)該路由比自己的路由更短時,就不再發(fā)送本節(jié)點(diǎn)的路由響應(yīng)報文;
- “臟”緩沖路由對其他節(jié)點(diǎn)的影響。如果中間節(jié)點(diǎn)的路由緩沖記錄已經(jīng)過時,當(dāng)該節(jié)點(diǎn)根據(jù)緩沖路由回復(fù)路由請求時,其他監(jiān)聽到此“臟”路由的節(jié)點(diǎn)會更改自己的緩沖路由記錄,造成“臟”緩沖路由的污染傳播。因此必須采取相應(yīng)的措施,盡量避免和減少“臟”緩沖路由的影響。
到了這里,關(guān)于Ad hoc網(wǎng)絡(luò)路由協(xié)議概述3——按需路由協(xié)議(1)DSR協(xié)議(Dynamic source routing protocol)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!