接好运鸭 发表于 2026-8-20 14:53:27

什么是 ARP 协议?搞懂局域网 IP 与 MAC 的地址翻译

摘要:在局域网通信中,我们通常使用 IP 地址访问设备,但二层以太网传输依赖 MAC 物理地址。ARP(地址解析协议)就是实现 IP 地址向 MAC 地址转换的核心协议。本文通俗讲解 ARP 完整工作流程、内网与外网场景下的行为差异、ARP 缓存机制、ARP 欺骗安全风险,同时整理运维排查命令,帮助理解内网通信原理,定位 “IP 能 ping 通却无法访问” 类网络故障。
在家庭 WiFi、企业内网中,我们习惯使用 IP 访问电脑、打印机、服务器。很多人会有疑问:已经有 IP 地址,为什么网络还需要 MAC 地址?ARP 协议就是用来解决这个问题,它是局域网通信必不可少的底层基础。
一、IP 地址与 MAC 地址的分工


[*]IP 地址(逻辑地址):好比网络世界的门牌号,例如192.168.1.20,工作在网络层,用来标识全网范围内主机,可跨路由器、跨网段,IP 可以手动修改或由 DHCP 动态分配。
[*]MAC 地址(物理地址):网卡出厂固化的硬件编号,格式类似3c‑52‑82‑1a‑9f‑0b,工作在数据链路层。同一个局域网内部,交换机依靠 MAC 地址,把数据帧转发到对应设备的网口。
当程序发起网络访问,只知道目标 IP,但交换机二层转发必须填写目标 MAC,ARP 协议(Address Resolution Protocol,地址解析协议),就是用来完成同一局域网内 IP → MAC 的解析翻译。
关键边界:ARP 仅作用于当前局域网 / VLAN,不能跨路由器直接解析外网服务器的 MAC 地址。
二、ARP 完整工作流程

举个场景:本机 IP 为192.168.1.10,需要访问内网设备192.168.1.50。

[*]查询本机 ARP 缓存设备优先读取本地 ARP 缓存表,查看是否已经保存该 IP 对应的 MAC 映射。缓存命中,直接复用 MAC,无需网络请求。ARP 动态缓存自带老化过期时间,到期自动删除旧记录,适配设备换网卡、IP 重分配、设备上下线等场景,同时减少局域网广播报文数量。
[*]发送 ARP 广播请求缓存没有记录,则发出 ARP 广播帧,目标 MAC 填写广播地址ff‑ff‑ff‑ff‑ff‑ff,向局域网所有设备喊话:“谁的 IP 是 192.168.1.50,请把你的 MAC 地址回复给 192.168.1.10”。交换机将广播报文转发给局域网全部端口。
[*]目标设备单播应答内网所有主机收到报文,核对目标 IP;不是自己的 IP 直接丢弃报文;匹配 IP 的设备,以单播方式,单独向发起请求的主机回复 ARP 应答,报文中携带自身 IP 与 MAC 地址。
[*]更新 ARP 缓存,正式传输数据本机收到应答报文,把192.168.1.50和对应 MAC 写入 ARP 缓存。后续发送数据包时,IP 头部保留目标 IP,以太网帧头部填写目标 MAC,交换机根据 MAC 转发到正确设备。
三、访问外网时,ARP 解析的是网关 MAC

当访问公网地址,例如8.8.8.8,目标 IP 不在本机所在局域网网段。主机通过子网掩码判断目标属于外网,数据包不会直接广播查询公网服务器,而是交给默认网关(路由器)转发出去。
示例:本机192.168.1.10,网关192.168.1.1,访问8.8.8.8

[*]判断8.8.8.8不属于本地网段,数据包交给网关处理;
[*]ARP 广播查询:谁是192.168.1.1,获取路由器网口 MAC;
[*]本机发出以太网帧:帧头目标 MAC 为路由器 MAC,IP 包内目标 IP 依旧是 8.8.8.8;
[*]路由器接收报文,剥离二层帧头,根据路由表继续向互联网转发。
核心规律:

[*]同网段内网通信:ARP 解析目标主机的 MAC;
[*]访问外网跨网段:ARP 只解析本地网关的 MAC。
IP 地址是端到端全程不变的最终目标;MAC 地址仅代表当前链路的下一跳设备,数据包每经过一台路由器,外层二层 MAC 地址就会被改写,内部 IP 始终不变。
四、ARP 协议的安全缺陷:ARP 欺骗(ARP 投毒)

ARP 协议原始设计没有身份校验机制,主机收到 ARP 应答报文就直接更新本地缓存,不验证报文是否为自己询问过的设备,这就带来 ARP 欺骗攻击风险。
攻击者接入同一个局域网,持续伪造 ARP 响应报文,对外宣称:“网关 IP 的 MAC 地址是攻击者本机网卡”。局域网主机收到虚假报文后,ARP 缓存被篡改,原本发往路由器的上网流量全部发送到攻击者主机。攻击者可以实现流量嗅探、中间人篡改、断网拒绝服务等攻击效果。
分为两种攻击模式:

[*]单向欺骗:只欺骗终端主机,终端出站流量经过攻击者;
[*]双向欺骗:同时欺骗终端与网关,双向全部流量流经攻击者,完成完整中间人攻击。
企业网络防护手段


[*]IP‑MAC 静态绑定:在主机或者网关做静态 ARP 条目,固定 IP 与 MAC 映射关系,不接受动态 ARP 应答篡改;
[*]交换机开启 DAI 动态 ARP 检测:配合 DHCP Snooping,校验 ARP 报文的 IP、MAC、端口合法性,丢弃伪造 ARP 包,是企业内网主流防护方案;
[*]接入控制:802.1X 网络准入,管控接入内网的设备;
[*]业务层加密:使用 HTTPS、VPN。加密无法阻止 ARP 欺骗发生,但即使流量被劫持,攻击者也无法解密读取业务数据。
家庭普通 Wi‑Fi 环境下,尽量不要接入不明公共局域网,降低被攻击风险。
五、常用 ARP 排障命令

内网排查故障时,即便可以 ping 通 IP,也需要检查 ARP 缓存,确认 IP‑MAC 映射是否正确。如果网关 MAC 频繁发生变化,需要警惕 IP 冲突或者 ARP 欺骗行为。


系统命令功能说明
Windowsarp -a查看本机全部 ARP 缓存表
Windowsarp -d清空 ARP 缓存,触发重新解析
Linux/macOSarp -n / ip neigh查看 ARP 邻居缓存,推荐使用ip neigh
Linuxip neigh flush all清空全部 ARP 缓存
故障现象参考:内网主机 ping IP 时通时断、丢包严重,优先查看 ARP 表,观察 MAC 地址是否来回跳动,大概率是 IP 冲突或者 ARP 欺骗问题。
总结

ARP 是局域网通信的桥梁,核心工作逻辑:优先查本机缓存,无缓存就广播询问,目标设备单播回复,更新 IP‑MAC 映射缓存。

[*]内网同网段通信,ARP 解析目标主机 MAC;
[*]访问外网跨网段通信,ARP 解析网关 MAC 地址。
ARP 协议本身无认证,存在 ARP 欺骗安全隐患,企业环境需要通过绑定、DAI 检测等手段加固。排查内网故障时,不要只看 IP 连通性,ARP 缓存表是定位二层网络问题的重要依据。理解 ARP,才能看懂数据包在内网中是如何完成交付转发。

页: [1]
查看完整版本: 什么是 ARP 协议?搞懂局域网 IP 与 MAC 的地址翻译