• 正文
  • 相关推荐
申请入驻 产业图谱

以太网中的ARP请求帧和ARP响应帧的解析

10小时前
237
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

欢迎各位朋友关注“郝旭帅电子设计团队”公众号,本公众号会定时更新相关技术类资料、软件等等,感兴趣的朋友可以浏览一下本公众号的其他“模块”,希望各位朋友都能在本公众号获得一些自己想要的“东西”。

本篇主要讨论以太网中的ARP请求帧和ARP响应帧的解析

地址解析协议(ARP)的核心功能,就是将32位的IP地址解析为48位的MAC地址,以便在数据链路层进行通信。一个ARP报文会被完整封装在以太网帧的数据部分中,而ARP请求和响应则通过帧内的不同标识来区分。

下图清晰地展示了ARP请求和响应这两种帧的结构组成:

ARP报文详解 (28字节)

这是ARP协议的核心部分,请求和响应共享相同的28字节固定头部结构-。

硬件类型 (Hardware Type, 2字节)
该字段指明帧所要传输的硬件接口类型。对于以太网,该值为1-。

协议类型 (Protocol Type, 2字节)
该字段指明发送方需要映射的协议地址类型。对于IPv4地址,该值为0x0800。

硬件地址长度 (Hardware Address Length, 1字节)

该字段指明硬件地址(MAC地址)的长度,对于以太网,该值为6个字节-。

协议地址长度 (Protocol Address Length, 1字节)
该字段指明协议地址(IP地址)的长度,对于IPv4,该值为4个字节-。

操作码 (Operation Code, 2字节)
该字段是区分请求和响应的关键,指明ARP报文的类型-:

值为1:表示这是一个 ARP请求 (ARP Request)

值为2:表示这是一个 ARP响应 (ARP Reply)

发送端MAC地址 (Sender MAC Address, 6字节)
该字段是发起请求或响应的主机的MAC地址-。

发送端IP地址 (Sender IP Address, 4字节)
该字段是发起请求或响应的主机的IP地址-。

目标MAC地址 (Target MAC Address, 6字节)
该字段是目的主机的MAC地址,是ARP协议要解析的目标。它在请求和响应中的填充内容不同-。

目标IP地址 (Target IP Address, 4字节)
该字段是目的主机的IP地址,是发起请求的主机希望通信的IP-。

以太网帧首部 (14字节)

每个ARP报文被封装在一个以太网帧中,该帧首部的信息指导其在物理网络上的传输。

目的MAC地址 (Destination MAC Address, 6字节)
这是数据帧的接收方地址,是区分请求和响应帧发送方式的关键:

       ARP请求: 该字段是广播地址,即FF:FF:FF:FF:FF:FF。

       ARP响应: 该字段是单播地址,即请求方的MAC地址-。

源MAC地址 (Source MAC Address, 6字节)
发送方主机的MAC地址。无论是请求帧还是响应帧,该字段都是发送方自己的MAC地址-。

帧类型 (EtherType, 2字节)
该字段指明帧内封装的上层协议类型,ARP协议的值为0x0806-。

示例分析:完整通信流程

假设主机A(IP: 192.168.1.1,MAC: AA:AA:AA:AA:AA:AA)需要与主机B(IP: 192.168.1.2)通信,但本地ARP缓存中没有B的MAC地址。

A发送ARP请求(请求)

以太网帧头:目的MAC = FF:FF:FF:FF:FF:FF(广播),源MAC = AA:AA:AA:AA:AA:AA

ARP报文:操作码 = 1(请求),发送端MAC = AA:AA:AA:AA:AA:AA,发送端IP = 192.168.1.1,目标MAC = 00:00:00:00:00:00(填充0),目标IP = 192.168.1.2-。

网络内所有主机接收请求:网络内的所有主机都收到此广播帧。

主机B发现目标IP 192.168.1.2与自己匹配,准备响应。

B向A发送ARP响应(响应)

以太网帧头:目的MAC = AA:AA:AA:AA:AA:AA单播给A),源MAC = BB:BB:BB:BB:BB:BB

ARP报文:操作码 = 2(响应),发送端MAC = BB:BB:BB:BB:BB:BB,发送端IP = 192.168.1.2,目标MAC = AA:AA:AA:AA:AA:AA(A的MAC),目标IP = 192.168.1.1-。

A接收并缓存
主机A收到响应,将主机B的IP与MAC地址映射关系存入ARP缓存中,即可开始通信。-1

补充说明

帧填充:完整的ARP帧长度为42字节(14字节以太网头 + 28字节ARP数据)。由于以太网最小帧长为64字节(包含4字节的FCS校验),因此实际发送时会在ARP数据之后添加至少18字节的填充数据(PAD:18个字节的0即可) 以满足最小长度要求-

本篇内容中有部分资源来源于网络,如有侵权,请联系作者。

相关推荐