网络基础 5 ARP RARP协议
目录
5. ARP/RARP协议
1.一句话定义ARP协议:
ARP查户口本,IP地址翻译成MAC地址,通过广播请求和单播应答,建立IP-MAC映射表(ARP缓存)。
2. ARP工作流程(以主机A→主机B为例)
sequenceDiagram participant A as 主机A participant B as 主机B A->>全网广播: ARP请求(Who has 192.168.1.2?) B->>A: ARP应答(I'm 192.168.1.2, MAC=0A-11-22-33-44-02) A->>B: 正常通信(目标MAC=0A-11-22-33-44-02)sequenceDiagram participant A as 主机A participant B as 主机B A->>全网广播: ARP请求(Who has 192.168.1.2?) B->>A: ARP应答(I'm 192.168.1.2, MAC=0A-11-22-33-44-02) A->>B: 正常通信(目标MAC=0A-11-22-33-44-02)
关键步骤:
- 查缓存 → 当主机A和主机B要通信时,查路由表得知要访问主机B的IP地址是192.168.1.2,在本机ARP缓存中检查主机B对应的MAC地址,无目标MAC则广播询问
- 广播请求 → A主机全网问“谁是192.168.1.2?”,且在ARP请求中附带A主机自己的IP-MAC对应信息,其他主机发现与自己IP地址不匹配则丢弃ARP请求
- 单播应答 → B主机收到后发现ARP请求中的IP地址与自己IP地址匹配,则将A主机的IP-MAC映射添加到本地ARP缓存中,并将包含MAC地址的ARP应答消息发回主机A
- 更新缓存 → 主机A记录IP-MAC映射至本地缓存(临时保存)
3. ARP缓存管理
操作 | Windows命令 | Linux命令 |
---|---|---|
查看缓存 | arp -a |
arp -n |
删除条目 | arp -d 192.168.1.2 |
arp -d 192.168.1.2 |
静态绑定 | arp -s 192.168.1.2 00-aa-bb... |
arp -s 192.168.1.2 00:aa:bb... |
⚠️ 注意:
- 动态ARP条目默认超时时间
- Windows:约2分钟
- Linux:约60秒
- 静态绑定可防ARP欺骗,但需手动维护
4. ARP欺骗(安全风险)
攻击原理: 攻击者伪造ARP应答,告诉主机A:“我是192.168.1.2,MAC=攻击者MAC”,导致主机A误将数据发给攻击者。
🔧防御措施:
- 静态ARP绑定(手动维护IP-MAC映射)
- 启用ARP防护(企业级交换机可开启DAI检测)
- 使用ARP防火墙工具(如Arpwatch)
5.RARP协议
用于帮助无盘设备(如旧式终端、瘦客户端)通过MAC地址获取IP地址
关键特性:
- 逆向ARP:与ARP相反(ARP是IP→MAC,RARP是MAC→IP)
- 依赖RARP服务器:需预先配置MAC-IP映射表
- ⚠️已被淘汰:现代网络用DHCP替代(更灵活)
6.RARP工作流程
sequenceDiagram participant Host as 无盘主机 participant Server as RARP服务器 Host->>局域网广播: RARP请求(我的MAC=00:AA:BB:CC:DD:EE,求IP!) Server->>Host: RARP响应(你的IP是192.168.1.100)sequenceDiagram participant Host as 无盘主机 participant Server as RARP服务器 Host->>局域网广播: RARP请求(我的MAC=00:AA:BB:CC:DD:EE,求IP!) Server->>Host: RARP响应(你的IP是192.168.1.100)
🔢 步骤拆解:
- 无盘主机广播请求:广播发送包含自身MAC地址的RARP请求包
- 服务器查表:RARP服务器检查预配置的
MAC-IP映射表
- 响应或沉默:
- 找到匹配 → 单播回复IP地址
- 无匹配 → 不响应(主机反复重试)
7.RARP vs ARP vs DHCP
协议 | 方向 | 用途 | 现代替代 |
---|---|---|---|
ARP | IP → MAC | 已知IP找MAC地址 | 仍在使用 |
RARP | MAC → IP | 已知MAC找IP地址(需预配置) | DHCP |
DHCP | 自动分配IP | 动态分配IP+掩码+网关等 | 当前主流 |
为什么RARP被淘汰?
- 需手动维护MAC-IP映射表 → DHCP可自动分配✅
- 仅支持IP分配 → DHCP还能提供网关、DNS等完整配置✅