ARP(地址解析协议)与NDP(邻居发现协议)

  • ARP(Address Resolution Protocol,地址解析协议) 用于 IPv4 网络:根据目标 IPv4 地址,查询对应的二层 MAC 地址。
  • NDP(Neighbor Discovery Protocol,邻居发现协议) 用于 IPv6 网络:完全替代 IPv4 的 ARP,同时额外集成网关发现、重复地址检测、路由前缀通告等功能

目录

[ARP 详解(IPv4)](#ARP 详解(IPv4))

[基础标准 ARP(正向地址解析,IPv4 核心)](#基础标准 ARP(正向地址解析,IPv4 核心))

[免费 ARP(Gratuitous ARP)](#免费 ARP(Gratuitous ARP))

[代理 ARP(Proxy ARP)](#代理 ARP(Proxy ARP))

[RARP 反向地址解析协议](#RARP 反向地址解析协议)

[作用:和 ARP 完全反向](#作用:和 ARP 完全反向)

ARP报文

[NDP 详解(IPv6,无广播,全部单播 / 组播)](#NDP 详解(IPv6,无广播,全部单播 / 组播))

[1. NDP 五大核心报文(ICMPv6 类型)](#1. NDP 五大核心报文(ICMPv6 类型))

[2. NDP 额外能力(ARP 没有)](#2. NDP 额外能力(ARP 没有))


ARP 详解(IPv4)

  1. 核心报文两种

(1)ARP Request(ARP 请求)

  • 常规场景(未知对端 MAC):二层目标 MAC FF:FF:FF:FF:FF:FF广播报文 作用:在整个 VLAN 广播询问 "谁是这个 IP,请回复你的 MAC"
  • 特殊场景(交换机 MAC 老化探测、邻居保活):单播 ARP 请求 二层目标 MAC 填已知对端 MAC → 单播报文,仅探测单台设备是否在线

(2)ARP Reply(ARP 响应)

永远是单播报文:目标 MAC 直接填写请求方主机 MAC,一对一回复,不广播。

  1. 补充:免费 ARP(Gratuitous ARP)

主机开机 / 改 IP 主动发送,宣告自己 IP 与 MAC 映射,分两种:

  • 目标 MAC 全 F:广播免费 ARP
  • 目标 MAC 为本机:单播免费 ARP
  1. 工作局限

仅完成 IP→MAC 解析;网关发现、地址冲突检测需要额外报文(如广播),功能单一

基础标准 ARP(正向地址解析,IPv4 核心)

作用

已知IPv4 地址,查询对应二层 MAC 地址;分为请求、响应两种报文

  1. ARP Request 请求
    • 常规场景:二层目标 MAC FF:FF:FF:FF:FF:FF广播,全网询问目标 IP 的 MAC
    • 保活探测:交换机单播 ARP 探测主机在线,目标 MAC 填终端真实 MAC → 单播
    • 字段:源 IP / 源 MAC、目标 IP、目标 MAC 全 0
  2. ARP Reply 响应
    • 永远单播发送,直接回复请求主机的 MAC,不广播
    • 字段:填充完整目标 MAC,告知对方本机 IP-MAC 映射

转发规则

同网段主机收到广播 ARP 请求,匹配目标 IP 则回复;不匹配直接丢弃

免费 ARP(Gratuitous ARP)

核心特点

主机主动发送 ARP 请求,目标 IP = 本机自身 IP,不需要别人回复,两大用途:IP 冲突检测、更新全网 ARP 表

  1. 两种发送形式
    • 广播免费 ARP:目标 MAC 全 F,网段所有设备接收
    • 单播免费 ARP:目标 MAC 为本机 MAC,仅更新对端 ARP 缓存
  2. 典型场景
    • 设备开机、网卡重启、手动修改 IP
    • 服务器主备切换(VRRP 故障切换,快速刷新全网 MAC 映射)
  3. 冲突检测逻辑:若收到本机 IP 的 ARP 回复,代表网段存在 IP 冲突

和普通 ARP Request 区别

普通 ARP:目标 IP 是别人,目的是获取对方 MAC; 免费 ARP:目标 IP 是自己,目的是宣告自己、检测冲突

代理 ARP(Proxy ARP)

适用场景

两台主机不在同一网段、无网关路由,但中间路由器开启代理 ARP,伪装成对端回复 ARP

  1. 工作流程 主机 A 发送广播 ARP 请求,询问跨网段主机 B 的 IP; 中间路由器拥有去往 B 的路由,代替 B 回复 ARP Reply,回复 MAC 是路由器自身接口 MAC; A 后续所有流量发给路由器,路由器再转发给 B
  2. 典型使用环境
    • 子网划分不规范,主机掩码配置错误
    • 老旧设备不支持网关,无法配置默认路由
    • 简单跨网段互通,不配置三层网关
  3. 优缺点 ✅ 无需修改终端 IP / 掩码,实现跨网段互通 ❌ 消耗路由器 CPU,广播泛洪范围变大,容易产生 ARP 表溢出

关键区分

普通 ARP:同网段主机互相应答; 代理 ARP:三层设备代替跨网段主机应答 ARP 请求

RARP 反向地址解析协议

作用:和 ARP 完全反向

已知本机 MAC 地址,查询对应的 IPv4 地址

  1. 适用设备:无盘工作站、瘦客户机、工业终端(开机只有 MAC,没有配置 IP)
  2. 工作流程 终端发送广播 RARP 请求,携带自身 MAC; 内网 RARP 服务器存有 MAC-IP 映射表,单播回复分配的 IP
  3. 现状淘汰 现代网络全部用 DHCP 替代 RARP,RARP 几乎不再使用

ARP:IP → MAC;RARP:MAC → IP

ARP报文

二层以太网头部

字段 长度 说明
目标 MAC 6 字节 请求:全 F 广播;响应:请求方主机 MAC
源 MAC 6 字节 发送方网卡 MAC
类型字段 2 字节 0x0806 = ARP 报文(区分 IP 报文 0x0800)

ARP 载荷头部(固定 28 字节)

  • 硬件类型:2 字节,1 = 以太网
  • 协议类型:2 字节,0x0800 = IPv4
  • 硬件地址长度:1 字节,以太网 MAC 固定 6
  • 协议地址长度:1 字节,IPv4 固定 4
  • 操作码 Opcode(核心区分请求 / 响应)
    • 1 = ARP Request 请求
    • 2 = ARP Reply 响应
    • 3 = RARP Request
    • 4 = RARP Reply
  • 发送端 MAC SHA:6 字节,源 MAC
  • 发送端 IP SPA:4 字节,源 IPv4
  • 目标 MAC THA:6 字节,请求时填全 0;响应填目标主机 MAC
  • 目标 IP TPA:4 字节,要解析的目标 IPv4

类型 核心功能 报文特征
ARP(标准) IP 查 MAC,同网段互通 Request 广播;Reply 单播
免费 ARP 宣告本机 IP、检测 IP 冲突 目标 IP = 本机 IP,主动发送
代理 ARP 路由器代跨网段主机回复 ARP 三层设备冒充目标主机回包
RARP MAC 查 IP,无盘设备获取地址 已淘汰,由 DHCP 替代

NDP 详解(IPv6,无广播,全部单播 / 组播)

IPv6 取消二层广播,NDP 所有报文基于 IPv6 组播单播 传输,没有广播帧

1. NDP 五大核心报文(ICMPv6 类型)

  1. NS 邻居请求 Neighbor Solicitation(替代 ARP Request) 作用:查询 IPv6 对应的 MAC 地址 目标 IPv6:请求节点组播地址 FF02::1:FFXX:XXXX(组播) 等价 IPv4 的广播 ARP 请求,但底层是组播,不会泛洪所有设备
  2. NA 邻居通告 Neighbor Advertisement(替代 ARP Reply)
    • 主动回复 NS:单播,发给 NS 发送方
    • 主动宣告本机地址(重复地址检测 DAD):组播发送
  3. RS 路由器请求 Router Solicitation 终端上线,组播询问网段网关
  4. RA 路由器通告 Router Advertisement 网关周期性组播下发前缀、网关、DNS 信息(IPv6 自动组网关键)
  5. Redirect 重定向报文 网关单播告知终端更优下一跳

2. NDP 额外能力(ARP 没有)

  1. DAD 重复地址检测:开机自动检测网段是否有相同 IPv6,避免 IP 冲突
  2. 无状态地址自动配置(SLAAC):依靠 RA 报文自动生成 IPv6,无需 DHCPv6
  3. 网关、前缀、DNS 统一下发
  4. 邻居可达性探测,替代单播 ARP 保活
对比项 ARP(IPv4) NDP(IPv6)
适用网络 IPv4 IPv6,彻底取代 ARP
传输载体 二层广播 / 单播 无广播,仅组播、单播
查询报文 ARP Request(广播为主) NS 邻居请求(请求节点组播)
回复报文 ARP Reply(永远单播) NA 邻居通告(单播回复 / 组播主动宣告)
核心功能 仅 IP→MAC 地址解析 地址解析 + 网关发现 + DAD 冲突检测 + 自动地址配置
二层目标特征 广播 MAC FF:FF:FF:FF:FF:FF IPv6 请求节点组播 MAC 33:33:FF:xx:xx:xx
冲突检测 依靠免费 ARP 广播 内置 DAD 机制,标准化流程
  • IPv4 ARP 请求绝大多数是广播 ,探测保活 ARP 请求是单播;ARP 响应一定单播。
  • IPv6 没有广播,不存在广播型地址解析,全部靠 NDP 组播 NS 报文实现 ARP 同等功能。
  • NDP = ARP + 网关发现 + IP 冲突检测 + 自动配置,功能远强于 ARP。
  • 二层 MAC 区分: ARP 广播帧目标 MAC 全 F; NDP 组播报文 MAC 以33:33开头,属于 IPv6 专属组播 MAC
相关推荐
Qimooidea2 小时前
祁木 CAD Translator 全套功能 & 官网入口汇总
运维·服务器
梦想的颜色2 小时前
Docker 容器化本地部署 Claude Code 完整硬核教程|隔离沙盒 + 国产模型直连 + 持久化 Skill
运维·容器·ai 工程化·沙盒隔离·docker 本地部署·claude code硬核实战·国内国产模型接入
wbs_scy3 小时前
仿 muduo 高并发服务器项目:从 timerfd 到时间轮实现定时任务机制
linux·服务器·c++
小趴菜え3 小时前
升级Ubuntu20.04版本至Ubuntu22.04
linux·运维
渣渣盟3 小时前
Docker 运维常用命令手册(含扩容与实战)
运维·docker·容器
小羊Yveesss3 小时前
2026年外贸建站服务器怎么选?访问速度、稳定性和海外收录怎么判断
大数据·运维·服务器
Darkwanderor4 小时前
Linux进程优先级操作
linux·运维·c语言·c++
小五传输4 小时前
内外网文件交换系统产品推荐 解决隔离网络文件交换5类难题
大数据·运维·安全
AOwhisky4 小时前
Linux(CentOS)系统管理入门笔记(第一期)——从 Multics 到主流发行版
linux·运维·笔记·centos·云计算