IPv6實驗無狀態自動獲取和DAD

clip_image001[4]

R1做爲網關,配置IPv6地址,R2做爲客戶端無狀態獲取IP服務器

1      配置ide

R1配置以下:spa

#3d

ipv6orm

#router

interface GigabitEthernet0/0/0blog

ipv6 enable 接口

 ipv6 address 2002::1/64 ip

 undo ipv6 nd ra haltci

# undo ipv6 nd ra halt命令用來使能系統發佈RA報文功能,重要配置

R2配置以下:

#

ipv6

#

interface GigabitEthernet0/0/0

ipv6 enable

ipv6 address auto global

#自動獲取全局地址

2      驗證

2.1    R1的鏈路本地地址、全球單播地址、組播地址

R1的接口MAC地址爲00E0-FC56-0620

1

R1手動配置了IPv6地址2002::1/64,自動生成了link-local地址FE80::2E0:FCFF:FE56:620.

2

Link-local自動生成

1.        Mac地址生成EUI64,將FFFE插入到廠商ID(24bit)和擴展ID之間(24bit),EUI64爲:00E0-FCFF-FE56-0620;

2.        第7位反轉爲1,變爲02E0-FCFF-FE56-0620;即00E0的前2個00(00000000)變爲02(00000010);

3.        加上Link-local固定前綴特定前綴FE80::/10,即爲FE80::02E0:FCFF:FE56:0620,精簡爲FE80::2E0:FCFF:FE56:620.

全球單播地址爲手動配置

2002::1/64

組播地址爲自動生成

全球單播地址的被請求節點組播地址FF02::1::FF00:1,由固定前綴FF02::1FF00:0/104和單播地址的最後24位::1組成;

鏈路本地地址的被請求節點組播地址FF02::1:FF56:620,由固定前綴FF02::100:0/104和單播地址的最好24位56:0620組成。

FF02::1全部節點的組播地址,FF02::2全部路由器組播地址

2.2    R2的鏈路本地地址、全球單播地址、組播地址

R2的MAC:00E0-FC6C-416B

3

R2的Ipv6位無狀態自動生成,鏈路本地地址爲EUI64自動生成

4

Link-local自動生成:

同R1的生成規則,R2的link-local地址爲FE80::2E0:FCFF:FE6C:416B.

全球單播地址爲無狀態自動配置

Display上顯示爲SLAAC,生成方式爲路由器R1的前綴+EUI64

2002::2E0:FCFF:FE6C:416B.

組播地址爲自動生成

全球單播地址和鏈路本地地址的被請求節點組播地址FF02::1:FF6C:416B,由固定前綴FF02::1FF00:0/104和單播地址的最後24位6C:416B組成;

FF02::1全部節點的組播地址,FF02::2全部路由器組播地址

3      抓包分析

3.1    R2生成link-local地址進行DAD(重複地址檢測)

5

如上圖:

R2主機生成link-local地址後進行DAD時就會發送RS(router solicitation )消息,

1.        二層封裝:源MAC爲R2的接口MAC:00E0-FC6C-416B,目的MAC爲目的IPv6地址的組播MAC:3333-FF6C-416B,(組播MAC爲33:33+目的IP的後32位)

2.        三層封裝:IPv6的Next Header=58(ICMPv6),源IP爲未指定IP(::),目的IP爲被請求組播地址FF02::1:FF6C:416B(由固定的前綴FF02::1:FF00:0/104和單播地址的最後24位組成)

3.        ICMPv6消息,Type=135(NS),Target Address爲R2的link-local ip:FE80::2E0:FCFF:FE6C:416B.

4.        一段時間後R2沒有收到NA報文,使用該IPv6地址做爲本地鏈路地址。

3.2    R2無狀態自動獲取global地址

R2發送RS消息,請求路由器信息

6

如上圖

1.        源MAC是本身的接口MAC,目的MAC是目的IPv6的組播MAC(3333-0000-0001)

2.        源IP是本身link-local IP,目的IP是全部節點的組播IP(FF02::1)

3.        ICMPv6的Type=133(RS),ICMPv6的Option的攜帶源鏈路層地址爲接口的MAC地址。

R1回覆RA消息

7

如上圖:

1.        源MAC是本身的接口MAC,目的MAC是IPv6目的的組播MAC

2.        源IP是link-local IP,目的IP是全部節點的組播IP(FF02::1)

3.        ICMPv6的Type=134(NA),Cur Hop Limit=64(相似TTL),M位=0,表示使用無狀態配置,O位=0,表示DHCPv6服務器沒有可用信息,即全部信息都經過無狀態獲取。

4.        Router Lifetime=1800,單位S,表示主機把該路由器看成默認網關的有效時間,Reachable Time=0,表示通告鄰居可達時間沒有指定,Retrans Timer=0表示重傳計時器未指定。

5.        ICMPv6的Option (TLV格式)的源鏈路地址爲本地的接口MAC

6.        ICMPv6的Option(TLV格式)前綴信息:64位,前綴2002::,Flag:自動配置置位,Valid Lifetime=2592000,30天有效生存期,Preferred lifetime=604800,7天的優選生存期

R2拿到global IP後繼續進行DAD

8

如上圖:

R2主機生成global地址後進行DAD時就會發送RS(router solicitation )消息,

1.        二層封裝:源MAC爲R2的接口MAC,目的MAC爲目的IPv6地址的組播MAC

2.        三層封裝:IPv6的Next Header=58(ICMPv6),源IP爲未指定IP(::),目的IP爲被請求組播地址FF02::1:FF6C:416B(由固定的前綴FF02::1:FF00:0/104和單播地址的最後24位組成)

3.        ICMPv6消息,Type=135(NS),Target Address爲R2的global ip:2002::2E0:FCFF:FE6C:416B.

4.        一段時間後R2沒有收到NA報文,使用該IPv6地址做爲global地址。

4      總結

1.        本地鏈路地址生成方式:固定前綴(FE80::/10)+EUI64,EUI64=MAC前24位+FFFE+MAC後24位,而後第7位反轉;

2.        DAD(重複地址檢測)消息經過ICMPv6 Type=135的NS(Neighbor Solicitation)鄰居請求消息實現,相似IPv4的免費ARP;源MAC爲本地接口MAC,目的MAC爲目的IP的組播MAC,源IP爲未指定IP(::),目的IP爲本地即將使用的IP的被請求節點組播IP,target address爲即將使用的IP

3.        無狀態自動獲取客戶端發送RS(router solicitation,路由請求)消息,源MAC是本身的接口MAC,目的MAC是IPv6目的IP的組播MAC,源IP是link-local IP或者未指定(::),目的IP是全部節點的組播IP(FF02::1)或者全部路由器(FF02::2),Option包括接口的源鏈路層地址(MAC地址)

4.        路由器回覆RA(router advertisement,路由通告)消息,源MAC本身接口MAC,目的MAC爲目的IP的組播MAC,源IP爲發出消息接口的Link Local地址,目的爲FF02::1(全部節點),flag裏M不置位,值爲0,表明經過無狀態自動獲取,O根據具體狀況置位(不置位,即值爲0表明其餘信息也經過無狀態獲取,置位1表明其餘參數使用DHCPv6服務器獲取),攜帶兩個Option(TLV格式),一個是源鏈路層地址Option(指明鏈路層地址),另外一個前綴信息Option,包括前綴和前綴長度,flag,有效生存期和優選生存期。

相關文章
相關標籤/搜索