在SDWAN網絡中,為了節省IP地址資源,分支站點的用戶經常會使用私網IP地址。通過NAT將私網IP地址轉換為公網IP地址后,該站點的用戶才能訪問其他站點。CPE發出的報文在經過NAT設備后,IP地址會發生變化。如果無法獲取NAT轉換后的IP地址,則CPE與CPE/RR之間無法建立SDWAN通道。為了解決此問題,需要使用靜態NAT或STUN(Session Traversal Utilities for NAT,NAT環境下的會話傳輸)技術獲取NAT相關信息,并穿越NAT在CPE之間建立SDWAN隧道。
靜態NAT技術
靜態NAT技術是指在NAT設備上采用靜態NAT轉換方式的場景中,管理員通過在CPE/RR上部署靜態NAT技術,手工指定隧道的源IP地址和端口號(即SDWAN報文封裝時的源UDP端口號)NAT轉換后的公網IP地址和公網端口號,而無需部署STUN功能來探測NAT轉換后的公網IP地址和公網端口號。
STUN技術
STUN是一種處理NAT穿越問題的協議,用來為隧道模塊確定網絡中是否存在NAT設備,以及NAT設備為通信端點分配的IP地址和端口號。STUN基于UDP傳輸協議報文,默認使用的端口號為3478。
STUN典型組網
STUN采用C/S模式,由STUN客戶端(STUN Client)和STUN服務器(STUN Server)組成,典型組網如圖所示。
·STUN客戶端:STUN探測的發起者,主動向STUN服務器發送探測請求,根據服務器的響應報文判斷NAT設備是否存在,并獲取NAT信息。通常部署在CPE設備上。
·STUN服務器:STUN探測的響應者,接收來自STUN客戶端的探測請求,并通過在響應報文內填充特定的地址和端口信息向客戶端提供判斷的依據。通常部署在公網上。
STUN典型組網
STUN客戶端和STUN服務器通過交互捆綁請求和捆綁響應協議報文,探測NAT轉換后的IP地址和端口號,以及NAT類型。
NAT映射和過濾
1.概念介紹
NAT映射和NAT過濾是NAT穿越技術里經常用到的兩個概念。在STUN里,需要通過NAT映射類型和NAT過濾方式來判斷NAT類型,從而確定STUN是否能正常工作。
相關術語如下:
Endpoint:一對IP地址和端口號的組合。例如,Endpoint(X,x)表示IP地址為X、端口號為x。
NAT映射:NAT設備對內網主動發到外網的報文進行映射。當內網主機向外網主機發起訪問時,NAT設備會建立內網Endpoint和外網Endpoint之間的映射關系表,并根據該映射關系將報文的內網Endpoint轉換成外網Endpoint轉發出去。
NAT過濾:NAT設備對外網主動發到內網的報文進行過濾。為了防止內網主機受到攻擊,NAT設備會對外網主動發到內網的報文進行過濾,即過濾非法報文,轉發正常通信報文。
2. NAT映射類型
NAT映射類型包括三種:EIM、ADM和APDM。下面以圖為例,詳細介紹三種NAT映射類型。假設內網主機Host A的內網Endpoint為(X,x),經過NAT映射后的外網Endpoint為(Y,y)。外網Host B的Endpoint為(M,m),外網Host C的Endpoint為(N,n)。
· EIM(Endpoint-Independent Mapping,外部地址無關映射):僅根據內網Endpoint進行NAT映射,不考慮報文的目的IP地址和端口號,即同一個內網Endpoint發送到外部網絡的任何報文,NAT映射后的結果均相同。如圖3-2所示,對于內網Endpoint(X,x),NAT映射后的外網Endpoint均為(Y,y)。
EIM示意圖
ADM(Address-Dependent Mapping,外部地址相關映射):根據內網Endpoint和報文的目的IP地址進行NAT映射,不考慮報文的目的端口號。即,同一個內網Endpoint發送到外部網絡中相同IP地址、任意端口號的報文,NAT映射后的結果相同;同一個內網Endpoint發送到外部網絡中不同IP地址的報文,NAT映射后的結果不同。如圖所示,對于內網Endpoint(X,x)訪問Host B上Endpoint(M,m1)和Endpoint(M,m2)的報文,NAT映射后的外網Endpoint均為(Y1,y1)。
ADM示意圖
APDM(Address and Port-Dependent Mapping,外部地址和端口相關映射):根據內網Endpoint和外網Endpoint進行NAT映射。即,同一個內網Endpoint發送到同一外網Endpoint的報文,NAT映射后的結果相同;同一個內網Endpoint發送到不同外網Endpoint的報文,NAT映射后的結果不同。如圖所示,對于內網Endpoint(X,x)訪問Host B的報文,NAT映射后的外網Endpoint為(Y1,y1);內網Endpoint(X,x)訪問Host C的報文,NAT映射后的外網Endpoint為(Y2,y2)。
APDM示意圖
NAT過濾方式
NAT過濾方式包括三種:EIF、ADF和APDF。下面以圖3-5、圖3-6和圖3-7為例,詳細介紹三種NAT過濾類型。假設內網主機Host A的內網Endpoint為(X,x),經過NAT映射后的外網Endpoint為(Y,y)。外網Host B的Endpoint為(M,m),外網Host C的Endpoint為(N,n)。
EIF(Endpoint-Independent Filtering,外部地址無關過濾):對于內網Endpoint(X,x),只要它曾經向某個外網主機發送過數據,該外網主機收到數據報文后就可以根據報文的源IP和源端口獲取到內網主機NAT映射后的外網Endpoint(Y,y)。那么,對于任意外部網絡主機發送到Endpoint(Y,y)的報文,NAT設備都會進行地址轉換并轉發到內網。NAT設備接收到外部網絡主機發送的報文后,若NAT設備上的映射表中不存在該報文目的Endpoint對應的表項,則NAT設備會將此類報文丟棄。
EIF示意圖
ADF(Address-Dependent Filtering,外部地址相關過濾):對于內網Endpoint(X,x),只有它曾經向IP地址為M的外網主機Host B發送過報文,NAT設備才會對外網主機Host B使用外網地址M、任意端口號發送到Endpoint(Y,y)的報文進行地址轉換。除此之外的外部網絡報文都會被NAT設備過濾。
ADF示意圖
APDF(Address and Port-Dependent Filtering,外部地址和端口相關過濾):對于內網Endpoint(X,x),如果它僅向外網Endpoint(M1,m1)發送過報文,那么NAT設備只會對Endpoint(M1,m1)發送到Endpoint(Y,y)的報文進行地址轉換并轉發到內網。除此之外的外部網網絡報文都會被NAT設備丟棄。
APDF示意圖
NAT類型
NAT類型是由映射類型和過濾方式組合而成的,有如下四種組合方式:
· Full Cone NAT(完全錐型NAT):EIM和EIF的組合。
所有從同一個私網IP地址和端口(IP1:Port1)發送到NAT設備的報文的地址和端口都會被映射成同一個公網IP地址和端口(IP:Port)。并且,任何外部主機都可以通過該公網IP地址和端口(IP:Port)與內部主機進行通信。
Restricted Cone NAT(限制錐型NAT):EIM和ADF的組合。
所有從同一個私網IP地址和端口(IP1:Port1)發送到NAT設備的報文的地址和端口都會被映射成同一個公網IP和端口號(IP:Port)。與Full Cone NAT不同的是,只有內部主機之前已經訪問過的外部主機可以與內部主機通信,其余外部主機不能與內部主機通信。
· Port Restricted Cone NAT(端口限制錐型NAT):EIM和APDF的組合。
所有從同一個私網IP地址和端口(IP1:Port1)發送到NAT設備的報文的地址和端口都會被映射成同一個公網IP和端口號(IP:Port)。與Restricted Cone NAT不同的是,一臺公網主機(IP2:Port2)能夠與內網主機進行通信的前提是,內網主機曾經通過(IP2:Port2)訪問過該公網主機。
Symmetric NAT(對稱NAT):APDM和APDF的組合。
所有從同一個私網IP地址和端口(IP1:Port1)發送到一個特定目的IP地址和端口的報文的地址和端口,都會被映射到同一個公網IP地址和端口。如果同一臺私網主機使用相同的源地址和端口號發送報文,但是發往不同的目的地,NAT將會使用不同的映射。公網主機(IP2:Port2)與某個內網主機(IP1:Port1)通信的前提是,內網主機(IP1:Port1)曾經通過(IP2:Port2)訪問過該公網主機。
(部分內容素材來源于網絡,侵權請聯系刪除)
審核編輯 黃昊宇
-
NAT
+關注
關注
0文章
145瀏覽量
16236 -
sdwan
+關注
關注
2文章
124瀏覽量
7223
發布評論請先 登錄
相關推薦
評論