计算机网络-ARP的作用与原理

1.ARP简介

地址解析协议(Address Resolution Protocol),其基本功能为透过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。简单来说ARP 实现由 IP 地址得到 MAC 地址。
在这里插入图片描述

2.ARP工作流程

在这里插入图片描述
假设主机A和B在同一个网段,主机A要向主机B发送信息,具体的地址解析过程如下:
(1) 主机A首先查看自己的ARP表,确定其中是否包含有主机B对应的ARP表项。如果找到了对应的MAC地址,则主机A直接利用ARP表中的MAC地址,对IP数据包进行帧封装,并将数据包发送给主机B。

(2) 如果主机A在ARP表中找不到对应的MAC地址,则将缓存该数据报文,然后以广播方式发送一个ARP请求报文。ARP请求报文中的发送端IP地址和发送端MAC地址为主机A的IP地址和MAC地址,目标IP地址和目标MAC地址为主机B的IP地址和全0的MAC地址。由于ARP请求报文以广播方式发送,该网段上的所有主机都可以接收到该请求,但只有被请求的主机(即主机B)会对该请求进行处理。

(3) 主机B比较自己的IP地址和ARP请求报文中的目标IP地址,当两者相同时进行如下处理:将ARP请求报文中的发送端(即主机A)的IP地址和MAC地址存入自己的ARP表中。之后以单播方式发送ARP响应报文给主机A,其中包含了自己的MAC地址。

(4) 主机A收到ARP响应报文后,将主机B的MAC地址加入到自己的ARP表中以用于后续报文的转发,同时将IP数据包进行封装后发送出去。

3. ARP报文格式

在这里插入图片描述

一般来说以太网地址就是指MAC地址。
(1) 字段1是ARP请求的目的以太网地址,全1时代表广播地址。

(2) 字段2是发送ARP请求的以太网地址。

(3) 字段3以太网帧类型表示的是后面的数据类型,ARP请求和ARP应答这个值为0x0806。

(4) 字段4表示硬件地址的类型,硬件地址不只以太网一种,是以太网类型时此值为1。

(5) 字段5表示要映射的协议地址的类型,要对IPv4地址进行映射,此值为0x0800。

(6) 字段6和7表示硬件地址长度和协议地址长度,MAC地址占6字节,IP地址占4字节。

(7) 字段8是操作类型字段,值为1,表示进行ARP请求;值为2,表示进行ARP应答;值为3,表示进行RARP请求;值为4,表示进行RARP应答。

(8) 字段9是发送端ARP请求或应答的硬件地址,这里是以太网地址,和字段2相同。

(9) 字段10是发送ARP请求或应答的IP地址。

(10) 字段11和12是目的端的硬件地址和协议地址。

4. 抓包分析实验

下面是抓取的ARP数据包,可以对照上面的说明进行理解。
图中红框圈起来的是一对ARP请求和ARP应答。
在这里插入图片描述

4.1 ARP请求报文

在这里插入图片描述

4.2ARP应答报文

ARP应答分组中,将ARP请求中的源和目的地址进行交换,此外,变化的还有字段8 Opcode。其余字段内容不会发生变化。
在这里插入图片描述

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值