Ipv6
為什麼在 Ubuntu 中通過 DHCPv6 分配 /128 IPv6 地址?
我正在 Ubuntu 中測試 IPv6 的實現。我的 Ubuntu linux 客戶端正確地從伺服器獲取 RA 並在廣告前綴中配置地址。接下來,它通過具有
/128
遮罩的 DHCP 獲得另一個地址。2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether f8:a9:63:0c:3c:cb brd ff:ff:ff:ff:ff:ff inet6 2001:xxxx:1f15:yyyy::9/128 scope global valid_lft forever preferred_lft forever inet6 2001:xxxx:1f15:yyyy:faa9:63ff:fe0c:3ccb/64 scope global dynamic valid_lft 82162sec preferred_lft 10162sec inet6 fe80::faa9:63ff:fe0c:3ccb/64 scope link valid_lft forever preferred_lft forever
我
/128
對這個地址的遮罩很感興趣,這意味著一個點對點的連結。為什麼是面具/128
而不是,說/64
?這是 DHCPv6 的正常行為還是與我的 DHCP 伺服器的配置有關?
是的,這是正常行為。DHCPv6 伺服器提供地址(使用 IA_NA 選項),但不告訴客戶端有關子網的任何資訊。因此,客戶端只需在介面上配置單獨的地址。到子網的任何路由都由 RA 提供。如果 RA 會在沒有自動配置選項的情況下宣布前綴,則客戶端不會自動配置地址,但會為本地子網添加路由。
這種職責分離是有意的。DHCPv6 伺服器有權分配地址(除其他外),但無權談論網路狀態。通常 DHCPv6 伺服器甚至不在本地子網上,而是通過中繼與客戶端通信。客戶端直接與之對話的設備是路由器。因此,在 IPv6 中,路由器使用 RA 告訴客戶端網路狀態(前綴、預設網關、路由等)。額外的配置選項和可選的地址分配是從 DHCP 伺服器完成的。
這樣,客戶端可以快速響應網路中的變化,同時仍然從 DHCPv6 接收更長期的資訊。