问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

网络基础-ARP协议

创作时间:
作者:
@小白创作中心

网络基础-ARP协议

引用
CSDN
1.
https://blog.csdn.net/WolvenSec/article/details/138590798

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

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设备上去ping R1设备。(此时站在R2的视角,我们只知道R1设备的IP地址)

这个时候使用wireshark对R2的e0/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命令的输出限制到单个接口
  1. Linux系统查看ARP映射表

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

arp -a

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

ARP协议的工作流程

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请求。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号