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

ARP 原理总结

🌐 一、ARP 原理总结

ARP(Address Resolution Protocol)是用于通过 IP 地址解析 MAC 地址的协议,工作在 链路层网络层之间(OSI 模型的第三层与第二层之间)。

🔁 ARP通信过程:

假设 A 要与 B 通信(已知 B 的 IP,不知道 B 的 MAC):

  1. A 先查自己的 ARP 缓存表;

  2. 若无对应项,则:

    • A 广播发送一个 ARP 请求(目标是 B 的 IP);

  3. B 收到后:

    • 把 A 的 IP–MAC 存入自己的 ARP 表;

    • 单播一个 ARP 回复(reply)给 A;

  4. A 收到 ARP reply:

    • 把 B 的 IP–MAC 存入自己的 ARP 表;

  5. 后续数据通信即可用 MAC 地址直接通信,无需再 ARP。


🧠 二、你的结论补充和修正

你说:

发一次,两个人都有相对应的ARP信息。

正确!

  • 因为请求发出后,接收者在回应前,也会顺便记录发送者的IP–MAC信息。

  • 所以 一次 ARP 请求 + 回复,就完成了双方的 ARP 学习。


📊 三、四个网段最多四次 ARP?

这个部分我们详细分析:

假设有 4 个网段,PC1 发往 PC4,会经过路由器转发(如每两个设备在一个广播域中),如下图所示:

在没有任何 ARP 缓存的前提下,每一跳都要进行 ARP 解析:

  • PC1 要找 R1(网关)的 MAC → 发一次 ARP

  • R1 要找 R2 的接口 MAC → 发一次 ARP

  • R2 要找 R3 的接口 MAC → 发一次 ARP

  • R3 要找 PC4 的 MAC → 发一次 ARP

所以:

最多:4 次 ARP 请求(每一跳一次)


❗️那为什么说“最少 0 次 ARP 请求”?

因为如果所有相关设备的 ARP 缓存都已存在(即:之前已经通信过,或静态绑定),则不再发 ARP 请求:

最少:0 次 ARP 请求


✅ 总结:ARP 关键点

情况是否需要 ARP 请求
本机 ARP 表有记录❌ 不需要
本机 ARP 表没有记录✅ 需要请求
一次 ARP 请求+回复✅ 双方都学到 MAC
多网段通信(无缓存)✅ 每跳一次
多网段通信(都有缓存)❌ 不发请求

相关文章:

  • 全新的开源监控工具CheckCle
  • C++学习:六个月从基础到就业——C++20:范围(Ranges)进阶
  • Supermemory:让大模型拥有“长效记忆“
  • 开源AI大模型等“神秘组合”,如何颠覆零售业数字化转型?
  • 统计客户端使用情况,使用es存储数据,实现去重以及计数
  • java中的Servlet4.x详解
  • GitHub排名第一的开源ERP项目:Odoo生产计划与执行的功能概述
  • Git初始化本地已有项目,并推送到远端Git仓库完整操作指南
  • Linux《自主Shell命令行解释器》
  • 昆仑通态MCGSpro,自定义配方功能
  • 用 CodeBuddy 搭建「MiniGoal 小目标打卡器」:一次流畅的 UniApp 开发体验
  • Grafana当前状态:SingleStat面板
  • Windows系统编译Qt使用的kafka(librdkafka)
  • 精益数据分析(68/126):数据透视表实战与解决方案验证——从问卷分析到产品落地的关键跨越
  • python学习day1
  • MTK zephyr平台:系统休眠流程
  • Golang的网络安全策略实践
  • 数据库连接池技术与 Druid 连接工具类实现
  • Golang中的runtime.LockOSThread 和 runtime.UnlockOSThread
  • RabbitMQ通信模式(Simplest)Python示例
  • 中国预警机雷达有多强?可数百公里外看清足球轨迹
  • “十五五”时期长三角需创新机制,形成高水平一体化合作路径
  • 国家统计局:1-4月份,全国固定资产投资同比增长4.0%
  • 建筑瞭望|从黄浦江畔趸船改造看航运设施的升级与利用
  • 重庆城市轨道交通拟听证调价:公布两套票价方案,正征求意见
  • 病重老人取钱在银行门口去世,家属:已协商一致