
前言我们每天拿起手机打开 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路由器确认分配结果这个过程经常简称为DORADiscover、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 服务器会维护地址租用记录尽量避免把仍在使用的地址重复分配给其他设备。五、第四步手机判断数据应该直接发送还是交给网关假设手机获得的参数为手机IP192.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 记录把数据重新交给正确的手机。这样家中的多台设备就可以共享同一个互联网出口手机A192.168.1.100 手机B192.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-Fi5 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 或转发规则后手机无法访问互联网。