🌐🌐🌐聊聊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: 安全省地址,协议兼容要注意!

相关推荐
测试员周周4 小时前
【skills5】一份 spec 生成 k6/JMeter/Locust:性能压测 + 全站截图,上线前的双保险
功能测试·网络协议·测试工具·jmeter·http·自动化·集成测试
酣大智5 小时前
常用 IP 协议号大全(IP 层承载的上层协议)
网络·网络协议·tcp/ip
paopaokaka_luck12 小时前
基于Springboot3+vue3的旅游景区点评系统(AI审核、webSocket聊天、协同过滤算法、Echarts图形化分析)
websocket·网络协议·旅游
熬夜苦读学习14 小时前
基于websocket的多用户五子棋网页游戏
linux·服务器·网络·websocket·网络协议·游戏·五子棋
广州灵眸科技有限公司16 小时前
xfce桌面旋转说明:基于灵眸科技EASY-EAI-Nano-TB
网络·网络协议·tcp/ip·算法·php
GlobalSign数字证书16 小时前
ACME 的 HTTP 验证和 DNS 验证,哪种更适合自动续期?
网络·网络协议·http
微硬创新17 小时前
耐达讯自动化PROFINET转DeviceNet网关:医药包装生产线的合规与效率双保障
服务器·人工智能·物联网·网络协议·自动化·信息与通信
米尔的可达鸭18 小时前
深入操作系统 Socket 底层:EPOLLOUT 可写事件管理 + 非阻塞异步
开发语言·网络·数据结构·经验分享·websocket·网络协议
2501_9160074718 小时前
抓包工具对比 Charles、Fiddler、TraceEagle、Wireshark 与 Proxyman
前端·网络协议·ios·adb·https·fiddler·wireshark
zt1985q19 小时前
本地部署开源轻量级监控平台 Beszel 并实现外部访问
运维·服务器·网络协议·开源