ipv6 全球單播地址,link-local address、site-local address、組播、任意波、EUI-64等地址的理解

學習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地址,link-local地址,加入的組播地址及被請求節點組播地址
注意:串口和loopback口會借用以太口的MAC地址來生成link-local地址。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章