SLAAC 和 DHCPv6 都能下發 IPv6 位址,所以,到底用哪一個?

本期給大家分享IPv6相關知識。

背景討論
探討 IPV6 內網改造方案時,常有疑問:「IPv6 協定可透過 SLAAC 無狀態位址配置,為何還需在核心交換器上配置 DHCPv6 伺服器?二者是替代關係嗎?」 實際上,SLAAC 雖能實現部分功能,但在實際組網中無法完全取代 DHCPv6。


IPv6位址如何配置自動取得?
IPv6位址自動設定可以分為無狀態位址自動配置(SLAAC)和有狀態位址自動設定(DHCPv6);
使用無狀態位址自動配置還是有狀態位址自動配置由伺服器決定;
客戶端透過伺服器回覆的RA封包中的M、O標誌位決定使用無狀態還是有狀態位址配置;
由於IPv6位址資源充足,在實際應用程式中終端取得到的都是IPv6公網位址。
兩種自動設定方式—無狀態SLAAC和有狀態DHCPv6
唉,這裡我真的很煩這種有/無狀態的概念詞,因為SLAAC分配下又會有DHCPv6的交互去獲取DNS等參數,行家稱之為SLAAC下的有狀態;而沒有的話又叫SLAAC下的無狀態....然後呢,全程由DHCPv6主導IPv6地址分配的便就是有狀態,拗口吧,拗口吧?真令人討厭。

總而言之,對我而言我只關心以下四點:

SLAAC用到的是ICMPv6的RA/RS封包互動;
DHCPv6用到的是DHCPv6封包互動;
SLAAC自動設定是伺服器告知客戶端一個IPv6前綴,然後客戶端自己依照EUI-64去產生IPv6位址,產生的到底是個啥伺服器漠不關心;
DHCPv6自動設定是伺服器完全下發參數給客戶端,和IPv4的DHCP一樣,伺服器牢牢將IPv6位址池把控在手中。
什麼情況下用SLAAC和DHCPv6?
部分安卓手機只支援SLAAC,網路中該設備多的用SLAAC
需要監管IPv6位址的在核心交換器(伺服器)上設定DHCPv6
有人問:有核心交換器或路由器能同時支援SLAAC和DHCPv6一起用嗎?我回答:可以,這種就是混合自動配置,一般家用路由器基本上都支援了。