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

内网 IP 怎么访问互联网?NAT 技术与“小区保安”的比喻

为什么你明明住在 192.168.1.1,却能收到来自全世界的快递?

1. 什么是 NAT?

NAT (Network Address Translation),网络地址转换

它的核心作用是解决IPv4 地址不够用的问题,同时也充当了家庭网关的看门人

形象比喻:小区与门牌号

  • 私有 IP (局域网):就像你家的门牌号“3号楼 201 室”。全世界有很多个“3号楼 201 室”,但在你们小区里是唯一的。
  • 公网 IP (互联网):就像小区的街道地址“北京市海淀区xx路88号”。这是全球唯一的。
  • NAT (路由器):就是小区门口的保安大爷(兼职收发快递)。

💡 补充知识:私有 IP 地址段 (保留地址)

前置知识:IPv4 的结构
IPv4 本质是32 位二进制(比如11000000...)。
为了方便记忆,我们把它切成4 段,每段8 位(8 bit),中间用点隔开。

  • 每段最大值:11111111(二进制) =255(十进制)。
  • 所以 IP 长这样:0.0.0.0~255.255.255.255

私有地址的划分逻辑:
不是随便写个 IP 都能当内网 IP 的。国际标准根据网络规模(即:前几位固定,留多少位给主机),规定了 3 段私有地址:

类别IP 范围容量 (典型子网)适用场景
A 类10.0.0.0~10.255.255.255约 1600 万超大型企业(如阿里巴巴内网)
B 类172.16.0.0~172.31.255.255约 6.5 万中型网络(学校、Docker 默认网段)
C 类192.168.0.0~192.168.255.255254家庭/小公司(最常见,因为你家设备少)
  • 为什么这么分?(二进制视角的奥秘)
    • A 类 (10.x.x.x)
      • 标准子网掩码/8(前8位固定)。
      • 剩余24位给主机 ->224≈16002^{24} \approx 16002241600万。
      • 注:整个 A 类私有段就是一个超大局域网。
    • B 类 (172.16.x.x)
      • 标准子网掩码/16(前16位固定)。
      • 剩余16位给主机 ->216=655362^{16} = 65536216=65536(约 6.5 万)。
      • 注:172.16172.31包含了 16 个这样的 B 类网段。
    • C 类 (192.168.x.x)
      • 标准子网掩码/24(前24位固定)。
      • 剩余8位给主机 ->28=2562^{8} = 25628=256(减去头尾,可用 254 台)。
      • 注:192.168.0.0192.168.255.0包含了 256 个这样的 C 类网段。

2. 为什么需要 NAT?

如果全世界每台手机、电脑都要一个全球唯一的公网 IP,IPv4 的 43 亿个地址早在 2011 年就发完了。
NAT 允许一整个小区的几千户人,共用这一个公网 IP 地址。


3. NAT 的工作流程 (SNAT)

假设你在家里 (192.168.1.2) 想访问百度 (公网 IP)。

出门 (请求)

  1. :把信交给路由器(保安)。信封上写着:
    • 寄件人:192.168.1.2:8888(你家门牌号)
    • 收件人:百度
  2. 路由器 (NAT):一看,“192.168”这种内部号寄不出去啊。
    • 它把寄件人改写成路由器的公网 IP:202.100.1.1:10001(小区地址+临时编号)。
    • 同时在小本本上记下一笔:编号 10001 的信是 192.168.1.2 寄的
  3. 互联网:百度的服务器收到了信,它只知道是202.100.1.1寄来的,不知道你家具体门牌。

进门 (响应)

  1. 百度:把回信寄给202.100.1.1:10001
  2. 路由器 (NAT):收到了信。拿出小本本一查:
    • “哦,10001号是给192.168.1.2的。”
  3. 转发:路由器把信封上的收件人改回192.168.1.2:8888,送给你。

这就是 SNAT (源地址转换),也是我们家庭上网最常用的模式。

百度服务器路由器 (NAT)电脑 (192.168.1.2:8888)百度服务器路由器 (NAT)电脑 (192.168.1.2:8888)公网IP: 202.100.1.1【记录映射表】内网 192.168.1.2:8888外网 202.100.1.1:10001【查表匹配】收到端口 10001转发给 192.168.1.2:88881. 发送请求 (源: 192.168.1.2:8888)2. 转发请求 (源: 202.100.1.1:10001)3. 响应数据 (目: 202.100.1.1:10001)4. 转发响应 (目: 192.168.1.2:8888)

4. 另一种情况:端口映射 (DNAT)

如果你在家里搭了个网站,想让外面的朋友访问,怎么办?
外面的朋友只知道你家小区的地址 (公网 IP),不知道怎么进你家 (私网 IP)。

这时候你需要告诉保安 (配置路由器):

“大爷,凡是找咱们小区80端口的快递,统统送到192.168.1.2这一家去。”

这就是 DNAT (目的地址转换)

  • 外网访问202.100.1.1:80
  • 路由器转发192.168.1.2:80

⚠️ 避坑指南:80 端口被封

大部分家庭宽带的运营商 (电信/联通等) 默认会封锁 80 和 443 端口
如果你在家搭网站,建议改用80808888这种大号端口,否则外网根本连不上。


5. 进阶痛点:套娃的“大内网” (CGNAT)

你可能会发现,明明在路由器做了端口映射,外网还是连不上你家。
原因可能是:你的公网 IP 也是假的!

运营商为了省 IP,在小区宽带上面又加了一层 NAT(运营商级 NAT)。

  • 现状:你的路由器拿到的“公网 IP”其实是运营商局域网的 IP (比如10.x.x.x)。
  • 比喻:你以为你是小区户主,其实你住在“城中村”,村口还有个大保安,外面的快递根本送不到你家门口。
  • 解决:打电话给运营商客服,“投诉监控连不上,申请改为公网 IP”。

💡 怎么判断我有没公网 IP?

  1. 登录路由器后台,看 WAN 口 IP (比如100.64.x.x)。
  2. 打开百度搜“IP”,看显示的 IP。
  3. 如果两个 IP 不一样,恭喜你,你在大内网里。

6. 总结

  • NAT是 IPv4 续命的神器,它让内网设备可以“隐身”访问互联网。
  • SNAT (源转换):让内网访问外网(大家一起上网)。
  • DNAT (目的转换):让外网访问内网(发布网站)。
  • 在 IPv6 普及之前,我们还得靠这位“保安大爷”过日子。
http://www.jsqmd.com/news/193042/

相关文章:

  • wangEditor复制word公式转MathType格式
  • 2026年无人机培训推荐:基于多品牌实力对比的5强榜单深度解析 - 品牌推荐
  • API接口开放吗?HeyGem未来计划中的远程调用支持
  • wangEditor粘贴微信公众号文章到html富文本
  • Python多源职位信息聚合爬虫实战:异步抓取与智能去重
  • Instagram Reels创意视频:HeyGem助力品牌传播
  • 基于AI与大数据的Python爬虫实战:深度解析招聘市场需求与技术趋势
  • 用户名密码认证如何加?增强HeyGem访问控制
  • 云服务器成本优化:从资源浪费到精细化管控的实践路径
  • 音频背景噪音大影响效果?HeyGem输入音频优化建议
  • 章源钨业资源储备:HeyGem生成稀有金属战略价值分析
  • java: 错误: 无效的源发行版:17,零基础入门到精通,收藏这篇就够了
  • PHP WebSocket连接不稳定?一文解决重连失败与消息丢失难题
  • WebSocket总是断连?PHP开发者必须掌握的7种重连优化技巧
  • 2026年 广东公司注册服务权威推荐榜:东莞深圳广州专业代办,高效合规助力企业快速启航 - 品牌企业推荐师(官方)
  • PHP Redis缓存过期实战优化(从入门到高并发场景全覆盖)
  • LUT调色包下载后如何应用于HeyGem输出视频后期?
  • 大文件上传中断?建议使用支持断点续传的客户端
  • 网盘直链下载助手提取HeyGem训练数据集实战
  • HeyGem生成政府宣传视频合规性注意事项
  • 基于最新技术栈的竞品网站SEO深度分析:Python异步爬虫实战与元数据提取
  • 简单理解:时钟使能→GPIO 复用→AFIO 配置→定时器核心配置 的流程配置
  • 揭秘PHP断点续传实现原理:5步轻松搞定TB级文件稳定上传
  • PHP与区块链结合实战(交易记录不可篡改方案大公开)
  • JavaScript在HeyGem WebUI中的作用机制分析
  • 华为服务器中Mindie镜像的部署及启动方法
  • LU,机能实验室整体解决方案 行为学实验室整体解决方案 动物行为学整体解决方案
  • Ogg音频能用吗?HeyGem小众格式支持情况实测
  • UE中导入资产后如何调整动画的位置和方向
  • 【PHP图像识别结果解析】:手把手教你精准提取与处理识别数据