ARP 协议超详细讲解(适合网工考试 / 运维理解)

一、基础定义

ARP:Address Resolution Protocol,地址解析协议

  • 作用:已知目标 IP 地址,获取目标主机 MAC 地址
  • 工作层级:数据链路层 ↔ 网络层之间(属于三层辅助协议,封装在二层帧里传输)
  • 适用环境:同一个广播域(同一网段)

反向协议:RARP(已知 MAC 查 IP,现在基本淘汰)

二、为什么需要 ARP?

IP 负责跨网段寻址(三层),但以太网传输数据,必须依靠 MAC 地址封装帧。 举例: 主机 A(192.168.1.10)要发给主机 B(192.168.1.20)数据

  1. A 知道 B 的 IP:192.168.1.20
  2. A 不知道 B 的网卡 MAC 地址
  3. 无法构造二层以太网帧,所以发送 ARP 请求查询 MAC

三、ARP 完整工作流程(重点!必考)

拓扑:同一网段 主机 A:IP 192.168.1.10 MAC AA-AA-AA 主机 B:IP 192.168.1.20 MAC BB-BB-BB

1)ARP 请求报文(广播帧)

  • 源 MAC:AA-AA-AA(主机 A 网卡 MAC)
  • 目标 MAC:FF:FF:FF:FF:FF:FF(广播 MAC,网段所有设备接收)
  • 源 IP:192.168.1.10
  • 目标 IP:192.168.1.20

内容:请问 192.168.1.20 的 MAC 地址是什么?

广播特点:广播域内所有主机都会收到这条报文

  • 主机 C、D 收到:对比目标 IP 不是自己,直接丢弃报文,不回复
  • 主机 B 收到:目标 IP 和自身 IP 匹配,准备回复

2)ARP 应答报文(单播帧!考点)

主机 B 组装应答直接发给主机 A:

  • 源 MAC:BB-BB-BB
  • 目标 MAC:AA-AA-AA(直接单播,不需要广播)
  • 源 IP:192.168.1.20
  • 目标 IP:192.168.1.10

内容:192.168.1.20 的 MAC 地址是 BB-BB-BB

3)缓存写入

主机 A 收到应答,把 IP-MAC 映射存入 ARP 缓存表,后续通信直接查表,不用反复广播查询。

四、ARP 缓存表

操作系统 / 交换机、路由器都会维护 ARP 缓存 Windows 查看命令:

cmd

复制代码
arp -a

Linux 查看:

bash

运行

复制代码
arp -n

特点:

  1. 缓存有老化时间(Windows 默认 2 分钟,超时自动删除条目)
  2. 分为动态 ARP(自动学习,可老化)静态 ARP(手动绑定,永久生效)

五、跨网段通信时 ARP 怎么工作?【极易混淆考点】

场景:PC (192.168.1.10) 访问外网服务器 (8.8.8.8) ✅ PC 不会直接查询 8.8.8.8 的 MAC! 正确逻辑:

  1. PC 判断目标 IP 不在本地网段
  2. PC 发起 ARP 请求:查询网关的 MAC 地址
  3. 数据包二层目标 MAC = 网关 MAC,三层目标 IP 依旧是 8.8.8.8

口诀:跨网段通信,ARP 只查网关 MAC,不查远端服务器 MAC!

六、常见攻击与安全(考试 / 运维常考)

1. ARP 欺骗(ARP 中毒)

原理:伪造 ARP 应答报文,欺骗局域网主机 攻击者发送虚假 ARP 消息: 网关IP → 攻击者MAC 结果:所有主机上网流量全部经过攻击者主机,可以抓包监听流量。

防御手段

  1. 静态 ARP 绑定(IP+MAC 固化)
  2. 交换机部署 DAI(Dynamic ARP Inspection,动态 ARP 检测)
  3. 开启端口安全

七、经典考点总结(选择题高频)

  1. ARP 作用:IP 地址 → MAC 地址
  2. ARP 请求:广播 ;ARP 应答:单播
  3. ARP 报文封装在以太网帧(二层)
  4. 跨网段访问,ARP 解析网关 MAC,不是目标服务器 MAC
  5. ping 不通不代表 ARP 失败;ARP 正常只能证明二层互通
  6. ARP 仅在同一个广播域生效,无法穿越路由器(路由器隔离广播域)

八、易错题辨析

❌ 错误:ARP 可以跨路由器查询 MAC

✅ 正确:路由器不转发广播帧,ARP 广播无法跨网段

❌ 错误:访问外网服务器,主机 ARP 查询服务器 MAC

✅ 正确:只查询网关 MAC

相关推荐
西安景驰电子2 小时前
PCIe 授时卡原理及应用
运维·服务器·windows·单片机·嵌入式硬件·fpga开发
优化Henry2 小时前
学习笔记之VoNR语音业务注册流程
网络·笔记·学习·5g·信息与通信
huainingning3 小时前
华三瘦AP切换为胖AP并配置无线功能
运维·网络·网络协议·tcp/ip
xywww1683 小时前
开发团队接入 Opus 5 / Sonnet 5:模型路由、升级阈值和成本账怎么算
服务器·网络·p2p
外滩运维专家3 小时前
十几台服务器要改配置,别再一台台 SSH 了
运维
冷莫溪4 小时前
Zabbix——认识及部署Zabbix(基于Rocky9.7)
linux·运维·php·zabbix
风曦Kisaki4 小时前
Kubernetes(K8s)笔记Day03: Pod命名空间,标签,Pod 的调度,污点与容忍度,Pod 常见状态和重启策略,Pod 生命周期
linux·运维·笔记·docker·云原生·容器·kubernetes
千维百策6664 小时前
如何管理错误预算:提升服务可靠性与 SLO 达成率的实践经验
服务器·网络·数据库
图件制作GIS,储量计算4 小时前
未来已到,抓住机遇
运维·服务器