NAT網絡地址轉換(Network Address Translation)主要用于解決IP地址不足而提出的,NAT主要有以下幾類
1、S-NAT(Source?Network Address Translation)基于源地址的NAT
2、D-NAT(Destination Network Address?Translation)基于目標地址的NAT
3、P-NAT(Port?Network Address?Translation)基于端口的NAT
? ? ?P-NAT 也稱為 P-AT(Port Address?Translation)
4、ID-NAT(Identity NAT)基于ID的NAT
NAT大致為以上四類,下面闡述這些分別用于那些場景:
1、S-NAT 常用于 NAT 端口映射,DMZ、NAT/1
2、D-NAT 常用于公網重定向到內網
3、P-NAT 常用于 TCP/IP、UDP/IP 這些L3層協議
4、ID-NAT 常用于 ICMP 這些L3層協議
GRE/PPP幀,NAT路由做工是拆出欲轉發IP報文在按照正常路由NAT處理的,因為GRE/PPP幀一般帶的就是一個L3網絡層完整的IP數據幀。
關于 NAT/1、NAT/2、NAT/3 類
1、NAT/1 類
? ? ?網絡沒有限制直連公網、擁有獨立IP地址、路由器之中DMZ功能就是這個,或者光貓橋接到你的電腦。
? ? ?優點:網絡無限制,所以幾乎沒有網絡問題
? ? ?缺點:因為沒有NAT或防火墻的保護,可能面臨更高的安全風險。
2、NAT/2 類
? ? ?最常見的NAT類型,設備位于路由器后面,并通過NAT與外網通信,設備擁有私有IP地址,而路由器負責將內部流量映射到一個公網IP地址。?
? ? ?優點:保持較好網絡連接的同時,提供了一定程度的網絡安全。
? ? ?缺點:可能會遇到某些連接問題,尤其是在一些P2P連接的程序中。
3、NAT/3 類
? ? ?NAT或防火墻的限制非常嚴格,可能只允許出站連接,而對于進站連接則大多數被阻止,就是端口映射都不行,可以映射端口是 NAT/2 類。
? ? 優點:擁有較高的安全級別,未經請求的外部流量幾乎都被阻止。
? ? 缺點:可能導致多數網絡服務和P2P應用出現連接問題,影響在線游戲、視頻會議等應用的體驗。
4、NAT/4 類
? ? 這種是NAT/3、NAT/3,是個不存在的NAT類型,只是有很多人這么叫,一般就是大陸國內ISP運營商給家寬整的IP地址網絡,大內網套小內網。
關于錐形NAT(Cone NAT),又稱為圓錐形NAT,它主要是用來描述如何處理外部到內部的連接請求,它分為以下幾個類型。
1、完全錐形NAT(Full Cone NAT)
? ? ? 意思就是完全不受限制,外部任意端口、IP地址都可以訪問,比如P2P穿透一般需要這種,星際戰甲(Warfame)那款TPS游戲,玩家練級就比較吃這個。
? ? ?但需要注意的是,完全錐形NAT,是基于端口映射關系的,即一個端口對應一個內網IP+端口(固定)不可變的。
所以:可以靜態端口映射到公網的,都屬于是錐形NAT。
?
2、受限錐形NAT(Restricted Cone NAT)
? ? ? 這個跟完全錐形NAT很類似,區別就一個就是,它只允許來自內部主機之前已發送過數據包的外部IP地址的入站流量通過。
? ? ? 你可以理解,我們在內網NAT客戶端設備之中用UDP鏈接了外網某服務器IP,然后對面可以一直用自己的IP,任意的端口號給我們內網的設備發數據過來,這種常見是UDP、ICMP NAT。
3、端口受限錐形NAT(Port Restricted Cone NAT)
? ? ?這個跟第二個沒多大區別,就是在多限制了一個端口號,主要用在TCP協議的,NAT會跟蹤TCP的鏈接狀態。(TCP connection nat tracker)限制對面不能以非這個IP+PORT的數據穿過NAT,所以TCP打不了NAT洞。
4、?對稱錐形NAT(Symmetric NAT)
對稱錐形NAT對于每一個不同的外部目的地(即不同的外部IP地址或端口),都會使用不同的映射。
即使是從同一個內部IP地址和端口發出的兩個數據包,如果它們的目標不同,也可能被映射到兩個不同的外部IP地址和端口。
這個主要用在UDP/P2P,你可以理解先打NAT洞,然后用任何類型的IP+PORT都可以向這個UDP端口發送數據,當然這個UDP端口也可以向任何目標IP+PORT地址發數據,打洞需要這種NAT,當然完全錐形NAT更好,畢竟能靜態映射它不好嘛,只是這兩個類型NAT大多數時候容易被人混淆。
? ??