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
相关推荐
乔旭伟16 分钟前
CentOS 停更迁移实战:vault 源配置、目标选型与迁移工程清单
linux·运维·centos
遇印记18 分钟前
应用层,网络管理
运维·网络·windows·学习·安全
鬼手点金23 分钟前
ReAct 循环
linux·服务器·前端·javascript·react.js·前端框架
EterNity_TiMe_42 分钟前
Docker服务越装越多记不住端口?我用Fenrus把NAS里的常用入口整理成一个导航页
运维·人工智能·docker·ai·容器·cpolar
l1t1 小时前
修改两处,让SQLite求解数独SQL在datafusion上运行
服务器·数据库·sql
IT大白鼠2 小时前
AI SSH 运维助手 V13.0内部版七项私有新特性全解
运维·人工智能·ssh
天蓝蓝的本我2 小时前
ollama外部无法访问.ollama.service 文件无法写入.ollama外部无法访问.
运维·网络
帷幕落秋2 小时前
经典命令场景与软硬链接
linux·运维
派小心.2 小时前
DAU和MAU怎么计算?先确定活跃事件、用户键和统计窗口
大数据·服务器·前端·人工智能·数据分析
data analyse 4563 小时前
Session数怎么计算?明确会话切分、超时与跨页规则
java·服务器·数据库