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

ARP协议(地址解析协议)

ARP协议是用来把IP地址转换成MAC地址的。
因为在局域网里,真正通信靠的是MAC地址,但我们平时只知道目标的IP地址,所以需要一个办法把IP地址变成MAC地址 —— 这个过程就是靠ARP完成的。

举个超简单的例子:

  • 你电脑要发数据给192.168.1.10这台机器,但你不知道它的MAC地址。

  • 你电脑就会发出一个ARP请求广播,问:“谁是192.168.1.10?请告诉我你的MAC地址!”

  • 如果192.168.1.10在这网段上,它就会回答:“我在这里,我的MAC地址是xx:xx:xx:xx:xx:xx。”

  • 你的电脑记下这个MAC地址,然后开始真正的数据传输。

总结一句话
➡️ ARP协议是在局域网中,根据IP地址找对应MAC地址的一种协议。

假设你的计算机(A)要向另一台计算机(B)发送数据,A的IP地址是192.168.1.5,B的IP地址是192.168.1.10,但A并不知道B的MAC地址(即硬件地址),而只有B的IP地址

ARP协议的过程:

  1. A发送ARP请求

    • A的操作系统发现它没有B的MAC地址,因此就会生成一个ARP请求包。ARP请求的格式大概是:

      • 发送者IP:192.168.1.5(A的IP)

      • 发送者MAC:A的MAC地址

      • 目标IP:192.168.1.10(B的IP)

      • 目标MAC:全是0,因为A不知道B的MAC地址。

    • 然后A会广播这个ARP请求到整个局域网(即发送到局域网内的所有设备)。

  2. B响应ARP请求

    • 局域网中的所有设备都会收到ARP请求,但只有IP地址为192.168.1.10的B会对这个请求做出回应。

    • B的操作系统收到ARP请求后,会发现请求的目标IP正是它的IP,于是B会生成一个ARP响应包,内容包括:

      • 发送者IP:192.168.1.10(B的IP)

      • 发送者MAC:B的MAC地址

      • 目标IP:192.168.1.5(A的IP)

      • 目标MAC:A的MAC地址(B知道这个信息)

    • 然后B将这个响应包直接发送回A(不再是广播,而是单播)。

  3. A收到ARP响应

    • A收到B的ARP响应后,获取了B的MAC地址,并将其存储在自己的ARP缓存表中,方便以后使用。

  4. 数据传输

    • 现在,A已经知道B的MAC地址,它可以直接用B的MAC地址来发送数据包了。

    • 发送的数据包的目标MAC地址就可以是B的MAC地址,目标IP地址是B的IP地址。

    • 数据可以通过MAC地址在局域网内被正确地转发到B。

过程总结:

  • A不知道B的MAC地址,于是A发送ARP请求广播给局域网。

  • B响应A的请求,告诉A它的MAC地址。

  • A根据B的MAC地址直接向B发送数据。

ARP缓存:

  • 为了避免每次通信都进行ARP请求,A会把B的IP与MAC地址保存在ARP缓存表中(每隔一段时间会过期,必须重新ARP请求)。

http://www.xdnf.cn/news/185473.html

相关文章:

  • Unreal Niagara制作Scratch随模型发射粒子特效
  • Make学习二:makefile组成要素
  • 基于STM32、HAL库的ADS1115模数转换器ADC驱动程序设计
  • 驱动开发硬核特训 · Day 22(上篇): 电源管理体系完整梳理:I2C、Regulator、PMIC与Power-Domain框架
  • ByeCode,AI无代码开发平台,拖拽式操作构建应用
  • OpenFeign 自定义拦截器
  • 基于javaweb的SpringBoot在线电子书小说阅读系统设计与实现(源码+文档+部署讲解)
  • Java详解LeetCode 热题 100(02):LeetCode 49. 字母异位词分组(Group Anagrams)详解
  • 一、接口测试01
  • 基于Python Flask的深度学习电影评论情感分析可视化系统(2.0升级版,附源码)
  • 简单的 shell 程序
  • 德州仪器(TI)—TDA4VM芯片详解—目录
  • 十七、系统可靠性分析与设计
  • Vue3 + OpenLayers 开发教程 (六)WebGL渲染优化
  • 【Nova UI】十二、打造组件库之按钮组件(上):迈向功能构建的关键一步
  • Linux系统类型及常用操作命令总结
  • Linux一个系统程序——进度条
  • QT中的事件及其属性
  • 大学之大:伦敦政治经济学院2025.4.27
  • onnexruntime u2net sharp 实现开源图片处理软件
  • vue 打包设置
  • DFPatternFunctor遍历计算图
  • 【博客系统】博客系统第一弹:博客系统项目配置、MyBatis-Plus 实现 Mapper 接口、处理项目公共模块:统一返回结果、统一异常处理
  • 关于华为高斯数据库出现Invalid or unsupported by client SCRAM mechanisms定位解决的过程
  • -信息革命-
  • OpenManus云端部署及经典案例应用
  • 心磁图技术突破传统局限!心血管疾病早筛迈入“三零“新时代
  • TV launcher官方下载-tv launcher汉化版-tv桌面启动器极简下载
  • c++17 对于临时对象作为右值的优化
  • MRI学习笔记-conjunction analysis