前言
我们每天拿起手机,打开 Wi-Fi,选择家里的无线网络,输入密码,然后就能刷视频、聊天、浏览网页。
整个过程看起来只需要几秒钟,但在这几秒钟内,手机和路由器实际上完成了许多工作:
搜索无线网络;
与路由器建立无线连接;
完成身份认证和数据加密;
获取 IP 地址、网关和 DNS;
查询网站对应的服务器地址;
把数据交给路由器转发;
通过 NAT 共享互联网出口;
接收服务器返回的数据。
本文从实际网络通信过程出发,讲清楚手机连接路由器后究竟是如何访问互联网的。
一、先理解一个关键问题:连接Wi-Fi不等于连接互联网
很多人看到手机显示“Wi-Fi已连接”,就认为手机已经接入互联网。实际上,这两件事并不完全相同。
手机上网可以分为两个阶段:
第一阶段:手机连接路由器,进入局域网 第二阶段:路由器把手机的数据转发到互联网因此,手机可能已经成功连接路由器,却仍然无法访问互联网。例如:
路由器的 WAN 口没有连接上级网络;
宽带拨号失败;
路由器没有默认路由;
DNS 配置错误;
防火墙阻止了 LAN 到 WAN 的转发;
NAT 没有正确配置;
运营商网络出现故障。
这就是手机有时会提示“已连接,但无法访问互联网”的原因。
二、第一步:手机搜索附近的Wi-Fi网络
路由器开启无线功能后,会周期性发送信标帧,也就是 Beacon Frame。信标帧用于向附近设备公布无线网络的基本信息,例如:
Wi-Fi 名称;
无线网络标识;
工作信道;
支持的速率;
加密和认证方式;
其他无线能力信息。
我们平时看到的 Wi-Fi 名称叫作SSID,例如:
Home_WiFi OpenWrt_5G ChinaNet-XXXX路由器无线接口还具有一个 BSSID。它通常表现为一个类似 MAC 地址的标识,用于区分具体的无线接入点。
需要注意:SSID 可以相同,但 BSSID 通常不同。例如,多个无线 AP 可以使用同一个 SSID,为用户提供漫游网络。
手机发现附近无线网络主要有两种方式:
被动扫描:监听各个信道上的信标帧;
主动扫描:发送探测请求,等待无线接入点回应。
扫描完成后,手机便会在 Wi-Fi 列表中显示可连接的网络。
三、第二步:手机与路由器建立无线连接
用户选择一个 SSID 后,手机首先需要与对应的无线接入点建立连接。
从 IEEE 802.11 无线网络的角度看,主要会经历:
扫描 → 认证 → 关联 → 安全密钥协商1. 认证与关联
手机需要告诉路由器:“我希望加入这个无线网络。”
双方会交换管理帧,确认支持的无线能力、速率和其他参数。关联成功后,手机才正式成为该无线网络中的一个终端。
2. 验证Wi-Fi密码
如果 Wi-Fi 使用 WPA2 或 WPA3 加密,手机和路由器还需要完成相应的安全认证与密钥协商。
以常见的 WPA2-Personal 为例,手机输入的密码不会简单地以明文形式直接发送给路由器。双方会基于预共享密钥等信息完成握手,并生成用于保护无线数据的会话密钥。
如果密码错误,密钥协商不能正常完成,手机就无法真正接入该无线网络。
完成这一步后,只能说明:
手机已经建立了到路由器无线接入点的二层连接。
此时手机未必已经获得可用的 IP 地址。
四、第三步:DHCP为手机分配网络参数
手机要通过 IP 网络通信,需要具备一套基本参数:
IP 地址;
子网掩码或前缀长度;
默认网关;
DNS 服务器;
地址租期等信息。
家庭路由器通常在 LAN 侧运行 DHCP 服务器,自动给手机分配这些参数。
典型的 DHCP 交互过程可以概括为:
DHCP Discover:手机寻找DHCP服务器 DHCP Offer:路由器提供可用地址 DHCP Request:手机申请使用该地址 DHCP ACK:路由器确认分配结果这个过程经常简称为DORA:Discover、Offer、Request、Acknowledgement。
例如,路由器的 LAN 地址为:
192.168.1.1路由器可能为手机分配:
IP地址:192.168.1.100 子网掩码:255.255.255.0 默认网关:192.168.1.1 DNS服务器:192.168.1.1现在,手机才具备了在这个局域网中进行 IP 通信的基本条件。
为什么不能给两台手机分配同一个IP地址?
同一个局域网内的设备原则上需要使用不同的 IP 地址。如果两台设备使用同一个地址,可能产生 IP 地址冲突,导致数据不知道应该发送给哪台设备。
DHCP 服务器会维护地址租用记录,尽量避免把仍在使用的地址重复分配给其他设备。
五、第四步:手机判断数据应该直接发送,还是交给网关
假设手机获得的参数为:
手机IP:192.168.1.100 子网掩码:255.255.255.0 默认网关:192.168.1.1当手机要访问某个目标时,会先判断目标是否与自己位于同一个网段。
访问同一局域网内的设备
如果手机要访问:
192.168.1.50手机判断对方与自己处于同一网段,通常可以直接在局域网内通信,不需要先经过 WAN 口访问互联网。
访问互联网服务器
如果手机要访问一个公网地址,例如:
203.0.113.10手机发现目标不在本地网段,就会把数据交给默认网关,也就是路由器的 LAN 地址192.168.1.1。
因此,默认网关可以简单理解为:
当终端不知道如何直接到达目标网络时,将数据交给它继续转发。
六、第五步:ARP找到网关的MAC地址
手机知道默认网关的 IP 地址是192.168.1.1,但在局域网中发送以太网或 802.11 数据时,还需要知道相应的链路层地址。
在 IPv4 网络中,手机通常会通过 ARP 查询网关的 MAC 地址。
过程可以简化为:
手机:谁是192.168.1.1?请告诉192.168.1.100 路由器:192.168.1.1对应的MAC地址是我手机收到回应后,会把结果暂时保存在 ARP 缓存中。之后发送给外部网络的数据,就可以封装后交给路由器。
这里要注意:
IP 地址用于网络层寻址;
MAC 地址主要用于当前二层链路内的数据交付;
数据每经过一个路由节点,链路层头部可能发生变化;
最终互联网服务器通常看不到手机在家庭局域网中的 Wi-Fi MAC 地址。
在 IPv6 中,与 ARP 对应的功能主要由邻居发现协议 NDP 完成。
七、第六步:DNS把域名转换成IP地址
用户一般不会直接输入服务器的 IP 地址,而是访问域名,例如:
www.example.com但网络通信最终需要知道目标服务器的 IP 地址,因此手机需要进行 DNS 查询。
DNS 可以理解为互联网中的“名称解析系统”,负责把域名转换成相应的 IP 地址。
一个简化过程如下:
手机:www.example.com对应哪个IP地址? DNS服务器:它对应的地址是203.0.113.10家庭网络中,手机的 DNS 地址经常被设置为路由器的 LAN 地址。此时路由器可能先接收手机的 DNS 请求,再查询上游 DNS 服务器或返回已有缓存结果。
如果 DNS 出现问题,常见现象是:
手机已经连接 Wi-Fi;
能访问某些 IP 地址;
但通过域名无法打开网站。
因此,“能 ping 通公网 IP,却打不开域名”通常需要优先排查 DNS。
八、第七步:路由器根据路由表转发数据
手机把数据发送给默认网关后,路由器会读取目标 IP 地址,并查询自己的路由表。
路由表可以理解为路由器的“转发地图”,它告诉路由器:
哪些目标属于 LAN;
哪些目标应该从 WAN 发出;
下一跳网关是谁;
不同路径的优先级如何。
一个简化的路由表可能包含:
192.168.1.0/24 → br-lan 0.0.0.0/0 → WAN上级网关其中,0.0.0.0/0表示默认路由。当没有更具体的路由与目标地址匹配时,数据会按照默认路由发送到上级网络。
如果路由器没有正确的默认路由,即使 WAN 接口已经获得 IP 地址,也可能无法访问互联网。
九、第八步:防火墙检查是否允许转发
路由器不会毫无条件地转发所有数据。数据从 LAN 到 WAN 之前,一般需要通过防火墙规则检查。
家用路由器通常采用这样的策略:
LAN → WAN:允许主动访问 WAN → LAN:默认禁止主动访问 已建立连接的返回数据:允许因此,手机主动访问网站时,路由器允许请求从 LAN 转发到 WAN;服务器返回的数据属于已建立连接,也可以被放行。
但互联网上的其他设备不能随意主动访问手机,这为家庭局域网提供了基本的安全保护。
在 OpenWrt 中,LAN 和 WAN 通常被划分到不同的防火墙区域,并通过 forwarding 规则控制区域之间能否转发。
十、第九步:NAT把手机的私有地址转换成出口地址
手机获得的192.168.1.100属于私有 IP 地址,不能直接作为全球互联网中的可路由地址使用。
路由器通常会执行 NAT,把数据包的源地址从手机的私有地址转换为 WAN 接口地址。
例如:
转换前:192.168.1.100:52000 → 203.0.113.10:443 转换后:路由器WAN地址:40001 → 203.0.113.10:443路由器还会记录这次地址和端口的对应关系。当服务器返回数据时,路由器根据连接跟踪和 NAT 记录,把数据重新交给正确的手机。
这样,家中的多台设备就可以共享同一个互联网出口:
手机A:192.168.1.100 手机B:192.168.1.101 电脑:192.168.1.102 ↓ 家庭路由器 ↓ 一个WAN出口地址严格来说,家庭网络中这种同时转换地址和端口的方式也经常被称为 NAPT 或 PAT,不过日常通常统称为 NAT。
十一、第十步:数据经过上级网络到达网站服务器
数据从路由器 WAN 接口发出后,可能还要依次经过:
光猫;
运营商接入网络;
城域网;
运营商骨干网;
其他运营商或互联网节点;
网站所在的数据中心。
每一台中间路由器都会根据目标 IP 地址选择下一跳,最终把数据送到目标服务器。
如果访问的是 HTTPS 网站,手机还会与服务器建立 TCP 连接或使用 QUIC 等传输机制,并完成 TLS 加密协商。之后,浏览器才会发送具体的网页请求。
也就是说,从输入域名到看到页面,除了 Wi-Fi 和路由转发,还涉及 DNS、传输层连接、加密协商以及 HTTP 通信。
十二、服务器返回的数据如何找到这部手机?
服务器收到请求后,会把网页、图片或视频数据发送回路由器的 WAN 地址。
路由器收到返回数据后,会查询连接跟踪与 NAT 记录,发现该数据对应内部的:
192.168.1.100:52000然后路由器完成反向地址转换,并把数据从 LAN 侧发送给手机。
完整过程可以概括为:
手机应用 ↓ Wi-Fi无线链路 ↓ 路由器LAN接口 ↓ 防火墙、路由与NAT ↓ 路由器WAN接口 ↓ 运营商网络和互联网 ↓ 网站服务器 ↓ 返回数据沿网络到达路由器 ↓ 反向NAT和防火墙检查 ↓ 路由器通过Wi-Fi发送给手机浏览器收到返回内容并完成解析、排版和渲染后,我们才会看到最终网页。
十三、2.4 GHz和5 GHz会改变上网流程吗?
不会改变整体的 IP 上网流程。
无论手机连接 2.4 GHz 还是 5 GHz Wi-Fi,通常都仍然需要经历:
无线接入 → DHCP → DNS → 路由 → 防火墙 → NAT → 互联网二者主要区别体现在无线传输特性上:
| 对比项目 | 2.4 GHz Wi-Fi | 5 GHz Wi-Fi |
|---|---|---|
| 覆盖能力 | 通常更强 | 通常相对较弱 |
| 穿墙表现 | 通常更好 | 衰减通常更明显 |
| 可用信道 | 相对较少 | 相对较多 |
| 环境干扰 | 往往较多 | 通常相对较少 |
| 可实现速率 | 通常较低 | 通常更容易达到较高速率 |
实际体验还会受到 Wi-Fi 标准、信道带宽、天线、发射功率、距离、遮挡、终端能力和同频干扰等因素影响。
十四、手机显示“Wi-Fi已连接但不能上网”,应该如何排查?
可以按照通信路径逐层检查。
1. 检查手机是否获得正确的IP地址
确认手机是否获得类似下面的参数:
IP地址:192.168.x.x 网关:路由器LAN地址 DNS:有效的DNS地址如果没有获得地址,可能是 DHCP 服务异常。
2. 检查能否访问路由器管理地址
如果无法访问路由器的 LAN 地址,问题可能出在:
Wi-Fi 接入;
手机 IP 配置;
LAN 接口;
无线隔离策略。
3. 检查路由器WAN接口
确认 WAN 是否获得 IP 地址、网关和 DNS,或者 PPPoE 是否拨号成功。
4. 检查路由器能否访问公网IP
如果路由器自己也无法访问公网,通常需要检查 WAN、默认路由或上级网络。
5. 检查DNS
如果可以访问公网 IP,却不能通过域名访问网站,通常需要检查 DNS。
6. 检查转发、防火墙和NAT
如果路由器自身能上网,但 LAN 中的手机不能上网,就应重点检查:
IP 转发是否开启;
LAN 到 WAN 是否允许转发;
WAN 防火墙区域是否开启地址伪装;
返回数据是否被正确放行。
十五、在OpenWrt中可以查看哪些信息?
查看逻辑接口状态:
ifstatus lan ifstatus wan查看 IP 地址:
ip addr查看路由表:
ip route查看邻居表,包括 IPv4 ARP 和 IPv6 邻居信息:
ip neigh查看 DHCP 租约:
cat /tmp/dhcp.leases查看网络与防火墙配置:
uci show network uci show firewall查看 DNS 和 DHCP 服务日志时,可以使用:
logread | grep dnsmasq在 OpenWrt 中排查问题时,不要只看接口是否显示“已连接”,而应分别检查:
无线接入是否成功 → DHCP是否成功 → LAN是否连通 → WAN是否正常 → 是否存在默认路由 → DNS是否正常 → 防火墙是否允许转发 → NAT是否生效总结
手机连接路由器并访问互联网的完整过程,可以概括为:
1. 手机扫描附近的Wi-Fi 2. 选择SSID并与无线接入点建立关联 3. 完成WPA2或WPA3安全认证与密钥协商 4. 通过DHCP获取IP地址、网关和DNS 5. 通过ARP或NDP获得下一跳的链路层地址 6. 通过DNS查询目标网站的IP地址 7. 把外网数据发送给默认网关 8. 路由器查询路由表并检查防火墙规则 9. 路由器执行NAT并从WAN接口发送数据 10. 服务器返回数据,路由器再将其转发给手机所以,手机能够正常上网,并不是只有“Wi-Fi信号”在起作用,而是无线接入、DHCP、ARP、DNS、路由、防火墙、NAT和运营商网络共同工作的结果。
理解这一完整链路后,许多网络现象就容易解释了:
为什么连接 Wi-Fi 后不一定能上网;
为什么 DHCP 异常时手机拿不到地址;
为什么 DNS 故障时 IP 能通但域名打不开;
为什么路由器自身能上网,LAN 设备却不能上网;
为什么关闭 NAT 或转发规则后,手机无法访问互联网。