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

[计算机网络]ARP协议的故事:小明找小红的奇妙旅程

1.ARP小故事

在一个繁忙的网络世界中,每个设备都有自己的身份标识——MAC地址,就像每个人的身份证号码一样。在这个故事里,我们的主角小明(主机)需要找到小红(目标主机)的MAC地址,才能给她发送一条重要的消息。

第一幕:小明准备出发

小明住在局域网(LAN)中,他知道小红也在同一个局域网里。小明知道小红的IP地址是192.168.1.2,但他不知道小红的MAC地址。为了找到小红,小明决定使用ARP(地址解析协议)。

第二幕:ARP请求

小明在家里(主机)准备了一条ARP请求消息,这条消息就像是一封寻人启事,内容是:“谁有IP地址192.168.1.2?请告诉我你的MAC地址!”小明把这条消息广播到局域网中,就像在村里大喊:“谁认识小红?请告诉我她的地址!”

第三幕:局域网中的设备

局域网中的所有设备都收到了小明的ARP请求消息。它们检查自己的IP地址,看看是否与请求中的IP地址匹配。就像村里的人们听到喊声后,纷纷查看自己是否认识小红

第四幕:小红的回应

小红听到了小明的呼唤,发现请求中的IP地址正是自己的。她决定回应小明。小红准备了一条ARP回应消息,内容是:“我是192.168.1.2,我的MAC地址是00:1A:2B:3C:4D:5E。”小红把这条消息直接发送给小明,就像小红直接走到小明面前,告诉他自己的地址。

第五幕:小明收到回应

小明收到了小红的ARP回应消息,终于知道了小红的MAC地址。他把这条消息记录在自己的ARP缓存中,就像小明把小红的信息记在了笔记本上。


第六幕:小明发送消息

现在,小明知道了小红的MAC地址,他可以把消息封装成数据帧,并在数据帧的首部填入小红的MAC地址。小明把数据帧发送到局域网中,就像小明把信送到小红手里。

2.ARP协议(Address Resolution Protocol)详细过程

        1. ARP高速缓存的作用(ARP Cache)

  1. 存放IP地址到MAC地址的映射表
  2. 映射表动态更新(新增或超时删除)
  3. 存放最近获得的IP地址到MAC地址的绑定
  4. 减少ARP广播的通信量
  5. 为进一步减少ARP通信量,主机A在发送ARP请求分组时,就将自己的IP地址到MAC地址的映射写入ARP请求分组
  6. 当主机B收到A的ARP请求分组时,就将主机A的IP地址及其对应的MAC地址映射写入主机B自己的ARP高速缓存中,不必再发送ARP请求。

2)ARP协议的工作原理

一条视频讲清楚什么是ARP协议-ARP攻击又是什么_哔哩哔哩_bilibili

  1. 操作系统缓存要发送的报文

源主机要对目的主机发送一帧数据报文,计算机操作系统会把这一数据包缓存起来。

2>计算机广播ARP请求帧

计算机会 向网络中的所有计算机进行广播,收到广播的计算机会解析这一请求帧,查看目标IP地址,如果和自己的IP地址是一样的,就会对这一请求帧进行应答,生成一个ARP回复报文,以单播的形式把自己的目标MAC地址告诉给源主机。源主机收到目标MAC地址后,填入ARP协议帧中。

然后操作系统缓存的数据包就可以正常进行发送了。

3>将之更新入ARP表,方便下次查询

更新入ARP表,下次查询,直接在ARP表中进行查询,如果没查询到,才会重复1>2>步骤。

4>IP地址可以变化,MAC地址不会变化

IP地址可以手动设置修改,但是经过修改后,操作系统会向网络中的所有节点广播一个免费数据包,让网络中的其他设备几乎可以立即更新ARP表。

http://www.lryc.cn/news/508630.html

相关文章:

  • 数学竞赛网站:构建互动学习的网络平台
  • IntelliJ IDEA 快捷键大全:提升开发效率的利器
  • 机器人角度参考方式
  • VSCode:IDE显示设置 --自定义字体及主题颜色
  • docker run命令大全
  • Debezium日常分享系列之:Debezium 3.0.5.Final发布
  • 机器学习常用评估Metric(ACC、AUC、ROC)
  • uniapp 微信小程序 功能入口
  • typora数学符号
  • 如何保障多个Facebook账号稳定运行:一账号一稳定IP?
  • 今日总结 2024-12-23
  • c++------------------函数
  • 软件信息化平台项目投标技术方案中如何进行项目实施方案以及安全质量方案培训售后方案应急预案的编写?
  • Apache Tomcat 漏洞CVE-2024-50379条件竞争文件上传漏洞 servlet readonly spring boot 修复方式
  • 中国信通院致信感谢易保全:肯定贡献能力,期许未来合作
  • 20241220流水的日报 mysql的between可以用于字符串 sql 所有老日期的,保留最新日期
  • 低代码开源项目Joget的研究——安装部署
  • 《鸿蒙开发-答案之书》字符串占位符格式化
  • workman服务端开发模式-应用开发-gateway长链接端工作原理
  • Android 关于Tencent vConsole 添加入webView 总结
  • 【路径规划】原理及实现
  • 【AIGC】ChatGPT 结构化 Prompt 的高级应用
  • Go web 开发框架 Iris
  • uniapp Native.js 调用安卓arr原生service
  • C#代码实现把中文录音文件(.mp3 .wav)转为文本文字内容
  • 【一文了解】C#重点-委托1
  • WPF+MVVM案例实战与特效(四十五)- 打造优雅交互:ListBox 的高级定制与行为触发(侧边菜单交互面板)
  • 新版Android Studio 2024.1.2版本,如何通过无线wifi连接手机实现交互
  • VTK知识学习(26)- 图像基本操作(一)
  • 2024年9月AI头条新闻:创新与挑战并存