NAT:地址轉換技術

為什么會引入NAT?

NAT(網絡地址轉換)的引入主要是為了解決兩個問題

  1. IPv4地址短缺:互聯網快速發展,可用的公網IP地址越來越少。
  2. 網絡安全:需要一種方法來保護內部網絡不被直接暴露在互聯網上。

IPv4 &?IPv6

IPv4使用32位地址,理論上可以提供約43億個唯一地址

a) 私有地址范圍:
10.0.0.0 到 10.255.255.255 (10/8 前綴)
172.16.0.0 到 172.31.255.255 (172.16/12 前綴)
192.168.0.0 到 192.168.255.255 (192.168/16 前綴)
b) 回環地址:127.0.0.0 到 127.255.255.255

IPv6使用128位地址,提供了一個極其龐大的地址空間,約340萬億億億億個地址。IPv6的地址空間如此之大,以至于即使給地球上的每一粒沙子分配一個IPv6地址,也只會用掉很小一部分地址空間。

為什么不能引入IPv6來解決IP不夠用?

IPv6的引入是為了從根本上解決IPv4地址短缺的問題。然而,盡管IPv6已經存在多年,但它并沒有完全取代IPv4

因為IPv6的全面部署是一個緩慢的過程。網絡設備、操作系統、應用程序都需要更新以支持IPv6。這個過程耗時很長,且成本較高。

雖然IPv6最終會解決地址短缺問題,但在完全過渡期間,NAT仍然扮演著重要角色:

  • 它允許組織在現有IPv4基礎設施上繼續運營。
  • 提供了IPv4到IPv6過渡的緩沖時間。
  • 在混合環境中,幫助IPv4和IPv6網絡互相通信。

總之,雖然IPv6是長期解決方案,但NAT在當前和可預見的未來仍然非常重要,它為向IPv6的平滑過渡提供了必要的支持。/

NAT是什么?

網絡地址轉換 (NAT) 是一種將 IP 地址空間映射到另一個 IP 地址空間的方法,方法是在數據包通過流量路由設備傳輸數據包時修改數據包的 IP 標頭中的網絡地址信息。但無法路由網絡的地址空間。面對 IPv4 地址耗盡,它已成為節省全局地址空間的流行且必不可少的工具。NAT 網關的一個 Internet 可路由 IP 地址可用于整個專用網絡。?

NAT就像是一個翻譯官,負責在內部網絡和外部網絡之間轉換IP地址。想象一下,NAT是一個辦公室的前臺接待:

  • 當內部員工(內網設備)需要與外界通信時,前臺會用公司的地址(公網IP)代替員工的個人地址(內網IP)。
  • 當外部人員(互聯網)想要聯系公司內部時,前臺會將請求轉發給相應的員工(內網設備)。

NAT可以干什么?

NAT有幾個重要的功能:

a) 節省IP地址:允許多臺內網設備共享一個公網IP地址。

b) 增強安全性:隱藏內部網絡結構,減少直接攻擊的可能。

c) 簡化網絡管理:可以更靈活地管理內部網絡,而不影響外部通信。

d) 實現負載均衡:可以將incoming的流量分配到不同的內部服務器。

總的來說,NAT就像是網絡世界的一個智能門衛,它既能幫助解決地址短缺的問題,又能提高網絡的安全性和靈活性。


NAT mapping vs NAT filtering

NAT Mapping(NAT映射)

NAT mapping 定義了內部網絡地址和端口如何映射到外部網絡地址和端口。

主要類型包括:

a) Static (靜態映射):

  • 一對一映射,內部IP總是映射到同一個外部IP。
  • 例如:內部IP 192.168.1.10 永遠映射到外部IP 203.0.113.5。

b) Dynamic (動態映射):

  • 從一個IP池中動態分配外部IP。
  • 例如:內部IP可能在不同時間映射到不同的外部IP。

c) Port Address Translation (PAT):

  • 多個內部IP共享一個外部IP,通過修改端口號來區分不同的連接。
  • 這是最常見的形式,也稱為NAT overload。

NAT Filtering(NAT過濾)

NAT filtering 決定了如何處理進入內部網絡的數據包,主要關注安全性。

主要類型包括:

a) Endpoint-Independent Filtering:

  • 只要內部主機已經發起了連接,就允許任何外部主機向內部主機發送數據包。
  • 最寬松的過濾方式。

b) Address-Dependent Filtering:

  • 只允許內部主機曾經通信過的外部IP地址發送數據包回內部網絡。
  • 提供了一定程度的安全性。

c) Address and Port-Dependent Filtering:

  • 最嚴格的過濾方式。
  • 只允許內部主機曾經通信過的特定外部IP和端口組合發送數據包回內部網絡。

  1. NAT Mapping:
    • Static: 固定的一對一映射
    • Dynamic: 動態分配外部IP
    • PAT (Port Address Translation): 多個內部IP共享一個外部IP,通過端口區分
  2. NAT Filtering:
    • Endpoint-Independent: 允許任何外部主機發送數據包
    • Address-Dependent: 只允許已知IP地址發送數據包
    • Address and Port-Dependent: 只允許已知IP和端口組合發送數據包

主要區別


NAT 的類型

NAT可以分為三種類型:Source NAT、Destination NAT和Bidirectional NAT。具體取決于數據包的源或目標的IP地址是否被轉換,這些是NAT(網絡地址轉換)的不同實現方式。

總結

  • SNAT主要用于內網訪問外網。如:員工A(IP:192.168.1.15)想要訪問 www.example.com(IP:93.184.216.34)
  • DNAT主要用于外網訪問內網特定服務。如:外部用戶想訪問公司的網站 www.mycompany.com(指向203.0.113.10)
  • BiNAT用于解決復雜網絡環境中的地址沖突。如:公司A的員工(IP:192.168.1.10)需要訪問公司B的服務器(IP:192.168.1.20)

Source NAT (SNAT)

  • 定義:修改數據包的源IP地址。
  • 主要用途:允許私有網絡中的設備訪問互聯網。
  • 工作原理:
    • 當內部設備發送數據包到外網時,SNAT將源IP地址從私有IP改為公網IP
    • 返回的數據包會自動被轉換回原始的私有IP地址。
  • 優點:隱藏了內部網絡結構,提高安全性。

示例:內網PC(192.168.1.10)訪問網站時,路由器將源地址改為其公網IP(203.0.113.1)。

Destination NAT (DNAT)

  • 定義:修改數據包的目標IP地址。
  • 主要用途:允許外部網絡訪問內部網絡中的特定服務。
  • 工作原理:
    • incoming數據包的目標地址從公網IP改為內網IP
    • 對應的回復數據包會自動被轉換回公網IP。
  • 優點:可以在不暴露整個內網的情況下,提供特定的內部服務。

示例:外部請求訪問Web服務器時,路由器將目標地址從公網IP(203.0.113.1:80)改為內網服務器IP(192.168.1.100:80)。

Bidirectional NAT (BiNAT)

目的: BiNAT主要用于連接兩個使用重疊IP地址空間的網絡,例如兩個都使用192.168.1.x私有地址范圍的公司網絡。

BiNAT的主要優點是

  • 允許有重疊IP地址的網絡進行通信
  • 適用于網絡合并或VPN連接的場景
  • 提供了額外的安全層,因為外部網絡無法直接看到內部網絡結構

工作原理:在兩個使用重疊IP地址空間的網絡之間進行通信,同時執行源NAT和目標NAT。

  • 數據流向:對outgoing流量執行SNAT,對incoming流量執行DNAT。
    • 從網絡A到網絡B:
      • 源IP被轉換(類似SNAT)
      • 目標IP被轉換(類似DNAT)
    • 從網絡B到網絡A:
      • 同樣進行源IP和目標IP的雙向轉換

Bidirectional NAT的工作原理示例

示例:兩個使用相同私有IP范圍(如192.168.1.x)的公司網絡需要合并或通過VPN連接時

  1. 數據從網絡A(192.168.1.10)發送到網絡B(192.168.1.20)。
  2. 當數據包經過BiNAT設備時:
    • 源IP從192.168.1.10轉換為10.0.0.1
    • 目標IP從192.168.1.20轉換為10.0.0.2
  3. 當數據包進入網絡B時:
    • 源IP從10.0.0.1轉換為臨時分配的IP 192.168.1.200
    • 目標IP從10.0.0.2轉換回原始的192.168.1.20

這個過程允許兩個使用相同私有IP地址范圍的網絡進行通信,同時避免了地址沖突。返回的數據包會經歷相反的轉換過程。

  • SRC(Source)指的是數據包的發送方或起始點的IP地址。
  • DST(Destination)指的是數據包的接收方或目標的IP地址。


NAT 的實現類型

  • 靜態NAT:一對一的固定映射。
  • 動態NAT:從IP池中動態分配地址。
  • PAT/NAPT:多個內部IP共享一個公網IP,通過端口區分。

1. 靜態NAT(Static NAT)

  • 定義:一對一的固定映射,內部IP地址與外部IP地址永久對應。
  • 用途:通常用于需要從外網訪問的內部服務器。
  • 優點:配置簡單,易于管理。
  • 缺點:需要為每個內部主機分配一個公網IP,不節省IP地址。

2. 動態NAT(Dynamic NAT)

  • 定義:從一個公網IP地址池中動態分配地址給內部主機。
  • 用途:適用于內部主機數量少于公網IP數量的情況。
  • 優點:比靜態NAT更靈活,可以在多個內部主機間共享公網IP。
  • 缺點:仍然需要相當數量的公網IP,可能在高峰時段耗盡IP池。

3. NAPT (網絡地址端口轉換)

  • 定義:NAPT不僅轉換IP地址,還轉換端口號。它允許多個內網設備共享同一個公網IP地址,通過不同的端口號來區分不同的連接。
  • 用途:最常見的NAT實現,廣泛用于家庭和小型辦公室網絡。
  • 優點:極大地節省公網IP地址,一個公網IP可以服務成百上千的內部主機。
  • 缺點:可能在某些應用程序中造成兼容性問題,特別是那些依賴特定端口的應用。
  • ?3.1 對稱NAT
    • 為每個內部連接創建一個唯一的外部映射。即使是相同的內部IP:端口對,如果目標不同,外部映射也會不同。
    3.2 錐形NAT
    • 完全錐形:一旦內部地址(iAddr:iPort)映射到外部地址(eAddr:ePort),所有發自iAddr:iPort的包都經由eAddr:ePort向外發送。任何外部主機都可以通過向eAddr:ePort發送包到達iAddr:iPort。
    • 受限錐形:類似于完全錐形,但僅允許iAddr:iPort之前發送過數據的外部主機通過eAddr:ePort到達iAddr:iPort。
    • 端口受限錐形:比受限錐形更嚴格,僅允許iAddr:iPort之前發送過數據的特定外部主機:端口組合通過eAddr:ePort到達iAddr:iPort。

補充說明

  • 基礎NAT主要關注IP地址的轉換,而NAPT則同時處理IP地址和端口號的轉換。
  • 錐形NAT通常更有利于P2P應用和某些網絡游戲,因為它們允許特定類型的入站連接。
  • 對稱NAT提供了最高級別的安全性,但可能會影響某些應用程序的正常運行,尤其是那些依賴入站連接的應用。

NAT Server

  1. NAT服務器的作用: NAT服務器位于內部網絡和外部網絡(互聯網)之間,負責轉換IP地址和端口號,使得內部網絡的設備能夠與外部網絡通信。
  2. 地址轉換:
    • 內部服務器的IP是192.168.1.2(私有IP地址)
    • 外部訪問者使用7.7.7.7(公網IP地址)來訪問內部服務器
  3. 端口映射:
    • 外部訪問者使用端口3535
    • 內部服務器實際使用端口80(通常是Web服務)
  4. 服務器映射表(Server Mapping Table):
    • 顯示了NAT如何將外部請求映射到內部服務器
    • 對于任何源IP(S-IP: Any),從外部1.1.1.10:80來的TCP請求會被轉發到內部的192.168.1.2:80
  5. 會話表(Session Table):
    • 記錄了當前活躍的連接
    • 顯示從7.7.7.7:3535來的TCP連接被映射到1.1.1.10:80,然后再轉發到內部的192.168.1.2:80
  6. 雙向通信: NAT服務器通過維護這些映射關系,確保了內外網絡之間的雙向通信可以正常進行。

這個NAT配置允許外部用戶通過公網IP和特定端口訪問內部的Web服務器,同時保護了內部網絡的結構和真實IP地址。這是端口轉發的一個典型應用,常用于允許外部訪問內部托管的服務,如網站、游戲服務器等。


NAT實現的應用

如:智能家居系統,遠程辦公訪問,多人游戲主機服務器,個人博客網站

Port forwarding

端口轉發:端口轉發是 NAT 的一種實現,當數據包通過網絡網關(如路由器或防火墻)時,它將通信請求從一個地址和端口號組合轉發到另一個地址和端口號組合。此技術最常用于使在專用網絡上的主機上運行的應用程序服務可供公用網絡(如 Internet)上的主機使用。正如設備需要 IP 才能在網絡中被識別一樣,設備上運行的服務(如 SMTP 或 FTP)也需要被識別以啟用外部通信。端口號有助于識別這些服務,端口轉發是使服務可供公共網絡上的主機使用的技術。每當服務需要通信時,端口號都有助于識別設備上的正確目標/源,并有助于進行適當的數據傳輸

例子:IT支持遠程訪問

  • 遠程員工通過互聯網發起VPN連接到公司的公網IP(203.0.113.1)和VPN端口(1194)。
  • 公司路由器接收到VPN請求,使用NAT和端口轉發。
  • 路由器將VPN流量轉發到內部網絡的VPN服務器(192.168.1.10:1194)。
  • 建立VPN連接后,遠程員工可以安全地訪問內部資源,如文件服務器。


參考

https://en.wikipedia.org/wiki/Network_address_translation#Implementation

What Is NAT? What Are the NAT Types? | FS Community

https://www.comparitech.com/net-admin/network-address-translation-overloading/

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/42889.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/42889.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/42889.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

低通濾波以及卡爾曼濾波

先講解幾個低通濾波,低通濾波比卡爾曼濾波簡單,因為卡爾曼濾波涉及到兩個輸入量,一個是控制量,一個是觀測量,而低通濾波是一個輸入量 1,利用工具箱配置低通濾波 參考地址:https://blog.csdn.net…

SystemUIService啟動-Android13

SystemUIService啟動-Android13 1、SystemUIService啟動2、其他SystemUI services啟動2.1 Dagger依賴注入2.2 Recents為例 1、SystemUIService啟動 SystemUI啟動&#xff0c;及其SystemUIService啟動 <!-- SystemUi service component --><string name"config_s…

應用層協議原理——可供應用程序使用的運輸服務

前面講過套接字是應用程序進程和運輸層協議之間的接口。在發送端的應用程序將報文推進該套接字。在該套接字的另一側&#xff0c;運輸層協議負責使該報文進入接收進程的套接字。 包括因特網在內的很多網絡提供了不止一種運輸層協議。當開發一個應用時&#xff0c;必須選擇一種可…

什么是海外倉管理自動化?策略及落地實施步驟指南

作為海外倉的管理者&#xff0c;你每天都面臨提高海外倉運營效率、降低成本和滿足客戶需求的問題。海外倉自動化管理技術為這些問題提供了不錯的解決思路&#xff0c;不過和任何新技術一樣&#xff0c;從策略到落地實施&#xff0c;都有一個對基礎邏輯的認識過程。 今天我們整…

重生奇跡mu的地圖名

地圖之一&#xff1a;勇者大陸 勇者大陸地處奇跡大陸中央。終年陰雨連綿&#xff0c;氣候潮濕悶熱。植物由充滿黑暗陰森氣氛的草地所構成。這里的NPC數量是所有地圖中最多的。因為地步交通要沖&#xff0c;所以也是玩家聚集最多的地方。 這里是劍士、魔法師、魔劍士和圣導師初…

vue3關于在線考試 實現監考功能 推流拉流

vue3 關于在線考試 實現監考功能&#xff0c; pc端考試 本質是直播推流的功能 使用騰訊云直播: 在線文檔 index.html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><link rel"icon" href"/f…

永磁同步電機控制算法--最大轉矩電流比控制(虛擬信號注入法)

目前&#xff0c;國內外相關學者對 MTPA 控制方法進行了一系列的理論研究與仿真分析。通過研究取得的成果綜合來看&#xff0c;該控制方法主要有&#xff1a;直接公式計算法、曲線擬合法、查表法、搜索法、高頻信號注入法以及參數辨識法等。 之前的文章中已經介紹了直接公式計…

Java.Maths類的常用方法

Maths類的常用方法 Math 類是 Java 標準庫中的一個類&#xff0c;位于 java.lang 包中。它提供了一些基本的數學操作方法&#xff0c;這些方法都是靜態的。以下是 Math 類的所有方法&#xff1a; 數學常量 double E: 自然對數的底數&#xff08;約等于 2.718&#xff09;doub…

對于“百模大戰”,幾乎所有大佬的口風都180 °大轉變了?

文 | 智能相對論 作者 | 陳泊丞 在2024世界人工智能大會暨人工智能全球治理高級別會議產業發展主論壇上&#xff0c;百度創始人、董事長兼首席執行官李彥宏談了些對于AI大模型的看法&#xff0c;語驚四座。 他先是指出&#xff0c;“百模大戰造成了社會資源的巨大浪費&#x…

ubuntu 如何復制文件夾的內容

在Ubuntu中&#xff0c;您可以使用cp命令來復制文件夾的內容。如果您想要復制文件夾及其所有內容&#xff08;包括子文件夾&#xff09;&#xff0c;可以使用-r&#xff08;遞歸&#xff09;選項。 cp -r /path/to/source/folder/* /path/to/destination/folder/ 這個命令會將s…

現在2024年網絡安全真實情況還好就業嗎?_2024年網絡安全專業到底行不行了

2024年網絡安全行業的前景看起來非常樂觀。根據當前的趨勢和發展&#xff0c;一些趨勢和發展可能對2024年網絡安全行業產生影響&#xff1a; 5G技術的廣泛應用&#xff1a;5G技術的普及將會使互聯網的速度更快&#xff0c;同時也將帶來更多的網絡威脅和安全挑戰。網絡安全專家…

java-spring boot光速入門教程(超詳細!!)

目錄 一、引言 1.1 初始化配置 1.2 整合第三方框架 1.3 后期維護 1.4 部署工程 1.5 敏捷式開發 二、SpringBoot介紹 spring boot 2.1 搭建一個spring boot工程 2.2 使用idea創建項目 2.3 在線創建姿勢 2.4 項目的目錄結構 2.5 項目的運行方式 2.6 yml文件格式 2…

CP AUTOSAR標準之XCP(AUTOSAR_CP_SWS_XCP)(更新中……)

1 簡介和功能概述 該規范規定了AUTOSAR基礎軟件模塊XCP的功能、API和配置。XCP是主設備(工具)和從設備(設備)之間的協議描述(ASAM標準),提供以下基本功能: 同步數據采集(測量)同步數據刺激(用于快速原型設計)在線內存校準(讀/寫訪問)校準數據頁面初始化和切換用于ECU開發目的…

分享外貿工作中常用英文標準表達和英文語句

常用英文表達 報拉格斯最低到岸價 quote the lowest price CIF Lagos經營紡織品多年 be in the line of textiles for many years貨物受歡迎 the goods are very popular with customers / have met with a warm reception /be well received/accepted/ enjoy a wide populari…

Java線程死鎖及解決方法

多線程環境下&#xff0c;死鎖即兩個或兩個以上的線程去爭奪同一個共享資源&#xff0c;而導致互相等待的情況。 要產生死鎖&#xff0c;必須滿足如下四個條件&#xff1a; 互斥條件&#xff0c;共享資源x和y只能被一個線程占有請求和保持條件&#xff0c;T1持有x&#xff0c…

解讀BASE理論:高可用性與性能的完美平衡

Base概念 BASE 理論是一種處理大規模分布式系統中的數據一致性問題的思路。相比于傳統的嚴格一致性&#xff0c;它更靈活&#xff0c;適用于那些需要高可用性和性能的系統。BASE 理論由三個部分組成&#xff1a; 基本可用&#xff08;Basically Available&#xff09; 基本可用…

【c++刷題筆記-動態規劃】day32: 509. 斐波那契數 、 70. 爬樓梯 、 746. 使用最小花費爬樓梯

509. 斐波那契數 - 力扣&#xff08;LeetCode&#xff09; class Solution { public:int fib(int n) {if(n0){return 0;}vector<int>dp(n1);dp[0]0;dp[1]1;for(int i2;i<n;i){dp[i]dp[i-1]dp[i-2];}return dp[n];} }; 70. 爬樓梯 - 力扣&#xff08;LeetCode&#x…

pytorch 模型保存到本地之后,如何繼續訓練

在 PyTorch 中&#xff0c;你可以通過以下步驟保存和加載模型&#xff0c;然后繼續訓練&#xff1a; 保存模型 通常有兩種方式來保存模型&#xff1a; 保存整個模型&#xff08;包括網絡結構、權重等&#xff09;&#xff1a; torch.save(model, model.pth) 只保存模型的state…

利用亞馬遜云科技云原生Serverless代碼托管服務開發OpenAI ChatGPT-4o應用

今天小李哥繼續介紹國際上主流云計算平臺亞馬遜云科技AWS上的熱門生成式AI應用開發架構。上次小李哥分享?了利用谷歌云serverless代碼托管服務Cloud Functions構建Gemini Pro API?&#xff0c;這次我將介紹如何利用亞馬遜的云原生服務Lambda調用OpenAI的最新模型ChatGPT 4o。…

CSAL: the Next-Gen Local Disks for the Cloud——論文泛讀

EuroSys 2024 Paper 論文閱讀筆記整理 問題 云本地磁盤以其實惠的價格和高性能而極具吸引力。在云本地磁盤中&#xff0c;物理存儲設備直接連接到計算服務器&#xff0c;并作為塊設備虛擬化到虛擬機&#xff08;VM&#xff09;。在這種設置下&#xff0c;計算節點受其有限的計…