当前位置: 首页 > news >正文

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

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

目录

ARP 详解(IPv4)

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

免费 ARP(Gratuitous ARP)

代理 ARP(Proxy ARP)

RARP 反向地址解析协议

作用:和 ARP 完全反向

ARP报文

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

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

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


ARP 详解(IPv4)

1. 核心报文两种

(1)ARP Request(ARP 请求)

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

(2)ARP Reply(ARP 响应)

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

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

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

  • 目标 MAC 全 F:广播免费 ARP
  • 目标 MAC 为本机:单播免费 ARP

3. 工作局限

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

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

作用

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

  1. ARP Request 请求
    • 常规场景:二层目标 MACFF: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报文

二层以太网头部

字段长度说明
目标 MAC6 字节请求:全 F 广播;响应:请求方主机 MAC
源 MAC6 字节发送方网卡 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三层设备冒充目标主机回包
RARPMAC 查 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)
适用网络IPv4IPv6,彻底取代 ARP
传输载体二层广播 / 单播无广播,仅组播、单播
查询报文ARP Request(广播为主)NS 邻居请求(请求节点组播)
回复报文ARP Reply(永远单播)NA 邻居通告(单播回复 / 组播主动宣告)
核心功能仅 IP→MAC 地址解析地址解析 + 网关发现 + DAD 冲突检测 + 自动地址配置
二层目标特征广播 MACFF:FF:FF:FF:FF:FFIPv6 请求节点组播 MAC33: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
http://www.jsqmd.com/news/1139292/

相关文章:

  • Unity手游逆向:Assembly-CSharp.dll加密识别与内存转储实战指南
  • LLM嵌入运动规划内核:语义约束自动转数学表达
  • 计算机毕业设计之jsp汽车养护网站的设计与实现
  • 2026企业级Agent产品推荐,三大选型标准与5款客服Agent横评
  • 从花屏到丢帧:视频设备晶振选型 6 大致命误区,90% 研发都踩过
  • 【从零构建分布式在线评测系统】二、Judge0服务器上的心跳程序
  • OPA191 非反相放大器 PCB 布局:3 项关键优化将噪声降低 20dB(附对比图)
  • Windows Server 2008 R2 IIS 低权限 WebShell 提权实战
  • ArcGIS Pro 3.6.3学习版安装全解析:环境、许可与排错
  • Vue导航守卫学习
  • 煤炭井下通信链路隐患排查,GN-W10A 测试设备适配矿山复杂网络环境
  • 为什么说Notepad--是你跨平台文本编辑的最佳选择?
  • 如何创建openEuler新语言翻译团队?完整申请与审批流程指南
  • CryptoJS v4.0.0 模块化升级与实战:JavaScript加密库核心用法解析
  • 【Springboot毕设全套源码+文档】基于springboot蔬菜超市系统的设计与实现(丰富项目+远程调试+讲解+定制)
  • 秋冬服装营销缺创意?先知大模型重塑内容生产力
  • 2026最新微信小程序怎么做自己的店铺全流程
  • AI合规工具:AI合规审计工具的选型与使用指南
  • TLS证书撤销机制深度解析:从CRL、OCSP到Nginx实战配置
  • AI-Shoujo HF Patch完整安装与配置指南:从模组整合到创作平台搭建
  • AutoGLM安卓端侧部署实战:从ADB到本地大模型运行
  • 城市污水管网监测的主要内容
  • 在后台服务中使用 Scoped 服务,为什么总是报错?
  • 从闭源平台的数据困局,到搭建真正属于自己的 AI 知识库
  • CTF Web入门:从HTTP响应包中寻找Flag的侦察思维与实战方法
  • 影刀RPA新手教程:界面布局完全指南——指令区、画布区、属性区深度解析与使用技巧
  • MD5加密Java代码?别找了,就这30行直接抄
  • Pytest+Requests+Allure:构建现代化接口自动化测试框架的实践指南
  • 【2026深度解析】Web渗透测试全流程实战指南:从信息收集到AI攻防进阶
  • WAM-Nav:不对称架构驱动的可解释机器人导航框架