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