如果主机a发送ARP广播报文,主机c收到后发现目标ip是自己的给予回应并记录,主机ab收到后发现这个目标IP不是自己的进行回应,那会记录到自己的ARP列表吗?
不知道你这个问题是否已经解决, 如果还没有解决的话: ARP缓存是个用来储存IP地址和MAC地址的缓冲区,其本质就是一个IP地址–>MAC地址的对应表,表中每一个条目分别记录了网络上其他主机的IP地址和对应的MAC地址。
每个动态ARP缓存项的潜在生命周期是10分钟。新加到缓存中的项目带有时间戳,如果某个项目添加后2分钟内没有再使用,则此项目过期并从ARP缓存中删除;如果某个项目已在使用,则又收到2分钟的生命周期;如果某个项目始终在使用,则会另外收到2分钟的生命周期,一直到10分钟的最长生命周期。静态项目一直保留在缓存中,直到重新启动计算机为止。
不会。
当本网络的所有主机收到该 ARP 数据包时:
(A)首先检查数据包中的 IP 地址是否是自己的 IP 地址,如果不是,则忽略该数据包。(第一条直接匹配,忽略此ARP报文)
(B)如果是,就从数据包中取出源主机的 IP 和 MAC 地址写入到 ARP 列表中,如果已经存在,则覆盖。
(C)然后将自己的 MAC 地址写入 ARP 响应包中,告诉源主机自己是它想要找的 MAC 地址。
ARP(Address Resolution Protocol)广播是用于查找网络中设备的MAC地址的协议。在一个局域网中,当主机需要发送数据时,需要将目标IP地址转换成目标MAC地址,此时就需要使用ARP来查询目标设备的MAC地址。
在你提到的这种情况下,主机A发送一个ARP广播请求,询问目标IP地址对应的MAC地址,主机C收到后发现目标IP地址是自己的,因此会给主机A回应自己的MAC地址。主机AB收到广播请求后发现这个目标IP地址不是自己的,因此不会响应。
当主机AB收到ARP请求报文,并发现目标IP地址不是自己的,它不会响应该请求,因此也不会在自己的ARP列表中记录该目标IP地址对应的MAC地址。ARP列表仅仅记录当前主机与其他设备的物理地址的映射关系。只有当主机向网络中发送数据时,才会利用ARP列表查询指定目标IP地址所对应的MAC地址,以便将数据发送到正确的设备上。
主机a发送ARP广播报文时,会将目标IP地址设置为需要查找的IP地址,即主机b的IP地址。主机c收到广播报文后,会检查广播报文中的目标IP地址是否是自己的IP地址,如果是,主机c会将自己的MAC地址作为响应发送给主机a,同时在自己的ARP表中记录下主机a的IP地址和MAC地址的对应关系。
主机b收到ARP广播报文后,会检查广播报文中的目标IP地址是否是自己的IP地址,发现不是自己的IP地址后,主机b不会响应该广播报文,也不会在自己的ARP表中记录任何信息。
因此,主机b不会记录到自己的ARP列表中。只有当主机b需要发送ARP请求时,它会发出自己的ARP请求报文,等待其他主机的响应,并将响应中的IP地址和MAC地址对应关系记录在自己的ARP表中。