NAT(地址轉換技術)詳解


https://blog.csdn.net/gui951753/article/details/79593307

 

NAT產生背景
今天,無數快樂的互聯網用戶在盡情享受Internet帶來的樂趣。他們瀏覽新聞,搜索資料,下載軟件,廣交新朋,分享信息,甚至於足不出戶獲取一切日用所需。企業利用互聯網發布信息,傳遞資料和訂單,提供技術支持,完成日常辦公。然而,Internet在給億萬用戶帶來便利的同時,自身卻面臨一個致命的問題:構建這個無所不能的Internet的基礎IPv4協議已經不能再提供新的網絡地址了。

2011年2月3日中國農歷新年, IANA對外宣布:IPv4地址空間最后5個地址塊已經被分配給下屬的5個地區委員會。2011年4月15日,亞太區委員會APNIC對外宣布,除了個別保留地址外,本區域所有的IPv4地址基本耗盡。一時之間,IPv4地址作為一種瀕危資源身價陡增,各大網絡公司出巨資收購剩余的空閑地址。其實,IPv4地址不足問題已不是新問題,早在20年以前,IPv4地址即將耗盡的問題就已經擺在Internet先驅們面前。這不禁讓我們想去了解,是什么技術使這一危機延緩了盡20年。

要找到問題的答案,讓我們先來簡略回顧一下IPv4協議。

IPv4即網際網協議第4版——Internet Protocol Version 4的縮寫。IPv4定義一個跨越異種網絡互連的超級網,它為每個網際網的節點分配全球唯一IP地址。如果我們把Internet比作一個郵政系統,那么IP地址的作用就等同於包含城市、街區、門牌編號在內的完整地址。IPv4使用32bits整數表達一個地址,地址最大范圍就是232 約為43億。以IP創始時期可被聯網的設備來看,這樣的一個空間已經很大,很難被短時間用完。然而,事實遠遠超出人們的設想,計算機網絡在此后的幾十年里迅速壯大,網絡終端數量呈爆炸性增長。

更為糟糕的是,為了路由和管理方便,43億的地址空間被按照不同前綴長度划分為A,B,C,D類地址網絡和保留地址。其中,A類網絡地址127段,每段包括主機地址約1678萬個。B類網絡地址16384段,每段包括65536個主機地址。
ANA向超大型企業/組織分配A類網絡地址,一次一段。向中型企業或教育機構分配B類網絡地址,一次一段。這樣一種分配策略使得IP地址浪費很嚴重,很多被分配出去的地址沒有真實被利用,地址消耗很快。以至於二十世紀90年代初,網絡專家們意識到,這樣大手大腳下去,IPv4地址很快就要耗光了。於是,人們開始考慮IPv4的替代方案,同時采取一系列的措施來減緩IPv4地址的消耗。正是在這樣一個背景之下,本期的主角閃亮登場,它就是網絡地址轉換——NAT。

NAT是一項神奇的技術,說它神奇在於它的出現幾乎使IPv4起死回生。在IPv4已經被認為行將結束歷史使命之后近20年時間里,人們幾乎忘了IPv4的地址空間即將耗盡這樣一個事實——在新技術日新月異的時代,20年可算一段漫長的歷史。更不用說,在NAT產生以后,網絡終端的數量呈加速上升趨勢,對IP地址的需求劇烈增加。此足見NAT技術之成功,影響之深遠。

說它神奇,更因為NAT給IP網絡模型帶來了深遠影響,其身影遍布網絡每個角落。根據一份最近的研究報告,70%的P2P用戶位於NAT網關以內。因為P2P主要運行在終端用戶的個人電腦之上,這個數字意味着大多數PC通過NAT網關連接到Internet。如果加上2G和3G方式聯網的智能手機等移動終端,在NAT網關之后的用戶遠遠超過這個比例。

ip地址基礎知識
同學你現在做兩個操作

打開你的命令行輸入ipconfig查詢你的Ip地址
打開百度,輸入Ip查詢,查詢你的ip地址
你是不是發現了一件很神奇的事情,這兩個地址是不一樣的。但是我們又經常說每個主機只有一個ip,這個ip是他的身份標識。這完全矛盾啊。這就引出了我們今天要講的NAT技術
其實並不矛盾。這里我們要引入公網ip和私網ip這兩個概念,關於這個問題的解讀。大家可以參看我的博文。為什么百度查到的ip和ipconfig查到的不一樣

NAT技術的工作原理和特點
NAT名字很准確,網絡地址轉換,就是替換IP報文頭部的地址信息。NAT通常部署在一個組織的網絡出口位置,通過將內部網絡IP地址替換為出口的IP地址提供公網可達性和上層協議的連接能力。那么,什么是內部網絡IP地址?

RFC1918規定了三個保留地址段落:10.0.0.0-10.255.255.255;172.16.0.0-172.31.255.255;192.168.0.0-192.168.255.255。這三個范圍分別處於A,B,C類的地址段,不向特定的用戶分配,被IANA作為私有地址保留。這些地址可以在任何組織或企業內部使用,和其他Internet地址的區別就是,僅能在內部使用,不能作為全球路由地址。這就是說,出了組織的管理范圍這些地址就不再有意義,無論是作為源地址,還是目的地址。對於一個封閉的組織,如果其網絡不連接到Internet,就可以使用這些地址而不用向IANA提出申請,而在內部的路由管理和報文傳遞方式與其他網絡沒有差異。

對於有Internet訪問需求而內部又使用私有地址的網絡,就要在組織的出口位置部署NAT網關,在報文離開私網進入Internet時,將源IP替換為公網地址,通常是出口設備的接口地址。一個對外的訪問請求在到達目標以后,表現為由本組織出口設備發起,因此被請求的服務端可將響應由Internet發回出口網關。出口網關再將目的地址替換為私網的源主機地址,發回內部。這樣一次由私網主機向公網服務端的請求和響應就在通信兩端均無感知的情況下完成了。依據這種模型,數量龐大的內網主機就不再需要公有IP地址了。
NAT的轉換示意圖如下所示

 

 

我們一般使用私網ip作為局域網內部的主機標識,使用公網ip作為互聯網上通信的標識
在整個NAT的轉換中,最關鍵的流程有以下幾點

網絡被分為私網和公網兩個部分,NAT網關設置在私網到公網的路由出口位置,雙向流量必須都要經過NAT網關
網絡訪問只能先由私網側發起,公網無法主動訪問私網主機;
NAT網關在兩個訪問方向上完成兩次地址的轉換或翻譯,出方向做源信息替換,入方向做目的信息替換;
NAT網關的存在對通信雙方是保持透明的;
NAT網關為了實現雙向翻譯的功能,需要維護一張關聯表,把會話的信息保存下來。
靜態NAT
如果一個內部主機唯一占用一個公網IP,這種方式被稱為一對一模型。此種方式下,轉換上層協議就是不必要的,因為一個公網IP就能唯一對應一個內部主機。顯然,這種方式對節約公網IP沒有太大意義,主要是為了實現一些特殊的組網需求。比如用戶希望隱藏內部主機的真實IP,或者實現兩個IP地址重疊網絡的通信。

 

 

動態NAT

它能夠將未注冊的IP地址映射到注冊IP地址池中的一個地址。不像使用靜態NAT那樣,你無需靜態地配置路由器,使其將每個內部地址映射到一個外部地址,但必須有足夠的公有因特網IP地址,讓連接到因特網的主機都能夠同時發送和接收分組

 

 

 

NAT重載(經常應用到實際中)
這是最常用的NAT類型。NAT重載也是動態NAT,它利用源端口將多個私網ip地址映射到一個公網ip地址(多對一)。那么,它的獨特之處何在呢?它也被稱為端口地址特換(PAT)。通過使用PAT(NAT重載),只需使用一個公網ip地址,就可將數千名用戶連接到因特網。其核心之處就在於利用端口號實現公網和私網的轉換。
面對私網內部數量龐大的主機,如果NAT只進行IP地址的簡單替換,就會產生一個問題:當有多個內部主機去訪問同一個服務器時,從返回的信息不足以區分響應應該轉發到哪個內部主機。此時,需要NAT設備根據傳輸層信息或其他上層協議去區分不同的會話,並且可能要對上層協議的標識進行轉換,比如TCP或UDP端口號。這樣NAT網關就可以將不同的內部連接訪問映射到同一公網IP的不同傳輸層端口,通過這種方式實現公網IP的復用和解復用。這種方式也被稱為端口轉換PAT、NAPT或IP偽裝,但更多時候直接被稱為NAT,因為它是最典型的一種應用模式。

 


免責聲明!

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



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