赞
踩
ARP是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题。
ARP是一种解析地址问题的协议。以目标IP地址为线索,用来定位下一个应该接收数据分包的网络设备所对应的MAC地址(即下一跳的MAC地址)。如果目标主机不再同一链路上时,可以通过ARP查找下一跳路由器的MAC地址。
主机A为了获得主机B的mac地址,起初要通过广播发送一个ARP请求包。这个包中包含了想要了解其MAC地址的主机IP地址。也就是说,ARP请求包中已经包含额主机B的IP地址。因为广播的包可以被同一个链路上所有主机或路由器接收,因此ARP的请去包会被这同一链路上所有主机和路由器解析。若果ARP的请求包中的目的ip地址与自己的IP地址一致,那么这个节点就会将自己的MAC地址塞入ARP响应包返回给主机A.
因为ARP可以动态进行地址解析,所以在tcp/ip的网络构造和网络通信中无需事先知道MAC究竟是证明,只要有IP就可以。
其中需要注意的是若源主机与目的主机不再同一链路上,则目的主机收不到广播报文,此时需由与源主机位于同一个网络的某一路由器回应arp应答报文,arp应答报文中给出该路由器的MAC地址作为目的MAC地址进行封装(否则不会跳的)从而将发往目的主机的数据帧发到对应路由器上,然后由路由器转发。
所以使用ARP的典型情况:
①源主机和目的主机位于同一网络,这时用arp找到目的主机的mac地址
②不再同一网络,这时用arp找到与源主机位于同一网络上的一个路由器的mac地址
3.ARP缓存
一般来说,发送过一次IP数据报的主机,继续发送多次IP数据报的可能性会比较高。所以若每发送一个IP数据报要进行一次ARP请求,那就造成不必要的网络流量。因此,通常把获取到的MAC地址缓存一段时间。
里面有本局域网上各主机和路由器的IP地址和硬件地址的映射表,这些都是该主机目前知道的一些地址。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。