目录标题
好的,我们来详细解释一下 ARP(Address Resolution Protocol) 和 NDP(Neighbor Discovery Protocol),它们分别用于 IPv4 和 IPv6 中的地址解析。
🧩 一、ARP:地址解析协议(IPv4 专用)
📌 用途
ARP 用于将 IPv4 地址 → MAC 地址 的转换,保证在局域网内能通过二层以太网进行通信。
🔧 工作流程
假设主机 A 想向主机 B 发送数据包,已知对方的 IP 是 192.168.1.10,但不知道 MAC 地址:
-
ARP 请求广播:
- A 广播一条请求:“谁是
192.168.1.10?请告诉我你的 MAC 地址。” - 所有主机都收到该广播,但只有 IP 为
192.168.1.10的主机会响应。
- A 广播一条请求:“谁是
-
ARP 响应单播:
- 主机 B 回复:“我就是
192.168.1.10,我的 MAC 地址是AA:BB:CC:DD:EE:FF。”
- 主机 B 回复:“我就是
-
缓存:
- 主机 A 把这个映射关系缓存到 ARP 表中(
arp -a可查看)。
- 主机 A 把这个映射关系缓存到 ARP 表中(
📋 命令示例
arp -a # 查看本机 ARP 缓存表
ip neigh # Linux 推荐替代命令
🧩 二、NDP:邻居发现协议(IPv6 专用)
📌 用途
NDP 是 IPv6 中用于地址解析、邻居状态监测、前缀发现、默认网关发现等功能的协议,替代了 ARP。
🔧 核心机制
NDP 通过 ICMPv6 协议 实现以下功能:
| 消息类型 | 功能 |
|---|---|
| 邻居请求(NS) | 类似 ARP 请求,查询对方的 MAC |
| 邻居通告(NA) | 类似 ARP 响应,告知自己的 MAC |
| 路由器通告(RA) | 路由器广播其存在与网络参数(如前缀) |
| 路由器请求(RS) | 主机启动时请求网络参数信息 |
| 重定向(Redirect) | 告知主机有更优的路由路径 |
📋 命令示例
ip -6 neigh # 查看 IPv6 邻居缓存表
🔍 ARP vs NDP 对比总结
| 项目 | ARP | NDP |
|---|---|---|
| 协议类型 | IPv4 专用 | IPv6 专用 |
| 协议实现 | L2 广播 + ARP 响应 | ICMPv6 消息(NS/NA) |
| 是否支持广播 | 是 | 否(使用组播) |
| 附加功能 | 仅地址解析 | 包含地址解析、邻居检测、网关发现等 |
| 安全性 | 易被 ARP 欺骗攻击 | 更安全,可用 RA Guard、SEND 等防护手段 |
✅ 实际意义
- 在 IPv4 中,如果 ARP 出现异常,通信将失败,常见于 ARP 缓存错误、ARP 欺骗攻击等;
- 在 IPv6 中,NDP 提供更丰富功能,但部署环境需支持完整的 ICMPv6 协议栈。
如需我为你绘制图解、做实验对比或讲解攻击防御方式,也可以继续扩展。是否需要补充这部分内容到你的笔记里?
463

被折叠的 条评论
为什么被折叠?



