NAT与内网穿透

← 返回 MOC | ← 主页


家用路由器:三合一的”缝合怪”

我们平时在家里用的路由器(TP-Link、华为、小米等),专业上应该叫 家庭网关 (Home Gateway)SOHO路由器。它其实是一个”三合一”设备,承担了三种核心工作。

1. 无线接入点 (AP) — 你家的”微型基站”

痛点: 手机可以接收基站的 4G/5G 信号,但笔记本电脑、智能电视、扫地机器人没有 SIM 卡槽,接收不了基站信号,它们只认识 Wi-Fi。

作用: 家用路由器的天线充当无线接入点 (AP),发射 Wi-Fi 信号,把家里所有不支持 4G/5G 的设备”收拢”起来。

2. NAT 转换器 — 你家的”超级分配器”(最核心)

痛点: 公网 IPv4 地址已经枯竭且极其昂贵。你拉一条宽带,运营商只分配给你家 1 个公网 IP,但你家有 5 部手机、2 台电脑、1 个电视,它们全都要同时上网。

作用: 家用路由器承担了 NAT(网络地址转换) 的重任,就像你家的大管家:

  1. 给你的电脑、手机分配”内部假名”(如 192.168.1.10)
  2. 当你的电脑要看视频时,数据包发给路由器
  3. 路由器把包裹上的发件人”192.168.1.10”撕下来,贴上运营商给的那个唯一合法的”公网 IP”,然后发给小区的光猫,进入光缆
  4. 等视频数据传回来时,它再根据内部账本(NAT 表),精准地把视频发给你的电脑,而不是电视

NAT 工作原理详解:

【出站】你的电脑看 B 站视频

1. 电脑发出数据包:
   源 IP: 192.168.1.10    源端口: 54321
   目标 IP: 110.242.68.3  目标端口: 80 (B站服务器)

2. 路由器收到后,修改 IP 层:
   源 IP: 192.168.1.10 → 123.45.67.89 (公网IP)
   源端口: 54321 → 60001 (路由器分配的新端口)
   
3. 路由器记录 NAT 表:
   192.168.1.10:54321 ↔ 123.45.67.89:60001

4. 发往 B 站的包:
   源 IP: 123.45.67.89   源端口: 60001
   目标 IP: 110.242.68.3 目标端口: 80

【回程】B 站返回视频数据

1. B 站发回的包:
   源 IP: 110.242.68.3   源端口: 80
   目标 IP: 123.45.67.89 目标端口: 60001

2. 路由器查 NAT 表,找到 60001 对应 192.168.1.10:54321

3. 路由器修改 IP 层:
   目标 IP: 123.45.67.89 → 192.168.1.10
   目标端口: 60001 → 54321

4. 转发给你的电脑

NAT 表示例:

内网地址:端口公网地址:端口目标服务器状态
192.168.1.10:54321123.45.67.89:60001110.242.68.3:80 (B站)活跃
192.168.1.15:54322123.45.67.89:60002183.3.226.35:443 (微信)活跃
192.168.1.20:54323123.45.67.89:60003180.101.49.11:80 (抖音)活跃

关键点:

  1. MAC 地址不保留: 数据包每经过一个路由器,MAC 地址都会被替换成下一跳的 MAC 地址(数据链路层的事)
  2. IP 地址被替换: 内网 IP 被替换成公网 IP
  3. 端口号是关键: NAT 靠 端口号 区分不同设备的连接,这就是为什么一个公网 IP 可以支持几万个并发连接(端口号范围 1024-65535)

结论: 没有路由器做 NAT,你家永远只能有一台设备上网。

3. DHCP 服务器与交换机 — 你家的”内网居委会”

痛点: 如果手机想把视频投屏到电视上,或者电脑想连接家里的无线打印机,难道还要绕道去几公里外的电信机房跑一圈吗?

作用: 家用路由器内置了交换机 (Switch) 和 DHCP 服务器:

  • 每次你连上 Wi-Fi,它瞬间给你分配一个局域网 IP(DHCP 的功劳)
  • 它把你家里的所有设备组建成了一个封闭的局域网 (LAN)
  • 你手机投屏给电视的数据,到了路由器这里,路由器一看:“哦,目标就在隔壁”,直接就通过 Wi-Fi 转过去了,根本不需要经过外面的光纤大网

家用路由器 vs 运营商路由器

对比项家用路由器(家庭网关)运营商路由器(纯种路由器)
定位小区门口的传达室大爷高速公路枢纽的调度中心
核心功能NAT + Wi-Fi + DHCP + 局域网交换全球路由表查询 + 高速转发
接口几个网线口 + Wi-Fi 天线密密麻麻的光纤接口
处理能力每秒几千到几万个包每秒上亿个包
路由协议通常只有默认路由OSPF、BGP 等复杂协议
典型场景把你家所有设备整编成一支队伍,统一接入互联网把全球数据包指引向正确的国家和城市

总结: 光缆和基站把互联网修到了你家门口,而家用路由器,负责把你家里乱七八糟的各种电子设备,整编成一支队伍,统一接入这个互联网。


内网穿透

由于 NAT 的存在,外网无法主动访问内网设备。如果你想在公司访问家里的 NAS,或者让朋友连接你电脑上的游戏服务器,就需要 内网穿透

常见方案

1. 端口映射(Port Forwarding)

  • 在路由器上配置:外网访问 公网IP:8080 → 转发到内网 192.168.1.10:80
  • 优点:简单直接
  • 缺点:需要路由器管理权限,且公网 IP 可能动态变化

2. UPnP / NAT-PMP

  • 设备自动向路由器请求端口映射
  • 游戏主机、BT 下载常用

3. 反向代理 / 隧道服务

  • 内网设备主动连接到公网服务器(如 frp、ngrok)
  • 公网服务器作为中转站
  • 优点:不需要公网 IP,不需要配置路由器
  • 缺点:需要第三方服务器,有延迟

4. P2P 打洞(STUN/TURN)

  • 两个内网设备通过公网服务器协调,建立直连
  • 视频通话、游戏联机常用
  • 优点:建立连接后不经过中转,延迟低

本章小结