網絡基礎篇之NAT(原理)


一、NAT的產生

  由於網絡的飛速發展和網絡應用的極速增多,致使IPv4可用地址空間逐漸枯竭。盡管IPv6可以在根本上解決地址枯竭問題,但IPv4發展到IPv6還需要一個過渡,而這便產生了NAT。

 

二、NAT的作用

  IP地址分為公網IP與私網IP。一般情況下,在互聯網中,公網IP可直接訪問,私網IP無法直接訪問。而NAT則是將私網IP地址轉換為公網IP地址(將IP報文頭部的私網IP地址改為可以提供訪問的公網IP地址),從而實現用戶上網功能或服務器在互聯網上提供服務。NAT還可以使得一個公網IP代表多個不同的內網IP,這樣便節省了IP地址資源。

 

三、NAT的類型與分類

  NAT分為靜態轉換、動態轉換、端口轉換

  1、靜態轉換:私有地址與公有地址進行一對一的映射。這種一對一映射無法緩解可用公有地址短缺的問題。

  2、動態轉換:私有地址與公有地址進行一對多的映射。首先建立公有地址地址池,私有地址向外通信時,會從公有地址地址池中選擇非在用的公有地址進行映射,當通信結束時,釋放映射關系,公有地址重新恢復到地址池中待用。弊端:若私有地址向外通信,而公有地址地址池中無可用公有地址時,會等待公有地址釋放后在進行通信。

  3、端口轉換:在大多數網絡中,一般都使用的是IP上的某個端口(如80、443、3389等),所以不需要進行全地址映射,只需要私有地址端口映射到公有地址端口上,直接訪問公有地址加端口號的形式便可以。這樣可以使得一個公有地址可以對應多個私有地址,從而大大緩解了公有地址緊缺的問題。

  4、Easy IP:為小型網絡,一般為家庭、小型網吧、辦公室等內部主機不多的地方。通過撥號方式獲取一個臨時公網IP地址進行外網的訪問。

 

四、擴展SNAT與DNAT區別

  1、 SNAT是私網訪問外網時,報文中源IP地址(私網IP地址)轉換為公網IP地址過程。此轉換可以使用靜態、動態等轉換方式,且內部的多台主機共用同一公網IP地址進行外網訪問。

  2、DNAT是外網訪問私網時,報文中目的IP地址(公網IP地址)轉換為私網IP地址過程。此轉換過程可以使用靜態、動態、端口等轉換方式。

 

五、Case:公司(有固定公網IP地址)上網訪問某網站簡易過程

  1、 PC訪問 www.xxxxxxx.com ,由於存在域名會通過DNS服務器解析域名從而獲得公網IP地址。

  2、 PC收到此網站的公網IP地址后,封裝數據。源IP為PC的IP地址;目的地址為解析獲得的公網IP地址;目的端口號為80。並且將此報文發送給網關設備, 網關設備收到數據報文后通過路由關系發送到出口設備。

  3、 出口設備配置有NAT轉換關系,將報文中的源IP地址轉換為公網IP地址。重新封裝數據報文后發出。(這一步為SNAT)

  4、 數據報文到達公有網絡上,由於目的IP地址為公網IP地址,通過公網路由關系轉發到網站端(服務端)。

  5、 服務端收到報文后,檢查到目的地址為公網IP地址。通過本端配置的NAT映射關系,與公網IP地址相匹配的映射關系中尋找私網IP地址。找到映射關系后,將目的地址轉換為私網IP地址(這一步為DNAT)。在通過內部網絡路由關系將數據報文轉發至相應的服務器。

  6、服務器將收到的報文通過相關計算,重新封裝報文,發送給用戶PC。原理不變,經過多次數據交互。最后用戶PC接收到數據報文,網站就被打開了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM