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 推 , 感謝啦 ~ 

相關文章