[计算机网络]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表。

相关推荐
一只码代码的章鱼2 分钟前
计算机网络 应用层 笔记 (电子邮件系统,SMTP,POP3,MIME,IMAP,万维网,HTTP,html)
笔记·计算机网络·microsoft
学游戏开发的1 小时前
UE求职Demo开发日志#19 给物品找图标,实现装备增加属性,背包栏UI显示装备
c++·笔记·游戏引擎·unreal engine
云缘若仙1 小时前
directx12 3d+vs2022游戏开发第三章 笔记五 变换
笔记·3d
前端达人3 小时前
「AI学习笔记」深度学习进化史:从神经网络到“黑箱技术”(三)
人工智能·笔记·深度学习·神经网络·学习
wdxylb5 小时前
GIt使用笔记大全
笔记·git·elasticsearch
一只码代码的章鱼6 小时前
计算机网络 应用层 笔记1(C/S模型,P2P模型,FTP协议)
笔记·计算机网络
霸王蟹6 小时前
el-table组件样式如何二次修改?
前端·javascript·vue.js·笔记·学习·前端框架
haidizym6 小时前
(笔记+作业)书生大模型实战营春节卷王班---L1G3000 浦语提示词工程实践
笔记
字节全栈_kYu6 小时前
FastDFS实用笔记 (Docker 搭建环境 + 整合 SpringBoot)
spring boot·笔记·docker
憨猪在度假7 小时前
Cmake学习笔记
c++·笔记·学习