我的例子前提

我是通过设备之间发送ICMP报文,来体现ARP的工作过程,ICMP最简单来说,我们平时发送的ping包就是一种ICMP报文,ICMP就是一个IP数据包而已,所以封装ICMP的时候,不仅需要对方的IP还需要对方的MAC你才能把数据包封装起来发送出去,而你的本地只有自己的MAC,没有对方的,所以你就要发送ARP请求来得到想通信的对方的MAC,从而完成通信。

举例如下

ARP协议工作详细过程介绍
注:H为主机,R为路由器

初始情况下的路由表的情况:
ARP协议工作详细过程介绍

情况一

ARP协议工作详细过程介绍
数据包与主机的ARP的详细情况:
ARP协议工作详细过程介绍
解释:
为什么主机1发送ICMP请求包之前需要发送ARP请求,而主机2ICMP应答包却没有,是因为,主机1发送来ARP请求的时候,主机2也就偷偷的把主机1的MAC地址记录在了自己的ARP缓存表中了。

情况二

ARP协议工作详细过程介绍
对应表的情况:
ARP协议工作详细过程介绍
注意:数据包3和数据包6是应该重点思考的包,尤其是MAC地址和IP地址的区别。

情况三

ARP协议工作详细过程介绍
对应表:
ARP协议工作详细过程介绍

情况四

ARP协议工作详细过程介绍
表:
ARP协议工作详细过程介绍

情况五

ARP协议工作详细过程介绍
表:
ARP协议工作详细过程介绍

情况六

ARP协议工作详细过程介绍
表:
ARP协议工作详细过程介绍

相关文章:

  • 2022-12-23
  • 2021-11-21
  • 2022-02-19
  • 2022-12-23
  • 2021-10-03
  • 2021-12-14
猜你喜欢
  • 2021-11-03
  • 2021-11-08
  • 2019-11-26
  • 2021-12-19
相关资源
相似解决方案