[计算机网络]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.rhkb.cn/news/492631.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IP协议详解

目录 一. IP协议概述 1. 概念 2. 特点 (1) 无连接性 (2) 不可靠传输 (3) 数据包分片和重组 二. IP协议报文格式 1. 版本 (4位) 2. 首部长度 (4位) 3. 服务类型 (8位) 4. 总长度 (16位) 5. 标识, 标志位, 片偏移 6. 生存时间 (8位) 7. 协议 (8位) 8. 首部检验和 (1…

使用Gradio编写大模型ollama客户端 -界面版

使用Gradio编写大模型ollama客户端 -界面版 flyfish 文末包含完整源码 图例 sqlite3 是 Python 内置的一个库,用于与 SQLite 数据库进行交互。SQLite 是一个轻量级的数据库,它不需要单独的服务器进程或系统的配置,非常适合于嵌入式应用和…

[IT项目管理]九.项目质量管理

九.项目质量管理 9.1项目质量管理的重要性 对于很多IT项目的差劲,大多数人只可以忍受。项目质量管理是IT项目管理的重要组成部分,对于提高项目成功率、降低项目成本、提升客户满意度至关重要。尽管很多人对IT项目的质量问题感到无奈&#x…

SSM 框架结合 Vue 实现电脑测评系统:助力用户明智选择

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常适…

图像生成工具WebUI

介绍 Stable Diffusion WebUI(AUTOMATIC1111,简称A1111)是一个为高级用户设计的图形用户界面(GUI),它提供了丰富的功能和灵活性,以满足复杂和高级的图像生成需求。如今各种人工智能满天飞&…

智源大模型通用算子库FlagGems四大能力升级 持续赋能AI系统开源生态

FlagGems是由智源研究院于2024年6月推出的面向多种AI芯片的开源大模型通用算子库。FlagGems使用Triton语言开发,在Triton生态开源开放的基础上,为多种AI芯片提供开源、统一、高效的算子层生态接入方案。FlagGems沿着统一的中间语言、统一的算子接口和统一…

FFmpeg库之ffplay

文章目录 FFmpeg环境搭建ffplay使用通用选项视频选项音频选项快捷键使用滤镜直播拉流 FFmpeg环境搭建 FFmpeg官网 FFmpeg环境搭建 ./configure \--prefix"$HOME/ffmpeg" \--extra-cflags"-I$HOME/ffmpeg/include" \--extra-ldflags"-L$HOME/ffmpeg…

HTTP协议和接口测试详解

介绍接口测试前我们先来介绍一下HTTP协议,为什么先要介绍HTTP协议呢因为因为我们做接口测试其实就是用测试工具(postman,fiddler,jmeter等等)或代码来模拟用户使用软件的场景,在我们模拟的时候不像平时功能测试时我们有已经开发完…

CVE-2024-32709 WordPress —— Recall 插件存在 SQL 注入漏洞

漏洞描述 WordPress 是一款免费开源的内容管理系统,适用于各类网站,包括个人博客、电子商务系统、企业网站。其插件 WP-Recall 的 account 存在 SQL 注入漏洞,攻击者可以通过该漏洞获取数据库敏感信息。 WP-Recall 版本 <= 16.26.5 漏洞复现 搭建环境、安装插件、完成…

深度学习之目标检测篇——残差网络与FPN结合

特征金字塔多尺度融合特征金字塔的网络原理 这里是基于resnet网络与Fpn做的结合&#xff0c;主要把resnet中的特征层利用FPN的思想一起结合&#xff0c;实现resnet_fpn。增强目标检测backone的有效性。代码实现如下&#xff1a; import torch from torch import Tensor from c…

Qt之修改窗口标题、图标以及自定义标题栏(九)

Qt开发 系列文章 - titles-icons-titlebars&#xff08;九&#xff09; 目录 前言 一、修改标题 二、添加图标 三、更换标题栏 1.效果演示 2.创建标题栏类 3.定义相关函数 4.使用标题栏类 总结 前言 在我们利用Qt设计软件时&#xff0c;经常需要修改窗口标题、更改软…

睡岗和玩手机数据集,4653张原始图,支持YOLO,VOC XML,COCO JSON格式的标注

睡岗和玩手机数据集&#xff0c;4653张原始图&#xff0c;支持YOLO&#xff0c;VOC XML&#xff0c;COCO JSON格式的标注 数据集分割 训练组70&#xff05; 3257图片 有效集20&#xff05; 931图片 测试集10&#xff05; 465图片 预处理 没有采用任何预处…

GIN

gin是什么 Gin 是一个用 Go (Golang) 编写的 HTTP Web 框架。 它具有类似 Martini 的 API&#xff0c;但性能比 Martini 快 40 倍。如果你需要极好的性能&#xff0c;使用 Gin 吧。 特点&#xff1a;gin是golang的net/http库封装的web框架&#xff0c;api友好&#xff0c;注…

Git安装及基础学习

Git学习 Git安装 概述&#xff1a; Git是一个开源的分布式版本控制系统&#xff0c;可以有效、高速的处理 从很小到非常大的项目版本管理&#xff0c;是目前使用范围最广的版本 管理工具。 下载安装&#xff1a; 下载地址&#xff1a;https://git-scm.com/ 下载后傻瓜式一键安…

【Rust自学】4.2. 所有权规则、内存与分配

4.2.0 写在正文之前 在学习了Rust的通用编程概念后&#xff0c;就来到了整个Rust的重中之重——所有权&#xff0c;它跟其他语言都不太一样&#xff0c;很多初学者觉得学起来很难。这个章节就旨在让初学者能够完全掌握这个特性。 本章有三小节&#xff1a; 所有权&#xff1…

git stash 的文件如何找回

在Git中&#xff0c;如果你使用了git stash命令来保存你的工作进度&#xff0c;但之后想要找回这些被stash的文件&#xff0c;你可以按照以下步骤进行操作&#xff1a; 1. 查看stash列表 首先&#xff0c;使用git stash list命令来查看当前保存的所有stash记录。这个命令会列出…

如何构建一个可信的联邦RAG系统。

今天给大家分享一篇论文。 题目是&#xff1a;C-RAG&#xff1a;如何构建一个可信的联邦检索RAG系统。 论文链接:https://arxiv.org/abs/2412.13163 论文概述 尽管大型语言模型 (LLM) 在各种应用中展现出令人印象深刻的能力&#xff0c;但它们仍然存在可信度问题&#xff…

2025年入职/转行网络安全,该如何规划?网络安全职业规划

网络安全是一个日益增长的行业&#xff0c;对于打算进入或转行进入该领域的人来说&#xff0c;制定一个清晰且系统的职业规划非常重要。2025年&#xff0c;网络安全领域将继续发展并面临新的挑战&#xff0c;包括不断变化的技术、法规要求以及日益复杂的威胁环境。以下是一个关…

Ansible playbook 详解与实战操作

一、概述 playbook 与 ad-hoc 相比,是一种完全不同的运用 ansible 的方式&#xff0c;类似与 saltstack 的 state 状态文件。ad-hoc 无法持久使用&#xff0c;playbook 可以持久使用。 playbook 是由一个或多个 play 组成的列表&#xff0c;play 的主要功能在于将事先归并为一…

ai绘图丨中国新年春节背景第二弹(附关键词

使用工具&#xff1a;千鹿AI 咒语&#xff1a;圆形平面讲台&#xff0c;5 个礼品盒和台灯交错排列&#xff0c;红色背景上的圆形&#xff0c;中国唐朝风格&#xff0c;红色和金色主题&#xff0c;3D 效果图&#xff0c;摄影棚灯光&#xff0c;简约产品展示模型&#xff0c;逼真…