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是全局(整個因特網)。


免責聲明!

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



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