既然有人把!!NAT——網絡地址轉換技術!!說的這麼透徹


思維導圖

網絡地址轉換技術也稱爲NAT(Network Address Translation)技術,他的基本作用就是實現私網IP與公網IP地址之間的轉換。

公網:就是公有的IP地址的網絡,公網中是絕對不能使用私有IP地址的。

私網:就是使用私有IP地址的網絡。在私網中,各個網絡接口的 IP地址必須是私有IP地址,但是在有些情況下,私網出現的IP報文,其目的IP地址或源IP地址可以是公有IP地址。

NAT優缺點

優點 缺點
節省IP地址空間 增加轉發延遲
解決IP地址重疊問題 喪失端到端的尋址能力
增加網絡的連入Internet的彈性 某些應用不支持NAT
當網絡變更的時候減少更改ip重編址的麻煩 需要一定的內存空間支持動態存儲NAT表項
對外隱藏內部地址,增加網絡安全性 需要耗費一定CPU資源進行NAT操作

NAT術語

術語 解釋
內部本地 轉換之前內部源地址的名字
外部本地 轉換之前目標主機的名字
內部全局 轉換之後內部主機的名字
外部全局 轉換之後外部目標主機的名字

1. 靜態NAT

  • 靜態NAT實現了私有地址和公有地址的一對一映射。
  • 一個公網IP只會分配給唯一且固定的內網主機。

在本示例中,源地址爲192.168.1.1的報文需要發往公網地址100.1.1.1。在網關RTA上配置了一個私網地址192.168.1.1到公網地址200.10.10.1的映射。當網關收到主機A發送的數據包後,會先將報文中的源地址192.168.1.1轉換爲200.10.10.1,然後轉發報文到目的設備。目的設備回覆的報文目的地址是200.10.10.1。當網關收到回覆報文後,也會執行靜態地址轉換,將200.10.10.1轉換成192.168.1.1,然後轉發報文到主機A。和主機A在同一個網絡中其他主機,如主機B,訪問公網的過程也需要網關RTA做靜態NAT轉換。

2. 動態NAT

  • 動態NAT基於地址池來實現私有地址和公有地址的轉換。
  • 動態NAT地址池中的地址用盡以後,只能等待被佔用的公用IP被釋放後,其他主機才能使用它來訪問公網。

本示例中,當內部主機A和主機B需要與公網中的目的主機通信時,網關RTA會從配置的公網地址池中選擇一個未使用的公網地址與之做映射。每臺主機都會分配到地址池中的一個唯一地址。當不需要此連接時,對應的地址映射將會被刪除,公網地址也會被恢復到地址池中待用。當網關收到回覆報文後,會根據之前的映射再次進行轉換之後轉發給對應主機。

3. NAPT(端口複用)

  • 網絡地址端口轉換NAPT允許多個內部地址映射到同一個公有地址的不同端口。
  • 理想狀況下,一個單一的IP地址可以使用的端口數爲4000個

本例中,RTA收到一個私網主機發送的報文,源IP地址是192.168.1.1,源端口號是1025目的IP地址是100.1.1.1,目的端口是80。RTA會從配置的公網地址池中選擇一個空閒的公網IP地址和端口號,並建立相應的NAPT表項。這些NAPT表項指定了報文的私網IP地址和端口號與公網IP地址和端口號的映射關係。之後,RTA將報文的源IP地址和端口號轉換成公網地址200.10.10.1和端口號2843,並轉發報文到公網。當網關RTA收到回覆報文後,會根據之前的映射表再次進行轉換之後轉發給主機A。主機B同理。

4. NAT服務器

  • 通過配置NAT服務器,可以使外網用戶訪問內網服務器
  • NAT在使內網用戶訪問公網的同時,也屏蔽了公網用戶訪問私網主機的需求。當一個私網需要向公網用戶提供Web和SFTP服務時,私網中的服務器必須隨時可供公網用戶訪問。
  • NAT服務器可以實現這個需求,但是需要配置服務器私網IP地址和端口號轉換爲公網IP地址和端口號併發布出去。路由器在收到一個公網主機的請求報文後,根據報文的目的IP地址和端口號查詢地址轉換表項。路由器根據匹配的地址轉換表項,將報文的目的IP地址和端口號轉換成私網IP地址和端口號,並轉發報文到私網中的服務器。

本例中,主機C需要訪問私網服務器,發送報文的目的IP地址是200.10.10.1,目的端口號是80。RTA收到此報文後會查找地址轉換表項,並將目的IP地址轉換成192.168.1.1,目的端口號保持不變。服務器收到報文後會進行響應,RTA收到私網服務器發來的響應報文後,根據報文的源IP地址192.168.1.1和端口號80查詢地址轉換表項。然後,路由器根據匹配的地址轉換表項,將報文的源IP地址和端口號轉換成公網IP地址200.10.10.1和端口號80,並轉發報文到目的公網主機。

5. NAT過程實驗操作解釋

公有地址資源池
200.24.5.1
200.24.5.2
200.24.5.3
200.24.5.4
200.24.5.5
200.24.5.6

動態地址及端口號映射

私有地址:端口號 公有地址:端口號
192.168.1.1:1031 200.24.5.1:5531
192.168.1.2:1540 200.24.5.1:5532
報文X1 報文X2
源IP地址:192.168.1.1 源IP地址:200.24.5.1
源端口號:1031 源端口號:5531
目的IP地址:211.100.7.34 目的IP地址:211.100.7.34
目的端口號:Z1 目的端口號:Z1
報文Y1 報文Y2
源IP地址:211.100.7.34 源IP地址:211.100.7.34
源端口號:Z2 源端口號: Z2
目的IP地址:200.24.5.1 目的IP地址:192.168.1.1
目的端口號:5531 目的端口號:1031
報文U1 報文U2
源IP地址:192.168.1.2 源IP地址:200.24.5.1
源端口號:1540 源端口號:5532
目的IP地址:211.100.7.34 目的IP地址:211.100.7.34
目的端口號:Z3 目的端口號:Z3
報文V1 報文V2
源IP地址:211.100.7.34 源IP地址:211.100.7.34
源端口號:Z4 源端口號:Z4
目的IP地址:200.24.5.1 目的IP地址:192.168.1.2
目的端口號:5532 目的端口號:1540

過程

  1. PC1 向Internet發起訪問請求,發送報文爲X。源IP地址:192.168.1.1,源端口號:1031,目的IP地址211.100.7.34,目的端口號Z1。

  2. 當X1達到R1的時候,NAPT會在公有地址資源池選中了IP地址200.24.5.1,並根據某種規則確定出一個端口5531,然後在動態地址及端口映射表中創建192.168.1.1:1031與200.24.5.1:5531 映射表項

  3. 根據這個表項NAPT將源IP地址:192.168.1.1,源端口號:1031,替換成200.24.5.1:5531,從而得到一個新的IP報文X2,併發送到Internet;

  4. 服務器向PC1 返回一個IP報文Y1,源IP地址:211.100.7.34,源端口號:Z2,目的IP地址:200.24.5.1,目的端口號:5531

  5. Y1進入R2後,NAPT會在動態地址映射表中找到200.24.5.1:5531對應的表項192.168.1.1:1031,進行替換得到一個新的報文Y2,R1將Y2發到私網。

PC2訪問服務器與服務器訪問PC2同理

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章