标签:
网络层使用IP,下面的数据链路层使用Mac,所以数据传输需要有一个由IP对应Mac的方法,此即ARP(地址解析)。
ARP仅能在以太网(局域网如:机房、内网、公司网络等)进行,无法延伸至外网(互联网、非本区域内的局域网)。
打开DOS输入arp -a可查看所有IP-Mac缓存条目
当本地主机欲向目的主机发送数据时,无论是本地主机通过subnet mask判断出与目的主机处于同一子网,还是判断出目的主机处于不同子网而向网关发送数据,都需要ARP地址解析的过程:
1.先检查本地缓存中是否含有DstIP与DstMac条目,若有则将Mac加入帧直接发送,若无则在子网内广发ARP地址请求包,请求包含有LocalIP + LocalMac + DstIP,子网中的所有主机都会收到此ARP包同时检查DstIP是否是自身IP,若否则直接丢弃,而只有目的主机会进行处理。
2.目的主机先将ARP包中的LocalIP + LocalMac存入自己的ARP缓存表中,然后根据LocalMac将含有自身Mac的ARP应答包发向请求方。
3.本地主机接收到应答后将DstIP与DstMac加入缓存表中,TTL = 2 * 60s,2min后缓存表中此条目没有被使用则删除,每被使用一次增加2min生存时间,上限10min。
以Ping172.16.29.254为例
Ping前
Ping后立即抓包
一段时间不使用自动删除
网关在传递其它子网发到本子网的数据包前同样需要先ARP到DstIP的DstMac。
ARP命令
arp -a查看当前所有缓存条目
arp -d "172.16.29.254" 删除IP172.16.29.254缓存条目
标签:
原文地址:http://www.cnblogs.com/chaikefusibushiji/p/4286748.html