2026年Garmin手表全解析:各场景最佳之选、选购要点、常见问题及最新消息
2026/8/5 13:08:26
连上 WiFi ≠ 能通信,真正的网络刚刚开始
在 IoT 开发中,你一定见过这些现象:
这些问题,90% 都和DHCP、ARP、ICMP这三个基础协议有关。
它们不传业务数据,却是IoT 网络能否“活着”的底层生命线。
在 IoT 设备中,真正的通信顺序是:
WiFi 连接 ↓ DHCP(拿 IP) ↓ ARP(找到对方 MAC) ↓ ICMP(连通性探测) ↓ TCP / UDP ↓ MQTT / HTTP / CoAP只要其中任何一环异常,你的 IoT 设备就会表现为“玄学掉线”。
DHCP(Dynamic Host Configuration Protocol)负责给设备分配:
没有 DHCP,你的设备根本不知道自己是谁。
1. Discover :我是谁?有没有 DHCP 服务器? 2. Offer :我有 IP,可以给你 3. Request :我要这个 IP 4. ACK :IP 是你的了| 现象 | 根因 |
|---|---|
| 已连 WiFi 但没 IP | DHCP 超时 |
| 重启才能恢复 | DHCP 表满 |
| 多设备同时上线失败 | Offer 冲突 |
| 偶发断流 | Lease 到期未续租 |
ARP(Address Resolution Protocol)负责:
把IP 地址转换成MAC 地址
在局域网中,数据真正是靠MAC 地址传输的。
ESP32:谁是 192.168.1.1? 路由器:我是!MAC = xx:xx:xxARP 是广播协议,非常容易受干扰。
| 现象 | 根因 |
|---|---|
| Ping 偶尔不通 | ARP 表失效 |
| 刚连上就断 | ARP 缓存未更新 |
| 多设备上线异常 | 广播风暴 |
| 长时间休眠后断流 | ARP 被路由器清掉 |
特别注意:
低功耗 IoT 设备休眠后,路由器可能已忘记它的 MAC!
ICMP(Internet Control Message Protocol)用于:
👉ICMP 不传业务数据,只做状态反馈。
Ping ≠ 应用通信
Ping 只是说明:
但 Ping 通,不代表 MQTT / HTTP 一定通。
| 现象 | 原因 |
|---|---|
| Ping 不通,但 MQTT 通 | 路由器禁 ICMP |
| Ping 通,业务不通 | TCP 被防火墙拦 |
| 延迟忽高忽低 | 信道拥塞 |
| 偶发丢包 | CSMA/CA 退避 |
DHCP:我是谁?我在哪? ARP :你是谁?你在哪? ICMP:你还活着吗?1️⃣ 是否获取 IP(DHCP)
2️⃣ 能否 Ping 网关(ARP + ICMP)
3️⃣ 能否 Ping 公网 IP(路由 + NAT)
4️⃣ DNS 是否正常
5️⃣ TCP/MQTT 是否成功
Serial.println(WiFi.localIP());Serial.println(WiFi.gatewayIP());Serial.println(WiFi.subnetMask());ping192.168.1.1ping8.8.8.8