NAT全名為Network Address Translation ,定義於RFC 1631。其原理為對Packet 的來源端IP位址、目的地IP位址、來源Port、目的Port進行改寫。讓在同一個區域網路的電腦在網際網路中使用同一組IP位址上網(連接網際網路)。
所有在NAT內的使用者都是Private IP,只有NAT Router上的連外介面用的是Public IP,而當NAT內部有使用者對外連線時,才會將該Private IP替換成Public IP。使用NAT mapping table維持對應關係如圖一所示。
圖一、NAT mapping table維持對應關係
圖二、NAT在7層架構中的Network層
圖三、NAT會改變TCP/IP Package 中的Source Address、Header Checksum、Checksum
5.2 NAT 優點
1. 節省Public IP Address
解決了IPv4位址不足的問題,因為它可節省位址的使用(由於對外只使用一個IP address, 因此內部使用的IP 可重覆地在不同單位使用;只要少數public address 就能讓單位內所有電腦都連上Internet)
2. 增加了內部網路的安全性
因NAT 利用IP偽裝的轉換過程來隱藏內部網路IP位址及網路router資訊,形成了天然的防火牆(即只有使用public address 的電腦會被單位外部網路所存取, 使用private address 的電腦不會直接被存取, 有安全上的好處)
3. 方便管理
由於NAT端可以控管底下的所有網路裝置,對於特定的裝置可有QoS的控
制。對於管理者來說,較為方便。
5.3 NAT 缺點
1. 通訊協定資料中如含有其 IP address者將無法使用,但在Linux下有提供FTP和ICMP的處理,但其他的協定不一定會提供。
2. 以 IP address 作為安全檢查的方式將不可行
若在NAT內部架設Server 如WEB Server、TP Server、E-mail Server、BBS 等需藉由Port Forward的機制,增加設定的負擔
標籤: 技術 [Network]