1、建的拓朴图如下:
这里GUA:Global Unicast Address; LLA:Link-Layer Local Address
2、配置路由器和PC,获取到LLA地址:
这里我们设置PC1和PC2为自动获取。AR路由器为全局ipv6,并在节点上配置ipv6 enable。
//DHCP自动配置:
ipv6
dhcp enable
dhcpv6 pool IPv6_PC1
address prefix 2001::/64
dns-server 2001::1
excluded-address 2001::1
#
interface GigabitEthernet0/0/1
ipv6 enable
ipv6 auto link-local
ipv6 addr 2001::1/64
undo ipv6 nd ra halt
ipv6 nd autoconfig managed-address-flag
#
dis ipv6 int G0/0/1
dis ipv6 neighbors G0/0/1
#
//锐捷的:
ipv6 unicast-routing
int e 0/0
ipv6 enable
no ipv6 nd ra suppress #关闭邻居发现协议中的路由通告抑制功能
no shut
#
AR1配好LLA后,就向本地链路组地址发布了在PC1上显示有了IP地址了,这是链路本地地址,开头为FE80,后边使用了EUI-64的方法配置了IPV6的后4组地址。注意:DHCPv6 Client在发起请求的时候,网卡已经有了IPv6的LLA了,所以源IPv6地址就是网卡的LLA,目的地址是DHCPv6保留的组播地址ff02::1:2。
3、抓包验证:
在AR的G0/0/1上抓包,可以看到:每两分钟,节点就向保留地址All_DHCP_Relay_Agents_and_Servers (ff02::1:2)发送一次DHCPV6请求报文。All_DHCP_Relay_Agents_and_Servers (ff02::1:2)。
a. 在最里层的DHCPV6报文中,可以看到:消息类型是请求:1,DUID标记类型是3,就是Link-layer address ,链路层本地地址
b.然后,协议使用了UDP协议,源端口为546,目标端口为547
c.再外 层使用了IP报文封装,看到IP报文的版本是6,源目IP
d.再外层使用了EthIIV6报文,看到了源目MAC,目的MAC是IPV6多播地址33:33:00:01:00:02,类型是86DD,就是IPV6类型
4、配置全局地址,查看IPV6的邻居发现过程
a. 给AR1 G0/0/0配置静态全局地址:2001::1,看抓包情况:
PC1收到了来自AR1 G0/0/1的组播包,如下:源地址是任意,目的的址则是G0/0/1的链路本地地址的被请求节点组播地址,即以FF02::1:FF开头的104位网络前缀加以G0/0/1的网卡低24位物理地址,这就是AR1的LLA发出的组播包。ICMPv6的NS、NA包类型是135和136的
这里,路由器发出了一次组播请求,PC1就已经收到,可以完成AR1和PC1的LLA互通了,用抓包里的AR1的LLA验证一下,结果是通的:
然后,PC1还收到了AR1的GUA的组播包,源地址任意,目的地址是固定的GUA的被请求节点组播地址FF02::1:FF00:1,我们在二层里看到,源MAC已经带有G0/0/1的MAC地址了。(ICMPV6报文请求是135,响应是136)至此,完成了路由器的两个单播地址的通告。
b. 接着,我们给PC1配置静态GUA
2001::2,看第二个GUA的被请求节点组播包能否起效,可以看到,因为PC1已经获取到AR1的GUA地址,所以直接就ping通了:
5、给PC2配置2002::2,网关为2002::2,验证ping通情况:
PC>ping 2002::2
Ping 2002::2: 32 data bytes, Press Ctrl_C to break
Request timeout!
From 2002::2: bytes=32 seq=2 hop limit=254 time=31 ms
From 2002::2: bytes=32 seq=3 hop limit=254 time=16 ms
From 2002::2: bytes=32 seq=4 hop limit=254 time=15 ms
From 2002::2: bytes=32 seq=5 hop limit=254 time=16 ms
--- 2002::2 ping statistics ---
5 packet(s) transmitted
4 packet(s) received
20.00% packet loss
round-trip min/avg/max = 0/19/31 ms
6、抓包验证:
最里层是ICMPV6,外层是IPV6,最外面是EthIIV6封装,到此我们做好了IPV6全局地址的配置测试。