对于IPV6来说邻居状态有6

210410758.jpg

节点A---->B

1.A发送NS,生成缓存条目,状态是incomplete

2.B回复NA,则incomplete---->reachable,否则10sincomplete变成empty,即删除消息

3.经过reachable time 30s后,B的条目reachable--->stale

4.或者在reachable状态,收到B的非请求NA,且链路层地址不同,则马上-->stale

5.stale状态若A要向B发送数据,发送数据后,stale--->delay,等待应用层的提示信息(这里等待5s),表示邻居可达

6.在这5s中内delay firstprobe time,若有NA应答或者应用层提示信息,则delay-->reachable;无应用层提示信息,delay-->probe

7.probe状态,每隔retranstime1s发送单播NS,发送MAX-UNCAST-SOLICIT3个后再等待retranstime,有应答就进入reachable,否则进入empty,即删除表项


关于双向确认邻居可达性

举例来说:当A ping B 的时候 A收到B的回应后,其实可以通过上层信息发现B是可达的。但是要如何证明B也是双向可达的呢?B在这个时候只是发送了ICMP的回音和早期的NA消息而已。所以为了能够进入stale状态,B会主动发送一个NS消息给A只有在A回送一个NA消息给B的时候,B才会进入stale状态。