程序员求职经验分享与学习资料整理平台

网站首页 > 文章精选 正文

《ARP/RARP协议深度解析》

balukai 2025-05-21 12:07:49 文章精选 2 ℃

一、为什么需要理解ARP和RARP协议?
当你在浏览器输入 www.baidu.com 后,数据是如何找到目标服务器的?

  1. 1.你的电脑需要知道网关的 MAC地址(ARP协议)
  2. 2.如果你的电脑是动态获取IP的,还需要通过 RARP协议 告诉DHCP服务器自己的MAC地址

ARP和RARP是网络通信的"地址翻译官"!
作为数通工程师,必须掌握它们的工作原理才能排查网络故障。


二、ARP与RARP基础概念

1. ARP(Address Resolution Protocol)

概念

说明

定义

将IP地址解析为MAC地址的协议

工作层级

网络层(IP)与数据链路层(MAC)之间的桥梁

报文类型

ARP Request(请求)、ARP Reply(应答)

典型应用

局域网内设备通信、跨网段通信时的下一跳MAC地址解析

缓存机制

设备会缓存ARP表项(可通过 arp -a 查看)

2. RARP(Reverse Address Resolution Protocol)

概念

说明

定义

将MAC地址解析为IP地址的协议(已逐渐被DHCP取代)

工作场景

无盘工作站启动时获取IP地址

报文类型

RARP Request(请求)、RARP Reply(应答)

替代技术

现代网络普遍使用DHCP协议

典型设备

早期无盘工作站、嵌入式设备


三、ARP与RARP对比

特性

ARP

RARP

功能

IP → MAC

MAC → IP

工作方向

正向解析

反向解析

协议状态

广泛使用

已淘汰(被DHCP取代)

报文封装

在以太网帧中传输

在以太网帧中传输(操作码不同)

典型应用

局域网通信、路由下一跳解析

早期无盘设备IP获取


四、ARP协议实战解析

1. ARP工作流程(以PC访问网关为例)

  1. PC检查ARP缓存

执行 arp -a 查看是否有网关MAC地址

如果没有,则发送ARP Request

  1. 广播ARP Request

源IP:PC的IP(如 192.168.1.100)

源MAC:PC的MAC(如 00-11-22-33-44-55)

目标IP:网关IP(如 192.168.1.1)

目标MAC:FF-FF-FF-FF-FF-FF(广播地址)

  1. 网关响应ARP Reply

源IP:网关IP(192.168.1.1)

源MAC:网关MAC(如 00-55-66-77-88-99)

目标IP:PC的IP(192.168.1.100)

目标MAC:PC的MAC(00-11-22-33-44-55)

  1. PC更新ARP缓存

缓存条目:192.168.1.1 → 00-55-66-77-88-99


2. ARP表项类型

类型

说明

示例

动态ARP

自动学习,有老化时间(默认20分钟)

192.168.1.1 → 00-55-66-77-88-99

静态ARP

手动配置,不会老化

192.168.1.254 → 00-11-22-33-44-55

代理ARP

路由器代替其他设备响应ARP请求(如VLAN间通信)

路由器响应不同子网的ARP请求

无故ARP

设备主动发送ARP Request(如IP冲突检测)

主机重启后发送自己的IP和MAC


3. ARP攻击与防御

常见攻击方式

  1. ARP欺骗

攻击者发送虚假ARP Reply,让受害者将网关MAC指向攻击者

结果:流量被劫持(中间人攻击)

  1. ARP泛洪

攻击者发送大量伪造ARP Request,耗尽交换机CAM表资源

结果:网络瘫痪

防御措施

方法

说明

静态ARP绑定

手动配置关键设备的ARP表项(如网关)

DAI(动态ARP检测)

交换机验证ARP报文的合法性(需配合DHCP Snooping)

端口安全

限制交换机端口学习的MAC地址数量

ARP防火墙

过滤异常ARP报文


五、RARP协议实战解析

1. RARP工作流程(早期无盘工作站场景)

  1. 无盘工作站启动

工作站没有IP地址,但知道自己的MAC地址

  1. 发送RARP Request

源IP:0.0.0.0

源MAC:工作站MAC(如 00-11-22-33-44-55)

目标IP:0.0.0.0

目标MAC:FF-FF-FF-FF-FF-FF(广播)

  1. RARP服务器响应

源IP:服务器分配的IP(如 192.168.1.100)

源MAC:服务器MAC

目标IP:工作站MAC对应的IP

目标MAC:工作站MAC

  1. 工作站获取IP

使用分配的IP完成后续启动流程


2. RARP vs DHCP

特性

RARP

DHCP

功能

MAC → IP

提供完整IP配置(IP/子网/网关/DNS)

工作方式

广播请求,单播响应

广播请求,单播或广播响应

配置灵活性

仅分配IP,无其他参数

可分配IP、子网掩码、网关、DNS等

协议状态

已淘汰

现代网络标准


六、ARP/RARP工具与命令

1. 常用命令

操作系统

查看ARP表

清除ARP缓存

发送测试ARP包

Windows

arp -a

arp -d *

ping 目标IP(触发ARP)

Linux

arp -n

ip neigh flush all

arping 目标IP

Cisco设备

show ip arp

clear arp-cache

ping 目标IP(触发ARP)

2. 抓包分析(Wireshark示例)

  1. 过滤ARP流量
  2. arp
  3. 关键字段解析Hardware type:1(以太网)Protocol type:0x0800(IPv4)Operation:1(Request)、2(Reply)Sender MAC/ IP:发起方信息Target MAC/ IP:目标方信息

七、常见问题解答

Q1:为什么ARP请求是广播,而回复是单播?

A:

  • 请求时目标MAC未知,只能广播
  • 收到请求的设备知道目标MAC(自己的),所以单播回复

Q2:RARP为什么被淘汰?

A:

  • RARP只能分配IP,无法提供其他配置(如DNS)
  • DHCP功能更强大,支持动态分配和租约管理

Q3:如何防止ARP欺骗?

A:

  1. 启用DAI(动态ARP检测)
  2. 配置静态ARP绑定关键设备
  3. 使用端口安全限制MAC地址
最近发表
标签列表