(1)ARP进程在本局网上广播发发送一个ARP请求分组。 (2)在本局域网上的所有主机上运行的ARP进程都收到此ARP请求分组。 (3)主机B的IP地址与ARP请求分组中要查询的IP地址一致就收下这个ARP请求分组,并向主机A发送ARP响应分组,并在这个ARP响应分组中写如自己的硬件地址。 (4)主机A收到主机B的ARP响应分组后,就在其ARP高速缓存中写入主机B的IP地址到硬件地址的映射。
每个主机中都保存一个ARP高速缓存,里面保存主机的IP地址和MAC地址的对应关系。当主机A要向主机B发送消息时,现在缓存中查询B的IP地址对应的MAC地址,如果有,则向其发送,若没有,则向本网段的所有主机广播ARP数据包,里面包括A的IP地址和MAC地址,B的IP地址。如果别的主机收到这个消息,则会忽略,因为IP地址不符,而B收到之后先将A的IP地址和MAC地址的对应关系写到自己的ARP缓存,若有覆盖,然后再将自己的MAC地址写入ARP响应包返回给A(单播)。若一段时间后A没有收到响应,则地址解析失败
当一台主机发送一个数据包到192.168.0.1时,它不知道这个地址在哪里,它会这个包交给ARP协议,ARP协议进行全网广播,每一个在同一个网络里的主力都会收到请求包,但是只有IP地址是192.168.0.1会以单播的形式回复,这样就达到了目的
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题
2:当源主机要发送数据时,首先检查ARP列表中是否有对应IP地址的目的主机的MAC地址,如果有,则直接发送数据,如果没有,就向本网段的所有主机发送ARP数据包,该数据包包括的内容有:源主机 IP地址,源主机MAC地址,目的主机的IP 地址。
3:当本网络的所有主机收到该ARP数据包时,首先检查数据包中的IP地址是否是自己的IP地址,如果不是,则忽略该数据包,如果是,则首先从数据包中取出源主机的IP和MAC地址写入到ARP列表中,如果已经存在,则覆盖,然后将自己的MAC地址写入ARP响应包中,告诉源主机自己是它想要找的MAC地址。
4:源主机收到ARP响应包后。将目的主机的IP和MAC地址写入ARP列表,并利用此信息发送数据。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。
广播发送ARP请求,单播发送ARP响应。