一直以来,我以为操作系统上的IPV6地址是自动生成的,我以为是装好机器,接上网,IPV6的地址就生成了。
今天装了一台虚拟机, 操作系统为Windows 2003 SP2. 手工在命令行中使用ipv6 install将IPV6协议安装好。接上虚拟的路由器。然后进netsh,show address 发现没有全局单播地址,有的只是本地链路地址。
通过在Cisco的3750上面的fa0/0端口上面配置IPV6地址。一切OK以后。路由器就会发送和监听网络中关于IPV6邻居发现的数据包。当网络中有一台IPV6的Host接入时,此Host如果设置为自动获取IPV6地址,则会向网络中发送一个RS消息。
Nov 21 00:50:34.875: ICMPv6-ND: Received RS on FastEthernet0/0 from FE80::20C:29FF:FE3D:6E5C
Nov 21 00:50:34.879: ICMPv6-ND: Sending RA to FF02::1 on FastEthernet0/0
Nov 21 00:50:34.879: ICMPv6-ND: MTU = 1500
Nov 21 00:50:34.883: ICMPv6-ND: prefix = 2001:1:2:3::/64 onlink autoconfig
Nov 21 00:50:34.883: ICMPv6-ND: 2592000/604800 (valid/preferred)
R0#
当IPV6路由器在接口上收到该ND的RS包后。会根据请求发送自己的网络Prefix给发送RS的链路。然后设备再根据此链路上收到的网络Prefix和自己的MAC地址来自动生成一个全球单一的IPV6地址。
在设备上可以通过:show ipv6 neighbors来列出当前所有的IPV6邻居。此命令有点像IPV4中的show arp一样。
R0#show ipv nei
IPv6 Address Age Link-layer Addr State Interface
FE80::20C:29FF:FE3D:6E5C 4 000c.293d.6e5c STALE Fa0/0
2001:1:2:3:20C:29FF:FE3D:6E5C 4 000c.293d.6e5c STALE Fa0/0
FE80::88B7:E005:C9C9:6504 0 0050.56c0.0008 STALE Fa0/0
上面的IPV6地址就是根据路由器接口所宣告的prefix而自动生成的。
R0#ping 2001:1:2:3:88B7:E005:C9C9:6504
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001:1:2:3:88B7:E005:C9C9:6504, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 12/24/44 ms
另附:IPV6配置文件
R0#show run
Building configuration…
Current configuration : 1225 bytes
!
! Last configuration change at 00:47:22 UTC Sat Nov 21 2009
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname R0
!
boot-start-marker
boot-end-marker
!
!
no aaa new-model
!
resource policy
!
memory-size iomem 5
ip subnet-zero
ip cef
!
!
!
!
no ip domain lookup
!
ipv6 unicast-routing
ipv6 cef
!
!
!
!
interface FastEthernet0/0
ip address 172.16.31.1 255.255.255.0
duplex auto
speed auto
ipv6 address 2001:1:2:3:4::1/64
ipv6 enable
!
interface FastEthernet0/1
no ip address
shutdown
duplex auto
speed auto
!
end
R1#show ipv6 route
IPv6 Routing Table – 7 entries
Codes: C – Connected, L – Local, S – Static, R – RIP, B – BGP
U – Per-user Static route
I1 – ISIS L1, I2 – ISIS L2, IA – ISIS interarea, IS – ISIS summary
O – OSPF intra, OI – OSPF inter, OE1 – OSPF ext 1, OE2 – OSPF ext 2
ON1 – OSPF NSSA ext 1, ON2 – OSPF NSSA ext 2
O 2001:1:2:3::/64 [110/74]
via FE80::C600:CFF:FE80:0, Serial1/1
C 2200:2001:1::/64 [0/0]
via ::, Loopback1
L 2200:2001:1::1/128 [0/0]
via ::, Loopback1
C 2200:2001:10::/64 [0/0]
via ::, Serial1/1
L 2200:2001:10::1/128 [0/0]
via ::, Serial1/1
L FE80::/10 [0/0]
via ::, Null0
L FF00::/8 [0/0]
via ::, Null0