《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應(yīng)用 > 自組織基本路由協(xié)議及混合型路由協(xié)議技術(shù)
自組織基本路由協(xié)議及混合型路由協(xié)議技術(shù)
摘要: 自組網(wǎng)的路由技術(shù)主要是設(shè)計能自適應(yīng)網(wǎng)絡(luò)拓撲動態(tài)變化的分布式路由協(xié)議,并避免產(chǎn)生路由環(huán)路,盡可能減小路由開銷,具有一定的可擴展性,使網(wǎng)絡(luò)節(jié)點能根據(jù)網(wǎng)絡(luò)情況的變化,具各分布式管理的路由功能。自組織網(wǎng)絡(luò)是一個多跳的臨時性的自治系統(tǒng),在這種環(huán)境中,由于結(jié)點的無線通信覆蓋范圍的有限性,兩個無法直接通信的移動結(jié)點可以借助其他結(jié)點進行分組轉(zhuǎn)發(fā)來進行數(shù)據(jù)通信。自組網(wǎng)結(jié)點之間是通過多跳數(shù)據(jù)轉(zhuǎn)發(fā)機制進行數(shù)據(jù)交換,需要按路由協(xié)議進行分組轉(zhuǎn)發(fā)決策。
Abstract:
Key words :
  自組網(wǎng)的路由技術(shù)主要是設(shè)計能自適應(yīng)網(wǎng)絡(luò)拓撲動態(tài)變化的分布式路由協(xié)議" title="路由協(xié)議">路由協(xié)議,并避免產(chǎn)生路由環(huán)路,盡可能減小路由開銷,具有一定的可擴展性,使網(wǎng)絡(luò)節(jié)點能根據(jù)網(wǎng)絡(luò)情況的變化,具各分布式管理的路由功能。自組織網(wǎng)絡(luò)" title="自組織網(wǎng)絡(luò)">自組織網(wǎng)絡(luò)是一個多跳的臨時性的自治系統(tǒng),在這種環(huán)境中,由于結(jié)點的無線通信覆蓋范圍的有限性,兩個無法直接通信的移動結(jié)點可以借助其他結(jié)點進行分組轉(zhuǎn)發(fā)來進行數(shù)據(jù)通信。自組網(wǎng)結(jié)點之間是通過多跳數(shù)據(jù)轉(zhuǎn)發(fā)機制進行數(shù)據(jù)交換,需要按路由協(xié)議進行分組轉(zhuǎn)發(fā)決策。

  IETF于1996年成立了自組網(wǎng)工作小組(MANETWG),其核心任務(wù)就是研究自組網(wǎng)環(huán)境下基于IP協(xié)議的路由協(xié)議規(guī)范和接口設(shè)計。

  目前MANETWG已經(jīng)提出了許多協(xié)議草案,比如DSR、AODV、TORA、ZRP等。這些自組網(wǎng)路由協(xié)議根據(jù)不同的角度可以進行不同的分類。按路由發(fā)現(xiàn)的策略劃分,可以分為主動式" title="主動式">主動式路由協(xié)議、被動式路由協(xié)議和混合型路由協(xié)議。自組織網(wǎng)絡(luò)主要有以下路由協(xié)議。

  研究基于分布式算法,具有網(wǎng)絡(luò)自組織和自設(shè)置功能的自組織基本路由協(xié)議,主要有兩類:表驅(qū)動路由協(xié)議(主動式路由協(xié)議)和按需路由協(xié)議(反應(yīng)式路由協(xié)議),如圖所示。主動式路由協(xié)議盡力維護網(wǎng)絡(luò)中每個節(jié)點至所有其他節(jié)點的一致的最新路由信息,并要求網(wǎng)絡(luò)中的每個節(jié)點都建立和維護一個或多個存儲路由信息的表格。在網(wǎng)絡(luò)拓撲變化時周期性地廣播路由更新信息。這樣減少了獲得路由的時延,但是需要花費較大的開銷保持路由更新。按需路由協(xié)議只有在源節(jié)點需要時才建立路由,節(jié)點不需要花費代價來維護無用的路由信息,節(jié)省了一定的網(wǎng)絡(luò)資源,但是路由發(fā)現(xiàn)過程時延比較大。

  自組織網(wǎng)絡(luò)路由協(xié)議按驅(qū)動模式的分類

  迄今為止,已提出的主動式協(xié)議主要有WRP、DSDV等。下面簡單介紹這兩種協(xié)議。

  (1)WRP協(xié)議

  無線路由協(xié)議(wirelessroutmgprotocol,WRP)是一個基于距離矢量的協(xié)議,其路由算法是對路徑發(fā)現(xiàn)算法PFA的改進。它利用去往目標結(jié)點的路徑長度和相應(yīng)路徑到倒數(shù)第二跳結(jié)點信息加速路由協(xié)議收斂速度,改善路由環(huán)路問題。WRP對PFAD的改進之處在于當結(jié)點i監(jiān)測到與鄰居結(jié)點j的鏈路" title="鏈路">鏈路發(fā)生變化時,i會檢查所有鄰居結(jié)點關(guān)于倒數(shù)第二跳信息的一致性,而PFA只會檢查結(jié)點j關(guān)于倒數(shù)第二跳結(jié)點信息的一致性。這種改進可以進一步地減少出現(xiàn)路由環(huán)路的次數(shù),加快算法的收斂速度。WRP協(xié)議的主要思想如下:

  每個結(jié)點維護四張表,即距離表、路由表" title="路由表">路由表、鏈路費用表和消息重發(fā)表,并通過UPDATE消息通告給鄰居結(jié)點。

  設(shè)結(jié)點為i,信宿結(jié)點為j,結(jié)點i的鄰居結(jié)點為k。

 ?、倬嚯x表。距離表包括k的通告的相關(guān)內(nèi)容有經(jīng)過k到j(luò)的路由的距離Dijk的前趨結(jié)點Piik。

  ②路由表。每個表項包括信宿結(jié)點地址、到信宿的距離Dij、到j(luò)的最短路由j的前趨結(jié)點Pij、i的下一跳(后繼)Sij等。

 ?、坻溌焚M用表。通過結(jié)點乃的鏈路費用和從上一次收到無誤消息后所經(jīng)過

  的時間。

 ?、芟⒅匕l(fā)表??砂ǘ鄠€重發(fā)表項,每個表項包括更新消息的序號、重發(fā)計數(shù)、ACK標志(是否發(fā)過相應(yīng)的ACK)、更新消息列表。

  WRP通過發(fā)送ACK實現(xiàn)可靠傳輸,結(jié)點通過接收ACK和其他消息來測試其鄰居結(jié)點的存在性。如果結(jié)點沒有發(fā)現(xiàn)數(shù)據(jù)分組,則周期性地發(fā)HELLO消息來得到與鄰居結(jié)點的連通性消息。如果在一定的時間內(nèi)收不到某鄰居結(jié)點的任何消息,則認為與鄰居結(jié)點的鏈路出現(xiàn)了故障;當有新的鄰居結(jié)點時,把自己的路由表通告給新的結(jié)點。當結(jié)點收到一個更新消息后,采用路由發(fā)現(xiàn)算法進行路由表的更新,并克服“計數(shù)到無窮”問題。WRP對路由發(fā)現(xiàn)算法進行了改進,其獨特性表現(xiàn)如下。

  ①距離表更新。對每一個更新消息(如k的通告),結(jié)點i檢測其所有鄰居結(jié)點{B∈Ni|b≠k},凡是經(jīng)過b結(jié)點到j(luò)且包括有花結(jié)點的路由,距離值需要重新計算為Dibj=Dikj+Dij,路由前趨更新為Pijb=Pkj。

 ?、诼酚杀砀?。當鄰居P→J路由不包括i,且是鄰居結(jié)點中到j(luò)的最短路由,則結(jié)點i選擇鄰居p作為其到j(luò)的下一跳結(jié)點,即更新Sij=p。

    (2)DSDV協(xié)議

  目的序列距離矢量協(xié)議DSDV(destinatiONsequenceddistancevector,DSDV)是一種基于Bellman_ord算法的主動路由協(xié)議。它被認為是最早的自組網(wǎng)路由協(xié)議。它的主要特點是采用了序列號機制來區(qū)分路由的新舊程度,防止可能產(chǎn)生的路由環(huán)路。它的缺點是不適應(yīng)變化速度快的自組網(wǎng),不支持單向信道。DSDV的主要設(shè)計思想如下:

 ?、俾酚杀斫Y(jié)構(gòu)。每個結(jié)點維護一個路由表,每個路由表項包括:信宿地址、到達信宿的度量值(如跳數(shù))、信宿相關(guān)的序列號(由信宿發(fā)出)。

  該序列號用以識別路由的新舊,作為路由更新和分組轉(zhuǎn)發(fā)的依據(jù)。

 ?、谛畔⑼ǜ?。各結(jié)點周期性地向鄰居結(jié)點通告其當前的路由表,而不是才用洪泛法向網(wǎng)絡(luò)中的所有結(jié)點進行通告。這相當于各結(jié)點對收到的其他結(jié)點的信息進行處理后再進行廣播通告,從而可大大減少通告的信息量。

  為了進一步減少路由信息的傳輸開銷,DSDV中使用了兩類更新報文。

 ?。╝)完全轉(zhuǎn)存(fulldamp)。該報文包括了結(jié)點當前路由表的所有表項,可能需要多個NPDU進行傳輸,占用的傳輸容量大。這種報文僅僅在結(jié)點頻繁移動的情況下使用。

 ?。╞)遞增更新(incrementalupdate)。該報文包括上一次“完全轉(zhuǎn)存”報文傳輸以后發(fā)生了變化的表項。結(jié)點根據(jù)每個路由表項變化的程度決定是否進行“遞增更新”報文的發(fā)送。例如,當?shù)竭_信宿的度量值變化時,可認為需要對相應(yīng)的表項進行“遞增更新”了。

 ?、坻溌窋?。如果在相當長的一段時間內(nèi)不能收到鄰居結(jié)點的廣播消息,可推斷出鏈路斷;同時,MAC層實體也可檢測到。

 ?。╝)在DSDV中,斷的鏈路度量值=∞。

 ?。╞)結(jié)點檢測路由表,下一跳經(jīng)過該鏈路的路由表項的度量值標記為∞,并分配一個新的序列號。這種情況下的序列號為奇數(shù),以區(qū)別于信宿發(fā)出的更新報文。

 ?。╟)度量值為∞的表項的變化程度足以觸發(fā)“遞增更新”報文的立即發(fā)送。

  經(jīng)過上述過程,在較短的時間內(nèi),該鏈路的變化將通告到網(wǎng)絡(luò)的各個結(jié)點。

  ④路由選擇準則與波動抑制。

  DSDV中路由選擇的準則為:序列號新或度量值小。

  DSDV中路由的選擇考慮到下述事實:結(jié)點的路由信息通告是異步事件,結(jié)點可能先接收到度量值大的路由信息,更新路由的下一跳;當收到新的度量值小的路由信息時,即使信宿結(jié)點沒有移動,通過路由選擇算法也會改變路由的下一跳結(jié)點。這種現(xiàn)象導(dǎo)致需要通告的路由表項的頻繁波動。

  DSDV采取的辦法是維護兩張表:一是轉(zhuǎn)發(fā)表;二是廣播表。兩張表的操作規(guī)則有所區(qū)分。廣播表以信宿地址為關(guān)鍵字,表項中設(shè)置一個“平均通告時間間隔”字段,該字段是對該表項過去通告時間間隔的加權(quán)平均,最近通告的時間加杈大。當收到一個新的網(wǎng)絡(luò)變化通告時,查詢廣播表的相應(yīng)表項的“平均通告時間間隔”字段,決定是否進行通告廣播。需要注意的是,當接收到度量為∞的通告時,不延遲,立即進行廣播。WRP和DSDV的比較如表1所示。

  表1 主動路曲協(xié)議的比較

200811271112393608.JPG

  目前,提交到IETFMANET組的路由協(xié)議及其他研究人員提出的路由協(xié)議,大都是基于信源按需建立的特征。這種特征成為自組織網(wǎng)絡(luò)路由協(xié)議設(shè)計的一種趨勢。

  迄今為止,已提出的按需路由協(xié)議(ondemand)主要有源動態(tài)路由協(xié)議(dynamlcsourceroutmg,DSR)、按需距離矢量協(xié)議(AdHocondemanddistancevector,AODV)等。下面簡要介紹這兩種協(xié)議。

 ?。?)DSR協(xié)議

  DSR協(xié)議是最早采用按需路由思想的路由協(xié)議。它包括路由發(fā)現(xiàn)和路由維護兩個過程。它的主要特點是使用了源路由機制進行分組轉(zhuǎn)發(fā)。這種機制最初是IEEE802.5協(xié)議用于在網(wǎng)橋互聯(lián)的多個令牌環(huán)網(wǎng)中的結(jié)點尋找路由。DSR協(xié)議借鑒了這種機制,并加人了按需思想而形成。它的優(yōu)點在于中間結(jié)點不用維護去往全網(wǎng)所有結(jié)點的路由信息,而且可以避免出現(xiàn)路由環(huán)路。它的缺點是每個數(shù)據(jù)分組都攜帶了路徑信息,造成協(xié)議開銷較大,而且也不適合網(wǎng)絡(luò)直徑大的自組網(wǎng),網(wǎng)絡(luò)可擴展性不強。

  該協(xié)議的路由發(fā)現(xiàn)過程如下:

 ?、賀REQ分組。結(jié)點有分組要發(fā)時,動態(tài)地廣播“路由請求分組”RREQ。RREQ分組應(yīng)包括信宿、請求分組發(fā)送結(jié)點地址、本分組ID、路由記錄" title="路由記錄">路由記錄。{請求分組發(fā)送結(jié)點地址+本分組ID}用于唯一地識別RREQ,以便于RREQ的接收處理,這里稱為RREQ標識。路由記錄將積累地記下RREQ分組逐跳傳播時所順序經(jīng)過的結(jié)點地址,從而完成路由發(fā)現(xiàn)的功能。

 ?、诮Y(jié)點對RREQ分組的處理。

 ?。╝)如果在最近收到的f歷史RREQ列表”中已存在,則丟棄該RREQ分組,不作進一步的處理;

  (b)如果“路由記錄”中包括本結(jié)點,則丟棄該RREQ分組,不作進一步的處理;

  (c)如果本結(jié)點就是RREQ指定的信宿,發(fā)送“路由回答分組”RREP,否則將本結(jié)點的地點添加到“路由記錄”的后面,重新廣播更新后的RREQ分組。

 ?、坌潘薜穆酚苫卮餜REP。RREP包含有由信宿接收到RREQ分組的路由記錄。RREP的目的是如何把這個路由記錄告訴給信源。先假設(shè)網(wǎng)絡(luò)中所有的鏈路是雙向的。如果信宿到信源的“反向路由”存在,則RREP分組沿“反向路由”點到點傳輸?shù)叫旁矗蝗绻潘薜叫旁吹?ldquo;反向路由”不存在,則按RREQ中的“路由記錄”(前向路由)進行反向傳送。

 ?、艽嬖趩蜗蜴溌?。信宿執(zhí)行與信源相同的反向路由發(fā)現(xiàn)過程,所不同的是信宿RREQ分組稍帶傳送RREP分組。

  按需路由協(xié)議中,沒有周期性的網(wǎng)絡(luò)測試過程,各結(jié)點需要執(zhí)行路由維護進程,動態(tài)地監(jiān)視活動路由的運行情況。該協(xié)議的路由維護過程如下:

 ?、?ldquo;逐跳MAC確認”的網(wǎng)絡(luò)。這種網(wǎng)絡(luò)中,鏈路的故障或變化由MAC層通告,結(jié)點將發(fā)送“路由錯誤分組”RRER到信源;信源結(jié)點將刪除該路由,重新進行路由發(fā)現(xiàn)。

 ?、?ldquo;逐跳MAC不確認”的網(wǎng)絡(luò)。這種情況下,可利用無線傳輸?shù)目臻g廣播性,實現(xiàn)等效的“被動ACK”。當結(jié)點A轉(zhuǎn)發(fā)分組到下一跳B時,B到C的分組轉(zhuǎn)發(fā)可被A監(jiān)聽到。

 ?、劾?ldquo;端到端確認”的路由維護。端到端的確認(如TCP層的確認機制)也可以實現(xiàn)路由維護,信源端將檢測到并發(fā)起新的路由請求。

 ?。?)AODV協(xié)議

  AODV協(xié)議是在DSDV協(xié)議基礎(chǔ)上,結(jié)合類似DSR中的按需路由機制進行改進后提出的。不同之處在于AODV采用了逐跳轉(zhuǎn)發(fā)分組方式,而DSR是源路由方式。因此,AODV在每個中間結(jié)點隱式保存了路由請求和回答的結(jié)果,而DSR將結(jié)果顯示保存在路由請求和路由回答分組中。此外,AODV的另一個顯著特點是它加人了組播路由協(xié)議擴展,并支持QoS。它的缺點是不支持單向信道,原因是AODV協(xié)議基于雙向信道的假設(shè)工作,路由回答分組直接沿著路由請求的反方向回到源結(jié)點。AODV與DSR的路由發(fā)現(xiàn)有所不同,該協(xié)議的路由發(fā)現(xiàn)過程如下:

 ?、賀REQ分組。結(jié)點在需要(沒有到信宿的活動路由)時,向其鄰居廣播RREQ分組用于路由發(fā)現(xiàn)。RREQ分組包括信源地址、信源序列號、廣播ID、信宿地址、信宿序列號、跳計數(shù)。

  (a)(信源地址+廣播ID)唯一地標識了一個RREQ分組;

 ?。╞)信源序列號由信源結(jié)點維護,用于表示“到信源的反向路由”的新舊;

  (c)信宿序列號表示信源可接受的“到信宿的前向路由”的新舊,等于過去接收到的有關(guān)信宿的最大序列號??梢?,結(jié)點需要為每一個信宿維護一個信宿序列號;

 ?。╠)RREQ的跳計數(shù)=0。

  ②對RREQ的處理。接收到RREQ的結(jié)點的處理方法為:創(chuàng)建一個表項,先不分配有效的序列號,用于記錄反向路徑。如果在“路由發(fā)現(xiàn)定時”內(nèi)已收到一個具有相同標識的RREQ分組,則拋棄該分組,不作任何的處理,否則對該表項進行更新如下:

  (a)信源序列號=RREQ分組的信源序列號;

 ?。╞)下一跳結(jié)點=廣播RREQ的鄰居;

 ?。╟)跳數(shù)=RREQ分組的“跳計數(shù)”字段值;

 ?。╠)設(shè)置表項的“過時定時器”。

  如果該結(jié)點是信宿,結(jié)點的路由表中有到信宿的活動表項,且表項的信宿的序列號大于RREQ中的信宿序列號(新),則該結(jié)點將產(chǎn)生“路由回答分組”RREP,并發(fā)送到信源,否則更新RREQ分組,并廣播更新后的RREQ分組。

 ?。╝)信宿序列號=本結(jié)點收到的該信宿相關(guān)的最大序列號;

  (b)跳計數(shù)加1。

  ③RREP的產(chǎn)生。產(chǎn)生RREP的條件如上所述。RREP分組各字段設(shè)置如下。

  信宿結(jié)點產(chǎn)生的RREP:

 ?。╝)如果收到的相應(yīng)RREQ的信宿序列號與信宿維護的當前序列號相等,則信宿將自己維護的序列號加1,否則不變;

 ?。╞)信宿序列號=信宿維護的序列號;

  (c)跳計數(shù)=0;

 ?。╠)定時器值。

  中間結(jié)點產(chǎn)生的RREP:

 ?。╝)本結(jié)點所獲得的該信宿的最大序列號;

 ?。╞)跳計數(shù)=本結(jié)點到信宿的跳數(shù);

 ?。╟)更新本結(jié)點維護的“前向路由表項”的下一跳和“反向路由表項”的前一跳。

 ?、軐REP的處理。結(jié)點對接收到的RREP的處理方法為:如果沒有與RREP分組中的信宿相匹配的表項,則先創(chuàng)建一個“前向路表”的空表項,否則滿足如下條件對已有表項進行更新:

 ?。╝)現(xiàn)有表項的信宿序列號小于RREP分組中的信宿序列號;

 ?。╞)現(xiàn)有的表項沒有激活;

 ?。╟)信宿序列號相同,但RREP分組的“跳計數(shù)”值小于表項相對應(yīng)的值;通過更新或創(chuàng)建,產(chǎn)生一個新的前向路徑;

 ?。╠)下一跳=廣播RREP的鄰居結(jié)點;

  (e)信宿序列號=RREP中的信宿序列號;

  (f)跳計數(shù)加1。

  按照上述的過程,任何轉(zhuǎn)發(fā)RREP的結(jié)點,都記錄了到信宿的下一跳,當RREP到達信源時,結(jié)點地址匹配,不再轉(zhuǎn)發(fā)RREP,信源到信宿的前向路徑已建立起來了。信源可以沿這條前向路徑進行分組傳輸。

  該協(xié)議的路由維護過程如下:

 ?、倥c活動路由無關(guān)的結(jié)點移動,并不影響信源到信宿的尋徑。

 ?、谌绻旁唇Y(jié)點移動導(dǎo)致路由不可用,則由信源重新發(fā)起路由發(fā)現(xiàn)的過程。

  ③當信宿結(jié)點或活動路由的中間結(jié)點移動,導(dǎo)致鏈路中斷,則鏈路的“上游結(jié)點”主動發(fā)送一個RREP,該RREP的信宿序列號大于其所獲取的信宿序列號,跳計數(shù)的值設(shè)為∞,并傳播到所有的活動鄰居。該過程重復(fù),直至所有的相關(guān)信源結(jié)點被通告到。信源結(jié)點如果需要,可重發(fā)起路由發(fā)現(xiàn)過程。

  AODV與DSR的比較:

 ?、貲SR使用源路由技術(shù)進行路由發(fā)現(xiàn),AODV通過“路由請求分組”洪泛進行路由發(fā)現(xiàn),DSR在一次路由發(fā)現(xiàn)過程中結(jié)點獲取的路由信息遠遠多于AODV。從這個角度看,AODV進行“路由發(fā)現(xiàn)”可能更頻繁,所帶來的開銷比較大。

 ?、贒SR在一次路由發(fā)現(xiàn)過程中或獲取到多個替代的路由,而AODV只響應(yīng)一個路由,后續(xù)的在定時內(nèi)的申請被丟棄。

  上述的表驅(qū)動路由協(xié)議和按需路由協(xié)議統(tǒng)稱為平面型路由協(xié)議,還有一類路由協(xié)議混合了二者優(yōu)點,稱為層次性路由協(xié)議或混合型路由協(xié)議。在平面型路由協(xié)議中,所有節(jié)點功能都是對等的;在層次型路由協(xié)議中,各層次由若干個節(jié)點組成,在層次內(nèi)的節(jié)點之間采用表驅(qū)動路由算法,在各層次間采用按需路由算法,代表性的協(xié)議有區(qū)域路由協(xié)議(zoneroutingprotocol,ZRP)。ZRP協(xié)議是第一個利用分級結(jié)構(gòu)混合使用按需和主動路由策略的自組網(wǎng)路由協(xié)議。ZRP中,分級被稱作域(zone)。域形成算法較為簡單,它是通過一個重要的協(xié)議參數(shù)-區(qū)域半徑,指定每個結(jié)點維護的區(qū)域大小,即所有距離不超過區(qū)域半徑的結(jié)點都屬于該區(qū)域。一個結(jié)點可能同時屬于多個區(qū)域。為了綜合利用按需路由和主動路由的各自優(yōu)點,ZRP規(guī)定每個結(jié)點采用DVA主動路由協(xié)議維護去往區(qū)域內(nèi)結(jié)點的路由,采用類似DSR協(xié)議中的按需路由機制尋找去往區(qū)域外結(jié)點的路由。ZRP協(xié)議的性能很大程度上由區(qū)域半徑參數(shù)決定。通常,小的區(qū)域半徑適合在移動速度較快的結(jié)點組成的密集網(wǎng)絡(luò)中使用;大的區(qū)域半徑適合在移動速度慢的結(jié)點組成的稀疏網(wǎng)絡(luò)中使用。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。