超簡單!一文搞懂IPv6地址

為什麼要使用IPv6地址

由於IPv4最大的問題在於網絡地址資源有限,嚴重製約了互聯網的應用和發展。IPv6地址長度為128位,是v4長度的4倍。現有標準IPv4只支持大概40億(4×109)個網絡地址,而IPv6支持3.4 ×1038個,這等價於在地球上每平方英寸有4.3×1020地址(6.7×1017地址/mm2)。

IPv6地址的表示方法

IPv6的地址長度為128位,是IPv4地址長度的4倍。於是IPv4點分十進制格式不再適用,採用十六進制表示。IPv6有3種表示方法。

  • 冒分十六進制表示法

  格式為X:X:X:X:X:X:X:X,其中每個X表示地址中的16b,以十六進制表示,例如:   ABCD:EF01:2345:6789:ABCD:EF01:2345:6789   這種表示法中,每個X的前導0是可以省略的,例如:   2001:0DB8:0000:0023:0008:0800:200C:417A→ 2001:DB8:0:23:8:800:200C:417A

  • 0位壓縮表示法

  在某些情況下,一個IPv6地址中間可能包含很長的一段0,可以把連續的一段0壓縮為“::”。但為保證地址解析的唯一性,地址中”::”只能出現一次,例如:   FF01:0:0:0:0:0:0:1101 → FF01::1101   0:0:0:0:0:0:0:1 → ::1   0:0:0:0:0:0:0:0 → ::

  • 內嵌IPv4地址表示

  為了實現IPv4-IPv6互通,IPv4地址會嵌入IPv6地址中,此時地址常表示為:X:X:X:X:X:X:d.d.d.d,前96b採用冒分十六進制表示,而最後32b地址則使用IPv4的點分十進制表示,例如::192.168.0.1與::FFFF:192.168.0.1就是兩個典型的例子,注意在前96b中,壓縮0位的方法依舊適用。

IPv6地址的分類

IPv6協議主要定義了三種地址類型:單播地址(Unicast Address)、組播地址(Multicast Address)和任播地址(Anycast Address)。與原來在IPv4地址相比,新增了“任播地址”類型,取消了原來IPv4地址中的廣播地址,因為在IPv6中的廣播功能是通過組播來完成的。

單播地址:用來唯一標識一個接口,類似於IPv4中的單播地址。發送到單播地址的數據報文將被傳送給此地址所標識的一個接口。

組播地址:用來標識一組接口(通常這組接口屬於不同的節點),類似於IPv4中的組播地址。發送到組播地址的數據報文被傳送給此地址所標識的所有接口

任播地址:用來標識一組接口(通常這組接口屬於不同的節點)。發送到任播地址的數據報文被傳送給此地址所標識的一組接口中距離源節點最近(根據使用的路由協議進行度量)的一個接口。

IPv6地址類型是由地址前綴部分來確定,主要地址類型與地址前綴的對應關係如下:

地址類型 地址前綴(二進制) IPv6前綴標識 單播地址 未指定地址 00…0(128 bits) ::/128 環回地址 00…1(128 bits) ::1/128 鏈路本地地址 1111111010 FE80::/10 唯一本地地址 1111 110 FC00::/7(包括FD00::/8和不常用的FC00::/8) 站點本地地址(已棄用,被唯一本地地址代替) 1111111011 FEC0::/10 全局單播地址 其他形式 - 組播地址 11111111 FF00::/8 任播地址 從單播地址空間中進行分配,使用單播地址的格式

單播地址

IPv6單播地址與IPv4單播地址一樣,都只標識了一個接口。為了適應負載平衡系統,RFC3513允許多個接口使用同一個地址,只要這些接口作為主機上實現的IPv6的單個接口出現。單播地址包括四個類型:全局單播地址、本地單播地址、兼容性地址、特殊地址。

一、全局單播地址:

等同於IPv4中的公網地址,可以在IPv6 Internet上進行全局路由和訪問。這種地址類型允許路由前綴的聚合,從而限制了全球路由表項的數量。

二、本地單播地址:

鏈路本地地址和唯一本地地址都屬於本地單播地址,在IPv6中,本地單播地址就是指本地網絡使用的單播地址,也就是IPV4地址中局域網專用地址。每個接口上至少要有一個鏈路本地單播地址,另外還可分配任何類型(單播、任播和組播)或範圍的IPv6地址。

  • 鏈路本地地址(FE80::/10):

僅用於單個鏈路(鏈路層不能跨VLAN),不能在不同子網中路由。結點使用鏈路本地地址與同一個鏈路上的相鄰結點進行通信。例如,在沒有路由器的單鏈路IPv6網絡上,主機使用鏈路本地地址與該鏈路上的其他主機進行通信。

  • 唯一本地地址(FC00::/7):

唯一本地地址是本地全局的,它應用於本地通信,但不通過Internet路由,將其範圍限制為組織的邊界。

  • 站點本地地址(FEC0::/10,新標準中已被唯一本地地址代替)

三、兼容性地址:

在IPv6的轉換機制中還包括了一種通過IPv4路由接口以隧道方式動態傳遞IPv6包的技術。這樣的IPv6結點會被分配一個在低32位中帶有全球IPv4單播地址的IPv6全局單播地址。另有一種嵌入IPv4的IPv6地址,用於局域網內部,這類地址用於把IPv4結點當作IPv6結點。此外,還有一種稱為“6to4”的IPv6地址,用於在兩個通過Internet同時運行IPv4和IPv6的結點之間進行通信。

四、特殊地址:

包括未指定地址和環回地址。未指定地址(0:0:0:0:0:0:0:0或::)僅用於表示某個地址不存在。它等價於IPv4未指定地址0.0.0.0。未指定地址通常被用做嘗試驗證暫定地址唯一性數據包的源地址,並且永遠不會指派給某個接口或被用做目標地址。環回地址(0:0:0:0:0:0:0:1或::1)用於標識環回接口,允許節點將數據包發送給自己。它等價於IPv4環回地址127.0.0.1。發送到環回地址的數據包永遠不會發送給某個鏈接,也永遠不會通過IPv6路由器轉發 。

組播地址

IPv6組播地址可識別多個接口,對應於一組接口的地址(通常分屬不同節點)。發送到組播地址的數據包被送到由該地址標識的每個接口。使用適當的組播路由拓撲,將向組播地址發送的數據包發送給該地址識別的所有接口。任意位置的IPv6節點可以偵聽任意IPv6組播地址上的組播通信。IPv6節點可以同時偵聽多個組播地址,也可以隨時加入或離開組播組。 IPv6組播地址的最明顯特徵就是最高的8位固定為1111 1111。IPv6地址很容易區分組播地址,因為它總是以FF開始的 。

任播地址

一個IPv6任播地址與組播地址一樣也可以識別多個接口,對應一組接口的地址。大多數情況下,這些接口屬於不同的節點。但是,與組播地址不同的是,發送到任播地址的數據包被送到由該地址標識的其中一個接口。 通過合適的路由拓撲,目的地址為任播地址的數據包將被髮送到單個接口(該地址識別的最近接口,最近接口定義的根據是因為路由距離最近),而組播地址用於一對多通信,發送到多個接口。一個任播地址必須不能用作IPv6數據包的源地址;也不能分配給IPv6主機,僅可以分配給IPv6路由器。

簡單實驗

  • 在接口下配置一個IPv6地址


超簡單!一文搞懂IPv6地址


  • 接口下IPv6地址的顯示


超簡單!一文搞懂IPv6地址


分享到:


相關文章: