IPv6特性,以及SLAAC过程

1. IPv6特性

支持即插即用:

    • 路由器发现(Router Discovery):当一个节点连接到一个IPv6的链路上时,它能够发现本地的路由器,而不必借助动态主机配置协议(DHCP)。
    • 前缀发现(Prefix):当一个节点连接到一个IPv6的链路上时,它能够发现分配给该链路的前缀。
    • 参数发现(Parameter Discovery):节点能够发现它所相连的链路的参数,例如链路跳数限制等。

IPv6的无状态自动配置,即SLAAC

主机可以通过RA(Router-Advertisement)消息ICMP type134中携带的前缀得到地址的前缀部分,同时通过该接口自动生成接口ID部分,从而得到一个完整的128位的IPV6地址,该消息默认情况下每200S发送一次。当然主机(或路由器)也可以主动发送RS(Router Solicit)消息ICMP Type=133来主动请求该前缀。

2. IPv6的无状态自动配置,即SLAAC过程

首先,为配置接口,主机需要前缀信息(类似于IPV4地址的网络部分),因此它会发送一条路由器请求(RouterSolicitation,RS)消息。该消息以组播方式发送给所有路由器。这实际上是一种ICMP消息,并用编号进行标识。RS消息的ICMP类型为133。

路由器使用一条路由器通告(Router-Advertisement,RA)消息进行应答,其中包含请求的前级信息。RA消息也是组播分组,被发送到表示所有节点的组播地址,其ICMP类型为134。RA消息是定期发送的,但主机发送RS消息后,可立即得到响应,因此无需等待下一条定期发送的RA消息,就能获得所需的信息。

发现链路上使用的前缀:发送周期RA

产生一个接口ID:二层寻址(基于MAC的EUI-64ID)

验证所产生IPv6地址的唯一性:重复地址检测(DAD)

图15-2说明了这两个步骤。

   

 

要在路由器上启用IPV6,必须使用全局配置命令ipv6unicast-routing:

Corp ( config ) #ipv6 unicast-routing

默认情况下,转发IPv6数据流的功能被禁用,因此需要使用上述命令启用它。默认不会在任何接口上启用IPv6,因此必须进入每个接口并启用这项功能。

为此,可使用多种方式,但最简单的方式是,使用命令ipv6 address<ipv6prefix>/<prefix-length> [eui-64]给接口配置一个地址。

下面是一个例子:

Corp(config-if)#ipv6 address 2001:dbB:3c4d:1:0260:d6FF.FE73:1987/64

可指定一个完整的128位IPV6全局地址,也可使用eui-64选项。eui-64格式允许设备对其MAC地址进行转换,以生成接口ID,如下所示:

Corp(config-if)#ipv6 address 2001:db8:3c4d:1: :/64 eui-64

为在路由器接口上启用IPV6,也可不输入IPV6地址,而让其自动使用链路本地地址。

如果只有链路本地地址,则只能在本地子网中通信。

要配置路由器接口,使其只使用链路本地址,可使用按口配置命令ipv6enable:

Corp(config-if)#ipv6 enable

过程说明:
R3

R3#debug ipv6  nd

R3(config)#ipv6 unicast-routing

R3(config)#int e0/1

R3(config-if)#ipv6  add 2034::3/64

R3(config-if)#no sh

       地址解析使用邻居发现协议(NDP)。这个过程是使用被称为请求节点地址(solicited node address)的组播地址完成的,每台主机连接到网络时都会加入这个组播组。为生成请求节点地址,在FF02:0:0:0:0:1:FF/104末尾加上目标主机的IPV6地址的最后24位。查询请求节点地址时,相应的主机将返回其第2层地址。网络设备也以类似的方式发现和跟踪相邻设备。前面介绍RA和RS消息时说过,它们使用组播来请求和发送地址信息,这也是ICMPv6的邻居发现功能。

       在IPV4中,主机使用IGMP协议来告诉本地路由器,它要加入特定的组播组并接收发送给该组播组的数据流。这种IGMP功能已被ICMPv6取代,并被重命名为组播侦听者发现

路由器使用NDP获得其自己的地址时,以组播(::)方式发送领居请求NS(将IPV6非指定地址(::)用做分组的SA请求的一个源地址),发送到被请求节点组播地址ff02::1:ff00:2010【具有链路本地范围如:下面报文所体现的目的地址ff02::16(所有支持MLDv2的路由器),ff02::1:ffXX:XXXX(被请求节点地址,FF02:0:0:0:0:1:FF/104末尾加上目标主机的IPV6地址的最后24位)】;

通过与二层寻址,产生的链路本地地址再以组播(ff02::1)方式向节点发送一条领居公告NA;

以非指定地址(::)作源向被请求节点的组播地址fff02::1:ff00:3发送领居请求NS查找领居主机;

链路本地地址发送组播 (ff02::1),消息类型路由器公告RA;

全局单播地址2034::3发送组播 (ff02::1),消息类型领居公告NA;

   

 

 

posted @ 2019-01-30 00:13  JeffreyDin  阅读(18116)  评论(0编辑  收藏  举报