一次ARP解析过程的简单分析

ARP地址解析协议

ARP(Address Resolution Protocol):地址解析协议。
在终端互访的过程中,源主机需要知道目的主机的MAC地址与IP地址才能完成对数据的二层三层封装,并交给路由器/交换机进行数据的转发。
一般在使用ICMP协议尝试ping某一台主机时,对于用户来说,往往已知三层IP地址,但不知道对端MAC地址,此时就需要进行一次ARP请求,请求到对端的MAC地址或网关路由器接口的MAC地址(跨广播域的ARP代理)以完成对数据的封装,下面以一个简单的小环境来进行抓包分析验证一次ARP的过程:
在这里插入图片描述
完成基本配置后,PC1首次访问PC2会产生下面的情况:
在PC1的接口上抓到以下几个数据包
在这里插入图片描述
在PC1上对PC2执行了一次ping的操作,在ICMP报文之前产生了一次ARP请求(在Cisco设备中现象为ping的结果是.!!!),即第一个ICMP报文由于没有目的MAC地址所以封装不成功,转而发送一个ARP Request报文请求对端MAC地址。
我们打开第一个ARP Request报文查看内容如下:
在这里插入图片描述
可以看到,第一个报文是一个二层广播报文,目的MAC地址为全F,opcode字段为1,说明是一个Request报文。
与此同时,同在一个广播域的PC2收到这个报文后拆开ARP头部信息发现目的IP地址为自身网卡的IP地址,所以接收并处理报文,来看一下PC2回复给PC1的报文:
在这里插入图片描述
可以发现PC2对PC1回复了一个单播报文,opcode字段为2,携带了PC1需要的PC2的MAC地址,此时PC1收到并处理该报文,将报文中的源MAC地址与源IP地址缓存到本地的ARP缓存表中,查看PC1的ARP缓存表:
在这里插入图片描述
ARP缓存表保存了IP地址与MAC地址的对应关系,如上图的ARP条目类型为动态ARP(经验证,ensp中主机动态ARP条目的老化时间为2分钟,静态ARP默认不老化),当ARP缓存表中存在目的IP对应的MAC地址时,则不需要再次进行ARP请求,减少对网络的负担。

总结:
PC1访问PC2的操作步骤如下:

  1. 查询本地ARP缓存表是否存在对应的MAC地址,存在则直接根据ARP缓存表中的MAC地址进行数据封装并交给交换机进行转发;
  2. 若不存在对应的MAC地址,则产生一次ARP,发送一个ARP广播包;
  3. 由目标终端对本机回复一个ARP Reply单播报文,在报文中本机可以获取到对端MAC地址,加入本地ARP缓存表,根据获取到的MAC地址进行数据封装。
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值