1.為什么出現(xiàn)了NAT?
IP地址只有32位,最多只有42.9億個(gè)地址,還要去掉保留地址、組播地址,能用的地址只有36億左右,但是當(dāng)下有數(shù)以萬億的主機(jī),沒有這么多IP地址怎么辦,后面有了IPv6,但是當(dāng)下IPv4還是主流,利用IPv4怎么滿足這么多主機(jī)的IP地址呢?答案就是NAT,NAT技術(shù)使公司、機(jī)構(gòu)以及個(gè)人產(chǎn)生以及局域網(wǎng),然后在各個(gè)局域網(wǎng)的邊界WAN端口使用一個(gè)或多個(gè)公網(wǎng)的IPv4進(jìn)行一對(duì)多轉(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)換表記錄下這個(gè)轉(zhuǎn)換映射記錄,當(dāng)外部數(shù)據(jù)返回時(shí),路由使用NAT技術(shù)查詢NAT轉(zhuǎn)換表,再將目標(biāo)地址替換成內(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)上的路由器不會(huì)轉(zhuǎn)發(fā)這三塊私有地址的流量;當(dāng)一個(gè)公司內(nèi)部配置了這些私有地址后,內(nèi)部的計(jì)算機(jī)在和外網(wǎng)通信時(shí),公司的邊界路由會(huì)通過NAT或者PAT技術(shù),將內(nèi)部的私有地址轉(zhuǎn)換成外網(wǎng)IP,外部看到的源地址是公司邊界路由轉(zhuǎn)換過的公網(wǎng)IP地址,這在某種意義上也增加了內(nèi)部網(wǎng)絡(luò)的安全性。
3.三種NAT技術(shù)
假設(shè)一種場景,公司對(duì)外的有兩個(gè)公網(wǎng)IP地址是 191.4.4.1/191.4.4.2,有兩臺(tái)主機(jī)A和B,局域網(wǎng)地址分別是192.168.1.2和192.168.1.3
3.1 靜態(tài)NAT
靜態(tài)NAT就是一對(duì)一映射,內(nèi)部有多少私有地址需要和外部通信,就要配置多少外網(wǎng)IP地址與其對(duì)應(yīng),并不節(jié)省外網(wǎng)IP,所以一般不用