天天看點

IPV6的鍊路本地位址和站點本地位址的不同

轉帖 中關村

http://ask.zol.com.cn/x/2230274.html

IPV6涉及到一個概念,link-local address, 中文叫“鍊路本地位址”,它的字首是FE80::/64

一個link-local address的範例:FE80::713e:a426:d167:37ab

實際上,這個概念類似于ipv4中,當DHCP配置設定失敗時自動生成的169.254.XXX.XXX這樣的位址,凡是源位址或目的位址中含有link-local address的封包,路由器都不應當轉發它。這樣的封包隻能在一個LAN中互通。

<IPV6的位址類型>

可分為三大類:

1、單點傳播位址

2、多點傳播位址

3、任意播位址

單點傳播--Unicast : one to one

·單點傳播位址用于一對一的連接配接

·IPv6單點傳播位址有以下六種類型:

 1-Aggregate Global Unicast Address 2xxx:xxxxx/3 - 3FFF: :FFFF

2001::/16 IPV6網際網路位址

2002::/16 6to4過渡位址

2-Link Local Address    FE80::/10 (前10位以FE80開頭)

3-Site Local Address (Private) FEC0::/10

4-Unspecified Address   0:0:0:0:0:0:0:0/128 => ::/128

5-Loopback Address     0:0:0:0:0:0:0:1/128 => ::1/128

 6-IPv4 Compatible Address ::192.168.30.1 => ::C0A8:1E01

以下是一些單點傳播位址的具體說明:

1、可聚合全球單點傳播位址Aggregate global unicast address

由IANA配置設定的可在全球路由的公網IP位址

目前已配置設定的字首:2000::/3 占用了12.5%的IPV6位址空間

2000:0000:0000:0000:0000:0000:0000:0000--3FFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF

這個字首中總共包含8192個/16的字首

目前實際用于IPV6網際網路運作的字首:2001::/16

2002::/16 為使用6-TO-4過渡機制的節點保留

3ffe::/16 用于6bone測試目的的字首

2、本地鍊路位址:link-local address

當在一個節點啟用IPV6,啟動時節點的每個接口自動生成一個link-local address

其字首64位為标準指定的,其後64位按EUI-64格式來構造

注意:在本鍊路上,路由表中看到的下一跳都是對端的Link Local位址,不是公網IP位址

字首:FE80::/10

範圍:隻能在本地鍊路使用,不能在子網間路由

為何需要link-local--在一個接口可以配置很多IPv6位址,是以學習路由就有可能出現很多下一跳。

是以出現Link Local位址唯一辨別一個節點。在本地鍊路看到下一跳都是對端的Link Local位址。

在網絡重新編址過程中,節點和路由器的Link Local位址不會發生變化,可以很容易地做一個修改,不用擔心網絡不可達。

R1(config-if)#ipv6 address FE80:0:0:0:0123:0456:0789:0abc link-local 手工指定link-local位址

3、本地站點位址:site-local address

IPV6的私網位址,就像IPV4中的私網保留位址一樣

隻占用到整個IPV6位址空間的0.1%

字首:FEC0::/10 其後的54比特用于子網ID 最後64位用于主機ID

範圍:隻能在本站點内使用,不能在公網上使用

例如:在本地配置設定十個子網

1、FEC0:0:0:0001::/64

2、FEC0:0:0:0002::/64

3、FEC0:0:0:0003::/64

10、FEC0:0:0:000A::/64

本地站點位址被設計用于永遠不會與全球IPV6網際網路進行通信的裝置,比如:列印機、内部網伺服器、網絡交換機等

4、未指定位址Unspecified address

形式:0:0:0:0:0:0:0:0 

表示位址未指定,或者在寫預設路由時代表所有路由

5、回環位址Loopack address

形式:0:0:0:0:0:0:0:1

同IPV4中127.0.0.1位址的含義一樣,表示節點自已

6、内嵌IPV4位址的IPV6位址 IPv4 Compatible Address 

1、IPV4相容的IPV6位址--用于在IPV4網絡上建立自動隧道,以傳輸IPV6資料包。

其中高96bit設為0,後面跟32bit的IPV4位址

0000:0000:0000:0000:0000:0000:206.123.31.2

0000:0000:0000:0000:0000:0000:ce7b:1f01

由于這種機制不太好,現在已經不再使用,轉而采用更好的過渡機制

2、映射IPV4的IPV6位址--僅用于擁有IPV4和IPV6雙協定棧節點的本地範圍

其中高80bit設為0,後16bit設為1,再跟IPV4位址

0000:0000:0000:0000:0000:ffff:206.123.31.2

0000:0000:0000:0000:0000:ffff:ce7b:1f01

EUI-64格式:擴充惟一辨別符

在IPV6中,無狀态自動配置機制使用EUI-64格式來自動配置IPV6位址

所謂無狀态自動配置是指在網絡中沒有DHCP伺服器的情況下,允許節點自行配置IPV6位址的機制。

EUI-64的構造規則--根據接口的MAC位址再加上固定的字首來生成一個IPV6的位址

工作原理:自動将48bit的以太網MAC位址擴充成64bit,再挂在一個64bit的字首後面,組成一個IPV6位址

一、将48位的MAC位址從中間分開,插入一個固定數值FFFE

0050:3EE4:4C00-->0050:3EFF:FEE4:4C00

二、将第7個比特位反轉,如果原來是0,就變為1,如果原來是1,就變為0

0050:3EFF:FEE4:4C00-->0250:3EFF:FEE4:4C00

三、加上字首--FE80::0250:3EFF:FEE4:4C00 這就是一個完整的IPV6位址

反轉的原因:

  在MAC位址中,第7比特為1表示本地管理,為0表示全球管理

  在EUI-64格式中,第7位為1表示全球惟一,為0表示本地惟一

多點傳播位址Multicast

在IPV6中沒有廣播,用多點傳播來代替

字首:FF00::/8 占用了0.38%的IPV6位址空間

1111 1111 4bit 4bit

|→固定值←||→标志←| |→範圍←|

标志位為0000表示是永久保留的多點傳播位址,配置設定給各種技術使用

标志位為0001表示是使用者可使用的臨時多點傳播位址

範圍段定義了多點傳播位址的範圍,其定義如下:

二進制 十六進制 範圍類型

0001 1 本地接口範圍

0010 2 本地鍊路範圍

0011 3 本地子網範圍

0100 4 本地管理範圍

0101 5 本地站點範圍 類似多點傳播的私網位址

1000 8 組織機構範圍

1110 E 全球範圍 類似多點傳播的公網位址

下面是一些多點傳播指定位址:

FF02::1 all nodes 在本地鍊路範圍的所有節點

FF02::2 all routers 在本地鍊路範圍的所有路由器

FF02::5 all ospf routers

FF02::9 all rip routers 所有運作RIP的路由器

FF02::A all eigrp routers 所有運作eigrp的路由器

FF05::2 在一個站點範圍内的所有路由器

被請求節點的多點傳播位址solicited-node multicast address--重要的東東

一種特殊的多點傳播位址,對于節點或路由器的接口上配置的每個單點傳播和任意播位址,都會自動生成一個對應的被請求節點多點傳播位址。注意link-local address也會生成一個被請求節點的多點傳播位址。

工作範圍:隻在本地鍊路上有效

特點:1、在本地鍊路上,被請求節點的多點傳播位址組中通常隻包含一個使用者

2、隻要知道一個節點的IPV6位址,就能計算出它的被請求節點的多點傳播位址

作用:1、在IPV6中,沒有ARP。ICMP代替了ARP的功能,被請求節點的多點傳播位址被節點用來獲得相同本地鍊路上鄰居節點的鍊路層位址

2、用于重複位址檢測DAD,在使用無狀态自動配置将某個位址配置為自已的IPV6位址之前,節點利用DAD

驗證在其本地鍊路上該位址是否已經被使用。

字首:FF02:0000:0000:0000:0000:0001:FFxx:xxxx/104

FF02::1:FFxx:xxxx/104

如何産生:被請求節點多點傳播位址的前104位固定,将IP位址的後24位移下來填充到後面就可以了

例如:IPv6---2001::1234:5678/64

被請求節點多點傳播位址---FF02::1:FF34:5678/104

其中FF02::1:FF為固定部分,共104位

多點傳播IP位址到MAC位址的映射:

映射規則:多點傳播MAC位址的前16位固定為0x3333,将多點傳播IPV6位址的後32位直接映射到多點傳播MAC位址的後32位就可以了。

例:IPV6位址為--FF12::1234:5678/64

對應的多點傳播MAC位址為--3333:1234:5678

0x3333為固定字首

例:所有節點的多點傳播位址:FF02::0001

對應的多點傳播MAC位址:3333:0000:0001

任意播位址Anycast address

應用在one-to-nearest(一到近)模式

任意播是多個裝置共享一個位址.配置設定IPv6單點傳播(unicast)位址給擁有相同功用的一些裝置.發送方發送一個以任意播為目标位址的包,當路由器接受到這個包以後,就轉發給具有這個位址的離它最近的裝置.單點傳播位址用來配置設定任意播位址.對于那些沒有配備任意播的的位址就是單點傳播位址;但是當一個單點傳播位址配置設定給不止一個接口的時候,單點傳播位址就成了任意播位址。

例如:Mobile方面的特性,移動裝置漫遊到其他區域,不必接入原始的接入點,隻需要找到最近的即可。

必須的IPV6位址:

一旦節點啟用IPV6,那麼接口就會自動生成下列位址

1、本地鍊路位址

2、回環位址

3、所有節點多點傳播位址FF02::1

4、如果是路由器,還會有FF02::2

5、被請求節點的多點傳播位址

如果接口配了一個IPV6的單點傳播位址,還會産生被請求節點的多點傳播位址

《如何在幀中繼中寫MAP》

注意:必須寫兩條MAP,一條是所配IPV6位址的MAP,一條是link-local位址的MAP

否則會由于沒有MAP映射導緻無法PING通。

<IPV6的基本指令>

R1(config)#ipv6 unicast-routing 在路由器上開啟IPV6路由功能

R1(config-if)#ipv6 enable 在接口下啟用IPV6,會自動生成一個link-local位址

R1(config-if)#ipv6 address 2001::1/64 指定一個IP位址,配置後會自動生成一個link-local位址

R1(config-if)#ipv6 address FE80:0:0:0:0123:0456:0789:0abc link-local 手工指定link-local位址

R1(config-if)#ipv6 address 2001:0410:0:1::/64 eui-64 使用eui-64格式自動生成IPV6位址的低64位

R1(config-if)#ipv6 unnumbered 讓本接口使用另一個接口的MAC位址生成源位址

R1(config-if)#ipv6 mtu 1500 配置接口的MTU值

R1(config-if)#ipv6 nd suppress-ra 關閉自動下發字首

R2(config-rtr)#no split-horizon 關閉水準分割 注意IPV6的水準分割是在程序下關閉,不是在接口下

show ipv6 interface e0 顯示IPV6接口的資訊,包括IPV6位址

另一個解釋

IPv6是Internet Protocol Version 6的縮寫,其中Internet Protocol譯為“網際網路協定”。IPv6是IETF(網際網路工程任務組,Internet Engineering Task Force)設計的用于替代現行版本IP協定(IPv4)的下一代IP協定。目前IP協定的版本号是4(簡稱為IPv4),它的下一個版本就是IPv6。 

IPv6 編址

從IPv4到IPv6最顯著的變化就是網絡位址的長度。RFC 2373 和RFC 2374定義的IPv6位址,就像下面章節所描述的,有128位長;IPv6位址的表達形式一般采用32個十六進制數。

IPv6中可能的位址有2 ≈ 3.4×10個。也可以想象為16個因為32位位址每位可以取16個不同的值。

在很多場合,IPv6位址由兩個邏輯部分組成:一個64位的網絡字首和一個64位的主機位址,主機位址通常根據實體位址自動生成,叫做EUI-64(或者64-位擴充唯一辨別)。

以下是用來将 IPv6 位址表示為文本字元串的三種正常形式: 

冒号十六進制形式

這是首選形式 n:n:n:n:n:n:n:n。每個 n 都表示八個 16 位位址元素之一的十六進制值。例如:

3FFE:FFFF:7654:FEDA:1245:BA98:3210:4562.

壓縮形式

由于位址長度要求,位址包含由零組成的長字元串的情況十分常見。為了簡化對這些位址的寫入,可以使用壓縮形式,在這一壓縮形式中,多個 0 塊的單個連續序列由雙冒号符号 (::) 表示。此符号隻能在位址中出現一次。例如,多路廣播位址 FFED:0:0:0:0:BA98:3210:4562 的壓縮形式為 FFED::BA98:3210:4562。單點傳播位址 3FFE:FFFF:0:0:8:800:20C4:0 的壓縮形式為 3FFE:FFFF::8:800:20C4:0。環回位址 0:0:0:0:0:0:0:1 的壓縮形式為 ::1。未指定的位址 0:0:0:0:0:0:0:0 的壓縮形式為 ::。

混合形式

此形式組合 IPv4 和 IPv6 位址。在此情況下,位址格式為 n:n:n:n:n:n:d.d.d.d,其中每個 n 都表示六個 IPv6 高序位 16 位位址元素之一的十六進制值,每個 d 都表示 IPv4 位址的十進制值。

[編輯本段]位址類型

位址中的前導位定義特定的 IPv6 位址類型。包含這些前導位的變長字段稱作格式字首 (FP)。 

IPv6 單點傳播位址被劃分為兩部分。第一部分包含位址字首,第二部分包含接口辨別符。表示 IPv6 位址/字首組合的簡明方式如下所示:ipv6 位址/字首長度。 

以下是具有 64 位字首的位址的示例。

3FFE:FFFF:0:CD30:0:0:0:0/64.

此示例中的字首是 3FFE:FFFF:0:CD30。該位址還可以以壓縮形式寫入,如 3FFE:FFFF:0:CD30::/64。 

IPv6 定義以下位址類型: 

單點傳播位址

用于單個接口的辨別符。發送到此位址的資料包被傳遞給辨別的接口。通過高序位八位位元組的值來将單點傳播位址與多路廣播位址區分開來。多路廣播位址的高序列八位位元組具有十六進制值 FF。此八位位元組的任何其他值都辨別單點傳播位址。

以下是不同類型的單點傳播位址: 

鍊路-本地位址。這些位址用于單個鍊路并且具有以下形式:FE80::InterfaceID。鍊路-本地位址用在鍊路上的各節點之間,用于自動位址配置、鄰居發現或未提供路由器的情況。鍊路-本地位址主要用于啟動時以及系統尚未擷取較大範圍的位址之時。 

站點-本地位址。這些位址用于單個站點并具有以下格式:FEC0::SubnetID:InterfaceID。站點-本地位址用于不需要全局字首的站點内的尋址。 

全局 IPv6 單點傳播位址。這些位址可用在 Internet 上并具有以下格式:010(FP,3 位)TLA ID(13 位)Reserved(8 位)NLA ID(24 位)SLA ID(16 位)InterfaceID(64 位)。 

任播位址

一組接口的辨別符(通常屬于不同的節點)。發送到此位址的資料包被傳遞給該位址辨別的所有接口。任播位址類型代替 IPv4 廣播位址。

任播位址。一組接口的辨別符(通常屬于不同的節點)。發送到此位址的資料包被傳遞給該位址辨別的唯一一個接口。這是按路由标準辨別的最近的接口。任一廣播位址取自單點傳播位址空間,而且在文法上不能與其他位址差別開來。尋址的接口依據其配置确定單點傳播和任一廣播位址之間的差别。

通常,節點始終具有鍊路-本地位址。它可以具有站點-本地位址和一個或多個全局位址。 

多點傳播位址

IPv6中的多點傳播在功能上與IPv4中的多點傳播類似:表現為一組接口對看到的流量都很感興趣。

多點傳播分組前8比特設定為FF。接下來的4比特是位址生存期:0是永久的,而1是臨時的。接下來的4比特說明了多點傳播位址範圍(分組可以達到多遠):1為節點,2為鍊路,5為站點,8為組織,而E是全局(整個網際網路)。