標籤:
NAT(Network Address Translation,網路位址轉譯)是1994年提出的。當在專用網內部的一些主機本來已經分配到了本地IP地址(即僅在本專用網內使用的專用地址),但現在又想和網際網路上的主機通訊(並不需要加密)時,可使用NAT方法。
這種方法需要在專用網串連到網際網路的路由器上安裝NAT軟體。裝有NAT軟體的路由器叫做NAT路由器,它至少有一個有效外部全球IP地址。這樣,所有使用本地地址的主機在和外界通訊時,都要在NAT路由器上將其本地地址轉換成全球IP地址,才能和網際網路串連。另外,這種通過使用少量的公有IP 位址代表較多的私人IP 位址的方式,將有助於減緩可用的IP地址空間的枯竭。在RFC 1632中有對NAT的說明。 簡單地說,NAT就是在區域網路內部網路中使用內部地址,而當內部節點要與外部網路進行通訊時,就在網關(可以理解為出口,打個比方就像院子的門一 樣)處,將 內部地址替換成公用地址,從而在外部公網(internet)上正常使用,NAT可以使多台電腦共用Internet串連,這一功能很好地解決了公用 IP地址緊缺的問題。通過這種方法,您可以只申請一個合法IP地址,就把整個區域網路中的電腦接入Internet中。這時,NAT屏蔽了內部網路,所有內部網電腦對於公用網路來說是不可見的,而內部網電腦使用者通常不會意識到NAT的存在。如所示。這裡提到的內部地址,是指在內部網路中分配給節點 的私人IP地址,這個地址只能在內部網路中使用,不能被路由(一種網路技術,可以實現不同路徑轉寄)使用。雖然內部地址可以隨機挑選,但是通常使用的是下面的 地址:10.0.0.0~10.255.255.255,172.16.0.0~172.16.255.255, 192.168.0.0~192.168.255.255。NAT將這些無法在互連網上使用的保留IP地址翻譯成可以在互連網上使用的合法IP地址。而全 局地址,是指合法的IP地址,它是由NIC(網路資訊中心)或者ISP(網路服務供應商)分配的地址,對外代表一個或多個內部局部地址,是全球統一的可尋 址的地址。
NAT功能通常被整合到路由器、防火牆、ISDN路由器或者單獨的NAT裝置中。比如Cisco路由器中已經加入這一功能,網路系統管理員只需在路由器的IOS中設 置NAT功能,就可以實現對內部網路的屏蔽。再比如防火牆將WEB Server的內部地址192.168.1.1映射為外部地址202.96.23.11,外部存取202.96.23.11地址實際上就是訪問訪問 192.168.1.1。另外資金有限的小型企業來說,現在通過軟體也可以實現這一功能。Windows 98 SE、Windows 2000 都包含了這一功能。雖然NAT可以藉助於某些Proxy 伺服器來實現,但考慮到運算成本和網路效能,很多時候都是在路由器上來實現的。
NAT技術類型
NAT有三種類型:靜態NAT(Static NAT)、動態地址NAT(Pooled NAT)、網路地址連接埠轉換NAPT(Port-Level NAT)。
其中靜態NAT設定起來最為簡單和最容易實現的一種,內部網路中的每個主機都被永久映射成外部網路中的某個合法的地址。而動態地址NAT則是在 外部網路中定 義了一系列的合法地址,採用動態分配的方法映射到內部網路。NAPT則是把內部地址映射到外部網路的一個IP地址的不同連接埠上。根據不同的需要,三種 NAT方案各有利弊。
動態地址NAT只是轉換IP地址,它為每一個內部的IP地址分配一個臨時的外部IP地址,主要應用於撥號,對於頻繁的遠程聯結也可以採用動態NAT。當遠端使用者聯結上之後,動態地址NAT就會分配給他一個IP地址,使用者斷開時,這個IP地址就會被釋放而留待以後使用。
NAPT(Network Address Port Translation),即網路連接埠地址轉換,可將多個內部地址映射為一個合法公網地址,但以不同的協議連接埠號碼與不同的內部地址相對應,也就是<內部地址+內部連接埠>與<外部地址+外部連接埠>之間的轉換。NAPT普遍用於接入裝置中,它可以將中小型的網路隱藏在一個合法的IP地址後面。NAPT也被稱為“多對一”的NAT,或者叫PAT(Port Address Translations,連接埠地址轉換)、地址超載(address overloading)。NAPT與動態地址NAT不同,它將多個內部串連映射到外部網路中的一個單獨的IP地址上,同時在該地址上加上一個由NAT裝置選定的TCP連接埠號碼。即在NAT路由器中儲存一張NAT轉換表(NAT translation table),表中記錄了<內部地址+內部連接埠>與<外部地址+外部連接埠>的對應關係。當外部報文到達NAT路由器時,它們都有相同的IP,該路由器就通過過NAT轉換表尋找源IP地址
在Internet 中使用NAPT時,所有不同的資訊流看起來好像來源於同一個IP地址。這個優點在小型辦公室內非常實用,通過從ISP處申請的一個IP地址,將多個串連通 過NAPT接入Internet。實際上,許多SOHO遠端存取裝置支援基於PPP的動態IP地址。這樣,ISP甚至不需要支援NAPT,就可以做到多個 內部IP地址共用一個外部IP地址上Internet,雖然這樣會導致通道的一定擁塞,但考慮到節省的ISP上網費用和易管理的特點,用NAPT還是很值 得的。
NAT穿透方法
目前常用的針對UDP的NAT 穿透(NAT Traversal)方法主要有:STUN、TURN、ICE、uPnP等。其中ICE方式由於其結合了STUN和TURN的特點,所以使用最為廣泛。針對TCP的NAT穿透技術目前仍為痛點。實用的技術仍然不多。
uPnp。對於NAT穿越技術,http://www.wildlee.org/2010_12_1227.html這篇檔案可以看一看。
參考資料:
1.百度百科-NAT
2.http://www.emule.org.cn/topic/nat/
【電腦網路】NAT