ARP 原理详解 一

ARP 原理

ARP(Address Resolution Protocol)地址解析协议,是根据 IP 地址获取物理地址的一个 TCP/IP 协议。

OSI 网络七层模型中,IP 地址在 OSI 模型第三层,MAC 地址在第二层,彼此不直接通信。
在这里插入图片描述

在通过以太网发送 IP 数据包时,需要封装第三层(32 位 IP 地址)和第二层(48 位 MAC 地址)的报头。由于发送数据包时,只知道目标 IP 地址,不知道其 MAC 地址,而又不能跨越第二、三层,所以需要使用 ARP 地址解析协议。
在这里插入图片描述

TCP/IP 协议栈加人 ARP 过程是给发送端设备提供一种询问机制,“ 谁的 IP 地址是这个地址,与它相关的物理地址(硬件 MAC )是什么?”
在这里插入图片描述

ARP 报文和 IP 报文不同。ARP 报文和 IP 报文一样可以嵌在以太网帧或任何 LAN 帧中。ARP 帧仅在特定的局域网网段中才有效,而且它也不会离开本地局域网(也就是说,ARP 报文不可以被路由)。

代理 ARP

代理 ARP 就是通过使用一个指定的设备(通常是路由器)使用其 MAC 地址来对另一设备的 ARP 请求作出应答。

路由器的重要功能之一就是把局域网的广播包限制在该网内,阻止其扩散,否则会造成网络风暴。

ARP 请求是个广播包,它查寻的对象如果在同一个局域网内,就会收到应答,但如果不在同一个局域网该如何处理?

路由器就提供的代理 ARP 为该问题提供了解决方案。

举例:两台主机 A 和 B 处于同一网段但不同的广播段时,主机 A 发送 ARP 请求主机 B 的 MAC 地址时,因为路由器不转发广播包的原因,ARP 请求只能到达路由器。

如果路由器启用了代理 ARP 功能,并知道主机 B 属于它连接的网络,那么路由器就用自己接口的 MAC 地址代替主机 B 的 MAC 地址来对主机 A 进行 ARP 应答。主机 A 接收 ARP 应答,但并不知道代理 ARP 的存在。

ARP 报文格式

ARP 报文结构如图所示

在这里插入图片描述

上图中展示了 28 字节的 ARP 报文,因为其包括了 1 字节、2 字节、4 字节和 6 字节等不同长度的字段,因此不能直接以普通 32 位的方式显示。前五个字段构成了报文头部。紧接着的 4 个字段表示发送端和目的端 IP 地址与 MAC 地址。一般来说,目的 MAC 地址需要用地址解析得出。ARP 报文还可以由一串个数不定的 0 结尾。

在以太网局域网中,ARP 报文有自己的以太网类型值 (0x0806)。然而有些 ARP 实现使用了 IP 分组中 “常规的” 以太网类型 (0x0800),因为 IP 网络可以很容易地识别出帧内部是 IPv4 报文(报文以 0x04 开头),还是 ARP 报文(报文以 0x0001 开头)。

以下主要的字段在 ARP 请求和应答报文中都会出现。硬件类型 —— 用 2 字节的字段标识硬件地址的类型 (其常见的当然是以太网类型的 MAC 地址,其值 = 1)。

协议类型 —— 用 2 字节的字段标识第三层(网络层)所用到的协议类型(ARP 消息不是 IP 报文,不止用于 IP 地址解析)。这个值和以太网帧中字段的值是一样的,所以 IP 是 0x0800。

硬件地址长度 —— 6 字节,标识硬件以太网 MAC 地址的长度。
协议地址长度 —— 4 字节,标识第三层协议 IP 地址的长度。
操作 —— 2 字节,标识 ARP 报文的目的。

操作 op 共有 4 种类型

值为 1. ARP 请求
值为 2. ARP 应答
值为 3. RARP 请求
值为 4. RARP 应答

在这里插入图片描述

例如,当 ARP 发起一个请求(询问谁有这个 IPv4 地址),该字段的值就为 1,收到的应答报文的该字段值为 2。剩下的字段都没有固定的长度,其长度取决于硬件长度字段和协议长度字段的值。在以太局域网中,硬件地址长度是 6 字节(MAC 地址),协议地址长度是 4 字节(IPv4 地址)。在这种情况下,这些字段的长度和功能如下所示。

发送端的以太网地址 —— 6 字节,标识了发送端的以太网地址。它应该与以太网帧中的源地址相同。

发送端的 IP 地址 —— 4 字节,标识了发送端的以太网 IP 地址 (这是目的端可以在不请求更多 ARP 的情况下将信息填人 ARP 缓存的方式)。

目的端以太网地址 —— 6 字节,标识了目的端主机的以太网地址。该字段在发送请求的时候全置为 0,应答时才填入内容,并把操作字段改为 “应答”。

目的端 IP 地址 —— 4 字节,标识目的端主机的 IPv4 地址。

ARP 报文是广播帧,会被发送给所有站点。当目的端设备在数据包的 IP 层中看到目的 IP 地址与自己的 IP 地址匹配时,就直接响应发送端。目的端设备发送响应的时候,只是简单地把 ARP 数据包中的源 IP 地址和目的 IP 地址反转。目的端设备在帧和报文中也使用自己的硬件地址作为源地址。
在这里插入图片描述

ARP 报文的封装

ARP报文被封装成一个数据链路帧
在这里插入图片描述
ARP 封装使用类型字段(Type field)标识为 0x0806,表示这是一个地址解析协议(ARP)数据包。不需要带有 Preamble 和 SFD。ARP 消息直接嵌套在以太网帧或其他局域网帧中,这些帧已经包含了前导码和帧起始定界符。

ARP 解析过程 by charsek

via: ARP 报文详解 - charseki - 博客园
https://www.cnblogs.com/chenshengkai/p/13936532.html

(1)当 PC1 想发送数据给 PC2,首先在自己的本地 ARP 缓存表中检查主机 PC2 匹配的 MAC 地址

(2)如果 PC1 缓存中没有找到响应的条目,它将询问主机 PC2 的 MAC 地址,从而将 ARP 请求帧广播到本地网络的所有主机。该帧中包括源主机 PC1 的 IP、MAC 地址,本地网络中的所有主机都接收到 ARP 请求,并且检查是否与自己的 IP 地址相匹配。如果发现请求中 IP 地址与自己 IP 不匹配,则丢弃 ARP 请求。

(3)主机 PC2 确定 ARP 请求中的 IP 地址与自己的 IP 地址匹配,则将主机 PC1 的地址和 MAC 地址添加到本地缓存表中。

(4)主机 PC2 将包含其 MAC 地址的 ARP 回复消息直接发送回主机 PC1(数据帧为单播)。

(5)主机 PC1 收到 PC2 发挥的 ARP 回复消息,将 PC2 的 IP 和 MAC 地址添加至自己 ARP 缓存表中,本机缓存是有生存期的,默认 ARP 缓存表有效期 120s。当超过该有效期后,则将重复上面过程。主机 PC2 的 MAC 地址一旦确定,主机 PC1 就能向主机 PC2 发送 IP 信息。

arp 报文总共 42 bytes。其中以太网首部 14 bytes,arp 字段 28 字节

img
ARP 返回报文

img

下一篇

ARP 原理详解 二 - CSDN博客

https://blog.csdn.net/u013669912/article/details/140080908

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

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

相关文章

性能测试中的场景设计和测试执行

假设一个内部系统要求响应时间在 3s 以内,支持最大用户数为4万。根据二八原则,80%用户在20%时间使用系统(4w80%)/(24h20%)≈1.9点击/秒。并发数TPS(运行时间思考时间)1.9(30.50.330.50.30.53)21。 注意&am…

Flutter循序渐进==>数据结构(列表、映射和集合)和错误处理

导言 填鸭似的教育确实不行,我高中时学过集合,不知道有什么用,毫无兴趣,等到我学了一门编程语言后,才发现集合真的很有用;可以去重,可以看你有我没有的,可以看我有你没有的&#xf…

毫米波雷达深度学习技术-1.7训练一个神经网络

1.7 训练一个神经网络 对于训练神经网络,有两个步骤,即前向传递和误差反向传播。 1.7.1 前向传播和反向传播 在前向传递中,输入被馈送到模型并与权重向量相乘,并为每一层添加偏差以计算模型的输出。密集层或全连接层第l层的输入、…

网络基础-RIP协议

RIP(Routing Information Protocol)是一个基于距离矢量的动态路由协议,常用于小型到中型网络。RIP是较早的路由协议之一,具有简单易用的特点。以下是关于RIP协议的详细介绍: RIP的主要特点 ①使用跳数(ho…

非标设备行业的数智化项目管理

近年来,中国制造快速发展,企业迫切需要加快转型升级。与传统制造业相比,高端制造业具有明显的优势:高技术、高附加值、低污染、低排放、竞争优势强。一方面,企业对于生产效率和自动化水平的要求不断提高,期…

武汉星起航:成功挂牌上股交,领航亚马逊跨境电商,共创未来辉煌

在全球电商的竞争格局中,亚马逊凭借其卓越的服务、丰富的商品种类和高效的物流体系,始终稳坐全球电商市场的头把交椅。而在这股不可阻挡的电商浪潮中,武汉星起航电子商务有限公司凭借其前瞻性的战略布局和强大的运营能力,成功在20…

名企面试必问30题(十二)——简单介绍一下你的家庭情况

1.思路 对于面试官来说,他提出这个问题,只是为了深挖您的性格、稳定性、行事风格,包括未来定居规划、生育规划等基础信息,这是正常情况。您不要过多围绕其他家庭成员来讲,否则面试官无法获取他想要的,您也难…

【单片机毕业设计选题24040】-基于STM32的蓝牙防丢器设计

系统功能: 系统上电后显示“欢迎使用蓝牙防丢系统请稍后”两秒钟显示正常界面,如果蓝牙正常连接OLED显示Connected, 蓝牙未连接则显示DisConnected同时蜂鸣器报警 蓝牙正常连接后在APP上每隔三秒显示一个Connected 系统功能框图: 主要功能模块原理图: 电源时钟…

大数据之Zookeeper部署

文章目录 集群规划环境准备集群部署参考资料 集群规划 确定使用Hadoop101、hadoop102和hadoop103三台服务器来构建Zookeeper集群。 hadoop101hadoop102hadoop103zookeeperzookeeperzookeeper 环境准备 安装zookeeper前需要确保下面的环境配置成功,具体可以参考大…

AI智能剪辑发展到哪种地步?来看看云微客就知道了!

不是短视频团队招不起,而是矩阵账号更有性价比。企业做短视频有反思过为什么干不过同行吗?我们来看看大佬是怎么做的。云微客AI智能剪辑系统用几百个账号做矩阵布局,系统每天自动进行批量剪视频、写文案、一键自动化发布视频,一个…

[漏洞复现] MetInfo5.0.4文件包含漏洞

[漏洞复现] MetInfo5.0.4文件包含漏洞 MetInfo5.0.4 漏洞代码审计 漏洞出现在about/index.php中,因为利用了动态地址,所以存在漏洞。 漏洞检查语句(!192.168.109.100是我的服务器ip,需要换成自己的)&…

华为仓颉语言体验:一个简单的socket服务端实现

前言 由于仓颉目前是内测状态, 不能展示仓颉的详细信息,但是华为仓颉官网的公共文档的内容是可以公开的。 我相信有不少喜欢编程的朋友都申请了内测,但是一些编程初学者应该和我一样,处于摸索阶段。所以,我这里把我测…

中电金信:金Gien乐道 | 6月热门新闻盘点 回顾这一月的焦点事件

“以检之力 e企守护”——上海市检一分院与中电金信开展联学联建 6月24日,上海市人民检察院第一分院与中电金信数字科技集团股份有限公司联合开展“以检之力 e企守护”联学联建活动。双方共同参观了全国检察机关证券期货犯罪办案基地和重大职务犯罪案件办理&#xf…

python(6)numpy的使用详细讲解

在numpy中,最基本的数据结构是数组,因此我们首先需要了解如何创建一个数组。numpy提供了多种数组创建方法,包括从列表或元组创建、从文件中读取数据、使用特定函数创建等。下面是一些常用的创建方法: 一、创建数组 1. 从列表或元…

【MySQL备份】Percona XtraBackup基础篇

目录 1.关于Percona XtraBackup 2. Percona XtraBackup有哪些特点? 3.安装Percona XtraBackup 3.1.环境信息 3.2.安装步骤 4. xtrabackup内部流程图 5.Percona XtraBackup基础语法 5.1.全量备份 5.2.增量备份 5.2.1.基于全量备份的增量备份 5.2.2.基于前…

[leetcode]max-consecutive-ones 最大连续1的个数

. - 力扣&#xff08;LeetCode&#xff09; class Solution { public:int findMaxConsecutiveOnes(vector<int>& nums) {int maxCount 0, count 0;int n nums.size();for (int i 0; i < n; i) {if (nums[i] 1) {count;maxCount max(maxCount, count);} else…

安装和微调大模型(基于LLaMA-Factory)

打开终端&#xff08;在Unix或macOS上&#xff09;或命令提示符/Anaconda Prompt&#xff08;在Windows上&#xff09;。 创建一个名为lora的虚拟环境并指定Python版本为3.9。 conda create --name lora python3.9激活新创建的虚拟环境。 conda activate lora克隆项目。 git …

详解COB显示屏的技术特点

COB&#xff08;Chip on Board&#xff09;显示屏作为一种采用倒装COB封装技术的LED显示屏&#xff0c;在显示效果以及使用稳定性跟防护性方面&#xff0c;拥有更大优势&#xff0c;今天跟随COB显示屏厂家中品瑞科技一起来看看&#xff0c;COB显示屏的技术特点&#xff1a; 1、…

如何在OpenEuler 上快速部署一套Zabbix7.0监控系统

如何在OpenEuler 上快速部署一套Zabbix监控系统 一、环境信息 用途机器IP操作系统备注zabbix-server172.22.33.180openeuler 22.03 LTS SP37.0 LTS 版本&#xff0c;容器部署zabbix-agent172.16.10.182openeuler 22.03 LTS SP37.0 源码编译部署 二、Docker 部署 2.1 二进制…

Anti-Canine Heartworm Antibody (Chicken) - HRP Conjugated

犬心丝虫&#xff08;学名Dirofilaria immitis&#xff09;是一种寄生丝虫&#xff0c;通过蚊子叮咬而传播。感染犬在早期阶段&#xff0c;大多不会出现症状。随着病情发展&#xff0c;将出现咳嗽、呼吸困难等症状&#xff0c;并伴有右心功能衰竭&#xff0c;最终全身衰弱或虚脱…