天天看點

帶你讀《網際網路協定第六版 (IPv 6)》第二章IPv6 技術介紹2.1IPv6 特性介紹(二)

2.1.1      IPv6 位址結構定義

1.  IPv6位址表示

IPv6位址包括 128bit,使用由冒号分隔的 16bit的十六進制數表示。16bit的十六進制數對大小寫不敏感。例如,FEDC:BA98:7654:3210:FEDC:BA98:7654:3210。

另外,對于中間比特連續為0的情況,還提供了簡易表示方法——把連續出現的0省略掉,用“::”代替(注意“::”隻能出現一次,否則不能确定到底有多少省略的0),如下所示。

① 1080:0:0:0:8:800:200C:417A等價于 1080::8:800:200C:417A。

② FF01:0:0:0:0:0:0:101等價于FF01::101。

③ 0:0:0:0:0:0:0:1等價于::1。

④ 0:0:0:0:0:0:0:0等價于::。

2.   IPv6位址字首表示

和 IPv4類似,IPv6的子網字首和鍊路關聯。多個子網字首可配置設定給同一鍊路。IPv6位址字首表示:ipv6-address/prefix-length。其中,ipv6-address為十六進制表示的 128bit位址;prefix-length為十進制表示的位址字首長度。

3.   IPv6位址類型

RFC2373為 IPv6定義了多種位址格式,IPv6位址大緻分為單點傳播位址、泛播位址和多點傳播位址。與IPv4相比,IPv6取消了廣播位址類型,用更豐富的多點傳播位址代替, 同時增加了泛播位址類型。

(1)  IPv6單點傳播位址

IPv6單點傳播位址辨別了一個接口,由于每個接口屬于一個節點,是以每個節點的任何接口上的單點傳播位址都可以辨別這個節點。發往單點傳播位址的封包,由此位址辨別的接口接收。每個接口上至少要有一個鍊路本地單點傳播位址,另外還可配置設定任何類型

(單點傳播、泛播和多點傳播)或範圍的 IPv6位址。

所有格式字首不是多點傳播格式字首(11111111)的 IPv6位址都是 IPv6單點傳播格式

(泛播和IPv6單點傳播格式相同)。IPv6單點傳播位址和 IPv4單點傳播位址一樣可聚合。目前定義了多種IPv6單點傳播位址格式,包括可聚合全球單點傳播位址、NSAP位址、IPX層次位址、站點本地位址、鍊路本地位址和具有IPv4能力的主機位址(嵌入 IPv4位址的 IPv6位址)。廣泛使用的是可聚合全球單點傳播位址、站點本地位址和鍊路本地位址。

如圖 2-4所示,IPv6單點傳播位址由子網字首和接口 ID兩部分組成。子網字首由IANA、ISP和各組織配置設定。接口 ID目前定義為 64bit,可以由本地鍊路辨別生成或采用随機算法生成以保證唯一性。

帶你讀《網際網路協定第六版 (IPv 6)》第二章IPv6 技術介紹2.1IPv6 特性介紹(二)

圖2-4     IPv6單點傳播位址格式

(2) IPv6泛播位址

IPv6泛播位址格式和 IPv6單點傳播位址格式相同,用來辨別一組接口的位址。一般這些接口屬于不同的節點。發往泛播位址的封包被送到這組接口中與其最近的接口(由使用的路由協定判斷哪個是最近的)。IPv6    泛播位址的用途之一是辨別屬于同一提供網際網路服務的組織的一組路由器。這些位址可在 IPv6路由頭中作為中間轉發路由器,以使封包能夠通過特定的一組路由器進行轉發。另一個用途就是辨別特定子網的一組路由器,封包隻要被其中一個路由器接收即可。其中有些泛播位址是已經定義好的,如子網路由器泛播位址。

子網路由器泛播位址中的“子網字首”域用來辨別特定鍊路,如圖2-5所示。發送到子網路由器泛播位址的封包會被送到子網中的一個路由器。所有路由器都必須支援子網泛播位址。子網路由器泛播位址用于節點需要和遠端子網上所有路由器中的一個路由器進行通信(不關心具體是哪一個)。例如,一個移動節點需要和它    的“家鄉”子網上的所有移動代理中的一個路由器進行通信。

帶你讀《網際網路協定第六版 (IPv 6)》第二章IPv6 技術介紹2.1IPv6 特性介紹(二)

圖2-5     子網路由器泛播位址格式

(3) IPv6多點傳播位址

IPv6多點傳播位址用來辨別一組接口,一般這些接口屬于不同的節點。一個節點可能屬于 0到多個多點傳播組。發往多點傳播位址的封包被多點傳播位址辨別的所有接口接收,如圖2-6所示。注意:IPv6多點傳播中不使用跳數限制域(相當于IPv4的TTL)。

帶你讀《網際網路協定第六版 (IPv 6)》第二章IPv6 技術介紹2.1IPv6 特性介紹(二)

圖2-6     IPv6多點傳播位址格式

其中,11111111占用 8bit,辨別此位址為多點傳播位址;Scope用來标記此多點傳播組的應用範圍;GroupID辨別多點傳播組(可能是永久的,也可能是臨時的,範圍由Scope定義)。

目前 IPv6永久配置設定的多點傳播位址如表 2-1所示。

表2-1      IPv6多點傳播位址表

保留的多點傳播位址 FF00:: ~ FF0F:: (共 16個位址)
所有節點的多點傳播位址 FF01:0:0:0:0:0:0:1 (節點本地)
FF02:0:0:0:0:0:0:1 (鍊路本地)
所有路由器的多點傳播位址 FF01:0:0:0:0:0:0:2
FF02:0:0:0:0:0:0:2
FF05:0:0:0:0:0:0:2 (站點本地)
被請求節點的多點傳播位址 FF02:0:0:0:0:1:FFXX:XXXX

上述位址通過被請求節點的單點傳播或泛播位址形成:取被請求節點單點傳播或泛播地   址的低 24bit,在前面增加字首 FF02:0:0:0:0:1:FF00::/104構成。例如,和 IPv6位址4037::01:800:200E:8C6C對應的被請求節點的多點傳播位址是FF02::1:FF0E:8C6C。此位址用在 IPv6鄰居發現協定和鄰居請求封包中,由于隻有後24bit單點傳播位址相同的節點才會接收目的位址為此位址的封包,是以減少了通信流量(和 IPv4ARP相比)。

(4)  IPv6中特殊的位址

IPv6中還規定了以下幾種特殊的位址。

未指定的 IPv6位址:格式 0::0。未指定的 IPv6位址不能配置設定給任何接口,未配置設定 IPv6位址的節點表示其沒有 IPv6位址。例如,一個節點啟動後沒有 IPv6位址,發送封包時填充源位址全0表示自身沒有 IP位址。未指定的 IPv6位址不能在 IPv6封包頭或路由頭中作為目的位址出現。

IPv6環回位址:格式 ::1。此位址與 IPv4中的 127.0.0.1類似,一般在節點發封包給自身時使用,不能配置設定給實體接口。IPv6環回位址不能作為源位址使用,目的位址為 IPv6環回位址的封包不能發送到源節點外,也不能被 IPv6路由器轉發。

(5)  IPv4與 IPv6的相容性

在 IPv6位址架構内使用 IPv4位址主要通過以下兩種技術方式來實作。

IPv4相容的 IPv6位址:如圖 2-7所示,這種位址在低32bit攜帶 IPv4位址,前96bit全為 0,主要用在一種自動隧道技術,目的位址為這種位址的封包會被自動IPv4隧道封裝(隧道的端點為自IPv6封包中的IPv4位址),由于這種技術不能解決位址耗盡的問題,已經逐漸被廢棄。

帶你讀《網際網路協定第六版 (IPv 6)》第二章IPv6 技術介紹2.1IPv6 特性介紹(二)

圖2-7     IPv4相容的IPv6位址格式

IPv4映射的 IPv6位址:如圖 2-8所示,這種位址最前80bit全為 0,中間 16bit全為 1,最後 32bit為 IPv4位址。這種位址通過 IPv6位址表示隻支援 IPv4的節點。在支援雙棧的 IPv6節點上,IPv6應用發送目的封包是這種位址時,實際上發出的封包為 IPv4封包(目的位址是“IPv4映射的 IPv6位址”中的 IPv4位址)。

帶你讀《網際網路協定第六版 (IPv 6)》第二章IPv6 技術介紹2.1IPv6 特性介紹(二)

圖2-8     IPv4映射的IPv6位址格式

(6)  節點和路由器必須支援的 IPv6位址

節點必須支援的 IPv6位址包括自身接口的鍊路本地位址、配置設定的單點傳播位址、環回位址、所有節點的多點傳播位址、每個配置設定的單點傳播或多點傳播位址對應的被請求節點的多點傳播位址、此主機所屬的其他多點傳播組位址。

路由器必須支援的 IPv6位址包括節點必須支援的 IPv6位址、接口配置為路由器接口的子網路由器的泛播位址、任何其他路由器配置的泛播位址、所有路由器的多點傳播位址、此路由器所屬的其他多點傳播組位址。

繼續閱讀