首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >以太网中的ARP请求帧和ARP响应帧的解析

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

作者头像
FPGA技术江湖
发布2026-05-26 20:36:41
发布2026-05-26 20:36:41
130
举报

本篇主要讨论以太网中的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地址。

  1. 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-。
  2. 网络内所有主机接收请求: 网络内的所有主机都收到此广播帧。 主机B发现目标IP 192.168.1.2与自己匹配,准备响应。
  3. 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-。
  4. A接收并缓存: 主机A收到响应,将主机B的IP与MAC地址映射关系存入ARP缓存中,即可开始通信。-1

补充说明

  • 帧填充:完整的ARP帧长度为42字节(14字节以太网头 + 28字节ARP数据)。由于以太网最小帧长为64字节(包含4字节的FCS校验),因此实际发送时会在ARP数据之后添加至少18字节的填充数据(PAD:18个字节的0即可) 以满足最小长度要求。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-05-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FPGA技术江湖 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ARP报文详解 (28字节)
  • 以太网帧首部 (14字节)
  • 示例分析:完整通信流程
  • 补充说明
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档