当前位置: 首页 > news >正文

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

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

目录

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

一、NAT是什么?

二、NAT全流程拆解

1. 内网设备发起请求

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

(1) 动态NAT(一对一映射)

(2) PAT(端口多路复用,多对一)

3. 外网服务器响应

4. NAT设备逆向转换

5. 数据送达内网设备

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

四、实际应用示例

家庭路由器场景

五、NAT的优缺点

🔑 总结口诀


一、NAT是什么?

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

二、NAT全流程拆解

1. 内网设备发起请求

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

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

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

转换表记录

内网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. 外网服务器响应

  • 响应数据包
源IP: 203.0.113.5 | 源端口: 80  
目标IP: 198.51.100.10 | 目标端口: 5001

4. NAT设备逆向转换

  • 查表还原:根据端口映射关系,将公网地址还原为内网地址。
目标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: 安全省地址,协议兼容要注意!

相关文章:

  • HTML字符实体笔记
  • SSE流式FastAPI
  • STM32入门笔记(03): ADC 电阻分压的方式测量电池电压方案(避免浮点运算,改为整数运算)(SPL库函数版)(3)
  • vue3 获取当前路由信息失败问题
  • OpenCV DNN 模块使用指南
  • ToDesk云电脑各类鼠标有什么区别?虚拟/3D/游戏鼠标等各有利
  • 100道C#高频经典面试题及答案解析:C#程序员面试题库分类总结
  • pfsense部署三(snort各版块使用)
  • 探秘海螺 AI 视频与计算机视觉算法的奇妙融合
  • 95 计费 5% 时间窗口的利用
  • Java 双端队列实战 实现滑动窗口 用LinkedList的基类双端队列Deque实现 洛谷[P1886]
  • 在线运行vscode
  • 图解AUTOSAR_CP_EEPROM_Driver
  • Vue学习笔记集--Vuex
  • Androidstudio实现引导页文字动画
  • 大理石机械构件在设计的时候需要注意些什么?
  • 如何利用<picture>标签实现更灵活的图片展示,应对不同设备和格式需求?
  • 【Scrapy】Scrapy教程8——处理子链接
  • Kafka集成Debezium监听postgresql变更
  • 快速入手-Django项目模版和静态文件(二)
  • 苏炳添任暨南大学体育学院院长
  • 印媒称印巴在克什米尔控制线沿线发生小规模交火,巴方暂未回应
  • 滁州一交通事故责任认定引质疑:民警和司法鉴定人被处罚,已中止诉讼
  • 安徽铁塔再通报“会议室不雅行为”事件:涉事员工停职检查
  • 神舟二十号3名航天员顺利进驻中国空间站
  • 中央空管办组织加强无人机“黑飞”“扰航”查处力度