🌐🌐🌐聊聊NAT:从内网到外网的数据旅程

🌐 (附生活化类比+全流程拆解)

一、NAT是什么?

核心作用 :将内网设备的私有IP地址转换为公网IP地址,解决IPv4地址不足问题,同时隐藏内网拓扑。 类比:快递总机(公网IP)为每个员工分配分机号(端口),外线只需拨打总机号+分机号即可找到具体人。

二、NAT全流程拆解

1. 内网设备发起请求

  • 场景 :内网设备(192.168.1.100)访问外网服务器(203.0.113.5)。
  • 原始数据包
makefile 复制代码
源IP: 192.168.1.100 | 源端口: 1234  
目标IP: 203.0.113.5 | 目标端口: 80

2. NAT设备转换(核心阶段)

(1) 动态NAT(一对一映射)
  • 原理:从公网IP池中动态分配一个地址。
  • 转换表记录
makefile 复制代码
内网IP:Port       → 外网IP:Port  
192.168.1.100:1234 → 198.51.100.10:5678
  • 适用场景:企业内网多设备临时访问外网。
(2) PAT(端口多路复用,多对一)
  • 原理:单个公网IP + 不同端口映射多个内网设备。

转换表记录

makefile 复制代码
内网IP:Port       → 公网IP:Port  
192.168.1.100:1234 → 198.51.100.10:5001  
192.168.1.101:5678 → 198.51.100.10:5002
  • 适用场景:家庭宽带路由器(最常用!)。

3. 外网服务器响应

  • 响应数据包
makefile 复制代码
源IP: 203.0.113.5 | 源端口: 80  
目标IP: 198.51.100.10 | 目标端口: 5001

4. NAT设备逆向转换

  • 查表还原:根据端口映射关系,将公网地址还原为内网地址。
makefile 复制代码
目标IP:Port → 内网IP:Port  
198.51.100.10:5001 → 192.168.1.100:1234

5. 数据送达内网设备

  • 内网设备收到响应,通信完成。

三、NAT类型对比(表格速记)

类型 映射方式 公网IP需求 适用场景
静态NAT 一对一固定映射 1个公网IP/设备 服务器对外服务
动态NAT 多对多动态分配 公网IP池 企业内网多设备访问外网
PAT(NAPT) 多对一(端口复用) 1个公网IP 家庭宽带、移动网络

四、实际应用示例

家庭路由器场景
  1. 手机访问百度

    • 内网手机:192.168.1.100:1234 → 路由器转换为 58.32.1.100:5001
  2. 百度返回数据

    • 响应目标:58.32.1.100:5001 → 路由器还原为 192.168.1.100:1234

五、NAT的优缺点

优点 缺点
节省公网IP地址 外网无法直接访问内网设备(需手动配置端口映射)
隐藏内网拓扑,提升安全性 部分协议(如FTP、IPsec)需额外处理(ALG)
支持大规模设备共享上网 可能引入单点故障(依赖NAT设备)

🔑 总结口诀

内网发请求,NAT转公网 : 静态映射一对一,动态池里轮流换, PAT端口复用最常用,家庭路由全靠它! 外网回数据,查表还原IP: 安全省地址,协议兼容要注意!

相关推荐
undeflined1 小时前
HTTP Header 中的 cookie 和 set-cookie
网络协议·http·ios
11在上班2 小时前
域名分片与HTTP/2:并发优化与技术演进
网络协议·程序员
梅见十柒2 小时前
UNIX网络编程笔记:网络协议
服务器·网络·c++·经验分享·笔记·网络协议·unix
Blossom.1183 小时前
从入门到进阶:Python数据可视化实战技巧
java·开发语言·spring boot·后端·python·网络协议·信息可视化
D-river6 小时前
【HTTP 传输过程中的 cookie】
网络·网络协议·http
CZIDC10 小时前
网络知识编-数据链路层(以太网 & 局域网通信 & ARP协议 & ARP 欺骗 & DDos 攻击)
网络·网络协议·ddos
仙女很美哦10 小时前
bp抓IOS的包
websocket·网络协议·tcp/ip·http·网络安全·https·udp
开开心心就好10 小时前
免费提供多样风格手机壁纸及自动更换功能的软件
android·python·网络协议·tcp/ip·macos·智能手机·pdf
柃歌11 小时前
【USTC 计算机网络】第二章:应用层 - TCP & UDP 套接字编程
websocket·网络协议·tcp/ip·计算机网络·udp
若云止水13 小时前
ngx_http_add_listen
网络·网络协议·http