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协议的过程:
-
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请求到整个局域网(即发送到局域网内的所有设备)。
-
-
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(不再是广播,而是单播)。
-
-
A收到ARP响应
-
A收到B的ARP响应后,获取了B的MAC地址,并将其存储在自己的ARP缓存表中,方便以后使用。
-
-
数据传输
-
现在,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请求)。
相关文章:
ARP协议(地址解析协议)
ARP协议是用来把IP地址转换成MAC地址的。 因为在局域网里,真正通信靠的是MAC地址,但我们平时只知道目标的IP地址,所以需要一个办法把IP地址变成MAC地址 —— 这个过程就是靠ARP完成的。 举个超简单的例子: 你电脑要发数据给192.1…...
深度学习常见框架:TensorFlow 与 PyTorch 简介与对比
🐇明明跟你说过:个人主页 🏅个人专栏:《深度探秘:AI界的007》 🏅 🔖行路有良友,便是天堂🔖 目录 一、引言 1、为什么需要深度学习框架? 2、框架的发展背…...
iOS 类与对象底层原理
iOS 类与对象底层原理 文章目录 iOS 类与对象底层原理探索对象本质objc_setProperty 源码cls与类的关联原理联合体isa的类型isa_t 原理探索initIsa方法通过setClass方法中的shiftcls来验证绑定的一个流程通过 isa & ISA_MSAK通过object_getClass通过位运算 类&类的结构…...
Babel、core-js、Loader之间的关系和作用全解析
在现代前端开发中,Babel、polyfill(如 core-js)和 Loader 是非常常见又容易混淆的几个概念。为了彻底搞明白它们的作用、关系和使用方法,下面一篇文章详细梳理。 一、Babel的作用 Babel 是一个 JavaScript 的编译器,主…...
总线位宽不变,有效数据位宽变化的缓存方案
总线位宽不变,有效数据位宽变化的缓存方案 譬如总线位宽为64bit,但是有时候只有高32bit有效,有时只有低32bit有效,有时64bit都有效。总线上收到的数据要先缓存到FIFO中,那么这个FIFO的宽度和深度如何设置呢࿱…...
若依脱敏功能升级:接口返回想脱就脱,想不脱就不脱(实现灵活可控制的数据脱敏)
若依原生框架中的脱敏功能不够灵活(默认超级管理员不脱敏,其他则脱敏)。 有时候,我们有些接口想要脱敏,但是有些接口又不想脱敏。(例如列表查询的时候脱敏。修改的时候,不想数据脱敏࿰…...
【Azure Redis 缓存】在Azure Redis中,如何限制只允许Azure App Service访问?
问题描述 在Azure Redis服务中,如何实现只允许Azure App Service访问呢? 问题解答 Azure Redis 开启 防火墙的功能,并在防火墙中添加上App Service的出口IP地址即可。两步即可实现此目的! 1)查询 App Service 的出口IP…...
如何解决无训练数据问题:一种更为智能化的解决方案
手动标注数据真的很费时间,而且买数据集又贵得要命,还不一定能完全符合你的需求。但这里有个令人兴奋的好消息,为啥不用 AI 来解决这个问题呢? 别再依赖传统方法了,你可以用像 LLM(大型语言模型)和图像生成器这样的 AI 工具,为你的特定目标创建合成训练数据。如今有那…...
AI 应用同质化:一场看不见的资源 “吞噬战”
大家好,我是涛涛,今天聊聊令人担心的事情。 一、同质化的“繁荣”背后 当ChatGPT在2022年掀起全球AI热潮时,中国互联网行业迅速进入“All in AI”模式。根据艾瑞咨询数据,2023年国内AI应用市场新增注册企业超2.3万家,…...
Java + Spring Boot + MyBatis获取以及持久化sql语句的方法
在Java的Spring Boot项目中结合MyBatis获取实际执行的SQL语句,可以通过以下几种方法实现: 方法一:配置MyBatis日志级别 通过调整日志级别,MyBatis会输出执行的SQL语句及参数,适用于快速调试。 修改application.prope…...
「浏览器即OS」:WebVM技术栈如何用Wasm字节码重构冯·诺依曼体系?
一、冯诺依曼架构的维度坍塌 1. 传统计算模型的能量耗散 浏览器执行效率瓶颈分析: 操作x86指令周期Wasm指令周期能效比提升矩阵乘法3894.2x内存访问1234x系统调用120012100x 二、WebVM的量子纠缠架构 1. 浏览器内核的重构 // 基于WASI的系统调用处理 #[no_mangl…...
Vue3项目目录结构规范建议
以下是一个推荐的 Vue 3 项目目录结构规范,适用于中大型项目并遵循最佳实践: 基础目录结构 bash src/ ├─ assets/ # 静态资源 │ ├─ images/ # 图片文件 │ ├─ fonts/ # 字体文件 │ └─ styles/ …...
【计算机视觉】CV实战项目- Four-Flower:基于TensorFlow的花朵分类实战指南
深度解析Four-Flower:基于TensorFlow的花朵分类实战指南 项目概述与技术背景技术栈组成 完整实战流程环境配置1. 基础环境安装2. 项目环境搭建3. 环境验证 数据准备模型架构解析训练过程优化1. 训练配置2. 关键参数建议3. 训练监控 常见问题与解决方案1. 内存不足错…...
4.27 JavaScript核心语法+事件监听
JavaScript负责网页的行为(交互行为) JS基本语法: 引用方式 变量&常量&数据类型: alert()标签输出弹出框,如以上代码会输出true。 函数: 自定义对象: 属性方法行为 JS中的全局变量是window。 js…...
于键值(KV)的表
基于键值(KV)的表 将行编码为键值(KVs) 索引查询:点查询和范围查询 在关系型数据库中,数据被建模为由行和列组成的二维表。用户通过SQL表达他们的意图,而数据库则神奇地提供结果。不那么神奇的…...
Matlab算例运行
1. 使用终端命令运行算例: 2. 如果点击Run 按钮就是会一直报错,所以直接改成终端运行算例...
package.json script 中的 prepare 脚本的作用是什么
在 package.json 的 scripts 中,prepare 脚本是一个特殊的生命周期脚本,主要作用和执行时机如下: prepare 脚本的作用和执行时机 执行时机: 在执行 npm publish 命令之前运行。在执行不带参数的 npm install 命令时运行ÿ…...
图论---最大流(Dinic)
最大流一定是阻塞流,阻塞流不一定是最大流。 阻塞流---从起点到终点的管道已经阻塞了。 时间复杂度: 一般情况:O(n2m)O(n2m)(但实际运行效率较高,尤其在稀疏图上)。 使用当前弧优化后,效率接近…...
FastAPI系列06:FastAPI响应(Response)
FastAPI响应(Response) 1、Response入门2、Response基本操作设置响应体(返回数据)设置状态码设置响应头设置 Cookies 3、响应模型 response_model4、响应类型 response_classResponse派生类自定义response_class 在“FastAPI系列0…...
双目RealSense系统配置rs_camera.launch----实现D435i自制rosbag数据集到离线场景的slam建图
引言 Intel RealSense系列相机因其出色的深度感知能力和灵活的配置选项,在机器视觉与应用中得到广泛应用。大家在后期的slam学习中,无论是对算法本身的性能要求还是实验的泛化性都有一定的要求,那么公开的数据集如kitti、tum、Eourc不能满足…...
【MCP-2】MCP是什么,利用智普大模型在MaxKB中调用自己开发的MCP服务
在上一篇【MCP-1】MCP是什么,从DEMO入手文章中我们介绍了MCP是什么、他能干啥,以及简单的Demo示例等,这篇文章我们使用MaxKB这个工具,利用智普大模型,看看MCP到底怎么用。 创建SSE协议的MCP服务 在上篇文章中的Demo是…...
Allegro23.1新功能之如何单独关闭铜皮显示效果操作指导
Allegro23.1新功能之如何单独关闭铜皮显示效果操作指导 Allegro升级到了23.1的时候,支持单独关闭铜皮显示 ,如下图 如何仅关闭shape的显示,单独显示线,具体操作如下 点击setup...
《从分遗产说起:JS 原型与继承详解》
“天天开心就好” 先来讲讲概念: 原型(Prototype) 什么是原型? 原型是 JavaScript 中实现对象间共享属性和方法的机制。每个 JavaScript 对象(除了 null)都有一个内部链接指向另一个对象,这…...
【Part 2安卓原生360°VR播放器开发实战】第二节|基于等距圆柱投影方式实现全景视频渲染
《VR 360全景视频开发》专栏 将带你深入探索从全景视频制作到Unity眼镜端应用开发的全流程技术。专栏内容涵盖安卓原生VR播放器开发、Unity VR视频渲染与手势交互、360全景视频制作与优化,以及高分辨率视频性能优化等实战技巧。 📝 希望通过这个专栏&am…...
Android——RecyclerView
RecyclerView的使用 依赖 implementation("androidx.recyclerview:recyclerview:1.4.0")activity_recyclerview.xml <androidx.recyclerview.widget.RecyclerViewandroid:id"id/rv"android:layout_width"match_parent"android:layout_height…...
跨域问题(Cross-Origin Problem)
跨域问题(Cross-Origin Problem)是浏览器出于安全考虑,对不同源(协议、域名、端口)之间的资源访问进行限制而引发的限制。以下是详细解释: 1. 核心定义 跨域:当一个网页(源A&#x…...
阿里云直接对系统云盘扩容
阿里云直接对系统云盘扩容 登录阿里云控制台,进入ECS实例管理页面,检查目标磁盘的容量是否已更新为扩容后的数值。通过SSH远程连接服务器,使用命令 lsblk 或 fdisk -l 查看当前磁盘分区和容量,确认扩容后的物理磁盘已被系统识别。…...
Java大厂面试突击:从Spring Boot自动配置到Kafka分区策略实战解析
第一轮核心知识 面试官:请解释Spring Boot中自动配置的工作原理并演示如何自定义一个ConfigurationProperties组件? xbhog:自动配置通过EnableAutoConfiguration注解触发,结合当前环境判断(如是否检测到MyBatis依赖&…...
【python】lambda用法(结合例子理解)
目录 lambda 是什么? 为什么叫 lambda? 语法 举例 1. 最简单的 lambda:单个数字处理 2. 用 lambda 排序一组字符串(按照长度排序) 3. 在列表里找出绝对值最小的数字 4. 给 map() 用 lambda 5. 组合使用:筛选出偶数 lambda 和 def 的对比 lambda 适合用在什么地…...
前端Ui设计工具
PS 稿、蓝湖、Sketch 和 Figma 前端 UI 设计工具的对比分析 PS 稿(Adobe Photoshop) 提供精准设计细节:PS 稿能让前端更精准地理解页面布局、元素尺寸、颜色等,通过精确测量和查看信息面板,把握设计元素的空间关系、…...
深入探索Python Pandas:解锁数据分析的无限可能
放在前头 深入探索Python Pandas:解锁数据分析的无限可能 深入探索Python Pandas:解锁数据分析的无限可能 在当今数据驱动的时代,高效且准确地处理和分析数据成为了各个领域的关键需求。而Python作为一门强大且灵活的编程语言,…...
django admin 设置字段不可编辑
在Django中,如果你想让管理员在后台管理界面中无法编辑某个字段,你可以通过在模型的Meta类中设置editable属性为False,或者在admin.py文件中使用readonly_fields属性来实现。 方法1:在模型中使用Meta类设置 你可以在模型的Meta类…...
AI在医疗领域的10大应用:从疾病预测到手术机器人
AI在医疗领域的10大应用:从疾病预测到手术机器人 系统化学习人工智能网站(收藏):https://www.captainbed.cn/flu 文章目录 AI在医疗领域的10大应用:从疾病预测到手术机器人摘要引言1. 医学影像诊断:从静态…...
深入理解 Java 单例模式:从基础到最佳实践
单例(Singleton)模式是 Java 中最基本、最常用的设计模式之一。它确保一个类在任何情况下都只有一个实例,并提供一个全局访问点来获取这个唯一的实例。 一、为什么需要单例模式?(使用场景) 单例模式主要适…...
Rust:安全与性能兼得的现代系统编程语言
一、起源与设计理念 Rust 是由 Mozilla 研究院 Graydon Hoare 于 2006 年发起设计的系统级编程语言,其诞生源于传统系统语言(如 C/C)在内存安全与并发编程方面的缺陷。经过近十年的迭代,Rust 1.0 稳定版于 2015 年正式发布&#…...
AI赋能智慧医疗新范式:小天互连即时通讯打造高效、安全的医疗通讯平台
在医疗行业,高效的信息协作与严格的数据安全不仅直接关系患者诊疗效率,更是医院现代化管理的核心命题。小天互连即时通讯系统通过将智能化功能与医疗场景深度结合,打造出全链路数字化协作平台,有效破解了传统沟通模式的效率瓶颈&a…...
图像生成新势力:GPT-Image-1 与 GPT-4o 在智创聚合 API 的较量
在人工智能领域,图像生成技术正迅速发展,OpenAI 推出的 GPT-Image-1 和 GPT-4o 在图像生成方面展现出了强大的能力。智创聚合 API 平台已支持这两个模型,并且其图片生成 / 编辑工作台支持图片的循环编辑等功能,为用户提供了更便捷…...
如何避免爬虫因Cookie过期导致登录失效
1. Cookie的作用及其过期机制 1.1 什么是Cookie? Cookie是服务器发送到用户浏览器并保存在本地的一小段数据,用于维持用户会话状态。爬虫在模拟登录后,通常需要携带Cookie访问后续页面。 1.2 Cookie为什么会过期? 会话Cookie&…...
集成方案 | Docusign + 甄零科技,赋能企业海外业务高效增长!
本文将详细介绍 Docusign 与甄零科技的集成步骤及其效果,并通过实际应用场景来展示 Docusign 的强大集成能力,以证明 Docusign 集成功能的高效性和实用性。 甄零科技是一家专注于数字化合同管理系统的 SaaS 解决方案提供商,致力于为企业打造“…...
【Arxiv 2025】Single Image Iterative Subject-driven Generation and Editing
文章目录 文章标题作者及研究团队介绍01 在论文所属的研究领域,有哪些待解决的问题或者现有的研究工作仍有哪些不足?02 这篇论文主要解决了什么问题?03 这篇论文解决问题采用的关键解决方案是什么?04 这篇论文的主要贡献是什么&am…...
CoOAG:首个捕捉学术研究兴趣动态演变的数据集
2025-04-24,由西安交通大学基于学术合作网络构建一种新的动态图数据集CoOAG,用于研究动态图中的节点分类问题。该数据集通过捕捉作者研究兴趣的动态变化,为动态图学习领域提供了新的研究方向和测试平台,特别是在标签受限的动态节点…...
决策树随机深林
决策树和随机森林是机器学习中常用的两种模型,以下是对它们的简单介绍: 决策树 - 原理:通过一系列的条件判断对样本进行分类或预测。它由节点(内部节点是属性上的测试,叶节点是类别或值)和边组成࿰…...
Unity 和 Unreal Engine(UE) 两大主流游戏引擎的核心使用方法
以下是 Unity 和 Unreal Engine(UE) 两大主流游戏引擎的核心使用方法和对比分析,帮助开发者快速上手并根据项目需求选择合适工具: 一、Unity 使用指南 1. 安装与配置 安装:从 Unity Hub 下载,选择长期支持…...
Maven 依赖范围(Scope)详解
Maven 依赖范围(Scope)详解 Maven 是一个强大的项目管理工具,广泛用于 Java 开发中构建、管理和部署应用程序。在使用 Maven 构建项目时,我们经常需要引入各种第三方库或框架作为项目的依赖项。通过在 pom.xml 文件中的 <depe…...
博物馆除湿控湿保卫战:M-5J1R 电解除湿科技如何重塑文物守护的未来
在卢浮宫幽深的长廊里,达芬奇的《蒙娜丽莎》正经历着一场看不见的战争——不是来自时间的侵蚀,而是空气中无形的水分子。每一件文物都在与湿度进行着无声的抗争,这场抗争关乎人类文明的延续。湿度,这个看不见的文物杀手࿰…...
消防应急物资智能调用立库:豪越科技助力消防“速战速决”
在消防救援的战场上,时间就是生命,每一秒都关乎着人民群众的生命财产安全。然而,在过去的紧急救援中,应急物资无法及时到位的情况时有发生,成为制约救援效率的关键难题,给救援工作带来了巨大的困境。 想象一…...
机器学习基础理论 - 分类问题评估指标
几个定义:混淆矩阵 TP: True Positives, 表示实际为正例且被分类器判定为正例的样本数FP: False Positives, 表示实际为负例且被分类器判定为正例的样本数FN: False Negatives, 表示实际为正例但被分类器判定为负例的样本数TN: True Negatives, 表示实际为负例且被分类…...
深度学习4.1 多层感知机
基本概念 多层感知机(Multilayer Perceptron, MLP)是一种前馈人工神经网络,由输入层、至少一个隐藏层和输出层组成。 核心特点: 采用全连接结构(相邻层神经元全部相连; 通过非线性激活函数…...
解决两个技术问题后小有感触-QZ Tray使用经验小总结
老朋友都知道,我现在是一家软件公司销售部门的项目经理和全栈开发工程师,就是这么“奇怪”的岗位,大概我是公司销售团队里比较少有技术背景、销售业绩又不那么理想的销售。 近期在某个票务系统项目上驻场,原来我是这个项目的项目…...
非计算机专业如何利用AI开展跨学科和交叉研究
对于非计算机专业的研究者,利用AI开展跨学科研究既充满机遇也面临挑战。以下是一份系统化的指南,帮助您高效入门并找到交叉研究的突破口: 一、认知重塑:理解AI的本质与局限 AI不是“黑箱”:现代AI以数据驱动为核心&a…...