news 2026/4/3 6:47:16

IoT 场景中的 DHCP、ARP、ICMP 到底在干嘛?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
IoT 场景中的 DHCP、ARP、ICMP 到底在干嘛?

🌐 IoT 场景中的 DHCP、ARP、ICMP 到底在干嘛?

连上 WiFi ≠ 能通信,真正的网络刚刚开始

在 IoT 开发中,你一定见过这些现象:

  • ESP32 显示WiFi 已连接,但服务器连不上
  • MQTT / HTTP 超时,但 TCP/IP 没报错
  • Ping 不通,却偶尔又能上网
  • 重启路由器后,一切又恢复正常

这些问题,90% 都和DHCP、ARP、ICMP这三个基础协议有关。
它们不传业务数据,却是IoT 网络能否“活着”的底层生命线


1️⃣ IoT 网络的真实通信链路

在 IoT 设备中,真正的通信顺序是:

WiFi 连接 ↓ DHCP(拿 IP) ↓ ARP(找到对方 MAC) ↓ ICMP(连通性探测) ↓ TCP / UDP ↓ MQTT / HTTP / CoAP

只要其中任何一环异常,你的 IoT 设备就会表现为“玄学掉线”。


2️⃣ DHCP:IoT 设备的“身份证发放处”

📌 DHCP 是干什么的?

DHCP(Dynamic Host Configuration Protocol)负责给设备分配:

  • IP 地址
  • 子网掩码
  • 网关地址
  • DNS 服务器

没有 DHCP,你的设备根本不知道自己是谁。


DHCP 四步握手(DORA)

1. Discover :我是谁?有没有 DHCP 服务器? 2. Offer :我有 IP,可以给你 3. Request :我要这个 IP 4. ACK :IP 是你的了

IoT 中常见 DHCP 问题

现象根因
已连 WiFi 但没 IPDHCP 超时
重启才能恢复DHCP 表满
多设备同时上线失败Offer 冲突
偶发断流Lease 到期未续租

工程经验

  • IoT 设备第一次连网失败,大多是 DHCP 失败
  • 路由器比 MCU 更“忙”,DHCP 响应并不实时

🛠 IoT DHCP 实战建议

  • 增加 DHCP 超时与重试机制
  • 延迟 1~2 秒再开始 DHCP
  • 不要频繁断开/重连 WiFi
  • 高稳定场景使用静态 IP(慎重)

3️⃣ ARP:IP 地址只是“名字”,MAC 才是“门牌号”

📌 ARP 是干什么的?

ARP(Address Resolution Protocol)负责:

IP 地址转换成MAC 地址

在局域网中,数据真正是靠MAC 地址传输的


ARP 的工作方式

ESP32:谁是 192.168.1.1? 路由器:我是!MAC = xx:xx:xx

ARP 是广播协议,非常容易受干扰


IoT 中 ARP 的典型坑

现象根因
Ping 偶尔不通ARP 表失效
刚连上就断ARP 缓存未更新
多设备上线异常广播风暴
长时间休眠后断流ARP 被路由器清掉

特别注意:
低功耗 IoT 设备休眠后,路由器可能已忘记它的 MAC!


🛠 IoT ARP 优化经验

  • 唤醒后主动发送一次数据包(触发 ARP)
  • 避免超长深度睡眠
  • 定期保活(Keep Alive)
  • 必要时重建 TCP 连接

4️⃣ ICMP:网络的“心跳”和“体检报告”

📌 ICMP 是干什么的?

ICMP(Internet Control Message Protocol)用于:

  • Ping(Echo Request / Reply)
  • 网络不可达提示
  • TTL 超时反馈

👉ICMP 不传业务数据,只做状态反馈。


Ping 在 IoT 中的真实意义

Ping ≠ 应用通信
Ping 只是说明:

  • IP 层通了
  • 路由通了
  • ARP 正常

但 Ping 通,不代表 MQTT / HTTP 一定通。


IoT 中 ICMP 的坑

现象原因
Ping 不通,但 MQTT 通路由器禁 ICMP
Ping 通,业务不通TCP 被防火墙拦
延迟忽高忽低信道拥塞
偶发丢包CSMA/CA 退避

🛠 ICMP 在调试中的正确用法

  • 用 Ping 看连通性,不是业务质量
  • Ping 延迟 > 200ms,说明 WiFi 已拥塞
  • 连续丢包 = 信号或信道问题

5️⃣ 三者在 IoT 中的关系一图看懂(文字版)

DHCP:我是谁?我在哪? ARP :你是谁?你在哪? ICMP:你还活着吗?
  • DHCP 决定“能不能上网”
  • ARP 决定“能不能找到对方”
  • ICMP 决定“网络是不是健康”

6️⃣ IoT 项目中的典型问题组合

❌ 已连 WiFi 但服务器连不上

  • DHCP 未完成
  • DNS 获取失败
  • 网关错误

❌ 能 Ping 网关,不能访问服务器

  • DNS 问题
  • ARP 未更新
  • TCP 被防火墙拦

❌ 深度睡眠唤醒后断网

  • ARP 缓存过期
  • DHCP Lease 失效

7️⃣ 工程级排查顺序(强烈推荐)

1️⃣ 是否获取 IP(DHCP)
2️⃣ 能否 Ping 网关(ARP + ICMP)
3️⃣ 能否 Ping 公网 IP(路由 + NAT)
4️⃣ DNS 是否正常
5️⃣ TCP/MQTT 是否成功


8️⃣ ESP32 调试小技巧

Serial.println(WiFi.localIP());Serial.println(WiFi.gatewayIP());Serial.println(WiFi.subnetMask());
ping192.168.1.1ping8.8.8.8

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/30 23:49:01

Day30 函数专题1

浙大疏锦行 题目 1:计算圆的面积 任务:编写一个名为 calculate_circle_area 的函数,该函数接收圆的半径 radius 作为参数,并返回圆的面积。圆的面积 π * radius(可以使用 math.pi 作为 π 的值) 要求&…

作者头像 李华
网站建设 2026/3/26 13:36:26

AI大模型架构师必学指南:从知识储备到高薪前景,一篇收藏就够了!

AI大模型架构师是连接AI理论与产业落地的关键角色,需融合深度学习、分布式系统、软件工程等多领域知识。该岗位涵盖模型训练、部署与系统架构设计,要求兼具技术创新能力与行业洞察力。随着大模型在各行业广泛应用,人才需求激增,一…

作者头像 李华
网站建设 2026/3/30 7:59:46

基于BS架构的积分制零食自选平台-计算机毕业设计源码+LW文档

摘要 本文介绍了一个基于BS(Browser/Server,浏览器/服务器)架构的积分制零食自选平台的设计与实现。该平台旨在为用户提供一个便捷、个性化的零食购物体验,并通过积分制度激励用户的消费行为。平台的前端采用HTML、CSS和JavaScrip…

作者头像 李华
网站建设 2026/4/1 23:13:35

MySQL 数据库连接数查询、配置

MySQL 数据库的连接数是指同时与 MySQL 数据库建立的客户端连接数量。连接数与 MySQL 的性能密切相关,需要根据实际需求和服务器资源进行合理配置和优化。 1. 查看连接数1.1. 查看当前会话连接数 SHOW STATUS LIKE ‘Threads_connected’; 1.2. 查看历史最大连接数 …

作者头像 李华
网站建设 2026/3/31 1:26:26

【滤波跟踪】基于 EKF的姿态角估计实战(核心是融合 IMU 传感器数据,通过四元数建模实现 RollPitchYaw 姿态估计)matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室 👇 关注我领取海量matlab电子书和数学建模资料 &#x1…

作者头像 李华
网站建设 2026/3/11 1:58:03

太流批了,老牌软件,数据对比神器

在日常工作中打工人有的时候需要整理表格和数据,需要在两个文档之间进行对比,看一看文件做了哪些修改。但是,如果用眼进行一行行对比的话就会很麻烦,而且效率会很慢。今天给大家推荐一款好用的数据对比软件,有需要的小…

作者头像 李华