以太网 ARP地址解析协议工作原理与抓包分析

2.3.0 以太网 ARP帧与ARP工作过程

Address Resolution Protocol(地址解析协议)

在二层网络中用户的数据封装在以太网数据帧中,而转发数据帧的依据就是源目MAC地址。

ARP的主要作用就是将IP地址进行解析成对应的MAC地址,便于数据帧的转发。

一、ARP的格式

ARP请求

ARP请求

ARP应答

ARP应答

ARP字段详细介绍

字段长度(bit)含义
Hardware Type16比特表示硬件地址的类型。对于以太网,该类型的值为“1”。
Protocol Type16比特表示发送方要映射的协议地址类型。对于IP地址,该值为0x0800。
Hardware Length8比特表示硬件地址的长度,单位是字节。对于ARP请求或应答来说,该值为6。
Protocol Length8比特表示协议地址的长度,单位是字节。对于ARP请求或应答来说,该值为4。
OPcode16比特操作类型: 1 ARP请求 2 ARP应答 3 RARP请求 4 RARP应答
Ethernet Address of sender48比特发送方以太网地址。这个字段和ARP报文首部的源以太网地址字段是重复信息。
IP Address of sender32比特发送方的IP地址。
Ethernet Address of destination48比特接收方的以太网地址。发送ARP请求时,该处填充值为0x00.00.00.00.00.00。
IP Address of destination32比特接收方的IP地址。

二、ARP缓存表

 ARP缓存表中主要的内容就是IP地址MAC地址
 当向目标主机发送数据时,通过查找ARP缓存表取出目标IP对应的MAC地址进行数据的封装。

C:\Users\Administrator>arp -a

接口: 172.28.129.15 --- 0xd
  Internet 地址         物理地址              类型
  10.0.0.5              58-69-6c-4c-5a-3b     动态
  10.99.0.1             58-69-6c-4c-5a-3b     动态
  10.99.94.221          58-69-6c-4c-5a-3b     动态
  10.232.20.244         58-69-6c-4c-5a-3b     动态
  13.107.3.254          58-69-6c-4c-5a-3b     动态
  13.107.6.254          58-69-6c-4c-5a-3b     动态

 终端在数据转发时依赖ARP缓存表中的MAC地址映射信息;
 在交换设备上进行数据帧转发的依赖是MAC地址表,由于二层交换设备并不能识别三层的IP地址,所以二层交换机只将MAC地址与端口号进行一个绑定,从而组成MAC地址表项方便数据帧的快速转发。

三、ARP的工作原理

ARP的主要作用就是将IP地址解析成与其对应的MAC地址,常见的ARP功能就是ARP Request请求ARP Replay应答

ARP Request:

  1. 当需要将数据包发送给目标网络时,发现只有IP地址却没有其MAC地址。先通过发送ARP Request请求其IP的MAC地址信息,然后再进行数据的封装。
  2. ARP Request中:源IP为自己,目的IP为请求的IP地址,源MAC地址为自己,目的MAC地址为全0。
  3. 将ARP Request封装在目的MAC地址为全F的数据帧中,向出接口发送,ARP Request经过若干交换机的泛洪操作最后将数据包发送到目标主机。
  4. 如果长时间没有收到ARP Replay应答,将再次发送ARP Request。

ARP Replay:

  1. 交换网络中的所有主机都能收到该ARP Request请求,但拆开发现其中请求的IP并不是自己,将直接丢弃。
  2. 直到目标主机收到该ARP Request,拆开发现请求的是自己的MAC地址,立即生成ARP Relay应答进行回应:源IP为自己,目的IP为发送请求的主机,源MAC地址为自己,目的MAC地址为请求主机的MAC。
  3. 收到ARP Replay应答的主机,将IP与MAC对应信息记录在本地的ARP缓存表中,有了目标的MAC地址信息,就能成功的将数据进行封装发送了。
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Hades_Ling

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

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

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

打赏作者

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

抵扣说明:

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

余额充值