当前位置: 首页 > 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表。

相关文章:

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

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

数学竞赛网站:构建互动学习的网络平台

2.1 MYSQL数据库 题目确定了是一个应用程序之后,就开始按部就班的进行设计与分析。本课题是需要数据库作为数据管理工具以及数据载体,从程序功能分析到数据分析,选择合适的关系型数据库是当下所选择的重要环节。关系型数据库可选择余地不多&a…...

IntelliJ IDEA 快捷键大全:提升开发效率的利器

目录 一、基础快捷键 1. 文件操作快捷键 2. 编辑(Editing) 2.1 代码补全与导航 2.2 代码编辑 2.3 代码折叠与展开 3. 查找与替换 4. 调试 5. 版本控制 高级快捷键 重构快捷键:让代码更加优雅 导航快捷键:快速定位代码 …...

机器人角度参考方式

机器人的角度可以根据需求和系统设计来决定。通常情况下,机器人角度(如航向角或偏航角)有两种常见的参考方式: 参考开机时的 0:这是最常见的方式,机器人在开机时会将当前的方向作为 0(即参考方向…...

VSCode:IDE显示设置 --自定义字体及主题颜色

VSCode:IDE显示设置 1.设置字体大小2.设置主题背景 1.设置字体大小 (1)打开VSCode。 (2)打开设置:File – Preferences – Settings。 (3)设置字体大小:Text Editor –…...

docker run命令大全

docker run命令大全 基本语法常用选项基础选项资源限制网络配置存储卷和挂载环境变量重启策略其他高级选项示例总结docker run 命令是 Docker 中最常用和强大的命令之一,用于创建并启动一个新的容器。该命令支持多种选项和参数,可以满足各种使用场景的需求。以下是 docker ru…...

Debezium日常分享系列之:Debezium 3.0.5.Final发布

Debezium日常分享系列之:Debezium 3.0.5.Final发布 重大变化Kafka信号源变更事件源信息块 新功能和改进核心允许在未知表上进行临时阻塞快照快照分发失败处理改进连接器启动配置日志改进 Postgres支持PostgreSQL 17的故障转移复制槽 Oracle跟踪部分回滚事件的新指标…...

机器学习常用评估Metric(ACC、AUC、ROC)

一、混淆矩阵 基于样本预测值和真实值是否相符,可得到4种结果: TP(True Positive):样本预测值与真实值相符且均为正,即真阳性 FP(False Positive):样本预测值为正而真实值为负,即假阳性 FN(False Negative…...

uniapp 微信小程序 功能入口

单行单独展示 效果图 html <view class"shopchoose flex jsb ac" click"routerTo(要跳转的页面)"><view class"flex ac"><image src"/static/dyd.png" mode"aspectFit" class"shopchooseimg"&g…...

typora数学符号

typora数学符号 Typora 是一个支持 LaTeX 数学公式的优秀 Markdown 编辑器&#xff0c;可以直接编写数学公式并实时渲染。以下是如何在 Typora 中使用数学公式的详细指南&#xff1a; 1. 启用数学公式支持 默认情况下&#xff0c;Typora 支持 LaTeX 格式的数学公式&#xff0…...

如何保障多个Facebook账号稳定运行:一账号一稳定IP?

在如今的数字营销和社交媒体运营中&#xff0c;管理多个Facebook账号已成为许多企业和个人的常态。然而&#xff0c;多个账号的管理不仅需要技巧&#xff0c;还需要策略&#xff0c;尤其是在IP地址和账号关联管理上。如果操作不当&#xff0c;可能会导致账号被封禁甚至无法解封…...

今日总结 2024-12-23

项目初始化 拉取代码与环境配置&#xff1a; 难点&#xff1a;Git 命令不熟悉&#xff0c;依赖文件定位不准&#xff0c;启动脚本含义不明。解决办法&#xff1a;系统学习 Git 基础操作&#xff0c;如通过官方文档、优质的 Git 教程视频&#xff0c;反复练习克隆、分支切换等常…...

c++------------------函数

函数定义 语法格式 函数定义包括函数头和函数体。函数头包含返回类型、函数名和参数列表。函数体是用花括号{}括起来的代码块&#xff0c;用于实现函数的功能。例如&#xff0c;定义一个计算两个整数之和的函数&#xff1a; int add(int a, int b) {return a b; }这里int是返回…...

软件信息化平台项目投标技术方案中如何进行项目实施方案以及安全质量方案培训售后方案应急预案的编写?

在软件平台投标技术方案中,项目实施方案、质量管理、安全管理、培训方案、售后服务方案和应急预案等章节至关重要,它们分别从不同角度确保项目的顺利实施、高质量交付、安全稳定运行、用户有效使用、持续服务保障以及应对突发情况的能力。各章节编制要点相互关联、协同作用,…...

Apache Tomcat 漏洞CVE-2024-50379条件竞争文件上传漏洞 servlet readonly spring boot 修复方式

1&#xff0c;关于漏洞 Apache Tomcat是一个流行的开源 Web 服务器和 Java Servlet 容器。 二、 漏洞描述 Apache Tomcat中修复了个 TOCTOU 竞争条件远程代码执行漏洞 (CVE-2024-50379)&#xff0c;该漏洞的 CVSS 评分为 9.8。Apache Tomcat 中 JSP 编译期间存在检查时间使用时…...

中国信通院致信感谢易保全:肯定贡献能力,期许未来合作

近日&#xff0c;中国信息通信研究院&#xff08;以下简称“中国信通院”&#xff09;向易保全发感谢信表达谢意&#xff0c;对其在中国信通院牵头的“铸基计划”——企业数字化转型高质量发展推进行动实施中展现出的重要贡献给予了高度评价和肯定&#xff0c;并展望了双方至20…...

20241220流水的日报 mysql的between可以用于字符串 sql 所有老日期的,保留最新日期

1.F310A RKP有效性验证讨论&#xff1a;需连外网&#xff0c;需先用app生成标志&#xff0c;工具读标志。 2.M200 适配一个 给客户写配置的工具 mysql的between可以用于字符串 批量打印包装箱时&#xff0c;提示有重复N条的处理方法&#xff1a; --先备份数据库&#xff0c;删…...

低代码开源项目Joget的研究——安装部署

大纲 环境准备安装必要软件配置Java配置JAVA_HOME配置Java软链安装三方库 获取源码配置MySql数据库创建用户创建数据库导入初始数据 配置数据库连接配置sessionFactory编译下载tomcat启动下载aspectjweaver移动jw.war文件编写脚本运行 测试参考资料 Joget&#xff0c;作为一款开…...

《鸿蒙开发-答案之书》字符串占位符格式化

《鸿蒙开发-答案之书》字符串占位符格式化 先在string.json定义&#xff1a; {"name":"message_arrive","value":"We will arrive at %s."}使用&#xff0c;它有两种使用方式&#xff1a; 方式一&#xff1a; Text($r(app.string.…...

workman服务端开发模式-应用开发-gateway长链接端工作原理

一、长链接的工作原理 Register类其实也是基于基础的Worker开发的。Gateway进程和BusinessWorker进程启动后分别向Register进程注册自己的通讯地址&#xff0c;Gateway进程和BusinessWorker通过Register进程得到通讯地址后&#xff0c;就可以建立起连接并通讯了。而Gateway进程…...

idea大量爆红问题解决

问题描述 在学习和工作中&#xff0c;idea是程序员不可缺少的一个工具&#xff0c;但是突然在有些时候就会出现大量爆红的问题&#xff0c;发现无法跳转&#xff0c;无论是关机重启或者是替换root都无法解决 就是如上所展示的问题&#xff0c;但是程序依然可以启动。 问题解决…...

Docker 运行 Kafka 带 SASL 认证教程

Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明&#xff1a;server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

STM32+rt-thread判断是否联网

一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...

macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用

文章目录 问题现象问题原因解决办法 问题现象 macOS启动台&#xff08;Launchpad&#xff09;多出来了&#xff1a;Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显&#xff0c;都是Google家的办公全家桶。这些应用并不是通过独立安装的…...

React19源码系列之 事件插件系统

事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

ffmpeg(四):滤镜命令

FFmpeg 的滤镜命令是用于音视频处理中的强大工具&#xff0c;可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下&#xff1a; ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜&#xff1a; ffmpeg…...

IT供电系统绝缘监测及故障定位解决方案

随着新能源的快速发展&#xff0c;光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域&#xff0c;IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选&#xff0c;但在长期运行中&#xff0c;例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?

uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件&#xff0c;用于在原生应用中加载 HTML 页面&#xff1a; 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...

Go 并发编程基础:通道(Channel)的使用

在 Go 中&#xff0c;Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式&#xff0c;用于在多个 Goroutine 之间传递数据&#xff0c;从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...

多模态图像修复系统:基于深度学习的图片修复实现

多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...