网络基础-ARP协议

ARP(Address Resolution Protocol,地址解析协议)是一种用于将IP地址映射到物理MAC地址的协议;在计算机网络中,每个设备都有一个唯一的MAC地址,用于在局域网内进行数据通信。而IP地址则是用于在更大范围的网络中标识设备的地址。

ARP协议的作用
1.将IP地址解析为MAC地址
2.维护IP地址与MAC地址的映射关系的缓存,即ARP表项
3.实现网段内重复IP地址的检测

ARP相关数据报文

ARP 请求报文

  • ARP 请求报文是用来查询目标设备的 MAC 地址的。它包含了发送设备的 MAC 地址、IP 地址以及目标设备的 IP 地址。通常情况下,目标设备的 MAC 地址字段会被置为全 0。

  • 在以太网上,ARP 请求报文的帧头目标地址会被置为广播地址(FF:FF:FF:FF:FF:FF),以确保所有设备都能收到这个请求。

ARP 响应报文

  • ARP 响应报文是对 ARP 请求的响应,它包含了目标设备的 MAC 地址。它的格式包含了发送设备的 MAC 地址、IP 地址以及目标设备的 MAC 地址和 IP 地址。

  • 在以太网上,ARP 响应报文的帧头目标地址会被设置为发送 ARP 请求的设备的 MAC 地址,这样就确保了响应只会被发送 ARP 请求的设备接收到。

ARP的工作过程

此时有两个路由器R1和R2直连:R1的IP地址为192.168.8.10,R2的IP地址为192.168.8.20此时在设备上将IP地址配完后在R2设备上去pingR1设备。(此时站在R2的视角,我们只知道R1设备的IP地址)

这个时候使用wireshark对R2e0/0口进行抓包,查看此次ping操作产生的数据包;可以看到在ping的过程中不止产生ping操作相关的ICMP数据包还产生了ARP数据报文。

当一个设备R2知道了目标设备R1的IP地址,但不知道R1对应的MAC地址时,它会使用ARP协议发送一个广播消息到局域网中,询问谁有这个IP地址(192.168.8.10)对应的MAC地址?,R1收到这个广播消息后,发现R2广播请求的IP与该自己的IP地址相匹配,就会回复包含自己MAC地址的消息;然后,R2收到回复后就会建立起IP地址与MAC地址的映射关系(R1和R2设备都会建立映射关系),往后就可以进行ICMP数据包的交互了(进行ping操作)。

IP、MAC地址映射表

思科、华为和华三设备查看ARP映射表
思科:Router>show ip arp 
华为:<Huawei>display arp
华三:<H3C>display arp

操作系统中查看ARP映射表

1.Windows系统查看ARP映射表
arp –a 
命令显示使用Windows操作系统的PC上所有接口的当前ARP表
arp -a -N ip_address
将arp命令的输出限制到单个接口
2.Linux系统查看ARP映射表

查看ARP缓存表,可以使用arp命令

arp -a

这将显示系统当前的ARP缓存表,包括IP地址和相应的MAC地址。

总结:

ARP(Address Resolution Protocol)协议是一种用于将IP地址映射到物理MAC地址的协议,其工作流程包括以下步骤:

ARP请求

当一个设备需要与另一个设备通信,但只知道目标设备的IP地址而不知道其MAC地址时,它会发送一个ARP请求消息(ARP Request)到局域网中。

ARP请求消息中包含了发起请求设备的IP地址、MAC地址(通常为广播地址FF:FF:FF:FF:FF:FF,表示发送给所有设备),以及目标设备的IP地址。

广播传播

发送ARP请求的设备将该请求消息以广播的形式发送到局域网中的所有设备。

所有收到该广播消息的设备都会接收并检查消息的目标IP地址是否与自己相匹配。

ARP响应

如果有设备发现自己的IP地址与ARP请求中的目标IP地址相匹配,则会向发起请求的设备发送一个ARP响应消息(ARP Reply)。

ARP响应消息中包含了目标设备的MAC地址以及发起请求设备的IP地址。

建立映射关系

当发起请求的设备收到ARP响应消息后,就会将目标IP地址与MAC地址的映射关系存储在自己的ARP缓存中,以便将来进行通信时使用。

数据通信

当发起请求的设备获得目标设备的MAC地址后,就可以使用该MAC地址来封装数据包,并将数据包发送到目标设备,实现数据通信。以后如果要与同一目标设备通信,发起请求的设备可以直接使用ARP缓存中存储的映射关系,而无需再次发送ARP请求。

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

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

相关文章

每日一题——力扣面试题 17.04. 消失的数字

题目链接&#xff1a;https://leetcode.cn/problems/missing-number-lcci/description/ 菜鸡做法&#xff1a; #include <stdlib.h> // 包含标准库头文件&#xff0c;用于内存分配等功能// 函数定义&#xff1a;寻找缺失的数字 int missingNumber(int* nums, int numsSi…

基于二维CS-SCHT变换和扩频方法的彩色图像水印嵌入和提取算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ............................................................. % figure; % subplot(121);…

Visual Studio C++ 2019进行安装

Visual Studio C 2019进行下载安装 链接&#xff1a;https://my.visualstudio.com/Downloads?qvisual%20studio%202017&wt.mc_idomsftvscom~older-downloads

SwiGLU激活函数

SwiGLU激活函数已经成为LLM的标配了。它是GLU的变体&#xff0c;公式如下&#xff1a; SwiGLU ⁡ ( x , W , V , b , c , β ) Swish ⁡ β ( x W b ) ⊗ ( x V c ) \operatorname{SwiGLU}(x, W, V, b, c, \beta)\operatorname{Swish}_\beta(x Wb) \otimes(x Vc) SwiGLU(x,…

开源免费的发票识别OCR应用:Invoice

Invoice&#xff1a;轻松识别&#xff0c;发票电子化扫描烦恼消- 精选真开源&#xff0c;释放新价值。 概览 Invoice 是github社区上一个采用开源许可协议发布的增值税发票光学字符识别&#xff08;OCR&#xff09;解决方案项目。该项目不仅集成了预训练的高级模型&#xff0c…

AtCoder Beginner Contest 332 B题 Glass and Mug

B题&#xff1a;Glass and Mug 标签&#xff1a;模拟题意&#xff1a;给定 G G G容量的玻璃杯和 M M M容量的马克杯&#xff0c;一开始两个杯子里面都没水&#xff0c;给定以下操作先后顺序&#xff0c;求 K K K次操作之后&#xff0c;两个杯子中各自的水量。&#xff08; G &…

2024-05-07 问AI: 介绍一下music 21 工具包

文心一言 Music21是一个由MIT开发的功能强大的计算音乐学分析Python库。这个工具包提供了丰富的功能&#xff0c;包括处理多种格式的音乐文件&#xff08;如MusicXML、MIDI、abc等&#xff09;&#xff0c;以及从零开始构建音乐文件或对音乐进行分析。Music21也可以方便地使用…

Python | Leetcode Python题解之第78题子集

题目&#xff1a; 题解&#xff1a; class Solution:def subsets(self, nums: List[int]) -> List[List[int]]:self.res []self.backtrack([], 0, nums)return self.resdef backtrack(self, sol, index, nums):self.res.append(sol)for i in range(index, len(nums)):self…

Jenkins +git +web(vue) centos8.5 实战打包部署 运维系列二

1新建一个工程 #cat qy.sh #!/bin/bash cd /data/.jenkins/workspace/web rm -rf dist/ rm -rf qysupweb.tar.gz npm run build tar -czvf qysupweb.tar.gz dist/ #点击构建

基于控制工程的牛鞭效应simulink建模与仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 牛鞭效应”对供应链性能和绩效产生了严重的影响。基于控制理论建立了多级线性供应链的模型&#xff0c;分别利用噪声带宽和Matlab&#xff0f;Simulink对一个可扩…

平航杯复现

简单介绍及前期操作 esxi镜像挂载是一个新的创新点 就根据官方的wp进行挂载就可以了&#xff0c;后面差不多常规的服务器取证操作&#xff0c;然后服务器和计算机&#xff0c;u盘取证都有点联系&#xff0c;还是需要队友配合好一点 配置网段我的建议是把本机的配置改一下&am…

box-decoration-break 使用介绍

box-decoration-break属性的使用 一、定义 box-decoration-break是CSS片段模块&#xff08;CSS Fragmentation Module Level 3&#xff09;中的一个属性&#xff0c;主要用于指定背景&#xff08;background&#xff09;、内边距&#xff08;padding&#xff09;、边框&#…

低代码在物品领用领域数字化转型的案例分析

办公用品管理数字化不仅代表了企业管理模式的革新&#xff0c;更是提升运营效率和成本控制的关键举措。通过数字化手段&#xff0c;企业能够实现采购、库存、领用等流程的自动化和智能化管理&#xff0c;大幅减少人工操作&#xff0c;提高处理速度&#xff0c;确保数据的准确性…

Kafka 面试题(一)

1. 简述什么是 Kafka 的 Topic &#xff1f; Kafka的Topic是消息队列中的基本消息通道&#xff0c;可以理解为一个命名的管道。生产者将消息发送到特定的Topic&#xff0c;而消费者则订阅感兴趣的Topic来接收消息。Topic在逻辑上是一个概念&#xff0c;它可以细分为多个分区&a…

ruoyi-nbcio 基于flowable规则的多重并发网关的任意跳转

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码&#xff1a; https://gitee.com/nbacheng/ruoyi-nbcio 演示地址&#xff1a;RuoYi-Nbcio后台管理系统 http://218.75.87.38:9666/ 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码&#xff1a; h…

如何使用Python下载哔哩哔哩(Bilibili)视频字幕

在本文中&#xff0c;我将向大家展示如何使用Python下载哔哩哔哩&#xff08;Bilibili&#xff09;视频的字幕。通过这个方法&#xff0c;你可以轻松地获取你喜欢的视频的字幕文件&#xff0c;方便学习和交流。 准备工作 在开始之前&#xff0c;我们需要安装一些必要的库&…

熟悉Redis吗,那Redis的过期键删除策略是什么

对于Redis&#xff0c;我们业务开发一般都只关心Redis键值对的查询、修改操作&#xff0c;可能因为懒或者只想能用就行&#xff0c;呵呵。很少关心键值对存储在什么地方、键值对过期了会怎么样、Redis有没什么策略处理过期的键、Redis处理过期键又有什么作用&#xff1f;但这些…

ListNode.__lt__ = lambda a, b: a.val < b.val进行堆排序的比较

在Python中&#xff0c;如果你想让自定义的数据类型&#xff08;如链表节点ListNode&#xff09;能够用于堆排序&#xff0c;并且希望这些节点能够基于某个属性&#xff08;比如节点的值val&#xff09;进行排序&#xff0c;你需要为这个数据类型实现比较方法。 在你的例子中&…

PCL 霍夫变换探测三维直线

文章目录 一、简介1.1二维空间1.2三维空间二、实现代码三、实现效果参考文献一、简介 1.1二维空间 “Hough变换”(HT)算法最初作为美国专利所发布,是一种定位任何形状的通用方法,该方法最早被应用于二维图像领域之中,但其仍适用于在二维、三维点集探测各种形状。 基础理论:…

固定资产管理系统参考论文(论文 + 源码)

【免费】固定资产管理系统.zip资源-CSDN文库https://download.csdn.net/download/JW_559/89282536 固定资产管理系统 摘 要 随着计算机信息技术的发展以及对资产、设备的管理科学化、合理化的高要求&#xff0c;利用计算机实现设备及资产的信息化管理已经显得非常重要。 固…