簡單分析DMVPN技術
**定義:**動態多點VPN
**技術組成:**MGRE+NHRP+IPSEC
- MGRE——解決隧道的封裝技術
- NHRP——解決多點網路的通訊技術
- IPSEC——解決專線的加密技術
技術特點:由客戶自行配置維護,不需要ISP來管理
技術缺點:由於用封裝技術穿越公共網路,所以穩定性不高
作用:解決在公共網路上多站點(私有網路)的互通問題
實驗模型:(模擬現實環境)
1、實際的路由拓撲圖示:
拓撲說明:
我們用R1代表總公司的網路部分,背後連線著很多的內部私有網路;我們用R3與R4代表分公司的網路部分,背後也有很多的私有網路,R2為ISP。我們現在就要用DMVPN來解決各個公司站點的私有網路穿越公有網路部分來通訊問題。
我們用這種模擬圖來標識遠距離的一家公司,R1為總公司,SP為在不同地區的倆個分公司。起先這些公司都可以連線到公共網路訪問網際網路,我們所需要解決的是如何讓公司內部的人員互相通訊——也就是說hub到站點和站點到站點。
我們部署DMVPN後的網路拓撲圖在邏輯的被劃分為這樣的拓撲圖:
注意:其實從R1接出來的看作是一根線,相當於是一根介面連線倆個終端。
圖中虛線是用MGRE技術與分公司建立虛擬的專線,先階段的網路狀況有很多問題需要解決:
- 總公司與分公司的私有網路並不能通訊
- 分公司到分公司的網路問題
VPN技術是一種封裝技術,我們藉助MGRE來解決DMVPN的隧道封裝技術;
然後用NHRP來解決站點之間的通訊問題。
一、解決DMVPN隧道封裝技術——MGRE
二、用nhrp解決各個公司網路之間的通訊問題:
nhrp工作原理:
nhrp技術被部署到各站點的虛擬通道中,各個站點之間形成隧道
地址與公網地址的對映關係,分支站點通過觸發產生註冊報文向總站點提供自身隧道與公網對映表,最後中心收集到整個網路的對映表。此階段之後中心有所有的對映關係,所以可以訪問任意的分公司,分公司也可以任意訪問中心站點;然而分公司之間的互相通訊則需要開啟nhrp流量觸發才會發出註冊報文向中心copy對映表達到通訊問題,然後將虛擬的報頭解封裝還原公網報文,達到互動資訊的作用。
nhrp技術分為三個階段處理站點之間的網路通訊問題:
*第一階段:*通過nhrp技術把目的站點公網與虛擬隧道地址做成對映關係,讓每個站點有去其它站點的對映關係;
第二階段:通過nhrp技術完成分支到分支之間直接通訊的問題;
此階段可以通過動態路由協議執行在MGRE網路中來解決,但是MGRE鏈路預設是不支援組播的資訊資料包,然而大部分的路由協議都是通過
組播來建立鄰居關係的,那麼問題就產生了:
(無組播狀態)
1.如何處理這些建鄰組播包?
第一種方式:(用協議本身解決問題)用單播與中心建立鄰居關係;現在分支到中心的問題解決了,但是會發現分支到分支問題卻沒有解決;
應用eigrp協議:(eigrp預設開啟水平分割我們要關閉它)
eigrp也支援單播建鄰居,那麼分支與中心建立單播eigrp關係,分支到中心沒有問題,但是分支到分支的時候發現我要去另外一個分支然而下一跳目標還是中心站點,所以分支還是有問題;那麼現在我們關閉掉中心的自動改變下一跳問題就可以解決了。
應用rip:類似於eigrp
應用ospf協議:(網路型別問題預設為點到點)
用ospf的NBMA網路型別來解決分支到分支的問題,相對於eigrp比較簡單,ospf通過LSA直接解決分支到分支的問題,會直接被看做是點到點鏈路。但是NBMA網路有致命的問題,因為DMVPN不是那麼穩定,所以加上NBMA網路建立鄰居相應時間比較慢所以ospf的NBMA不是最佳的處理方式。
當然我們在比較簡單的單層次的拓撲中我們不考慮體驗效果,就將就的解決了分支到分支的通訊問題。
(組播狀態)
然而如果拓撲圖為多層次的架構,那麼問題會更多:
以上拓撲是已經用MGRE處理後的邏輯拓撲圖。
現在解決各個站點直接通訊問題,假設用第一種方式,那麼一級分支之間
是可以建立關係,並直接通訊,二級分支在自己的網路結構中也是可以通
信的,但是我們讓不同網路結構中的二級分支之間通訊的時候就會發現,
網路結構根本不在同一區域,所以根本不可能用第一種方式去解決這個問
題。這就是現在的問題。
2、如何處理組播狀態下的站點通訊問題?
第二種方式:(用nhrp技術解決)
現在之所以二級的不同區域無法通訊是因為在不同區域內沒有對映表而造成的,那麼現在要解決二級分支到另外二級分支站點的通訊,我們可以讓二級分支遞迴的去查詢對映關係,從二級分支到自己的一級分支,然後一級分支到總站點遞迴到要去的二級分支站點,這樣就對映關係問題就解決了。
如圖所示工作原理:
現階段的對映關係有深層次的關係就是分支站點的背後的私有網路與分支公有網路的對映關係,我們現在要開啟這個功能。以上實施在總站點開啟重定向,在請求端開啟深層次的對映關係就可以了。
接下來解決路由問題:
1、eigrp協議:(預設水平分割開啟)
- 直接在總站點處使用匯總路由(這樣就可以避免大量的關閉水平分割,和路由環路問題)
- 總站點開啟重定向
- 分支站點(請求端)開啟深層次的對映關係——需要觸發發出註冊報文(nhrp利用匯總路由會 直接把對映關係釋出到路由表中並顯示為H標記的路由條目)
2、ospf協議:
- 總部開啟重定向
- 分部開啟NHRP的查詢 (Spoke上ip nhrp shortcut 可以發對映請求了)
請求回來的路由會出來一個特殊的標識%,因為NHRP修改了OSPF的下一跳,我們需要操作的是參考OSPF中的FA地址,讓OSPF選擇NHRP給他的路由而不相信他自己根據拓撲算出來的路由,路由加入路由表並打上%標記。