本文章內容過長,上篇請移步主頁進行觀看。
書接上文,我們繼續來說說NAT在SDWAN中的技術實現。
穿越NAT建立SDWAN隧道
在SDWAN網絡中,通常將CPE部署為STUN客戶端,將RR部署為STUN服務器。客戶端通過與服務器進行報文交互,能夠發現網絡中是否存在NAT設備,并確定經過NAT設備轉換后的IP地址和端口號。STUN客戶端探測到轉換后的IP地址和端口號后,采用該IP地址與其他CPE建立SDWAN隧道;若CPE之間無法直接建立數據通道,則需要通過在公網中部署Nat transfer(NAT傳輸)設備來實現互通。
穿越NAT建立SDWAN隧道示意圖
部署Nat transfer的SDWAN隧道示意圖
部署Nat transfer的SDWAN組網如上圖所示。下面以該組網為例,說明穿越NAT建立SDWAN隧道的過程。
控制通道建立
(1)STUN client與STUN server之間交互STUN協議報文,STUN client探測到本端NAT類型、Public IP地址(即訪問STUN server時NAT轉換后的Public IP)和端口號。
(2) SDWAN client與SDWAN server之間建立SSL連接,然后互相發送TTE信息(包含STUN探測到的NAT類型、Public IP等)。
(3) CPE 1、CPE 2和Nat transfer收到RR的TTE信息后,比較TTE信息中的路由域與本地是否相同。若路由域相同,則建立到達RR的SDWAN隧道,使用RR的TTE信息中Public IP作為隧道的目的IP;若路由域不同,則不建立SDWAN隧道。
(4) RR收到CPE 1、CPE 2和Nat transfer的TTE信息后,比較TTE信息中的路由域與本地是否相同。若路由域相同,則分別建立到達CPE 1、CPE 2和Nat transfer的SDWAN隧道。
由于NATtransfer部署在公網中,RR只需建立到達Public IP地址的SDWAN隧道。該Public IP地址為Nat transfer的TTE信息中的Public IP。
若CPE 1、CPE 2的TTE信息中NAT類型為完全錐型NAT,則RR建立到達Public IP地址的SDWAN隧道。該Public IP地址為CPE的TTE信息中的Public IP。
若CPE 1、CPE 2的TTE信息中NAT類型為對端口限制錐型NAT、限制錐型NAT或對稱NAT,則RR無法通過TTE信息中的Public IP訪問CPE 1、CPE 2,所以RR無法按照當前獲取的信息建立到達CPE 1、CPE 2的SDWAN隧道。需要按照如下步驟建立SDWAN隧道。
a. CPE 1、CPE 2設備通過CPE到RR的SDWAN隧道周期性地發送SDWAN控制報文。
b. RR將接收到的SDWAN控制報文的外層源IP地址作為Public IP地址,建立到達CPE 1、CPE 2的Public IP地址的SDWAN隧道。
(5)完成SDWAN隧道建立后,CPE 1、CPE 2、Nat transfer和RR在設備上添加到達對端Systerm IP的UNR(User network route,用戶網絡路由)路由。路由的出接口為SDWAN隧道接口,下一跳為遠端TTE ID。
(6) CPE 1、CPE 2、Nat transfer和RR之間基于Systerm IP建立IPv4 Tnl-Encap-Ext地址族下的BGP連接(控制通道)。
數據通道建立
(1) CPE 1、CPE 2、Nat transfer與RR建立BGP連接(控制通道)后,CPE 1、CPE 2、Nat transfer通過IPv4 Tnl-encap-ext路由向RR發送TTE信息,由RR將TTE信息反射到其他BGP鄰居。
(2) CPE之間能否建立數據通道,除了比較路由域是否相同外,還會比較NAT類型,如下表所示。
a.若CPE之間可以直接建立數據通道,建立過程請參見步驟控制通道建立(4)。
b.若CPE之間無法直接建立數據通道,則需要通過在網絡中部署Nat transfer設備來實現互通。CPE與Nat transfer之間建立數據通道,CPE之間的數據轉發需要先通過數據通道轉發到Nat transfer設備,再由Nat transfer設備通過數據通道轉發到其他CPE,從而實現CPE之間的互通。CPE與Nat transfer之間建立數據通道的過程與CPE與RR之間建立SDWAN隧道的過程相同,具體參見步驟控制通道建立(4)。
SDWAN網絡中的NAT類型組合表
CPE 1的NAT類型 | CPE 2的NAT類型 | CPE之間是否可以直接建立隧道 | 是否需要部署Nat transfer實現CPE互通 |
---|---|---|---|
無NAT | 完全錐型NAT | √ | × |
無NAT | 端口限制錐型NAT/限制錐型NAT | √ | × |
無NAT | 對稱NAT | √ | × |
無NAT | 未知類型NAT | √ | × |
無NAT | 靜態NAT | √ | × |
完全錐型NAT | 完全錐型NAT | √ | × |
完全錐型NAT | 端口限制錐型NAT/限制錐型NAT | √ | × |
完全錐型NAT | 對稱NAT | √ | × |
完全錐型NAT | 未知類型NAT | √ | × |
完全錐型NAT | 靜態NAT | √ | × |
端口限制錐型NAT/限制錐型NAT | 端口限制錐型NAT/限制錐型NAT | √ | × |
端口限制錐型NAT/限制錐型NAT | 對稱NAT | × | √ |
端口限制錐型NAT/限制錐型NAT | 未知類型NAT | × | √ |
端口限制錐型NAT/限制錐型NAT | 靜態NAT | √ | × |
對稱NAT | 對稱NAT | × | √ |
對稱NAT | 未知類型NAT | × | √ |
對稱NAT | 靜態NAT | √ | × |
未知類型NAT | 未知類型NAT | × | √ |
審核編輯 黃昊宇
-
NAT
+關注
關注
0文章
145瀏覽量
16236 -
sdwan
+關注
關注
2文章
124瀏覽量
7223
發布評論請先 登錄
相關推薦
評論