一文详解ARP报文格式及工作原理

news2024/11/24 23:39:48

ARP(地址解析协议)

作用:

将目的IP解析为目的MAC,用于二层帧结构的目标MAC封装,数据必须封装为帧才能够被网卡发送出去,帧中必须包含MAC。

报文格式:

ARP报文不能穿越路由器,不能被转发到其他广播域。

主要参数:

Hardware Type表示硬件地址类型,一般为以太网(值为1);

Protocol Type表示三层协议地址类型,一般为IP;

Hardware Length和Protocol Length为MAC地址和IP地址的长度,单位是字节; Operation Code指定了ARP报文的类型,

ARP请求(1),ARP应答(2),RARP请求(3),RARP应答(4); Source Hardware Address指的是发送ARP报文的设备MAC地址; Source Protocol Address指的是发送ARP报文的设备IP地址;

Destination Hardware Address指的是接收者MAC地址,在ARP request报文中,该字段值为0;

Destination Protocol Address指的是指接收者的IP地址。

工作原理:

1. 首先检查自己的ARP缓存表,是否存在目的IP对应的目的MAC,如存在则不会触发ARP请求与应答过程,直接根据ARP缓存表项封装目的MAC;

2. 不存在arp缓存表,触发arp请求,对方收到arp请求,根据arp报文中的目的IP判断,是否寻找的主机是自己,如果是则发送arp响应携带自己的MAC地址, 回复对方。

示例:

1,主机A发送一个数据包给主机C之前,首先要获取主机C的MAC地址。

2,主机A先查询自己的ARP缓存表,看是否存在C的MAC,如果存在则直接封装C的MAC,

如果不存在则发送ARP request;

3,主机A发送时二层封装S.MAC为自己的MAC地址AA,目的MAC为FFFF FFFF FFFF

ARP消息中封装 S.MAC AA S.IP 0.1D.MAC 00/FFD.IP 0.3

4,主机C收到后进行解封装发现D.MAC为FFFF接收后,交于ARP协议处理,ARP协议 再拆包发现D.IP与自己的IP相同则进行接收(将对方IP、MAC记录下放入arp缓存表) 并进行响应arp reply(告诉对方自己的IP、MAC);

5,主机A收到主机C回复的ARP reply之后根据该消息中携带的IP、MAC,生成相应的ARP缓存表后续主机A、主机C之间的互访则直接根据ARP缓存表进行封装,不需要再发送ARP request;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/188820.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于飞桨实现钢铁企业废钢判级迈入智能化道路

目前,国家“双碳”战略与“数据智能”环境正驱动着钢铁企业废钢判级迈入智能化道路。针对生产过程中带来高能耗和高污染问题,企业通过使用飞桨用友废钢智能判级系统,助力提升自身经济效益和安全生产水平。 建设背景 目前,国家“双…

如何在IDEA中创建Web项目

👌 棒棒有言:也许我一直照着别人的方向飞,可是这次,我想要用我的方式飞翔一次!人生,既要淡,又要有味。凡事不必太在意,一切随缘,缘深多聚聚,缘浅随它去。凡事…

QT入门Buttons之QToolButton

目录 一、界面布局介绍 1、布局器中的位置及使用 2、控件的界面属性 2.1对象名称和大小设置 2.2对象文本设置和鼠标箭头更改 2.3、扁平化样式 二、属性功能介绍 1、显示箭头属性 2、按钮风格 3、添加默认action属性 三、Demo展示 此文为作者原创,转载请标…

Web前端:提高React Native应用程序性能的技巧

不可否认,React Native是开发混合应用的未来。它提供了可扩展性、灵活性、速度、敏捷性、成本效益和卓越的性能。难怪这么多成功的公司依赖React Native来构建他们的应用程序。毕竟,在互联网时代,每个企业都需要一个高性能的应用程序来满足客…

PCB如何进行阻抗设计经验总结

🏡《总目录》 目录1, 什么是阻抗匹配2,为何要阻抗匹配3,阻抗设计经验1, 什么是阻抗匹配 阻抗是指电路中两点间电阻,电感和电容的总称。而阻抗匹配是指,传输线及传输线两端的电子元器件的输入或输…

Canvas(HTML 5 元素)之绘制曲线图形

文章目录参考描述模板圆形圆形半圆形互补弧形arc()arcTo()二次贝塞尔曲线三次贝塞尔曲线参考 项目描述搜索引擎BingCanvas 中文网CanvasRenderingContext2DW3schoolHTML Canvas 参考手册从 0 到 1:HTML 5 Canvas 动画开发莫振杰 描述 项目描述Edge109.0.1518.70 (…

1.Java基础入门

目录 一.java概述 1.1 java语言发展史 1.2 为什么用Java 1.3 Java能做什么 1.4 Java技术体系 二.Java快速入门 2.1 如何使用Java 2.2 JVM,JRE,JDK 2.2.1 JVM 2.2.2 JRE 2.2.3 JDK 2.3 JDK的下载和安装 2.3.1 JDK的下载 2.3.2 JDK的安装 2.3.3 如何验证JD…

git版本回滚详解

写在前面:本文图片中出现的git st, git co分别是git status和git checkout的简写,使用中可以自行设置git config --global alias.st statusgit config --global alias.co checkout查看git配置文件 vim ~/.gitconfig1 工作区内的回滚操作当工作区的文件发…

Android 传感器概述(二)

Android 传感器概述(二)Android 传感器概述(二)运动传感器使用重力传感器使用线性加速度计使用旋转矢量传感器使用有效运动传感器使用计步器传感器使用步测器传感器使用原始数据使用加速度计使用陀螺仪使用未经校准的陀螺仪Androi…

【数据结构】动图详解单向链表

目录 1.什么是链表 1.问题引入 2. 链表的概念及结构 3. 问题解决 2.单向链表接口的实现 1.接口1,2---头插,尾插 2. 接口3,4---头删,尾删 3. 接口5---查找 4. 接口6,7---插入,删除 5. 接口8---打印 6. 注意…

CVE-2021-36934提权复现

CVE-2021-369342021年7 月 20 日,微软确认了一个新的本地提权漏洞(CVE-2021-36934),被称为HiveNightmare。该漏洞由于Windows中多个系统文件的访问控制表(ACL)过于宽松,使得任何标准用户都可以从系统卷影副本中读取包括SAM、SYSETM、SECURITY…

Windows系统运行iOS设备管理软件iMazing2023

iMazing2023免费版是一款运行在Windows系统上的iOS设备管理软件,软件功能非常强大,界面简洁清晰,操作方便快捷,设计的非常有人性化,iMazing官方版为用户提供了多种设备管理功能,每一位用户都能以自己的形式…

MyISAM和InnoDB存储引擎的区别

目录前言存储引擎区别事务外键表单的存储数据查询效率数据更新效率如何选择前言 MyISAM和InnoDB是使用MySQL最常用的两种存储引擎,在5.5版本之前默认采用MyISAM存储引擎,从5.5开始采用InnoDB存储引擎。 存储引擎 存储引擎是:数据库管理系统…

小白如何快速入门Verilog HDL ?一文为你讲解清楚

在学习的过程中,无论学什么都不可能一蹴而就。都是从一个初步认识到慢慢了解再到精通掌握的过程,学习Verilog HDL语法也是一样的道理,首先你要清楚什么是Verilog HDL,然后结合实践再遵从理论,这样后面的学习才能理解的…

P1359 租用游艇

# 租用游艇 ## 题目描述 长江游艇俱乐部在长江上设置了 $n$ 个游艇出租站 $1,2,\cdots,n$。游客可在这些游艇出租站租用游艇,并在下游的任何一个游艇出租站归还游艇。游艇出租站 $i$ 到游艇出租站 $j$ 之间的租金为 $r(i,j)$($1\le i\lt j\le n$&#xf…

MPLS实验(1.31)

目标: 一、首先为公网的每个路由器配置对应的ip和环回并且用OSPF进行动态选路 r2: [r2]int gi 0/0/2 [r2-GigabitEthernet0/0/2]ip add 23.1.1.1 24 [r2-GigabitEthernet0/0/2]int lo0 [r2-LoopBack0]ip add 2.2.2.2 24 r3: [r3]int gi 0…

Oracle的学习心得和知识总结(十)|Oracle数据库PL/SQL语言循环控制语句之LOOP语句技术详解

目录结构 注:提前言明 本文借鉴了以下博主、书籍或网站的内容,其列表如下: 1、参考书籍:《Oracle Database SQL Language Reference》 2、参考书籍:《PostgreSQL中文手册》 3、EDB Postgres Advanced Server User Guid…

yolov5篇---yolov5训练pt模型并转换为rknn模型,部署在RK3588开发板上——从训练到部署全过程

yolov5训练pt模型并转换为rknn模型,部署在RK3588开发板上——从训练到部署全过程一、任务介绍二、实验过程2.1 使用正确版本的yolov5进行训练(平台:x86机器ubuntu22.04系统)2.2 best.pt转换为best.onnx(平台:x86机器ubuntu22.04系统)2.3 best…

2023年西安Java培训机构十强榜单出炉,快来看看哪家榜上有名~

关于“西安Java培训机构哪家好?”“如何选择适合自己的Java培训机构?”这类问题常常出现网络上,其实关于这类问题没有统一的答案,一千个人有一千个哈姆雷特,每个人关注的重点不一样,需求更是不同&#xff0…

投入3.6亿美元!加拿大启动国家量子战略

(图片来源:网络)量子科学和技术处于研究和创新的前沿,具有巨大的商业化潜力和突破性进展,包括更有效的药物设计、更好的气候预测、改进的导航系统和清洁技术的创新。加拿大政府支持这一新兴行业的持续发展,…