计算机网络——ARP协议

article/2025/9/24 23:27:56

1、ARP协议介绍

ARP(Address Resolution Protocol)也称地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议。它可以解决同一个局域网内主机或路由器的IP地址和MAC地址的映射问题。

OSI模型把网络工作分为七层,IP地址在OSI模型的第三层,MAC地址在第二层,彼此不直接打交道。在通过以太网发送IP数据包时,需要先封装第三层(32位IP地址)、第二层(48位MAC地址)的报头,但由于发送时只知道目标IP地址,不知道其MAC地址,又不能跨第二、三层,所以需要使用地址解析协议。使用arp协议,可根据网络层IP数据包包头中的IP地址信息解析出目标硬件地址(MAC地址)信息,以保证通信的顺利进行。

TCP/IP模型中,ARP协议属于IP层(也称网络层);在OSI模型中,ARP协议属于数据链路层

2、ARP协议工作原理

2.1同网段

1、原理

1、 首先,每台主机都会在自己的ARP缓冲区中建立一个 ARP列表,以表示IP地址和MAC地址的对应关系。
2、当源主机需要将一个数据包要发送到目的主机时,会首先检查自己 ARP列表中是否存在该 IP地址对应的MAC地址,如果有,就直接将数据包发送到这个MAC地址;如果没有,就向本地网段发起一个ARP请求的广播包,查询此目的主机对应的MAC地址。此ARP请求数据包里包括源主机的IP地址、硬件地址、以及目的主机的IP地址。
3、网络中所有的主机收到这个ARP请求后,会检查数据包中的目的IP是否和自己的IP地址一致。如果不相同就忽略此数据包;如果相同,该主机首先将发送端的MAC地址和IP地址添加到自己的ARP列表中,如果ARP表中已经存在该IP的信息,则将其覆盖,然后给源主机发送一个ARP响应数据包,告诉对方自己是它需要查找的MAC地址;
4、源主机收到这个ARP响应数据包后,将得到的目的主机的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息开始数据的传输。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。
**

例如:

A的地址为:IP:192.168.10.1 MAC: AA-AA-AA-AA-AA-AA B的地址为:IP:192.168.10.2 MAC: BB-BB-BB-BB-BB-BB
根据上面的所讲的原理,我们简单说明这个过程:A要和B通讯,A就需要知道B的以太网地址,于是A发送一个ARP请求广播(谁是192.168.10.2 ,请告诉192.168.10.1),当B收到该广播,就检查自己,结果发现和自己的一致,然后就向A发送一个ARP单播应答(192.168.10.2 在BB-BB-BB-BB-BB-BB)。

2、详细过程
下面是ARP协议在网段内工作时详细的过程:
在这里插入图片描述
如果主机10想要和11进行通讯,会经历以下几个步骤:

1、创建一个ARP协议格式的报文,报文的目标MAC地址全为F,目标IP为11。
2、报文发送至交换机,交换机发现是一个ARP协议的报文,会将此报文通过自己记录的端口进行广播。
3、11和12两台主机都接收到ARP报文,12发现目标IP与自己本机IP不符,将此报文丢弃;11发现与本机IP一致,将自己的MAC地址也封装成ARP协议的报文,发送给交换机,交换机将该报文发送给10主机。
4、主机10收到报文,将11的MAC地址缓存到本地的ARP列表中。

在第三步中,主机11将自己的MAC地址封装成ARP协议报文,其实是一个将原来的报文进行替换的过程

在这里插入图片描述

交换机工作在第二层,它可以动态记录其各个端口对应的MAC地址和IP地址,当建立起端口与MAC地址和IP地址的映射关系后,下次如果出现网段内的通讯,就不需要通过广播到各个端口进行寻找对应的MAC地址了,保证了局域网具有很高的带宽。
在这里插入图片描述

2.2不同网段

1、原理

不同网段的主机通信时,主机会封装网关(通常是路由器)的MAC地址,然后主机将数据发送给路由器,后续路由进行路由转发,通过ARP解析目标地址的MAC地址,然后将数据包送达目的地。具体过程分析如下:

2、具体过程

在这里插入图片描述
如上图,主机A、B通过路由器连接,属于两个不同的网段子网掩码24(255.255.255.0)

1、主机A有数据发往主机B,数据封装IP之后发现没有主机B的MAC地址;然后查询ARP,ARP回应:“我在192.168.3.0/24网段,目标地址在192.168.4.0/24,不属于同一网段,需要使用默认网关”;ARP发现默认网关是192.168.3.2,但是没有网关MAC地址,需要先进行查询;
2、主机将数据包先放到缓存中,然后发送ARP查询报文:封装自己的MAC地址为源MAC,目标mac地址写全F的广播地址,请求网关192.168.3.2的MAC地址。然后以广播方式发送出去;
3、路由器收到广播数据包,首先将原192.168.3.1添加到自己的MAC地址表中,对应MAC地址为0800.0222.2222。路由发现是请求自己的MAC地址,然后路由回复一个ARP应答:封装自己的IP地址为源IP自己的MAC地址为源MAC,主机A的IP为目的IP主机A的MAC为目的MAC,发送一个单播应答“我是192.168.3.2.我的MAC地址为0800.0333.2222”;
4、主机收到应答后,将网关MAC地址对应192.168.4.2(跨网关通信,其他网段IP地址的MAC地址均为网关MAC),然后将缓存中的数据包,封装网关MAC地址进行发送;
5、路由收到数据包,检查目的IP地址,发现不是给自己的,决定要进行路由,然后查询路由表,需要发往192.168.4.0网段中的192.168.4.2地址。路由准备从相应接口上发出去,然后查询MAC地址表,发现没有主机B的映射。路由器发送ARP请求查询主机B的MAC地址(原理同2、3步,主机B收到请求后首先会添加网关的MAC地址,然后单播回复ARP请求);
6、路由器收到主机B的MAC地址后,将其添加到路由MAC地址表中,然后将缓存中的数据2层帧头去掉,封装自己的MAC地址为源MAC,主机B的MAC地址为目的MAC(源和目的IP地址不变),加上二层帧头及校验,发送给主机B;

7、主机B收到数据之后,进行处理,发送过程结束;

8、如果主机B收到数据后进行回复,主机B会进行地址判断,不在同一网段,然后决定将数据发送给网关,主机B查询MAC地址表获得网关MAC地址,将数据封装后发送(ARP地址解析的过程不再需要了,MAC地址表条目有一定的有效时间),网关收到数据后直接查询MAC表,将二层帧MAC地址更改为A的MAC发送出去。如此,主机A收到主机B的回复;

综上在跨网段通信过程中有以下过程:
1、判断地址是否同一网段
2、查询目的IP地址的mac(发送arp请求)

此外需注意点:
1、ARP请求以广播发送、以单播回应
2、路由器隔离广播。每一个网段都是独立的广播域
3、跨越网段通信需要使用网关的MAC地址

参考:https://blog.csdn.net/TheRainManFSA/article/details/105411543
https://blog.csdn.net/jazzsoldier/article/details/52635744


http://chatgpt.dhexx.cn/article/MeNAe0B3.shtml

相关文章

认识ARP协议

目录 一、为什么需要ARP协议? 二、ARP报文的格式 三、主机X发送ARP请求的过程 1、填充ARP报文 2、链路层封装ARP报文 3、发送ARP请求 四、IP地址和Mac地址的映射表 ARP协议并不是一个单纯的数据链路层的协议,而是一个介于数据链路层和网络层之间的…

ARP协议,带你了解ARP协议

目录 一、ARP协议概述 二、使用ARP的四种情况 三、ARP缓存 四、ARP的工作原理 1. 地址解析 2. 地址缓存 五、ARP报文格式 1. ARP请求报文格式 2. ARP响应报文格式 六、免费ARP 七、代理ARP 一、ARP协议概述 ARP(Address Resolution Protocol)地…

ARP协议和路由器工作原理

网络设备想要发送数据到另一台设备是,不仅要知道对方设备的IP地址,IP数据报文必须封装成帧才能通过数据链路进行发送。数据帧必须要包含目的MAC地址,因此发送数据的那一台设备必须获取到目的MAC地址。通过目的IP地址而获取目的MAC地址的过程是…

ARP协议工作原理

转自:https://blog.csdn.net/wangzhen209/article/details/78249955 一、ARP在同个网段下的工作原理 首先,每台主机都会在自己的ARP缓冲区中建立一个 ARP列表,以表示IP地址和MAC地址的对应关系。当源主机需要将一个数据包要发送到目的主机时&…

【头歌】——ARP协议分析(计算机网络)

任务描述 本关任务:对 ARP 协议进行分析。 具体操作

ARP协议的作用

1. 什么是ARP?    ARP (Address Resolution Protocol) 是个地址解析协议。最直白的说法是:在IP以太网中,当一个上层协议要发包时,有了该节点的IP地址,ARP就能提供该节点的MAC地址。   2为什么要有ARP? OSI 模式把网…

ARP协议的工作流程

坚持原创输出,点击蓝字关注我吧 图片来自网络 目录 网络层的ARP协议 1.ARP协议的目的2.ARP协议通讯过程3.总结 网络层的ARP协议 通过ARP协议知道对方的mac地址,已经知道对方ip地址的情况下,不知道mac地址。定义了一个ARP协议来解决这个问题。…

什么是ARP协议

欢迎关注  一、什么是ARP协议 ARP协议,全称“Address Resolution Protocol”,中文名是地址解析协议,使用ARP协议可实现通过IP地址获得对应主机的物理地址(MAC地址)。 在TCP/IP的网络环境下,每个联网的主机都会被分配…

ARP协议格式和实例分析

ARP协议是一个网络层协议,它的出现是为了完成网络层的ip和数据链路层的MAC地址之间的对应关系。 一、ARP协议的报文格式 arp的报文格式如下: 1.硬件地址类型:该字段表示物理网络类型,即标识数据链路层使用的是那一种协议,其中0x…

Wireshark抓包分析ARP协议

「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「专栏简介」:此文章已录入专栏《计算机网络零基础快速入门》 使用Wireshark工具抓取ARP协议的数据包,分析ARP协议的…

ARP协议详解 ------- 一看就懂

ARP协议详解 什么是ARP?ARP的作用ARP工作流程抓包分析ARP请求报文ARP应答报文 ARP表动态ARP表静态ARP表免费ARP免费ARP的作用有:(1) 一个主机可以通过它来确定另一个主机是否设置了相同的 IP地址。(2)更新其他主机高速缓存中旧的硬件地址信息。(3)网关利…

全网最全最详细的ARP协议介绍

ARP,Address Resolution Protocol,地址解析协议,解析IP地址得到MAC地址,基于数据链路层之上的协议,可以看成和网络层同一层级,通常称为2.5层协议,ARP是网络层与数据链路层的重要枢纽,它解决了网络层(软件)到数据链路层(硬件)的映射 ARP请求报文 数据通信的基础是在…

ARP协议介绍

什么是ARP? ARP(Address Resolution Protocol,地址解析协议)是用来将IP地址解析为MAC地址的协议。主机或三层网络设备上会维护一张ARP表,用于存储IP地址和MAC地址的映射关系,一般ARP表项包括动态ARP表项和…

图解 ARP协议工作流程

文章目录 概念工作原理工作过程举例 ARP报文格式 概念 ARP(Address Resolution Protocol),即地址解析协议。ARP协议是根据IP地址获取物理地址的一个TCP/IP协议。 主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机&#…

计算机网络 - ARP协议

地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。 在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机和…

ARP协议原理

文章目录 引言初始ARPARP缓存表一句话总结ARP协议的工作ARP表项的建立对于局域网对于公网 ARP缓存表的超时处理ARP报文喜欢就关注我吧! 引言 从前一篇文章中,我们知道计算机中会维护一个ARP缓存表,这个表记录着IP地址与MAC地址的映射关系&am…

ARP协议简介

ARP,全称Address Resolution Protocol,中文名为地址解析协议,它工作在数据链路层,在本层和硬件接口联系,同时对上层提供服务。 数据链路如以太网或令牌环网都有自己的寻址机制,这是使用数据链路的任何网络层…

ARP协议详解,小白易懂

当网络设备有数据要发送给另一台网络设备时,必须要知道对方的网络层地址(即IP地址)。IP地址由网络层来提供,但是仅有IP地址是不够的,IP数据报文必须封装成帧才能通过数据链路进行发送。数据帧必须要包含目的MAC地址&am…

ARP 协议工作原理(同网段及跨网段)

目录 一、ARP简介 二、ARP的工作原理 三、ARP协议在同网段工作原理 四、ARP协议在不同网段工作原理 一、ARP简介 ARP全称是“Address Resolution Protocol”(地址解析协议),ARP作用于以太网的环境之中,以太网环境之中数据的传输依赖的是MAC地址并不是…

矩阵分析:特征值分解

矩阵分析:特征值分解 前置知识空间变换伸缩旋转 对称矩阵对称矩阵对角化 正交矩阵向量的基基变换不同基下的向量变换逆矩阵不同基下的空间变换 内积的几何意义 特征值、特征向量特征值分解代码 前置知识 空间变换 伸缩 一个矩阵其实就是一个线性变换,因…