IPv6 尋址概述


IPv6 尋址概述

因為一個節點可以有多個接口,所以應將 IPv6 地址指定給接口,而非節點。此外,可以為一個接口指定多個 IPv6 地址。


注 - 有關 IPv6 地址格式的完整技術信息,請參閱 RFC 2374,IPv6 Global Unicast Address Format


IPv6 定義了以下三種地址類型:

單播

標識單個節點的接口。

多播

標識一組通常位於不同節點上的接口。發送到多播地址的包將傳遞到多播組的所有成員。

任播

標識一組通常位於不同節點上的接口。發送到任播地址的包將傳遞到任播組中物理位置最接近發送者的成員節點。

IPv6 地址的各個部分

IPv6 地址的長度為 128 位,由八個 16 位字段組成,相鄰字段用冒號分隔。IPv6 地址中的每個字段都必須包含一個十六進制數字,而 IPv4 地址則以點分十進制表示法表示。在下圖中,x 表示十六進制數字。

圖 3-2 IPv6 地址的基本格式

image:該圖顯示 IPv6 地址的三個部分,下文將對此進行說明。

最左側的三個字段(48 位)包含站點前綴。站點前綴描述通常由 ISP 或區域 Internet 注冊機構 (Regional Internet Registry, RIR) 分配給您的站點的公共拓撲

下一個字段是您(或其他管理員)為您的站點分配的 16 位子網 ID。子網 ID 描述專用拓撲(也稱為站點拓撲),因為它是您的站點的內部 ID

最右側的四個字段(64 位)包含接口 ID,也稱為標記。接口 ID 可以從接口的 MAC 地址自動配置,也可以采用 EUI-64 格式手動配置。

請再看一下圖 3-2 中的地址:

2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b

此示例顯示了 IPv6 地址的全部 128 位。前 48 位 2001:0db8:3c4d 包含表示公共拓撲的站點前綴。隨后的 16 位 0015 包含代表站點專用拓撲的子網 ID。低階(最右邊的 64 位 0000:0000:1a2f:1a2b)包含接口 ID。

縮短 IPv6 地址

大多數 IPv6 地址都不會占用全部 128 位,這可能會導致一些字段會被零填充或僅包含零。

IPv6 尋址體系結構允許您使用兩個冒號 (: : ) 表示法來表示連續的 16 位零字段。例如,可以通過將接口 ID 中兩個連續的零字段替換為兩個冒號來縮短圖 3-2 中的 IPv6 地址。替換后的地址為 2001:0db8:3c4d:0015::1a2f:1a2b。其他零字段可以表示為單個 0。還可以省略字段中的前導零,如將 0db8 更改為 db8

因此,地址 2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b 可以縮短為 2001:db8:3c4d:15::1a2f:1a2b

可以使用兩個冒號替代 IPv6 地址中任意連續的全零字段。例如,IPv6 地址 2001:0db8:3c4d:0015:0000:d234::3eee:0000 可以縮短為 2001:db8:3c4d:15:0:d234:3eee::

IPv6 中的前綴

IPv6 地址最左邊的字段包含用來路由 IPv6 包的前綴。IPv6 前綴具有以下格式:

prefix/length in bits

前綴長度以無類域間路由 (classless inter-domain routing, CIDR) 表示法聲明。CIDR 表示法在地址末尾有一個斜杠,斜杠后跟前綴長度(以位為單位)。有關 CIDR 格式的 IP 地址的信息,請參閱設計 CIDR IPv4 尋址方案

IPv6 地址的站點前綴最多占用 IPv6 地址最左側的 48 位。例如,IPv6 地址 2001:db8:3c4d:0015:0000:0000:1a2f:1a2b/48 的站點前綴包含在最左邊的 48 位 2001:db8:3c4d 中。此前綴可使用如下形式(將零省略掉)來表示:

2001:db8:3c4d::/48


注 - 前綴 2001:db8::/32 是專用於文檔示例的特殊 IPv6 前綴。


您還可以指定子網前綴,該前綴用來定義連接到路由器的網絡的內部拓撲。示例 IPv6 地址具有以下子網前綴:

2001:db8:3c4d:15::/64

子網前綴總是包含 64 位。這些位中有 48 位用於站點前綴,還有 16 位用於子網 ID。

下列前綴已留作特殊用途:

2002::/16

指示后跟 6to4 路由前綴。

fe80::/10

指示后跟鏈路本地地址。

ff00::/8

指示后跟多播地址。

單播地址

IPv6 包括兩種不同的單播地址指定方式:

  • 全局單播地址

  • 鏈路本地地址

單播地址的類型由地址中最左邊(高階)的連續位(其中包含前綴)來確定。

單播地址的格式按以下分層結構進行組織:

  • 公共拓撲

  • 站點(專用)拓撲

  • 接口 ID

全局單播地址

全局單播地址在 Internet 中保持全局唯一。IPv6 中的前綴中的示例 IPv6 地址是全局單播地址。下圖顯示全局單播地址的范圍,它們對應於 IPv6 地址的相應部分。

圖 3-3 全局單播地址的各個部分

image:該圖將單播地址分為公共拓撲、站點前綴、站點拓撲、子網 ID 和接口 ID。
公共拓撲

站點前綴定義從網絡到路由器的公共拓撲。企業的站點前綴可以從 ISP 或區域 Internet 注冊機構 (Regional Internet Registry, RIR) 獲取。

站點拓撲和 IPv6 子網

在 IPv6 中,子網 ID 定義網絡的管理子網,它的最大長度為 16 位。可以在配置 IPv6 網絡的過程中指定子網 ID。子網前綴通過指定已分配了子網的特定鏈路來定義路由器的站點拓撲。

IPv6 子網在概念上與 IPv4 子網相同,因為每個子網通常都與一個硬件鏈路相關聯。但是,IPv6 子網 ID 用十六進制表示法表示,而不是用點分十進制表示法表示。

接口 ID

接口 ID 用來標識特定節點的接口。接口 ID 必須在子網內唯一。IPv6 主機可以使用相鄰節點搜索協議自動生成其自身的接口 ID。相鄰節點搜索協議基於主機接口的 MAC 地址或 EUI-64 地址自動生成接口 ID。也可以手動指定接口 ID,建議對 IPv6 路由器和啟用了 IPv6 的服務器采用這種方式。有關如何創建手動 EUI-3513 地址的說明,請參閱 RFC 3513,Internet Protocol Version 6 (IPv6) Addressing Architecture

過渡型全局單播地址

為了進行過渡,IPv6 協議提供在 IPv6 地址中嵌入 IPv4 地址這一功能。這種類型的 IPv4 地址便於借助現有的 IPv4 網絡隧道傳送 IPv6 包。6to4 地址就是一種過渡型全局單播地址。有關 6to4 尋址的更多信息,請參閱6to4 自動隧道

鏈路本地單播地址

鏈路本地單播地址只能用在本地網絡鏈路上。在企業外部,鏈路本地地址不但無效,而且無法識別。以下示例顯示了鏈路本地地址的格式。

示例 3-1 鏈路本地單播地址的各個部分

image:該圖說明 IPv6 鏈路本地地址的格式,下文將對此進行說明。

鏈路本地前綴具有以下格式:

fe80::interface-ID/10

下面是鏈路本地地址的示例:

fe80::23a1:b152

fe80

10 位二進制前綴 1111111010 的十六進制表示形式。此前綴用來將 IPv6 地址的類型標識為鏈路本地地址。

interface-ID

接口的十六進制地址,通常從 48 位 MAC 地址派生而來。

如果在安裝 Oracle Solaris 的過程中啟用了 IPv6,則會使用鏈路本地地址配置本地計算機上編號最小的接口。每個接口都至少需要一個鏈路本地地址,以便將該節點與本地鏈路上的其他節點區分開。因此,您需要為節點的其他接口手動配置鏈路本地地址。完成配置后,該節點會使用其鏈路本地地址進行自動地址配置和相鄰節點搜索。

多播地址

IPv6 支持使用多播地址。多播地址用來標識多播組,多播組是一組通常位於不同節點上的接口。一個接口可以屬於任意數量的多播組。如果 IPv6 地址的前 16 位是 ff00 n,則說明該地址是多播地址。

多播地址用來向定義為多播組成員的所有接口發送信息或服務。例如,使用多播地址與本地鏈路上的所有 IPv6 節點進行通信。

在創建某個接口的 IPv6 單播地址時,內核會自動使該接口成為某些多播組的成員。例如,內核會使每個節點都成為 "Solicited Node"(請求節點)多播組的成員,相鄰節點搜索協議使用該組來檢測可訪問性。內核還自動使節點成為 "All-Nodes"(所有節點)或 "All Routers"(所有路由器)多播組的成員。

有關多播地址的詳細信息,請參閱IPv6 多播地址詳解。有關技術信息,請參見 RFC 3306, Unicast-Prefix-based IPv6 Multicast Addresses,其中介紹了多播地址的格式。有關正確使用多播地址和組的更多信息,請參見 RFC 3307, Allocation Guidelines for IPv6 Multicast Addresses

任播地址和組

IPv6 任播地址用來標識一組位於不同 IPv6 節點上的接口。每組接口都稱作一個任播組。當包發送到任播地址時,任播組中物理位置最接近發送者的成員將收到包。


注 - Oracle Solaris 實現的 IPv6 不支持創建任播地址和任播組。但是,Oracle Solaris IPv6 節點可以將包發送到任播地址。有關更多信息,請參見6to4 中繼路由器隧道的注意事項



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM