天天看點

玉龍小棧 | DMVPN的三個階段描述

DMVPN 三個階段

階段一:Phase 1

1、網絡内所有Spoke節點向HUB節點發起注冊請求

2、HUB節點根據接收到的注冊請求封包,記錄Spoke的tunnel接口位址和公網接口位址(DLCI)的映射關系,并向Spoke發送應答确認。

3、注冊源的Spoke節點收到HUB節點的注冊應答後将HUB節點設定為Active

4、在HUB節點和Spoke節點之間部署動态路由協定

5、在HUB節點和Spoke節點之間部署IPsec,如果是HUB和Spoke之間轉發流量,那麼一次加密一次解密;如果是Spoke和Spoke之間轉發流量,那麼兩次加密和兩次解密。

6、通過部署動态路由協定學習到各自的私網路由,然後通過路由資訊轉發流量。

●HUB使用mGRE,Spoke使用GRE,Spoke到 Spoke 流量必須經過HUB中轉;HUB端的mGRE Tunnel必須是multipoint模式,Spoke端的mGRE Tunnel為P2P

●HUB端可以進行路由彙總(僅限于EIGRP、RIP)

Phase 1中部署OSPF或EIGRP:

●考慮到OSPF網絡類型的選擇,因為OSPF是依靠網絡類型來選擇下一跳;P2P和NBMA一般不考慮,因為P2P不能用于HUB-Spoke模型,NBMA雖然可以運作,但是因為沒添加一個Spoke,需要在HUB端手動完成neighbor的指定,不具備很好的可擴充性,是以網絡類型選擇Boradcast或P2MP;Phase1沒有對下一跳的要求,是以OSPF網絡類型可以是Boradcast(HUB為DR)或者P2MP

●運作EIGRP需要HUB端關閉水準分割,否則Spoke端無法學習到Spoke端路由

玉龍小棧 | DMVPN的三個階段描述

階段二:Phase 2

1、網絡中的所有spoke節點向配置HUB節點發起NHRP注冊請求

2、HUB根據收到的注冊請求封包,記錄spoke節點的tunnel接口位址和公網出口IP位址(DLCI)對應關系,并向spoke節點發送應答确認。

3、注冊源的spoke節點收到HUB節點的注冊應答後将HUB設定為Active

4、通過動态路由協定學習到路由,注冊源節點到spoke節點端的路由下一跳是目标端spoke節點的tunnel接口位址;比如spoke1發往spoke2的第一個資料包交給了HUB,同時會觸發spoke1的解析請求封包發往spoke2,但是該解析請求封包必須經過HUB中轉到spoke2

6、spoke2收到解析請求後會對該請求進行解析應答,并且将spoke1資訊添加到自己的NHRP映射表中

7、當spoke1端收到相應的解析應答後,那麼spoke1到spoke2的隧道建立成功,後續流量不用HUB中轉

●Spoke到Spoke初始流量需要經過HUB,後續流量直接在兩個Spoke之間轉發

●HUB和Spoke端的GRE tunnel都必須是Multipoint模式(MGRE)

●Spoke到HUB的隧道會周期更新NHRP注冊資訊,所有spoke會每40分鐘時間發送一個NHRP的注冊資訊去重新整理逾時電腦;Spoke到spoke的動态隧道不會周期更新NHRP解析請求,超過120分鐘後spoke到spoke的動态隧道會被删除

Phase 2中部署OSPF或EIGRP:

●對于網絡類型的選擇,OSPF是依靠網絡類型來選擇下一跳,P2P/P2MP/NBMA一般不考慮,因為P2P不能用于HUB-spoke模型,NBMA雖然可以運作,但是因為每添加一個spoke,需要在HUB端手動完成neighbor的指定,不具備很高可擴充性。P2MP雖然可以運作,但是運作後spoke到spoke的流量必須經過HUB,無法到達預期效果,是以隻能選擇broadcast網絡類型;Phase2的下一跳必須是目标spoke端的tunnel的接口位址,是以OSPF的網絡類型必須是broadcast

●EIGRP需要在HUB節點關閉水準分割,否則spoke端無法學習到spoke端路由;使用64位EIGRP時,spoke發往spoke的路由進過HUB節點時,下一跳不會改變。

玉龍小棧 | DMVPN的三個階段描述

階段三:Phase3

1、使用NHRP錯誤訓示消息,從hub節點通告到spoke節點,到達某個目标網絡有一條更優的路徑;首先在hub路由器上配置ip nhrp redirect,以及在spoke路由器上配置ip nhrp shortcut;redirect配置指令讓hub節點發送NHRP錯誤訓示消息,而shortcut配置指令讓spoke接受來自hub的redirect消息并将優化路由裝到路由表裡。

2、hub路由器将彙總路由資訊發到各spoke節點。

3、當Spoke-R1将流量發往Spoke-R2下面的網段時,第一個包将發到Hub-R1(遵循彙總路由),Hub-R1将這個包丢回DMVPN網絡并觸發NHRP機制産生流量訓示消息發給Spoke-R1,Spoke-R1通過請求包裡邊的映射資訊,将含有自身IP位址與tunnel隧道映射資訊的響應消息直接發到Spoke-R2,Spoke-R1由此得到指向目标網絡Spoke-R2有一個更優路徑的下一跳。

3.Spoke-R1收到這個訓示然後将流量直接發往Spoke-R2.

●類似于階段2,第一個資料包需要經過hub路由器以便各spoke能解析到對應的位址,解析過程完成之後,後續的資料包就繞過hub直接發往spoke節點了。

●階段3 中OSPF和EIGRP的配置跟階段1基本一樣,隻是在hub上多了一條ip nhrp redirect,在spoke上多了一條ip nhrp shortcut。

玉龍小棧 | DMVPN的三個階段描述

以上總結:

現在的DMVPN技術已實作階層化結構拓撲設計,主要運用于DMVPN技術的超大範圍部署,并且能夠實作不同區域的分支間直接建立隧道,使DMVPN技術實作了階層化部署,不同 DMVPN區域的分支必須經過本區域的中心才能建立連接配接。

玉龍小棧 | DMVPN的三個階段描述
玉龍小棧 | DMVPN的三個階段描述

▶基于單中心的DMVPN網絡拓撲:

對于單中心的DMVPN網絡架構來說,所有的分支都在一個DMVPN網絡内,在分支上隻需要建立一個永久隧道和一個臨時隧道接口,分支路由器可通過靜态設定與中心通信,配置相對簡單。

▶基于雙中心的DMVPN網絡拓撲:

雙中心的DMVPN網絡架構内有兩個中心,其中以一個中心為主,另一個中心為輔,構成一個區域的DMVPN技術的網絡。在每個分支上建立兩個隧道接口,與一個中心建立永久的IPSec隧道,也同時和另一個中心建立臨時的IPSec隧道;當分支通路中心内部網絡時,可以利用兩個中心實作網絡帶寬的負載均衡,分支通過動态路由協定選擇與中心進行通信;當其中一個中心出現問題的時候,另外一個中心能夠接管所有流量,實作 DMVPN 的高可用性。

玉龍小棧 | DMVPN的三個階段描述

DMVPN排錯步驟:

1、如果DMVPN出現故障,先解除IPsec配置(先不調用IPsec看看是否正常)

2、如果去掉IPsec發現運轉正常,那就去檢查IPsec

3、如果去掉IPsec發現問題還在,那麼檢查NHRP是否注冊上HUB

4、如果NHRP注冊正常,那麼檢查路由協定的鄰居狀态

5、如果确認IPsec、GRE、NHR、路由協定都沒有問題,那麼找思科技術支援