什么是NAT!

本文介绍了NAT技术的出现背景,重点讲解了源NAT和目的NAT的区别,以及静态NAT、动态NAT(包括PAT和easyIP)的原理。NAT解决了IPv4地址短缺的问题,使得内网设备能使用合法IP访问互联网。
一、NAT( network address translation)  网络地址翻译 

为什么会出现这个技术,目的就是用来解决ipv4 地址不够用的情况,因为在互联网最开始的时候,有一个概念是拥有合法IP地址,每个主机连接到互联网必须要有自己的IP,这个IP地址必须是全球唯一的,也就是合法IP。但是互联网发展之迅速,ipv4地址早已经不够使用。

所以工程师设计一种技术,在路由器或者防火墙上启用nat的这技术。如图:

在内网连接外网的设备启用nat之后,就可以在网络中(内网)使用非法IP,也就是内网地址连接外网地址(外网地址也就是公网地址)进行上网。nat技术就是把IP包的头部ip地址进行一个转换,内网非法ip地址在经过nat设备之后,会把头部的非法ip转换路由器连接外网设备上拥有合法ip的地址。这样外网就会认为你是有合法IP地址的,就可以与外界通信。我们日常上网几乎都在使用nat访问internet。

二、NAT分为两大类

NAT和目的NAT

源NAT就是把源地址进行转换。日常上网使用的就是源NAT,就是把我们主机的非法IP转换成一个合法ip进行通信。

的NAT就是把目的地址进行转换。如图:

在外网的主机想访问内网的主机时,此时我们需要把内网主机②的地址,也就是目的地址,与红点所在的合法IP地址进行一对一映射。所以当我们访问红点所在的IP地址,NAT就会把红点IP地址转换为内网主机②的地址,这样两台主机就可以通信了。这样的技术称为NAT server。

三、NAT的四种方法

静态NAT

        合法IP和非法IP进行一对一转换

动态NAT

        有个公网地址池,需要转换时,从地址池里面拿出一个公有IP地址。缺点是:若地址池里面的地址被使用完,其他主机想上网时,必须等上一台主机上网行为结束后,合法IP地址返回地址池之后,才能进行上网。本质上还是一对一转换

PAT(又称NAPT)

        多对一或多对少 

        又称为端口地址映射。如图:

        主机1.1  和主机1.2同时去访问csdn时,只需要一个合法IP加上端口号即可访问csdn,因为上网的数据是有来有回的,在csdn给内网主机回数据时,发现两个访问IP地址是一样的,会拆包,拆包之后发现有端口号,通过端口号对应ip地址进行数据的针对回复。这样有效的解决的一对一的难题。

        日常生活上网几乎都是使用的PAT

easy IP

        此方法是PAT的简化情况,就是把内网的IP地址转换为连接公网接口的IP地址。

非常好的问题!ARP 和 NAT 是计算机网络中两个非常基础且重要的协议/机制,它们在局域网通信和互联网连接中起着关键作用。下面我将分别详细解释 **ARP** 和 **NAT** 的概念、工作原理,并附上示例。 --- ## 🟦 1. 什么是 ARP(Address Resolution Protocol) ### 🔹 定义: **ARP(地址解析协议)** 是一种用于将 **IP 地址映射为对应的 MAC 地址** 的网络协议。它工作在 OSI 模型的 **数据链路层**(第二层),但在 TCP/IP 模型中通常被视为介于网络层和链路层之间。 > ✅ 简单说:你知道目标设备的 IP 地址,但不知道它的物理(MAC)地址?用 ARP 去问! --- ### 🔍 工作原理(以局域网为例): 假设你的电脑(IP: `192.168.1.100`, MAC: `AA:AA:AA:AA:AA:AA`)想发送数据给 `192.168.1.1`(路由器),但它还不知道这个 IP 对应的 MAC 地址。 #### 步骤如下: 1. **ARP 请求(广播)** - 发送一个广播包:“谁是 192.168.1.1?请告诉我你的 MAC 地址!” - 目标 MAC 地址是 `FF:FF:FF:FF:FF:FF`(广播地址) - 所有设备都会收到,但只有 `192.168.1.1` 会响应 2. **ARP 响应(单播)** - 路由器回复:“我是 192.168.1.1,我的 MAC 是 `BB:BB:BB:BB:BB:BB`” - 回复是单播形式发回给 `192.168.1.100` 3. **本地缓存 ARP 表** - 你的电脑把 `(192.168.1.1, BB:BB:BB:BB:BB:BB)` 存入 ARP 缓存表 - 后续通信直接使用 MAC 地址,无需再次查询 --- ### 🧪 查看 ARP 缓存表(Windows/Linux 示例) ```bash # Windows arp -a # 输出示例: Interface: 192.168.1.100 --- 0x2 Internet Address Physical Address Type 192.168.1.1 bb-bb-bb-bb-bb-bb dynamic ``` ```bash # Linux / macOS ip neigh show # 或旧命令: arp -n ``` --- ### ⚠️ 安全风险:ARP 欺骗(ARP Spoofing) 攻击者可以伪造 ARP 响应,声称自己是网关,导致流量被劫持 —— 这就是常见的“中间人攻击”。 --- ## 🟨 2. 什么是 NAT(Network Address Translation) ### 🔹 定义: **NAT网络地址转换)** 是一种将私有(内部)IP 地址转换为公有(外部)IP 地址的技术,使得多个设备可以通过一个公网 IP 访问互联网。 > ✅ 简单说:家里有 5 台设备都用 `192.168.1.x` 上网,但对外只显示一个公网 IP,靠的就是 NAT。 --- ### 🔍 工作原理(以家庭路由器为例): 假设你家的网络结构如下: - 外部公网 IP:`203.0.113.45`(由 ISP 分配) - 内部局域网:`192.168.1.0/24` - 你的手机:`192.168.1.100:5000` → 访问百度服务器 `110.242.68.3:80` #### NAT 的过程: 1. 手机发起请求: ``` 源地址: 192.168.1.100:5000 目标地址: 110.242.68.3:80 ``` 2. 路由器进行 NAT 转换: - 把源地址改为自己的公网 IP,并分配一个端口号(如 60000) - 记录映射关系到 NAT 表: ``` 内部: 192.168.1.100:5000 ⇨ 外部: 203.0.113.45:60000 ``` 3. 外部看到的数据包变成: ``` 源地址: 203.0.113.45:60000 目标地址: 110.242.68.3:80 ``` 4. 百度返回响应时,目标地址是 `203.0.113.45:60000` 5. 路由器NAT 表,发现这是来自 `192.168.1.100:5000` 的请求,于是转发回去。 --- ### ✅ NAT 的好处: | 优点 | 说明 | |------|------| | 节省公网 IP | 数十亿设备共享少量公网 IP | | 提高安全性 | 内部设备不直接暴露在公网 | | 支持私有地址重用 | 不同家庭都可以用 `192.168.1.1` | --- ### 📌 常见 NAT 类型: | 类型 | 说明 | |------|------| | 静态 NAT | 一对一映射(如服务器映射) | | 动态 NAT | 多个内网 IP 映射到一组公网 IP | | PAT / NAPT(最常见) | 多个内网设备共用一个公网 IP + 不同端口(即“端口转发”) | --- ### 🛠️ 实际配置示例(端口转发) 如果你想让外网访问你家里的摄像头(IP: `192.168.1.200:8080`),可以在路由器设置: ```text 外部端口: 8080 内部 IP: 192.168.1.200 内部端口: 8080 协议: TCP ``` 这样别人访问 `http://203.0.113.45:8080` 就能看到摄像头画面。 --- ### ❗ NAT 的局限性: - 外部无法主动连接内网设备(除非配置端口转发或 UPnP) - 影响某些 P2P 应用(如视频通话、BT 下载) - 引入延迟和复杂性 为此引入了 **UPnP、STUN、TURN、ICE** 等技术来穿透 NAT。 --- ## ✅ 总结对比表: | 特性 | ARP | NAT | |------|-----|-----| | 层级 | 数据链路层(L2) | 网络层(L3) | | 功能 | 将 IP 地址解析为 MAC 地址 | 将私有 IP 映射为公网 IP | | 使用范围 | 局域网内部 | 路由器边界(内外网之间) | | 是否必需 | 是(无 ARP 无法通信) | 是(IPv4 下共享上网必需) | | 安全问题 | ARP 欺骗 | NAT 提供一定防火墙功能 | ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值