ARP协议和NDP协议分析

简介

Linux下查询arp表执行arp –n:

ARP协议和NDP协议分析_第1张图片

 

ARP(Address Resolution Protocol)即地址解析协议,根据IP地址获取MAC地址。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。

 

IPv6协议中邻居发现协议(Neighbor Discovery Protocol)替换了IPv4协议中的ARP,它定义了使用ICMPv6报文实现地址解析,跟踪邻居状态,重复地址检测,路由器发现以及重定向等功能。

 

ip neigh del 240e:ff:e000:c:6595:b501:a053:8137 dev ens33

发送NS请求,目标MAC地址为目标IPv6地址拼接而成,前缀为33:33:ff,后面为IPv6地址的24位16进制组成。IP层目标地址为组播地址,ff02::1:ff前缀开头。

抓包

ARP请求报文和应答报文

 

请求报文,可以看出二层发广播包,广播地址(ff:ff:ff:ff:ff:ff),arp请求包内容里面目标MAC地址全0:

ARP协议和NDP协议分析_第2张图片

 

应答报文,只有目标主机才响应,响应包中有源MAC和目标MAC:

ARP协议和NDP协议分析_第3张图片

 

 

NS请求:

ARP协议和NDP协议分析_第4张图片

 

NA通告:

ARP协议和NDP协议分析_第5张图片

 

你可能感兴趣的:(ARP协议和NDP协议分析)