目录
一、ARP和RARP
ARP(Address Resolution Protocol,地址解析协议)是一种用于将IP地址解析为物理地址(MAC地址)的协议。
RARP(Reverse Address Resolution Protocol,逆地址解析协议)是ARP的反向过程,用于将MAC地址解析为IP地址。
简单描述:
- ARP: IP(32位)--->MAC(48位)
- RARP: MAC--->IP
1. 为什么需要ARP
数据链路层需求: 在进行数据封装时,必须知道目的MAC地址才能完成以太网帧的封装。
典型场景: 主机A(10.1.1.1/24) ping主机B(10.1.1.2/24)时,虽然知道目的IP地址,但不知道目的MAC地址(00−01−02−03−04−BB)。
解决方案: 通过ARP协议实现已知IP地址(32位)查询对应MAC地址(48位)的功能,解决二层封装时目的MAC地址未知的问题。
2. ARP工作过程
1)ARP缓存
查看命令: 使用arp -a或arp -g查看本地ARP缓存表。
表结构: 包含三个关键字段:
Internet Address(IP地址)、Physical Address(MAC地址)、Type(类型)。
类型区分:
- 动态: 通过ARP协议自动学习
- 静态: 手工静态绑定
2)ARP请求
触发条件: 当ARP缓存中没有目标IP对应的MAC地址时发起。
报文特点:
- 以太网帧头目的MAC为全F(FF−FF−FF−FF−FF−FF),表示广播
- ARP报文内目的MAC为全0(00−00−00−00−00−00),表示未知
- 源MAC地址为发送方自身地址(00−01−02−03−04−AA)
封装方式: ARP报文直接封装在以太网帧中,类型字段为0x0806。
3)更新ARP缓存
接收方行为: 所有收到ARP请求的主机都会先更新自己的ARP缓存表,记录请求方的IP-MAC对应关系。
响应判断: 只有IP地址匹配的主机(10.0.0.3/24)会继续处理请求,其他主机(10.0.0.2/24)仅更新缓存不响应。
4)ARP响应
报文特点:
- 目的MAC明确指定为请求方地址(00−01−02−03−04−AA)
- 源MAC为响应方自身地址(00−01−02−03−04−CC)
- 操作类型为Reply(响应)
传输方式: 单播形式直接回复给请求方,不再广播。
5)更新ARP缓存
将获取到的IP-MAC对应信息写入ARP表
类型:动态(学习到的)
6)例题:ARP地址解析五步曲
- 查询本地ARP缓存(A)
- 发送ARP请求广播(A)
- 目标主机学习源主机ARP信息(B更新ARP缓存)
- 目标主机发送ARP响应(B返回ARP的reply)
- 源主机学习目标主机ARP信息(A跟新ARP缓存)
完整过程:
- 主机A查询ARP缓存表,发现没有主机B对应的MAC地址
- 主机A发送ARP Request广播报文
- 主机B将主机A的IP-MAC对应信息存入自己的ARP缓存
- 主机B发送ARP Reply单播响应
- 主机A收到响应后,将主机B的IP-MAC对应信息存入ARP缓存
3. 免费ARP
核心原理:通过请求自己的IP地址来检测IP地址是否冲突,报文特征为目的IP是自身地址,目的MAC为全零00−00−00−00−00−00,源MAC为自身地址00−01−02−03−04−AA,广播地址为FF−FF−FF−FF−FF−FF
检测机制:若收到应答说明IP地址已被占用(冲突),无应答则地址可用。类比"张三大喊'谁是张三'"的场景
应用场景:
- 路由器接口:配置IP地址后立即发送
- DHCP过程:成功获取地址后自动发送检测
报文特点:源IP与目的IP相同,属于特殊ARP请求类型
4. 代理ARP
1)代理ARP的定义与场景
典型场景:PC1(172.16.1.10/16)与PC2(172.16.2.20/16)网络号相同(172.16.0.0/16),但网关接口配置为/24子网(172.16.1.1/24和172.16.2.1/24)
通信问题:PC1认为PC2是同网段设备会尝试直接通信,实际需经过网关转发
解决方案:在交换机VLANIF接口启用代理ARP功能
2)代理ARP的功能与作用
工作方式:网关用自己的MAC地址(如0025-9e01-0003)应答PC1对PC2的ARP请求
实现效果:
- PC1的ARP表中PC2的IP(172.16.2.20)对应网关MAC
- PC2的ARP表中PC1的IP(172.16.1.10)对应网关MAC
网络透明性:主机无需修改配置即可实现跨物理网络通信
3)代理ARP的特点
部署位置:网关设备(如示例中的交换机VLANIF接口)
核心优势:
- 隐藏物理网络细节,允许不同物理网络使用相同网络号
- 仅影响主机ARP表,不改变网关自身的ARP表和路由表
典型应用:解决非常规子网划分(如主/16设备通过/24网关通信)导致的二层连通性问题
5. ARP总结
1)ARP协议基础
核心功能: 根据IP地址查询MAC地址,实现网络层到数据链路层的地址转换。
类型区分:
- 动态ARP: 通过协议自动学习获得
- 静态ARP: 需要管理员手动绑定
2)ARP命令操作
arp命令:cmd输入 arp --help出现帮助信息
查询命令:
arp -a: 显示当前ARP缓存表
arp -g: 功能与-a相同(Windows系统)
管理命令:
arp -d: 删除ARP表项(支持通配符*删除全部)
arp -s: 添加静态绑定项(格式:arp -s IP地址 MAC地址)
3)RARP协议
功能特点: 反向地址解析协议,根据MAC地址查找IP地址
典型应用: 无盘工作站启动时,通过广播报文获取IP地址
工作原理:
- 设备无本地存储(无硬盘)
- 启动时发送包含MAC地址的广播请求
- RARP服务器响应分配的IP地址
4)免费ARP(Gratuitous ARP)
主要用途: 检测IP地址冲突
触发场景:
- 接口通过DHCP获取IP地址时
- 网络接口初始配置阶段
检测原理:
- 主机发送查询自身IP的ARP请求
- 若收到回复则判定地址冲突
- 无回复表示地址可用
5)代理ARP
应用场景:
- 端口隔离网络环境
- 聚合VLAN(Super VLAN)
- 单臂路由架构
功能说明: 由网关设备代为响应ARP请求,实现跨网段通信
6. 应用案例
1)例题#ARP协议封装
封装方式: ARP协议数据单元直接封装在以太网帧中进行传送
选项分析:
- A.IP分组 - 错误
- B.以太帧 - 正确
- C.TCP段 - 错误
- D.ICMP报文 - 错误
答案: B
记忆点: ARP协议工作在数据链路层,直接使用以太网帧传输
2)例题#ARP报文传送
报文类型:
- ARP Request(请求): 采用广播方式传送
- ARP Response(响应): 采用单播方式传送
选项分析:
- (20)A.广播 - 正确
- (21)D.单播 - 正确
答案: (20)A (21)D
注意: 请求报文需要广播以寻找目标设备,响应报文只需回复请求方
3)例题#网关IP绑定命令
应用场景: 计算机遭到ARP病毒攻击时,可通过绑定网关IP与MAC地址临时解决
命令分析:
- arp -s IP MAC: 静态绑定
- arp -a: 显示ARP表
- arp -d: 删除ARP记录
正确答案: D(arp -s)
实际应用: 静态绑定可防止ARP欺骗,但维护成本较高
4)例题#命令ARP-d作用
命令功能: arp -d用于删除所有ARP缓存记录
选项分析:
- A.开启ARP学习功能 - 错误
- B.添加ARP记录 - 错误
- C.显示ARP记录 - 错误
- D.删除所有ARP记录 - 正确
答案: D
补充: 可指定IP删除单个记录,不加参数则删除全部
5)例题#ARP请求报文中以太网的目标MAC地址和ARP报文的目标MAC地址
在ARP报文中:
- 以太网帧头目的MAC为全F(FF−FF−FF−FF−FF−FF),表示广播
- ARP报文内目的MAC为全0(00−00−00−00−00−00),表示未知
答案:(24)D,(25)C
6)例题#ARP病毒影响
攻击方式:
- 伪造ARP请求/应答欺骗网络设备
- ARP Flood攻击使设备ARP表溢出
选项分析:
- A.拦截篡改IP包 - 非ARP病毒特点
- B.SYN泛洪 - 属于DDoS攻击
- C.伪造ARP报文 - 正确
- D.加密流量 - 非ARP特点
答案: C
防御措施:
- 静态ARP绑定
- 动态ARP检测(DAI)
- 端口安全技术
7)例题#VLAN技术配置
VLAN功能: 将物理LAN划分为多个广播域/逻辑网络
隔离技术:
- 端口隔离: port-isolate enable
- 隔离后通信: 需启用代理ARP
配置命令:
端口隔离: [Huawei-GigabitEthernet0/0/1] port-isolate enable VLAN内代理ARP: arp-proxy inner-sub-vlan-proxy enable
注意事项:
- 相同VLAN内隔离不能使用MUX-VLAN
- 代理ARP实现隔离主机间的三层通信
答案:
(1)广播域/逻辑网络
(2)端口隔离/port-isolate
(3)代理ARP
7.知识小结
知识点 | 核心内容 | 考试重点/易混淆点 | 难度系数 |
ARP协议作用 | 根据IP地址查找MAC地址,解决数据链路层封装时目的MAC未知的问题 | 动态ARP(学习) vs 静态ARP(手工绑定) | ⭐⭐ |
ARP工作流程 | 1. 查询本地ARP缓存(arp -a); 2. 无缓存则广播ARP请求(目的MAC为全F); 3. 目标主机单播回复ARP响应; 4. 更新ARP表 | 以太网帧头目的MAC(全F) vs ARP报文内目的MAC(全0) | ⭐⭐⭐ |
ARP命令 | arp -a:查看ARP表; arp -d:删除动态条目; arp -s:静态绑定IP与MAC | 静态绑定应用场景(如防ARP欺骗) | ⭐⭐ |
免费ARP | 检测IP冲突:请求自身IP的MAC地址,若收到回复则冲突 | 触发场景:DHCP分配IP后、路由器接口配置IP时 | ⭐⭐ |
代理ARP | 网关代答ARP请求,隐藏物理拓扑(如VLAN隔离场景) | 配置命令:arp-proxy inner-sub-vlan enable | ⭐⭐⭐⭐ |
RARP协议 | 反向ARP:通过MAC地址获取IP(无盘工作站场景) | 与ARP的方向相反 | ⭐⭐ |
ARP攻击与防御 | 攻击类型:伪造ARP应答(欺骗)、ARP泛洪(耗尽表项); 防御措施:静态绑定、动态ARP检测(DAI) | 案例分析高频考点 | ⭐⭐⭐⭐ |
ARP报文封装 | 直接封装在以太网帧中(类型字段0x0806) | 非IP层协议,易混淆点 | ⭐⭐⭐ |