Technical documentation
发布日期:2022-06-06 浏览次数:3047 来源:崔志鹏
HCIE Datacom-ICMPV6高级特性-SLAAC:无状态自动配置
HCIE Datacom相关技术问题、资料可联系WOLFLAB网站客服咨询
使用IPv6地址无状态自动配置后,设备的IPv6地址无需进行手工配置,即插即用,减轻网络管理的负担。
全球单播地址的获生成方式:
静态:
①静态的配置前缀和接口id;
②静态的配置前缀通过EUI-64自动生成接口ID;
③借用某一个接口的IPV6地址,来充当IPV6地址,华为设备上不支持,cisco支持,通常用在P2P网络借用一个地址进行通信;
动态:
①DHCPV6:有状态自动配置;
②SLAAC:无状态自动配置,主机可以根据路由器周期通告的前缀,结合自己接口通过EUI-64生成的接口ID,构造IPV6地址,比较的轻量化;
有状态和无状态的区别?
分配地址的路由器或者服务器是否需要维护用户的信息
实验:
默认情况下,华为路由器SLAAC的功能是关闭的,需要手动开启:
[GW-GigabitEthernet0/0/0]dis this
[V200R003C00]
#
interface GigabitEthernet0/0/0
ipv6 enable
ipv6 address 2001:12::1/64
ipv6 address FE80::1 link-local
undo ipv6 nd ra halt //开启SLAAC功能
ipv6 nd ra min-interval X //指定发送RA报文的时间间隔
ipv6 nd ra max-interval X
原理
①开启SLAAC功能的设备,会周期性的发送RA报文200s-600s(cisco固定为200s),里面携带自己的接口上的所有的全球单播地址的前缀信息;
②主机收到RA报文后,结合自己接口通过EUI-64生成的接口ID,构造IPV6地址;
③地址构造出来之后做完DAD就可以用了;
④PC需要敲一条命令,自动获取全球单播地址;
[PC-GigabitEthernet0/0/0]dis this
[V200R003C00]
#
interface GigabitEthernet0/0/0
ipv6 enable
ipv6 address auto global //通过SLAAC的方式获取全球单播地址
此时PC上看:
[PC]dis ipv6 interface GigabitEthernet 0/0/0
GigabitEthernet0/0/0 current state : UP
IPv6 protocol current state : UP
IPv6 is enabled, link-local address is FE80::2E0:FCFF:FE16:211F
Global unicast address(es):
2001:12::2E0:FCFF:FE16:211F,
subnet is 2001:12::/64 [SLAAC 1970-01-01 00:50:56 2592000S]
Joined group address(es):
FF02::1:FF16:211F
FF02::2
FF02::1
MTU is 1500 bytes
ND DAD is enabled, number of DAD attempts: 1
ND reachable time is 30000 milliseconds
ND retransmit interval is 1000 milliseconds
Hosts use stateless autoconfig for addresses
RA报文结构如下:
Frame 9: 110 bytes on wire (880 bits), 110 bytes captured (880 bits) on interface -, id 0
Ethernet II, Src: HuaweiTe_c8:32:0b (00:e0:fc:c8:32:0b), Dst: IPv6mcast_01 (33:33:00:00:00:01)
Internet Protocol Version 6, Src: fe80::1, Dst: ff02::1
Internet Control Message Protocol v6
Type: Router Advertisement (134)
Code: 0
Checksum: 0xd8c1 [correct]
[Checksum Status: Good]
Cur hop limit: 64
Flags: 0x00, Prf (Default Router Preference): Medium
0... .... = Managed address configuration: Not set
.0.. .... = Other configuration: Not set
..0. .... = Home Agent: Not set
...0 0... = Prf (Default Router Preference): Medium (0)
.... .0.. = Proxy: Not set
.... ..0. = Reserved: 0
Router lifetime (s): 1800
Reachable time (ms): 0
Retrans timer (ms): 0
ICMPv6 Option (Source link-layer address : 00:e0:fc:c8:32:0b)
Type: Source link-layer address (1)
Length: 1 (8 bytes)
Link-layer address: HuaweiTe_c8:32:0b (00:e0:fc:c8:32:0b)
ICMPv6 Option (Prefix information : 2001:12::/64)
Type: Prefix information (3)
Length: 4 (32 bytes)
Prefix Length: 64
Flag: 0xc0, On-link flag(L), Autonomous address-configuration flag(A)
1... .... = On-link flag(L): Set
.1.. .... = Autonomous address-configuration flag(A): Set
..0. .... = Router address flag(R): Not set
...0 0000 = Reserved: 0
Valid Lifetime: 2592000
Preferred Lifetime: 604800
Reserved
Prefix: 2001:12::
注意:
①RA报文就是type-134的icmpv6的报文;
②RA报文的SIP:link-local地址,DIP:FF02::1,所有的节点都可以收到;
③里面携带了大量的参数信息,可以实现大量的功能;
@hop limit:可以通过调整该字段,设置主机发送报文的TTL值,限制主机的发包范围;
ipv6 nd ra hop-limit 2 //模拟器不支持
@Mbit和Obit:设置主机获取前缀和其他信息的方式,SLAAC只能让主机获取到前缀,不能让主机获取到类似于DNS的其他信息;
M=0 N=0:告诉主机通过SLAAC的方式获取前缀信息,要想获取其他信息需要手动配置,用于没有DHCPV6服务器的网络;(默认)
M=0 N=1:告诉主机通过SLAAC的方式获取前缀信息,通过DHCPV6的方式获取其他信息;
M=1 N=0:告诉主机通过DHCPV6的方式获取前缀信息,要想获取其他信息需要手动配置;
M=1 N=1:告诉主机通过DHCPV6的方式获取前缀和其他信息,即有状态自动配置;
ipv6 nd autoconfig managed-address-flag //设置M=1,此时PC就不会通过SLAAC的方式形成全球单播地址了,模拟器可以看到现象;
ipv6 nd autoconfig other-flag //设置O=1
@PRF:如果有双出口时,可以通过调整PRF,控制内部主机的流量走向,IPV6天生自带VRRP功能;
实验:GW和GW2都周期性的通告RA报文
[GW-GigabitEthernet0/0/0]dis this
[V200R003C00]
#
interface GigabitEthernet0/0/0
ipv6 enable
ipv6 address 2001:12::1/64
ipv6 address FE80::1 link-local
undo ipv6 nd ra halt
[GW2-GigabitEthernet0/0/0]dis this
[V200R003C00]
#
interface GigabitEthernet0/0/0
ipv6 enable
ipv6 address 2002:12::1/64
ipv6 address FE80::2 link-local
undo ipv6 nd ra halt
PC:
[PC-GigabitEthernet0/0/0]dis this
[V200R003C00]
#
interface GigabitEthernet0/0/0
ipv6 enable
ipv6 address auto global default //PC不光可以通过SLAAC的方式形成全球单播地址,还可以在路由表中形成默认路由,而且是等价的
UNR(User Network Route)主要用于在用户上线过程中由于无法使用动态路由协议时给用户流量分配路由。
[GW-GigabitEthernet0/0/0]ipv6 nd ra preference ? //可以通过调整RA报文中路由器的优先级,默认是medium,来控制PC访问外网流量的走向
high Specifies the preference is high
low Specifies the preference is low
medium Specifies the preference is medium
可以将GW优先级调整为high,默认PC访问外网走GW,GW挂了走GW2,GW恢复了,PC又走GW了;
@Router lifetime:可以将路由器的存活时间搞成0,此时PC就不会形成默认路由指向该路由器了,但是仍可以根据该路由器通告的RA报文的前缀信息形成地址;
@ICMPv6 Option (Source link-layer address : 00:e0:fc:c8:32:0b):携带自己的mac地址
@ICMPv6 Option (Prefix information : 2001:12::/64):携带自己的前缀,伴随着前缀也携带了各种参数:
①AUTO bit:
ipv6 nd ra prefix 2001:12::/64 10000 5000 no-autoconfig //设置auto bit不置位,默认置位,如果PC收到auto bit不置位的RA报文,此时我是不能
根据该前缀生成IPV6地址,但是并不影响默认路由的指向;
②有效生存期和首选生存期:默认有效生存期是30天,首选生存期是7天,用于前缀重编址,首选生存期一定大于有效生存期;
ipv6 nd ra prefix 2001:12::/64 10000(有效生存期) 5000(首选生存期)
HCIE Datacom培训学习可联系WOLFLAB网站客服