当你第一次发送ping请求包,ARP缓存表为空时会发生什么?(详细解析全过程)

工具:Cisco Packet Tracer
本机:PC1 192.168.1.3/24
对方:PC2 192.168.1.1/24

我们知道,ping命令是属于ICMP协议的,属于OSI七层模型的第三层,当我们在第三层想将ping包封装上IP地址后,需要先发送给第二层封装目的IP对应的MAC地址,但由于我们是第一次ping对方,所以ARP缓存表为空,需要先通过ARP协议来获取对方IP地址对应的MAC地址。

开始实验:
192.168.1.3/24第一次发送ping的请求包给192.168.1.1/24。

可以在表上发现两设备间都发送过哪些包的全过程。
在这里插入图片描述在这里插入图片描述**

我们一步一步来解析发生了什么。

自己第一次进行ping请求,ICMP为第三层协议,先再第三层封装好源IP和目的IP,然后发往自己的第二层

(图示的内层表示本设备接收,外层表示本设备发送)
在这里插入图片描述

自己的第二层查找对方IP对应MAC地址,发现没有ARP缓存记录
在这里插入图片描述

于是将ping请求先暂停,进行ARP请求(目的是为了拿到对方IP对应的MAC地址)

ARP请求是将目的IP设置为全F,表示匹配任何人,即进行广播,当前冲突域内的所有主机都会收到该请求,收到请求时,第二层目的MAC地址识别为全F后会发往自己的第三层解析目的IP,如果目的IP匹配,则响应ARP请求,反之则直接将包丢弃。
在这里插入图片描述

对方接收ARP请求,将包的目的IP等信息与自己匹配,并记录对方IP与MAC到自己的ARP缓存表,然后将自己的IP、MAC地址等信息通过ARP响应发送出去。
在这里插入图片描述

自己接收到ARP响应,更新自己的缓存表:
在这里插入图片描述

有了缓存表,自己就可以继续继续ICMP协议的ping请求:
在这里插入图片描述

对方接收ping包:第一层物理端口匹配,第二层MAC地址匹配,第三层IP地址匹配,然后就成功接收ping请求,进行ping响应:
在这里插入图片描述

自己接收到ping响应:
在这里插入图片描述
全过程完成。

  • 5
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值