ARP 地址解析协议

本文详细介绍了ARP协议在以太网络中的作用,包括根据IP地址获取MAC地址的过程,广播请求和响应机制,以及数据抓包中的报文格式。ARP协议是建立IP地址与物理地址映射的基础,主要在二层局域网内运作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

应用背景

在以太网络中,由于数据在经过 OSI 七层网络时,数据经过数据链路层时,需要将数据包封装成数据帧进行转发,但在封装数据帧时,需要目标 MAC 地址,以确定目标主机在目标网络中的具体位置,由此产生 ARP 地址解析协议

作用范围

作用:根据目标 IP 地址,获取目标 MAC 地址

影响范围:二层同一局域网内。虽然是作用于二层网络,但实际为三层协议。我们知道,在网络中收到数据,本层如果无法处理,会交由上层协议进行处理

工作原理

1. 文字概述

目标主机会向局域网内发送一个 ARP  recode: request (1)的广播请求包,询问目标主机的 MAC 地址。数据帧在到达二层交换机发现是一个广播数据帧,会在网络中泛洪,同一网络中所有终端设备都会收到这个 ARP 广播帧,终端收到这个帧后,会比对 IP 地址,同时将该 IP 地址对应的 MAC 地址放到自身 ARP 缓存表中,以便后续建立数据,如果发现是广播数据帧请求的是自身,同时会回复一个 opcode: reply(2) 的单播数据帧。如果不是自身,会直接丢弃该数据。

2. 流程概述

  • 请求终端:发送 ARP 请求包(源 MAC自身 MAC 地址目的  ff:ff:ff:ff:ff 源 IP自身IP目的 IP目标主机 IP
  • 目标终端:学习 MAC 地址,比对 IP 地址,发送 ARP 响应包(源 MAC自身 MAC 地址目的 MAC请求主机 NAC地址源 IP自身 IP目的 IP目标主机 IP
  • 其他终端:学习 MAC 地址,比对 IP 地址,丢弃数据

报文格式

字段详情

网络拓扑

这里我简单搭建了一个网络,用 PC1 来 ping 网关

数据抓包

这里解释一下,字段详情中的类型 0x0806 是数据帧的类型格式,也就是第一张图中的类型,第二张图片中的 0x0800 表明这个数据包是 IP 数据包。数据在交由上层协议时,会根据这个类型来判断交由什么协议处理

1. ARP 请求包

2. ARP 响应包

总结

ARP 协议,基于以太网产生的一个地址解析协议,通过建立 IP地址物理地址 映射表来进行数据转发。在收到一个 ARP 请求包时,会将数据以广播的形式发送出去,目标在收到请求时主动回应,以此建立数据连接。由于是以以太网为基础产生的协议,所以在其他网络(PPP、帧中继等)网络中没有该协议

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学习中进步

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值