1.為什么出現(xiàn)了NAT?
IP地址只有32位,最多只有42.9億個地址,還要去掉保留地址、組播地址,能用的地址只有36億左右,但是當(dāng)下有數(shù)以萬億的主機,沒有這么多IP地址怎么辦,后面有了IPv6,但是當(dāng)下IPv4還是主流,利用IPv4怎么滿足這么多主機的IP地址呢?答案就是NAT,NAT技術(shù)使公司、機構(gòu)以及個人產(chǎn)生以及局域網(wǎng),然后在各個局域網(wǎng)的邊界WAN端口使用一個或多個公網(wǎng)的IPv4進行一對多轉(zhuǎn)換
NAT使用基于session的轉(zhuǎn)換規(guī)則
TCP/UDP :私有Host的Ipv4 + port <======> NAT公網(wǎng)的Ipv4 + port
ICMP :私有Host的Ipv4 + sessionID <======> NAT公網(wǎng)的Ipv4 + sessionID
2.NAT定義
NAT是 Network Address Translation 網(wǎng)絡(luò)地址轉(zhuǎn)換的縮寫。
NAT是將私有IP地址通過邊界路由轉(zhuǎn)換成外網(wǎng)IP地址,在邊界路由的NAT地址轉(zhuǎn)換表記錄下這個轉(zhuǎn)換映射記錄,當(dāng)外部數(shù)據(jù)返回時,路由使用NAT技術(shù)查詢NAT轉(zhuǎn)換表,再將目標地址替換成內(nèi)網(wǎng)用戶IP地址。
RFC1918規(guī)定了三塊專有的地址,作為私有的內(nèi)部組網(wǎng)使用:
A類:10.0.0.0—10.255.255.255 10.0.0.0/8
B類:172.16.0.0—172.31.255.255 172.16.0.0/12
C類:192.168.0.0—192.168.255.255 192.168.0.0/16
這三塊私有地址本身是可路由的,只是公網(wǎng)上的路由器不會轉(zhuǎn)發(fā)這三塊私有地址的流量;當(dāng)一個公司內(nèi)部配置了這些私有地址后,內(nèi)部的計算機在和外網(wǎng)通信時,公司的邊界路由會通過NAT或者PAT技術(shù),將內(nèi)部的私有地址轉(zhuǎn)換成外網(wǎng)IP,外部看到的源地址是公司邊界路由轉(zhuǎn)換過的公網(wǎng)IP地址,這在某種意義上也增加了內(nèi)部網(wǎng)絡(luò)的安全性。
3.三種NAT技術(shù)
假設(shè)一種場景,公司對外的有兩個公網(wǎng)IP地址是 191.4.4.1/191.4.4.2,有兩臺主機A和B,局域網(wǎng)地址分別是192.168.1.2和192.168.1.3
3.1 靜態(tài)NAT
靜態(tài)NAT就是一對一映射,內(nèi)部有多少私有地址需要和外部通信,就要配置多少外網(wǎng)IP地址與其對應(yīng),并不節(jié)省外網(wǎng)IP,所以一般不用