ARP协议,带你了解ARP协议
目录
一、ARP协议概述
二、使用ARP的四种情况
三、ARP缓存
四、ARP的工作原理
1. 地址解析
2. 地址缓存
五、ARP报文格式
1. ARP请求报文格式
2. ARP响应报文格式
六、免费ARP
七、代理ARP
一、ARP协议概述
ARP(Address Resolution Protocol)地址解析协议是一种用于将IP地址解析为物理地址的协议。在TCP/IP协议中,数据包的传输需要知道目标主机的MAC地址,而IP地址只是逻辑地址,不能直接用于数据包的传输。因此,需要使用ARP协议将IP地址转换为MAC地址,以便数据包能够正确地传输到目标主机。
ARP协议是一种无连接协议,它不需要建立连接就可以进行地址解析。它是在网络层和数据链路层之间进行的,因此可以在不同的数据链路层上使用。
二、使用ARP的四种情况
1. 主机向本地网络中的其他主机发送数据包时,需要将目标主机的IP地址转换为MAC地址,以便数据包能够正确地传输到目标主机。
2. 主机向本地网络中的路由器发送数据包时,需要将路由器的IP地址转换为MAC地址,以便数据包能够正确地传输到路由器。
3. 路由器向本地网络中的主机发送数据包时,需要将目标主机的IP地址转换为MAC地址,以便数据包能够正确地传输到目标主机。
4. 路由器向其他网络中的主机发送数据包时,需要将下一跳路由器的IP地址转换为MAC地址,以便数据包能够正确地传输到下一跳路由器。
三、ARP缓存
ARP缓存是指主机或路由器中存储的IP地址和MAC地址的映射表。当主机或路由器需要将IP地址转换为MAC地址时,首先会在ARP缓存中查找是否已经存在该映射关系。如果存在,则直接使用该映射关系进行地址解析;如果不存在,则需要发送ARP请求报文进行地址解析。
ARP缓存中的映射关系是有时限的,一般为几分钟到几小时不等。当映射关系过期时,主机或路由器会重新发送ARP请求报文进行地址解析,并更新ARP缓存中的映射关系。
四、ARP的工作原理
ARP协议的工作原理可以分为两个步骤:地址解析和地址缓存。
1. 地址解析
当主机或路由器需要将IP地址转换为MAC地址时,首先会在ARP缓存中查找是否已经存在该映射关系。如果存在,则直接使用该映射关系进行地址解析;如果不存在,则需要发送ARP请求报文进行地址解析。
ARP请求报文中包含了源主机的MAC地址和IP地址,以及目标主机的IP地址。当目标主机收到ARP请求报文时,会将自己的MAC地址和IP地址封装在ARP响应报文中返回给源主机。源主机收到ARP响应报文后,将目标主机的MAC地址和IP地址存储在ARP缓存中,并使用该映射关系进行地址解析。
2. 地址缓存
当主机或路由器成功地进行了地址解析后,会将IP地址和MAC地址的映射关系存储在ARP缓存中。当下一次需要进行地址解析时,主机或路由器会首先在ARP缓存中查找是否已经存在该映射关系。如果存在,则直接使用该映射关系进行地址解析;如果不存在,则需要重新发送ARP请求报文进行地址解析。
ARP缓存中的映射关系是有时限的,一般为几分钟到几小时不等。当映射关系过期时,主机或路由器会重新发送ARP请求报文进行地址解析,并更新ARP缓存中的映射关系。
五、ARP报文格式
ARP报文分为ARP请求报文和ARP响应报文,它们的格式如下:
1. ARP请求报文格式
| 2 bytes | 2 bytes | 1 byte | 1 byte | 2 bytes | 6 bytes | 4 bytes | 6 bytes | 4 bytes |
|---------|---------|--------|--------|---------|---------|---------|---------|---------|
| Hardware Type | Protocol Type | HLEN | PLEN | Operation | Sender MAC Address | Sender IP Address | Target MAC Address | Target IP Address |
- Hardware Type:表示硬件类型,如以太网、令牌环等。
- Protocol Type:表示协议类型,如IP、IPX等。
- HLEN:表示硬件地址长度,如以太网地址长度为6个字节。
- PLEN:表示协议地址长度,如IP地址长度为4个字节。
- Operation:表示操作类型,如ARP请求为1,ARP响应为2。
- Sender MAC Address:表示发送方的MAC地址。
- Sender IP Address:表示发送方的IP地址。
- Target MAC Address:表示目标主机的MAC地址,由于是ARP请求报文,该字段为空。
- Target IP Address:表示目标主机的IP地址。
2. ARP响应报文格式
| 2 bytes | 2 bytes | 1 byte | 1 byte | 2 bytes | 6 bytes | 4 bytes | 6 bytes | 4 bytes |
|---------|---------|--------|--------|---------|---------|---------|---------|---------|
| Hardware Type | Protocol Type | HLEN | PLEN | Operation | Sender MAC Address | Sender IP Address | Target MAC Address | Target IP Address |
- Hardware Type:表示硬件类型,如以太网、令牌环等。
- Protocol Type:表示协议类型,如IP、IPX等。
- HLEN:表示硬件地址长度,如以太网地址长度为6个字节。
- PLEN:表示协议地址长度,如IP地址长度为4个字节。
- Operation:表示操作类型,如ARP请求为1,ARP响应为2。
- Sender MAC Address:表示发送方的MAC地址。
- Sender IP Address:表示发送方的IP地址。
- Target MAC Address:表示目标主机的MAC地址。
- Target IP Address:表示目标主机的IP地址。
六、免费ARP
免费ARP是指主机或路由器在更新自己的ARP缓存时,向本地网络中的其他主机发送ARP响应报文,以便更新其他主机的ARP缓存。免费ARP的作用是加快网络中主机之间的通信速度,减少ARP请求报文的发送次数。
举个例子,当主机A更换了自己的MAC地址时,它会向本地网络中的其他主机发送免费ARP响应报文,以便更新其他主机的ARP缓存。这样,其他主机在向主机A发送数据包时,就可以直接使用新的MAC地址,而不需要发送ARP请求报文进行地址解析。
七、代理ARP
代理ARP是指路由器在收到ARP请求报文时,向本地网络中的其他主机发送ARP响应报文,以便代替目标主机进行地址解析。代理ARP的作用是解决网络中存在的子网划分问题,使得不同子网中的主机能够进行通信。
举个例子,当主机A向主机B发送数据包时,如果主机A和主机B不在同一个子网中,那么主机A需要将数据包发送给路由器,由路由器进行转发。在这个过程中,主机A需要将目标主机的IP地址转换为MAC地址,但是它并不知道主机B的MAC地址。这时,路由器就可以使用代理ARP的方式,向主机A发送ARP响应报文,以便代替主机B进行地址解析。这样,主机A就可以正确地将数据包发送给主机B了。
相关文章:
ARP协议,带你了解ARP协议
目录 一、ARP协议概述 二、使用ARP的四种情况 三、ARP缓存 四、ARP的工作原理 1. 地址解析 2. 地址缓存 五、ARP报文格式 1. ARP请求报文格式 2. ARP响应报文格式 六、免费ARP 七、代理ARP 一、ARP协议概述 ARP(Address Resolution Protocol)地…...
基于Java汽车客运站管理系统设计实现(源码+lw+部署文档+讲解等)
博主介绍: ✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精…...
0203使用规则-索引-MySQL
文章目录 1 联合索引1.1 最左前缀法则1.2 范围查询 2 索引失效2.1 常见情况2.2 数据分布影响 3 SQL提示4 覆盖索引和回表查询5 前缀索引6 单列和联合索引7 设计原则结语 1 联合索引 1.1 最左前缀法则 在Mysql数据库中创建了联合索引(或称复合索引,即包含…...
LVS+Keepalived群集
一、Keepalived概述 Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案,可以解决静态路由出现的单点故障问题。 在一个LVS服务集群中通常有主服务器(MASTER)和备份服务器(BACKUP)两种角色的服务器,…...
抖音矩阵系统源代码开发部署--源码搭建
抖音矩阵系统是一个具有强大功能的开放性平台,通过数据挖掘技术能够实现精准的用户画像和个性化推荐,这也是抖音成为国内最受欢迎的短视频平台之一的原因之一。矩阵系统的开发需要大量的技术支持和数据分析,同时也需要综合运用大数据、机器学…...
如何用Jmeter进行接口测试 ,这应该是全网最详细的教程了
一、Jmeter 的使用步骤 打开Jmeter 安装包,进入\bin 中,找到"jmeter.bat", 点击打开即可。 在下图打开的Jmeter 页面中,右键“测试计划” -> “添加” -> "Threads(Users)" -> “线程组”, 建立线…...
C语言---malloc(0)会产生什么结果,真的是空指针吗?
前言 (1)几天前在一个交流群中看到有人说,面试问malloc(0)会怎么样是真的恶心。 (2)这个突然激起了我的好奇心。居然还可以malloc(0)?! (3)经过测试最后,发现…...
建模助手618 | 谁不囤点Revit插件我都会生气!
大家好,这里是建模助手。 早在5月份,我们已经就“618”这个事情高调了一番,以提前放“价”的姿势,让许多用户以躺赢的状态拉开了年中大促的序幕。(5月购买的盆友,切记看完全文,内附彩蛋 活动反…...
【“职场程序员是否会保护自己的隐私?为何要求程序员之间保密薪资?”】
职场程序员之间确实有一些秘密,其中之一便是对薪资保密。这并非完全是程序员们的独立行为,而是因为一些公司或组织规定员工之间不能互相透露薪水信息。 第一个原因是保护公司自身利益。如果一个程序员知道其他同事的薪资水平比自己高,他可能…...
企业工程管理系统源码之提高工程项目管理软件的效率
高效的工程项目管理软件不仅能够提高效率还应可以帮你节省成本提升利润 在工程行业中,管理不畅以及不良的项目执行,往往会导致项目延期、成本上升、回款拖后,最终导致项目整体盈利下降。企企管理云业财一体化的项目管理系统,确保…...
创新指南 | 推动销售的17个可落地的集客式营销示例
无论您是开启集客式的营销有一段时间还是处于起步阶段,了解像您这样的企业是如何粉碎竞争对手的的集客式策略总是有帮助的。无论您的公司做什么,它所服务的行业,是B2B还是B2C ,您都可以在这里找到许多可以使用的示例。 在本文中&…...
ASEMI代理光宝光耦LTV-0314的应用与优势
编辑-Z 在电子设备的设计和制造过程中,光耦合器是一种至关重要的组件。它们在电路中起到隔离作用,保护电子设备免受电压冲击和电流过载的影响。今天,我们将深入探讨一种特殊的光耦合器——LTV-0314,它的特性、应用以及优势。 一、…...
Apikit 自学日记: Apikit 如何发起测试
进入 API 文档详情页,点击上方 测试 标签,进入 API 测试页,系统会根据API文档自动生成测试界面并且填充测试数据。 填写请求参数 首先填写好请求参数。 请求头部 您可以输入或导入请求头部。批量导入的数据格式为 key : value ,…...
python-glob模块_表格及代码样例
glob模块 文章目录 glob模块1. glob.glob(pathname):根据指定的模式匹配文件路径,并返回匹配的路径列表2. glob.iglob(pathname):返回一个迭代器,逐个匹配文件路径,适用于大量文件的情况3. glob.escape(pathname)&…...
GitHub Copilot 最全安装、使用
GitHub Copilot 最全安装、使用教程 一、温馨提示 GitHub Copilot 目前为止可以免费试用一个月,但是试用的前提是必须要绑定银行卡,因为后续会自动扣费,所以请注意试用结束日期,自己定好闹钟关闭订阅。 订阅价格为每月10美刀&a…...
C语言 指针(特别篇)
本篇目录 C语言 指针(特别篇)内存地址简要介绍C语言指针C语言的指针可以指向什么?取地址符 &(Address-of Operator)C语言中的 * 号运算符示例集:指向变量的指针指向数组的指针指向字符串的指针二级指针指针数组的…...
【计算机视觉 | 目标检测】arxiv 计算机视觉关于目标检测的学术速递(5月26日论文合集)
文章目录 一、检测相关(9篇)1.1 Energy-based Detection of Adverse Weather Effects in LiDAR Data1.2 Anomaly Detection with Conditioned Denoising Diffusion Models1.3 Mask Attack Detection Using Vascular-weighted Motion-robust rPPG Signals1.4 Improved Multi-Sca…...
网络编程与自动化(python)
20.1 网络编程与自动化概述 传统网络运维困境大家在日常的网络运维中是否遇到过如下问题: 设备升级:现网有数千台网络设备,你需要周期性、批量性地对设备进行升级。配置审计:企业年度需要对设备进行配置审计。例如要求所有设备开启sTelnet功能,以太网交换机配置生成树安全…...
有趣的数学 对称/非对称加密简史及数学原理一览
一、非对称加密简史 1、算法建立 对于任何想发送加密信息的人,另一个问题是如何让接收人知道这条信息一开始是如何加密的。对于像字母替换式密码这样的密码,问题在于,一旦窃听者知道了加密方案,后续的信息都可以轻松获取。 公钥加…...
AI大模型落地不远了!首个全量化Vision Transformer的方法FQ-ViT(附源代码)
点击蓝字 关注我们 关注并星标 从此不迷路 计算机视觉研究院 公众号ID|计算机视觉研究院 学习群|扫码在主页获取加入方式 论文地址:https://arxiv.org/pdf/2111.13824.pdf 项目代码:https://github.com/megvii-research/FQ-ViT 计…...
YouTubeDNN
这个youTubeDNN主要是工程导向,对于推荐方向的业界人士真的是必须读的一篇文章。它从召回到排序整个流程都做了描述,真正是在工业界应用的经典介绍。 作者首先说了在工业上YouTube视频推荐系统主要面临的三大挑战: 1.Scale(规模)࿱…...
面向对象的介绍和内存
学习面向对象内容的三条主线 • Java 类及类的成员:(重点)属性、方法、构造器;(熟悉)代码块、内部类 • 面向对象的特征:封装、继承、多态、(抽象) • 其他关键字的使用…...
【数据可视化】Plotly Express绘图库使用
Plotly Express是一个基于Plotly库的高级Python可视化库。它旨在使绘图变得简单且直观,无需繁琐的设置和配置。通过使用Plotly Express,您可以使用少量的代码创建具有丰富交互性和专业外观的各种图表。以下是Plotly Express的一些主要特点和优势…...
小红书企业号限流原因有哪些,限流因素
作为企业、品牌在小红书都有官方账号,很多人将注册小红书企业号看作是获取品牌宣推“特权”的必行之举。事实真的如此吗,那为什么小红书企业号限流频发,小红书企业号限流原因有哪些,限流因素。 一、小红书企业号限流真的存在吗 首…...
1.6C++双目运算符重载
C双目运算符重载 C中的双目运算符重载指的是重载二元运算符,即有两个操作数的运算符,如加减乘除运算符“”、“-”、“*”和“/”等。 通过重载双目运算符,可以实现自定义类型的运算符操作。 比如可以通过重载加减运算符实现自定义类型的向…...
CDD诊断数据库的简单介绍
1. 什么是数据库? 数据库是以结构化方式组织的一个数据集合。 比如DBC数据库: Network nodes Display Rx Messages EngineState(0x123) 通过结构化的方式把网络节点Display里Rx报文EngineState(0x123)层层展开。这种方 式的好处是:层次清晰,结构分明,易于查找。 2. 什么…...
【笔试强训选择题】Day25.习题(错题)解析
作者简介:大家好,我是未央; 博客首页:未央.303 系列专栏:笔试强训选择题 每日一句:人的一生,可以有所作为的时机只有一次,那就是现在!!!ÿ…...
Python心经(6)
目录 callable super type()获取对应类型 isinstance判断对象是否是某个类或者子类的实例 issubclass,判断对象是不是类的子孙类 python3的异常处理 反射: 心经第三节和第五节都写了些面向对象的,这一节补充一…...
MMPose安装记录
参考:GitHub - open-mmlab/mmpose: OpenMMLab Pose Estimation Toolbox and Benchmark. 一、依赖环境 MMPose 适用于 Linux、Windows 和 macOS。它需要 Python 3.7、CUDA 9.2 和 PyTorch 1.6。我的环境: Windows 11 Python 3.9 CUDA 11.6 PyTorch 1.13 …...
梯度下降优化
二阶梯度优化 1.无约束优化算法1.1最小二乘法1.2梯度下降法1.3牛顿法/拟牛顿法 2.一阶梯度优化2.1梯度的数学原理2.2梯度下降算法 3.二阶梯度优化梯度优化3.1 牛顿法3.2 拟牛顿法 1.无约束优化算法 在机器学习中的无约束优化算法中,除了梯度下降以外,还…...
萝岗网站建设/腾讯企点app
在海底捞、西贝等餐饮企业涨价之后,妹子们用来续命的奶茶也开始涨价了,近一个月内,喜茶、奈雪、CoCo、一点点部分产品都涨价1-4元。奶茶涨价,别拿原材料涨价当借口事实上,从 2月中旬开始,喜茶旗下的豆豆波波…...
网站开发设计模板/百度的客服电话是多少
事先声明,本文无意挑起python与其他语言的争端,每一种语言都有自己的适用场景和专业范围,任何一门编程语言都是有所能,有所不能。本文对其他语言没有半点贬低之意,这7门编程语言,我都有过使用,我…...
吉林做网站多少钱/重庆百度推广优化
多线程面试时,经常会考到一个用3个线程循环打印abcabcabc的问题 现用两种方法做了一下,也看了网上的其他 人的思路,大差不差一个对象,一个状态位控制,代码如下:package com.myTread.abcabc.my;import java.…...
中小型网站建设流程/网站引流推广怎么做
在Windows server 2003系统下,用IIS架设Web服务器,合理的为每个站点配置独立的Internet来宾账号,这样可以限制Internet 来宾账号的访问权限,只允许其可以读取和执行运行网站所的需要的程序。如果为网站内的网站程序、图片、附件或…...
邢台网站建设服务周到/凡科建站
【2018.02】劳特利奇国防研究手册(第一版)Routledge Handbook of Defence Studies,共412页。 如果需要电子版,请联系QQ:3042075372。 Routledge是英国的一家跨国出版社,总部设在伦敦,主要在伦敦…...
asp网站本地测试修改视频教程/网络文章发布平台
今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序 员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是…...