RA 封包里面可以有 0 个或多个 Prefix Information option (PIO)

PIO 里面除了有 prefix 外

还有 L flag (on-link flag) 和 autonomous address-configuration flag

 

L flag = 1 代表此 prefix 是属于 on-link , 会被加到 prefix list 里面

preifx list 里面记录 on-link prefix

on-link 代表直接传送就会送到目的地 , 不用透过 router 转送

off-link 代表需要透过 router 转送才会送到目的地

 

若 prefix list 里的 lifetime = 0 , 则此 prefix 为 off-link , 可以删除

若收到的 RA 有 preifx list 里的 prefix , 可以更新其 lifetime

 

L flag = 0 代表没有对此 prefix 是 on-link 或 off-link 做说明

也就是不能将此 prefix 视为 off-link

autonomous address-configuration flag = 1 代表 host 可以使用此 prefix 来组成 ipv6 address

 

windows 输入 route print -6 会显示 IPv6 路由表

可以看到那些属于 on-link

 

windows route print.jpg  

 

若 windows 8.1 收到 valid lifetime = 0 , preferred lifetime = 0 的 2001:b021:34::/64

windows 8.1 会将 2001:b021:34::/64 这笔 on-link 清除

不过我曾经看过没被清掉的 case , 不知是不是 bug

 

详细请参考

RFC4861 Neighbor Discovery for IP version 6 (IPv6)

 

待续

看完文章请按 赞 or 推 , 感谢啦 ~ 

相关文章