浅谈NAT(网络地址转换)原理 + 个人的思考
??NAT英文名Network Address Translation,NAT是指網(wǎng)絡(luò)地址轉(zhuǎn)換。NAT可以將內(nèi)網(wǎng)的地址轉(zhuǎn)換為外網(wǎng)地址。(不一定是私網(wǎng)地址和公網(wǎng)地址的使用,下文會舉例解釋)
NAT介紹
- NAT原理介紹
- NAT不只是私網(wǎng)地址和公網(wǎng)地址的轉(zhuǎn)換
- 為什么需要端口映射呢?
- 虛擬機(jī)VMware的NAT設(shè)置
- 由NAT引申的幾個問題,FAQ
- 文章參考鏈接
NAT原理介紹
NAT分為基本網(wǎng)絡(luò)地址轉(zhuǎn)換(Basic NAT)和網(wǎng)絡(luò)地址端口轉(zhuǎn)換(PAT或者NAPT)。
??基本網(wǎng)絡(luò)地址轉(zhuǎn)換(Basic NAT) 僅支持IP地址轉(zhuǎn)換,不支持端口映射。 Basic NAT分為靜態(tài)NAT和動態(tài)NAT,其中靜態(tài)NAT是將內(nèi)網(wǎng)中的IP地址與外網(wǎng)地址進(jìn)行一對一映射的綁定,由網(wǎng)絡(luò)管理員管理,是永久的表項;動態(tài)NAT是指一個內(nèi)網(wǎng)IP地址隨機(jī)的綁定到一個外網(wǎng)IP地址,外網(wǎng)IP地址存放在IP地址池中,當(dāng)IP地址池的合法IP地址都被映射了,內(nèi)網(wǎng)的終端就無法建立地址映射關(guān)系了。
Basic NAT建立的無端口NAT表示例:
| 192.168.1.55 | 219.152.168.222 |
| 192.168.1.59 | 219.152.168.223 |
| 192.168.1.155 | 219.152.168.224 |
??網(wǎng)絡(luò)地址端口轉(zhuǎn)換(PAT或者NAPT)除了支持IP地址轉(zhuǎn)換,還支持端口映射。 通常說的NAT指的是PAT,采用的是端口多路復(fù)用方式,PAT將多個內(nèi)部地址映射到少量(甚至一個)外部地址。理論上來說,有三種轉(zhuǎn)換的方式:只轉(zhuǎn)換IP、轉(zhuǎn)換IP+映射端口(只映射端口就不是NAT了)。同時,外網(wǎng)的IP可以是一個或者多個。
PAT建立的無端口NAT表示例:
| 192.168.1.55 | 5566 | 219.152.168.222 | 5566 |
| 192.168.1.59 | 80 | 219.152.168.222 | 80 |
| 192.168.1.59 | 4465 | 219.152.168.222 | 4465 |
| 192.168.1.55 | 5566 | 219.152.168.222 | 9200 |
| 192.168.1.59 | 80 | 219.152.168.222 | 9201 |
| 192.168.1.59 | 4465 | 219.152.168.222 | 9202 |
NAT不只是私網(wǎng)地址和公網(wǎng)地址的轉(zhuǎn)換
NAT作為網(wǎng)絡(luò)地址轉(zhuǎn)換,不一定是私網(wǎng)地址和公網(wǎng)地址的使用。例如我們可以像套娃一樣,在Internet→光貓→路由器→路由器→中端,可以在每一個路由器開啟NAT,此時外網(wǎng)是我們的公網(wǎng)嗎?很明顯不是這樣的。另一個例子,運(yùn)營商modem→宿舍路由器(路由模式)→筆記本電腦上的VMware虛擬機(jī)(NAT模式)→虛擬機(jī),在筆記本電腦上的VMware(NAT模式)也不是私網(wǎng)地址和公網(wǎng)地址的使用呀。但是NAT的提出就是為了解決兩個問題,一個是公網(wǎng)Ipv4的地址稀缺,另一個是實現(xiàn)內(nèi)網(wǎng)的匿名和隱私。所以,很多人還是有一個誤區(qū),認(rèn)為NAT的外網(wǎng)就是公網(wǎng)(全球互聯(lián)網(wǎng)Internet)。
參考圖片:百度百科-nat(網(wǎng)絡(luò)地址轉(zhuǎn)換)-技術(shù)背景https://baike.baidu.com/item/nat/320024
參考圖片來源:《網(wǎng)絡(luò)安全基礎(chǔ)》課程PPT
為什么需要端口映射呢?
原因有三點:
- 首先它可以保證網(wǎng)絡(luò)的匿名和隱私(安全效果);
- 其次端口映射可以讓內(nèi)網(wǎng)中的一個終端使用多個不同的端口號訪問多臺外網(wǎng)終端(就像我們使用計算機(jī)可以同時發(fā)郵件、看視頻、聊微信,不同的服務(wù)用不同的端口進(jìn)行區(qū)分。Basic NAT也有這個功能,相當(dāng)于找了一個代理。);
- 第三內(nèi)網(wǎng)中的多個終端使用一個外網(wǎng)IP地址(節(jié)約外網(wǎng)的IP地址使用)。
??第三點 “節(jié)約外網(wǎng)IP” 舉個例子,假設(shè)有兩臺內(nèi)網(wǎng)的終端PC1和PC2,PC1的IP地址分別為192.168.0.1,PC2的IP地址分別為192.168.0.2,假設(shè)使用219.152.168.222這一個外網(wǎng)IP地址。當(dāng)PC1訪問外網(wǎng)的某個服務(wù),NAT做了一個映射192.168.0.1→219.152.168.222,但是如果這個外網(wǎng)的服務(wù)響應(yīng)時,從外網(wǎng)訪問內(nèi)網(wǎng)的PC1,它只知道外網(wǎng)地址219.152.168.222,那么NAT怎么區(qū)分應(yīng)該發(fā)送給PC1還是PC2呢?所以,為了進(jìn)行區(qū)分,需要增加一個維度——端口(TCP或者UDP端口)。這里的思路其實有點像,我們在區(qū)分不同的子網(wǎng)時,需要子網(wǎng)掩碼一樣,都是通過增加維度來進(jìn)行區(qū)分。本質(zhì)上都是收集足夠多特征,來進(jìn)行判斷。
虛擬機(jī)VMware的NAT設(shè)置
??下圖是虛擬機(jī)VMware中,對于NAT模式網(wǎng)卡的設(shè)置,我們可以在“端口轉(zhuǎn)發(fā)”處實現(xiàn)簡單的NAT穿透,使得外網(wǎng)的終端可以訪問NAT網(wǎng)絡(luò)中的虛擬機(jī)。
由NAT引申的幾個問題,FAQ
文章參考鏈接
參考資料中,[1]、[2]和[6]主要是為了了解NAT技術(shù)。[3]和[8]主要是為了說明NAT表的超時機(jī)制和保活機(jī)制。[4]和[5]主要是為了說明NAT技術(shù)的優(yōu)點和缺點。[7]主要是說明NAT使Ipsec復(fù)雜在實現(xiàn)層面上的詳細(xì)解析。
總結(jié)
以上是生活随笔為你收集整理的浅谈NAT(网络地址转换)原理 + 个人的思考的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ubuntu20.04 添加右键新建文件
- 下一篇: 大兔子病了