1. 程式人生 > >通俗易懂:快速理解ipv4的NAT穿透原理

通俗易懂:快速理解ipv4的NAT穿透原理

NAT基礎

  IPv4由於最初的設計原因,長度只有32位,所以只提供了大約40億個地址。這造成了地址耗盡危機。
  NAT(Network Address Translation,網路地址轉換),也叫做網路掩蔽或者IP掩蔽。NAT是一種網路地址翻譯技術,主要是將內部的私有IP地址(private IP)轉換成可以在公網使用的公網IP(public IP)。NAT的本質就是讓一群機器公用同一個IP,這樣就暫時解決了IP短缺的問題。NAT是一項神奇的技術,說它神奇在於它的出現幾乎使IPv4起死回生。在IPv4已經被認為行將結束歷史使命之後近20年時間裡,人們幾乎忘了IPv4的地址空間即將耗盡這樣一個事實。
  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。這三段地址就是內網的私有IP地址。

NAT實現方式

1.靜態NAT

靜態NAT也稱為基礎NAT,一對一NAT,例如:

內網IP 外網IP
192.18.1.2 122.225.220.183
192.18.1.3 122.225.220.184
192.18.1.4 122.225.220.185

2.NAPT

埠多路複用技術。與靜態NAT的差別是,NAPT不但要轉換IP地址,還要進行傳輸層的埠轉換。具體的表現形式就是,對外只有一個公網IP,通過埠來區別不同私有IP主機的資料。NAT會記錄下表的內容以方便查詢。

內網IP 外網IP
192.18.1.2:8080 122.225.220.183:12000
192.18.1.3:3389 122.225.220.183:12001
192.18.1.4:22 122.225.220.183:12002

一旦NAT 表裡某記錄很久不活躍,沒有包發出或者收入(通常是5-30分鐘,可以自行設定),就會把該記錄刪除掉。

NAT的問題

NAT也會帶來一系列的問題: