天天看點

《IPv6精髓(第2版)》——3.12 預設位址選擇

本節書摘來自異步社群《ipv6精髓(第2版)》一書中的第3章,第3.12節,作者: 【美】silvia hagen 更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。

ipv6的位址體系允許接口擁有多個位址。這些位址可能有不同的範圍(鍊路本地範圍或全局範圍)或狀态(首選狀态、廢除狀态),可能有移動環境下的位址(家鄉位址、轉交位址)或多歸屬環境下的位址,可能是永久公有位址或虛拟隧道接口。由于雙棧主機同時擁有ipv6和ipv4位址,因而相應的ipv6實作在發起連接配接時通常需要在多個源位址和目的位址之間做出選擇。

假設某用戶端因某種外部服務而發起dns請求并收到一個全局ipv6位址和一個公有ipv4位址。如果該用戶端有一個私有ipv4位址和一個全局ipv6位址,那麼該用戶端就可能使用ipv6位址通路該外部服務。但是如果該用戶端有一個鍊路本地ipv6位址和一個公有ipv4位址,那麼就會選擇公有ipv4位址通路該外部服務。這就是未來ipv4與ipv6共存時代(有純ipv4網絡、純ipv6網絡,也有雙棧網絡)必須處理的應用場景和選擇。具體處理方式取決于網絡實作情況。應用開發人員必須意識到這一點并提供相應的處理機制,以保證他們的應用程式在各種環境中都能執行最優操作。

rfc 3484“default address selection for ipv6”定義了兩種通用算法,分别用于源位址選擇和目的位址選擇。所有的ipv6節點(主機和路由器)都必須實作rfc 3484。算法指定了ipv6節點的預設行為,但是該算法并不幹預應用程式或上層協定做出的選擇。

最重要的規則如下:

優選範圍或類型(鍊路本地、全局)相同的位址對;

優選範圍較小的目的位址(使用範圍最小的位址);

優選處于首選狀态(非廢除狀态)的位址;

如果有純ipv6位址,那麼就不使用過渡位址(如isatap或6to4位址);

如果前面所有的準則都相同,那麼優選字首最長的位址對;

對于源位址來說,全局位址優于臨時位址;

對移動ip應用環境來說,家鄉位址優于轉交位址。

如果沒有特殊規定,rfc 3484适用于所有應用場合,而且該規範還允許通過配置一定的政策來改寫這些預設的源位址與目的位址優選方式。

了解了擴充位址空間和ipv6位址類型之後,下一章将介紹icmpv6的各種進階特性,這些進階特性提供了icmpv4所沒有的管理功能。

繼續閱讀