NAT(Network Address Translation,網絡地址轉換)是1994年提出的。當在專用網內部的一些主機本來已經分配到了本地IP地址(即僅在本專用網內使用的專用地址),但現在又想和因特網上的主機通信(並不需要加密)時,可使用NAT方法。
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可以借助於某些代理服務器來實現,但考慮到運算成本和網絡性能,很多時候都是在路由器上來實現的。
NAT技術類型
NAT有三種類型:靜態NAT(Static NAT)、動態地址NAT(Pooled NAT)、網絡地址端口轉換NAPT(Port-Level NAT)。
靜態NAT設置起來最為簡單和最容易實現的一種,內部網絡中的每個主機都被永久映射成外部網絡中的某個合法的地址。當一個內部主機必須被作為一個固定的外部地址訪問時,通過靜態NAT實現。
動態NAT則是在外部網絡中定 義了一系列的合法地址(地址池),采用動態分配的方法映射到內部網絡。動態NAT轉換的工作過程是這樣的,當有一個內部主機需要訪問外網時,從公用IP地址池中取出一個可用的地址分配給該主機使用。當通信完成后,所獲取的公用IP地址也被釋放回地址池中。外部公用IP在被分配給一個內部主機通信使用時,該地址不能不能再次被分配給其他內部主機使用。
動態地址NAT只是轉換IP地址,它為每一個內部的IP地址分配一個臨時的外部IP地址,主要應用於撥號,對於頻繁的遠程聯接也可以采用動態NAT。當遠程用戶聯接上之后,動態地址NAT就會分配給他一個IP地址,用戶斷開時,這個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這篇文件可以看一看。