原文链接:https://blog.csdn.net/leehomkey/article/details/52349194
1. NUD消息
NUD(邻居不可达检测)是节点确定邻居可达性的过程,邻居不可达检测机制通过邻居可达性状态机来描述邻居的可达性。邻居可达性状态机之间满足一定的条件时,可相互迁移。
NUD邻居状态机:
NUD检测过程:
PCA-----------------------------------------------------------------------------PCB
0024:acef:478a 0024:aecf:478b
2001::1/64 2001::2/64
PCA检测PCB的邻居可达性:
1、PCA发送NS消息给PCB,NS消息源MAC为0024:acef:478a,目的MAC为0024:acef:478b,源IP为fe80::0224:acff:feef:478a(本地链路地址,PC与路由器有区别),目的IP2001::2,检测目的地址为2001::2,选项:源节点MAC地址是0024:acef:478a。
2、PCB回应NA消息给PCA,NA消息源MAC为0024:acef:478b,目的MAC为0024:acef:478a,源IP2001::2,目的IPfe80::0224:acff:feef:478a,目标地址2001::2,标志S位置1,选项:被请求节点链路层地址是0024:acef:478b。
注:完成后仅仅是单向的,PCB发送NS探测报文,PCA回应S标志置位的NA报文后,则双向可达。
2 DAD消息
DAD(重复地址检测)是节点确定即将使用的地址是否在链路上唯一的过程。所有的IPV6单播地址,包裹自动配置或手动配置的单播地址,在节点使用之前必须要通过重复地址检测。
DAD检测过程:
PCA--------------------------------------------------------------------------------PCB
0024:acef:478a 0024:acef:478b
2001:2222::1/64
PCA准备使用2001:2222::1作为全球单播地址:
1、PCA会发送NS请求,该NS请求源MAC地址为0024:acef:478a,目的MAC为3333:ff00:0001(组播),源IP::(未指定),目的IP地址ff02::1:ff:1,目标地址2001:2222:1
。在规定时间内没有收到应答的NA报文,则认为该单播地址在链路上是唯一的,可以分配给接口,如果收到应答NA报文,则表明该地址已被其它节点使用,不能配置给接口。
2、若PCB单播地址为2001:2222::1,则PCB会回应NA消息。该NA消息源MAC为0024:acef:478b,目的MAC为0024:acef:478a,源IP为fe80::0224:acff:feef:478a(接口链路本地地址),目的地址为ff02::1(所有节点组播),目标地址2001:2222:1,S标志位置0,O标记位置1。