选择区域语言: EN CN HK

三层技术-IP业务配置指导

07-IPv6基础配置

本章节下载  (347.46 KB)

docurl=/cn/Service/Document_Software/Document_Center/Wlan/WA/WA1208E/Configure/Operation_Manual/H3C_WA_CG-6W101/05/201009/691387_30005_0.htm

07-IPv6基础配置


l          不同型号产品的特性功能支持情况略有不同,详细请参见“特性差异化列表”部分的介绍。

l          设备支持的接口类型和编号与设备的实际情况相关,本手册涉及以太网接口的配置举例统一使用Eth口举例说明。实际使用中请根据具体设备的接口类型和编号进行配置。

l          本手册中所述的AP设备可以指代一般意义下的AP设备和无线网桥、无线Mesh设备。

 

1 IPv6基础配置

l          本文所指的路由器代表了一般意义下的路由设备,以及配置了路由功能的无线接入点设备。为提高可读性,在手册的描述中将不另行说明。

l          IPv6基础配置的支持情况与设备的型号有关,请以设备的实际情况为准。

 

1.1  IPv6简介

IPv6(Internet Protocol Version 6,因特网协议版本6)是网络层协议的第二代标准协议,也被称为IPng(IP Next Generation,下一代因特网),它是IETF(Internet Engineering Task Force,Internet工程任务组)设计的一套规范,是IPv4的升级版本。IPv6和IPv4之间最显著的区别为:IP地址的长度从32比特增加到128比特。

1.1.1  IPv6协议特点

1. 简化的报文头格式

通过将IPv4报文头中的某些字段裁减或移入到扩展报文头,减小了IPv6基本报文头的长度。IPv6使用固定长度的基本报文头,从而简化了转发设备对IPv6报文的处理,提高了转发效率。尽管IPv6地址长度是IPv4地址长度的四倍,但IPv6基本报文头的长度只有40字节,为IPv4报文头长度(不包括选项字段)的两倍。

图1-1 IPv4报文头和IPv6基本报文头格式比较

 

2. 充足的地址空间

IPv6的源地址与目的地址长度都是128比特(16字节)。它可以提供超过3.4×1038种可能的地址空间,完全可以满足多层次的地址划分需要,以及公有网络和机构内部私有网络的地址分配。

3. 层次化的地址结构

IPv6的地址空间采用了层次化的地址结构,有利于路由快速查找,同时可以借助路由聚合,有效减少IPv6路由表占用的系统资源。

4. 地址自动配置

为了简化主机配置,IPv6支持有状态地址配置和无状态地址配置:

l              有状态地址配置是指从服务器(如DHCP服务器)获取IPv6地址及相关信息;

l              无状态地址配置是指主机根据自己的链路层地址及路由器发布的前缀信息自动配置IPv6地址及相关信息。

同时,主机也可根据自己的链路层地址及默认前缀(FE80::/10)形成链路本地地址,实现与本链路上其他主机的通信。

5. 内置安全性

IPv6将IPSec作为它的标准扩展头,可以提供端到端的安全特性。这一特性也为解决网络安全问题提供了标准,并提高了不同IPv6应用之间的互操作性。

6. 支持QoS

IPv6报文头的流标签(Flow Label)字段实现流量的标识,允许设备对某一流中的报文进行识别并提供特殊处理。

7. 增强的邻居发现机制

IPv6的邻居发现协议是通过一组ICMPv6(Internet Control Message Protocol for IPv6,IPv6的因特网控制报文协议)消息实现的,管理着邻居节点间(即同一链路上的节点)信息的交互。它代替了ARP(Address Resolution Protocol,地址解析协议)、ICMPv4路由器发现和ICMPv4重定向消息,并提供了一系列其他功能。

8. 灵活的扩展报文头

IPv6取消了IPv4报文头中的选项字段,并引入了多种扩展报文头,在提高处理效率的同时还大大增强了IPv6的灵活性,为IP协议提供了良好的扩展能力。IPv4报文头中的选项字段最多只有40字节,而IPv6扩展报文头的大小只受到IPv6报文大小的限制。

1.1.2  IPv6地址介绍

1. IPv6地址表示方式

IPv6地址被表示为以冒号(:)分隔的一连串16比特的十六进制数。每个IPv6地址被分为8组,每组的16比特用4个十六进制数来表示,组和组之间用冒号隔开,比如:2001:0000:130F:0000:0000:09C0:876A:130B。

为了简化IPv6地址的表示,对于IPv6地址中的“0”可以有下面的处理方式:

l              每组中的前导“0”可以省略,即上述地址可写为2001:0:130F:0:0:9C0:876A:130B。

l              如果地址中包含连续两个或多个均为0的组,则可以用双冒号“::”来代替,即上述地址可写为2001:0:130F::9C0:876A:130B。

在一个IPv6地址中只能使用一次双冒号“::”,否则当设备将“::”转变为0以恢复128位地址时,将无法确定“::”所代表的0的个数。

 

IPv6地址由两部分组成:地址前缀与接口标识。其中,地址前缀相当于IPv4地址中的网络号码字段部分,接口标识相当于IPv4地址中的主机号码部分。

地址前缀的表示方式为:IPv6地址/前缀长度。其中,IPv6地址是前面所列出的任一形式,而前缀长度是一个十进制数,表示IPv6地址最左边多少位为地址前缀。

2. IPv6的地址分类

IPv6主要有三种类型的地址:单播地址、组播地址和任播地址。

l              单播地址:用来唯一标识一个接口,类似于IPv4的单播地址。发送到单播地址的数据报文将被传送给此地址所标识的接口。

l              组播地址:用来标识一组接口(通常这组接口属于不同的节点),类似于IPv4的组播地址。发送到组播地址的数据报文被传送给此地址所标识的所有接口。

l              任播地址:用来标识一组接口(通常这组接口属于不同的节点)。发送到任播地址的数据报文被传送给此地址所标识的一组接口中距离源节点最近(根据使用的路由协议进行度量)的一个接口。

IPv6中没有广播地址,广播地址的功能通过组播地址来实现。

 

IPv6地址类型是由地址前面几位(称为格式前缀)来指定的,主要地址类型与格式前缀的对应关系如表1-1所示。

表1-1 地址类型与格式前缀的对应关系

地址类型

格式前缀(二进制)

IPv6前缀标识

单播地址

未指定地址

00...0  (128 bits)

::/128

环回地址

00...1  (128 bits)

::1/128

链路本地地址

1111111010

FE80::/10

站点本地地址

1111111011

FEC0::/10

全球单播地址

其他形式

-

组播地址

11111111

FF00::/8

任播地址

从单播地址空间中进行分配,使用单播地址的格式

 

3. 单播地址的类型

IPv6单播地址的类型可有多种,包括全球单播地址、链路本地地址和站点本地地址等。

l              全球单播地址等同于IPv4公网地址,提供给网络服务提供商。这种类型的地址允许路由前缀的聚合,从而限制了全球路由表项的数量。

l              链路本地地址用于邻居发现协议和无状态自动配置中链路本地上节点之间的通信。使用链路本地地址作为源或目的地址的数据报文不会被转发到其他链路上。

l              站点本地地址与IPv4中的私有地址类似。使用站点本地地址作为源或目的地址的数据报文不会被转发到本站点(相当于一个私有网络)外的其它站点。

l              环回地址:单播地址0:0:0:0:0:0:0:1(简化表示为::1)称为环回地址,不能分配给任何物理接口。它的作用与在IPv4中的环回地址相同,即节点用来给自己发送IPv6报文。

l              未指定地址:地址“::”称为未指定地址,不能分配给任何节点。在节点获得有效的IPv6地址之前,可在发送的IPv6报文的源地址字段填入该地址,但不能作为IPv6报文中的目的地址。

4. 组播地址

表1-2所示的组播地址,是预留的特殊用途的组播地址。

表1-2 预留的IPv6组播地址列表

地址

应用

FF01::1

节点本地范围所有节点组播地址

FF02::1

链路本地范围所有节点组播地址

FF01::2

节点本地范围所有路由器组播地址

FF02::2

链路本地范围所有路由器组播地址

FF05::2

站点本地范围所有路由器组播地址

 

另外,还有一类组播地址:被请求节点(Solicited-Node)地址。该地址主要用于获取同一链路上邻居节点的链路层地址及实现重复地址检测。每一个单播或任播IPv6地址都有一个对应的被请求节点地址。其格式为:

FF02:0:0:0:0:1:FFXX:XXXX

其中,FF02:0:0:0:0:1:FF为104位固定格式;XX:XXXX为单播或任播IPv6地址的后24位。

5. IEEE EUI-64格式的接口标识符

IPv6单播地址中的接口标识符用来标识链路上的一个唯一的接口。目前IPv6单播地址基本上都要求接口标识符为64位。

所有IEEE 802接口类型(例如,以太网接口、VLAN接口):IEEE EUI-64格式的接口标识符是从接口的链路层地址(MAC地址)变化而来的。IPv6地址中的接口标识符是64位,而MAC地址是48位,因此需要在MAC地址的中间位置(从高位开始的第24位后)插入十六进制数FFFE(1111111111111110)。为了确保这个从MAC地址得到的接口标识符是唯一的,还要将Universal/Local (U/L)位(从高位开始的第7位)设置为“1”。最后得到的这组数就作为EUI-64格式的接口标识符。

图1-2 MAC地址到EUI-64格式接口标识符的转换过程

 

1.1.3  IPv6邻居发现协议介绍

IPv6邻居发现协议使用五种类型的ICMPv6消息,实现下面一些功能:地址解析、验证邻居是否可达、重复地址检测、路由器发现/前缀发现、地址自动配置和重定向等功能。

邻居发现协议使用的ICMPv6消息的类型及作用如表1-3所示。

表1-3 邻居发现协议使用的ICMPv6消息类型及作用

ICMPv6消息

类型号

作用

邻居请求消息NS(Neighbor Solicitation)

135

获取邻居的链路层地址

验证邻居是否可达

进行重复地址检测

邻居通告消息NA(Neighbor Advertisement)

136

对NS消息进行响应

节点在链路层变化时主动发送NA消息,向邻居节点通告本节点的变化信息

路由器请求消息RS(Router Solicitation)

133

节点启动后,通过RS消息向路由器发出请求,请求前缀和其他配置信息,用于节点的自动配置

路由器通告消息RARouter Advertisement

134

对RS消息进行响应

在没有抑制RA消息发布的条件下,路由器会周期性地发布RA消息,其中包括前缀信息选项和一些标志位的信息

重定向消息(Redirect

137

当满足一定的条件时,缺省网关通过向源主机发送重定向消息,使主机重新选择正确的下一跳地址进行后续报文的发送

 

邻居发现协议提供的主要功能如下:

1. 地址解析

获取同一链路上邻居节点的链路层地址(与IPv4的ARP功能相同),通过邻居请求消息NS和邻居通告消息NA实现。如图1-3所示,节点A要获取节点B的链路层地址。

图1-3 地址解析示意图

 

(1)        节点A以组播方式发送NS消息。NS消息的源地址是节点A的接口IPv6地址,目的地址是节点B的被请求节点组播地址,消息内容中包含了节点A的链路层地址。

(2)        节点B收到NS消息后,判断报文的目的地址是否为自己的IPv6地址对应的被请求节点组播地址。如果是,则节点B可以学习到节点A的链路层地址,并以单播方式返回NA消息,其中包含了自己的链路层地址。

(3)        节点A从收到的NA消息中就可获取到节点B的链路层地址。

2. 验证邻居是否可达

在获取到邻居节点的链路层地址后,通过邻居请求消息NS和邻居通告消息NA可以验证邻居节点是否可达。

(1)        节点发送NS消息,其中目的地址是邻居节点的IPv6地址。

(2)        如果收到邻居节点的确认报文,则认为邻居可达;否则,认为邻居不可达。

3. 重复地址检测

当节点获取到一个IPv6地址后,需要使用重复地址检测功能确定该地址是否已被其他节点使用(与IPv4的免费ARP功能相似)。通过NS和NA可以实现重复地址检测,如图1-4所示。

图1-4 重复地址检测示意图

 

(1)        节点A发送NS消息,NS消息的源地址是未指定地址::,目的地址是待检测的IPv6地址对应的被请求节点组播地址,消息内容中包含了待检测的IPv6地址。

(2)        如果节点B已经使用这个IPv6地址,则会返回NA消息。其中包含了自己的IPv6地址。

(3)        节点A收到节点B发来的NA消息,就知道该IPv6地址已被使用。反之,则说明该地址未被使用,节点A就可使用此IPv6地址。

4. 路由器发现/前缀发现及地址自动配置

路由器发现/前缀发现是指节点从收到的RA消息中获取邻居路由器及所在网络的前缀,以及其他配置参数。

地址无状态自动配置是指节点根据路由器发现/前缀发现所获取的信息,自动配置IPv6地址。

路由器发现/前缀发现通过路由器请求消息RS和路由器通告消息RA来实现,具体过程如下:

(1)        节点启动时,通过RS消息向路由器发出请求,请求前缀和其他配置信息,以便用于节点的配置。

(2)        路由器返回RA消息,其中包括前缀信息选项(路由器也会周期性地发布RA消息)。

(3)        节点利用路由器返回的RA消息中的地址前缀及其他配置参数,自动配置接口的IPv6地址及其他信息。

l          前缀信息选项中不仅包括地址前缀的信息,还包括该地址前缀的首选生命期(preferred lifetime)和有效生命期(valid lifetime)。节点收到周期性发送的RA消息后,会根据该消息更新前缀的首选生命期和有效生命期。

l          在有效生命期内,自动生成的地址可以正常使用;有效生命期过期后,自动生成的地址将被删除。

 

5. 重定向功能

当主机启动时,它的路由表中可能只有一条到缺省网关的缺省路由。当满足一定的条件时,缺省网关会向源主机发送ICMPv6重定向消息,通知主机选择更好的下一跳进行后续报文的发送(与IPv4的ICMP重定向消息的功能相同)。

设备在满足下列条件时会发送对主机重定向的ICMPv6重定向报文:

l              接收和转发数据报文的接口是同一接口;

l              被选择的路由本身没有被ICMPv6重定向报文创建或修改过;

l              被选择的路由不是缺省路由;

l              被转发的IPv6数据报文中不包含路由扩展头。

1.1.4  IPv6 PMTU发现

报文从源端到目的端的传输路径中所经过的链路可能具有不同的MTU。在IPv6中,当报文的长度大于链路的MTU时,报文的分片将在源端进行,从而减轻中间转发设备的处理压力,合理利用网络资源。

PMTU(Path MTU,路径MTU)发现机制的目的就是要找到从源端到目的端的路径上最小的MTU。PMTU的工作过程如图1-5所示。

图1-5 PMTU发现工作过程

 

(1)        源端主机使用自己的MTU对报文进行分片,之后向目的主机发送报文。

(2)        中间转发设备接收到该报文进行转发时,如果发现转发报文的接口支持的MTU值小于报文长度,则会丢弃报文,并给源端返回一个ICMPv6差错报文,其中包含了转发失败的接口的MTU。

(3)        源主机收到该差错报文后,将使用报文中所携带的MTU重新对报文进行分片并发送。

(4)        如此反复,直到目的端主机收到这个报文,从而确定报文从源端到目的端路径中的最小MTU。

1.1.5  IPv6过渡技术介绍

在IPv6成为主流协议之前,首先使用IPv6协议栈的网络希望能与当前仍被IPv4支撑着的Internet进行正常通信,因此必须开发出IPv4和IPv6互通技术以保证IPv4能够平稳过渡到IPv6。互通技术应该对信息传递做到高效无缝。目前已经出现了多种过渡技术,这些技术各有特点,用于解决不同过渡时期、不同环境的通信问题。

双协议栈是一种最简单直接的过渡机制。同时支持IPv4协议和IPv6协议的网络节点称为双协议栈节点。当双协议栈节点配置IPv4地址和IPv6地址后,就可以在相应接口上转发IPv4和IPv6报文。当一个上层应用同时支持IPv4和IPv6协议时,根据协议要求可以选用TCP或UDP作为传输层的协议,但在选择网络层协议时,它会优先选择IPv6协议栈。双协议栈技术适合IPv4网络节点之间或者IPv6网络节点之间通信,是所有过渡技术的基础。但是,这种技术要求运行双协议栈的节点有一个全球唯一的地址,实际上没有解决地址资源匮乏的问题。

1.1.6  协议规范

与IPv6基础相关的协议规范有:

l              RFC 1881:IPv6 Address Allocation Management

l              RFC 1887:An Architecture for IPv6 Unicast Address Allocation

l              RFC 1981:Path MTU Discovery for IP version 6

l              RFC 2375:IPv6 Multicast Address Assignments

l              RFC 2460:Internet Protocol, Version 6 (IPv6) Specification.

l              RFC 2461:Neighbor Discovery for IP Version 6 (IPv6)

l              RFC 2462:IPv6 Stateless Address Autoconfiguration

l              RFC 2463:Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification

l              RFC 2464:Transmission of IPv6 Packets over Ethernet Networks

l              RFC 2526:Reserved IPv6 Subnet Anycast Addresses

l              RFC 3307:Allocation Guidelines for IPv6 Multicast Addresses

l              RFC 3513:Internet Protocol Version 6 (IPv6) Addressing Architecture

1.2  IPv6基础配置任务简介

表1-4 IPv6基础配置任务简介

配置任务

说明

详细配置

配置IPv6基本功能

必选

1.3 

配置IPv6邻居发现协议

可选

1.4 

配置PMTU发现

可选

1.5 

配置TCP6

可选

1.6 

配置IPv6 FIB转发功能

可选

1.7 

配置ICMPv6报文发送

可选

1.8 

 

1.3  配置IPv6基本功能

1.3.1  使能IPv6报文转发功能

在进行IPv6的相关配置以前,必须先使能IPv6报文转发功能。否则即使在接口上配置了IPv6地址,仍无法转发IPv6的报文,造成IPv6网络无法互通。

表1-5 使能IPv6报文转发功能

操作

命令

说明

进入系统视图

system-view

-

使能IPv6报文转发功能

ipv6

必选

缺省情况下,IPv6报文转发功能处于关闭状态

 

1.3.2  配置IPv6单播地址

(1)        IPv6站点本地地址和全球单播地址可以通过下面三种方式配置:

l              采用EUI-64格式形成:当配置采用EUI-64格式形成IPv6地址时,接口的IPv6地址的前缀是所配置的前缀,而接口标识符则由接口自动生成。

l              手工配置:用户手工配置IPv6站点本地地址或全球单播地址。

l              无状态自动配置:根据接收到的RA报文中携带的地址前缀信息,自动生成IPv6全球单播地址。

(2)        IPv6的链路本地地址可以通过两种方式获得:

l              自动生成:设备根据链路本地地址前缀(FE80::/10)及接口的链路层地址,自动为接口生成链路本地地址;

l              手动指定:用户手工配置IPv6链路本地地址。

为了避免链路本地地址冲突,推荐使用链路本地地址的自动生成方式。

 

表1-6 配置IPv6单播地址

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

配置IPv6全球单播地址或站点本地地址

手工指定IPv6地址

ipv6 address { ipv6-address prefix-length | ipv6-address/prefix-length }

三者必选其一

缺省情况下,接口上没有配置站点本地地址和全球单播地址

采用EUI-64格式形成IPv6地址

ipv6 address ipv6-address/prefix-length eui-64

无状态自动配置IPv6地址

ipv6 address auto

配置IPv6链路本地地址

配置自动生成链路本地地址

ipv6 address auto link-local

可选

缺省情况下,当接口配置了IPv6站点本地地址或全球单播地址后,会自动生成链路本地地址

手工指定接口的链路本地地址

ipv6 address ipv6-address link-local

 

l          每个接口只能有一个链路本地地址,但可以有多个前缀不同的全球单播地址和站点本地地址。

l          当接口配置了IPv6站点本地地址或全球单播地址后,同时会自动生成链路本地地址。且与采用ipv6 address auto link-local命令生成的链路本地地址相同。此时如果手工指定接口的链路本地地址,则手工指定的有效。如果删除手工指定的链路本地地址,则接口的链路本地地址恢复为系统自动生成的地址。

l          配置链路本地地址时,手工指定方式的优先级高于自动生成方式。即如果先采用自动生成方式,之后手工指定,则手工指定的地址会覆盖自动生成的地址;如果先手工指定,之后采用自动生成的方式,则自动配置不生效,接口的链路本地地址仍是手工指定的。此时,如果删除手工指定的地址,则自动生成的链路本地地址会生效。

l          undo ipv6 address auto link-local命令只能删除使用ipv6 address auto link-local命令生成的链路本地地址。即如果此时已经配置了IPv6站点本地地址或全球单播地址,由于系统会自动生成链路本地地址,则接口仍有链路本地地址;如果此时没有配置IPv6站点本地地址或全球单播地址,则接口没有链路本地地址。

l          手工配置的全球单播地址的优先级高于自动生成的全球单播地址。如果在接口已经自动生成全球单播地址的情况下,手工配置前缀相同的全球单播地址,自动生成的地址将被覆盖。此后,即使删除手工配置的全球单播地址,已被覆盖的自动生成的全球单播地址也不会恢复。再次接收到RA报文后,设备根据报文携带的地址前缀信息,重新生成全球单播地址。

l          在接口上执行undo ipv6 address auto命令,将删除该接口上所有自动生成的全球单播地址;但对于接口上的链路本地地址,只有当接口上不存在IPv6站点本地地址和全球单播地址,且没有配置ipv6 address auto link-local命令时,才会删除自动生成的链路本地地址。

 

1.4  配置IPv6邻居发现协议

1.4.1  配置静态邻居表项

将邻居节点的IPv6地址解析为链路层地址,可以通过邻居请求消息NS及邻居通告消息NA来动态实现,也可以通过手工配置静态邻居表项来实现。

设备根据IPv6地址及三层接口号来唯一标识一个静态邻居表项。目前,静态邻居表项有两种配置方式:

l              配置三层接口对应IPv6地址、链路层地址;

l              配置VLAN中的端口对应IPv6地址、链路层地址。

表1-7 配置静态邻居表项

操作

命令

说明

进入系统视图

system-view

-

配置静态邻居表项

ipv6 neighbor ipv6-address mac-address { vlan-id port-type port-number | interface interface-type interface-number }

必选

 

对于VLAN接口,可以采用上述两种方式来配置静态邻居表项:

l          采用第一种方式配置静态邻居表项后,设备还需要解析VLAN对应的二层端口信息。

l          采用第二种方式配置静态邻居表项,需要保证VLAN所对应的VLAN接口已经存在,且port-type port-number指定的二层端口属于vlan-id指定的VLAN。在配置后,设备会将VLAN所对应的VLAN接口与IPv6地址相对应来唯一标识一个静态邻居表项。

 

1.4.2  配置接口上允许动态学习的邻居的最大个数

设备可以通过NS消息和NA消息来动态获取邻居节点的链路层地址,并将其加入到邻居表中。如果动态获取的邻居表过大,将可能导致设备的转发性能下降。为此,可以通过设置接口上允许动态学习的邻居的最大个数来进行限制。当接口上动态学习的邻居个数达到所设置的最大值时,该接口将不再学习邻居信息。

表1-8 配置接口上允许动态学习的邻居的最大个数

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

配置接口上允许动态学习的邻居的最大个数

ipv6 neighbors max-learning-num number

可选

 

1.4.3  配置RA消息的相关参数

用户可以根据实际情况,配置接口是否发送RA消息及发送RA消息的时间间隔,同时可以配置RA消息中的相关参数以通告给主机。当主机接收到RA消息后,就可以采用这些参数进行相应操作。可以配置的RA消息中的参数及含义如表1-9所示。

表1-9 RA消息中的参数及描述

参数

描述

跳数限制(Cur Hop Limit)

主机在发送IPv6报文时,将使用该参数值填充IPv6报文头中的Hop Limit字段。同时该参数值也作为设备应答报文中的Hop Limit字段值。

前缀信息(Prefix Information)

在同一链路上的主机收到设备发布的前缀信息后,可以进行无状态自动配置等操作。

被管理地址配置标志位(M flag)

用于确定主机是否采用有状态自动配置获取IPv6地址。

如果设置该标志位为1,主机将通过有状态自动配置(例如DHCP服务器)来获取IPv6地址;否则,将通过无状态自动配置获取IPv6地址,即根据自己的链路层地址及路由器发布的前缀信息生成IPv6地址。

其他配置标志位(O flag)

用于确定主机是否采用有状态自动配置获取除IPv6地址外的其他信息。

如果设置其他配置标志位为1,主机将通过有状态自动配置(例如DHCP服务器)来获取除IPv6地址外的其他信息;否则,将通过无状态自动配置获取其他信息。

路由器生存时间(Router Lifetime)

用于设置发布RA消息的路由器作为主机的默认路由器的时间。主机根据接收到的RA消息中的路由器生存时间参数值,就可以确定是否将发布该RA消息的路由器作为默认路由器。

邻居请求消息重传时间间隔(Retrans Timer)

设备发送NS消息后,如果未在指定的时间间隔内收到响应,则会重新发送NS消息。

保持邻居可达状态的时间(Reachable Time)

当通过邻居可达性检测确认邻居可达后,在所设置的可达时间内,设备认为邻居可达;超过设置的时间后,如果需要向邻居发送报文,会重新确认邻居是否可达。

 

在接口上配置的邻居请求消息重传时间间隔及保持邻居可达状态的时间,既可作为RA消息中的信息发布给主机,也可作为本接口发送邻居请求消息的时间间隔及保持邻居可达状态的时间。

 

表1-10 配置RA消息的相关参数

操作

命令

说明

进入系统视图

system-view

-

配置跳数限制

ipv6 nd hop-limit value

可选

缺省情况下,路由器发布的跳数限制为64跳

使能ND协议报文源MAC地址一致性检查功能

ipv6 nd mac-check enable

可选

缺省情况下,ND协议报文源MAC地址一致性检查功能处于关闭状态

进入接口视图

interface interface-type interface-number

-

取消对RA消息发布的抑制

undo ipv6 nd ra halt

必选

缺省情况下,抑制发布RA消息

配置RA消息发布的最大时间间隔和最小时间间隔

ipv6 nd ra interval max-interval-value min-interval-value

可选

缺省情况下,RA消息发布的最大间隔时间为600秒,最小时间间隔为200秒

RA消息周期性发布时,相邻两次的时间间隔是在最大时间间隔与最小时间间隔之间随机选取一个值作为周期性发布RA消息的时间间隔

配置的最小时间间隔应该小于等于最大时间间隔的0.75倍

配置RA消息中的前缀信息

ipv6 nd ra prefix { ipv6-address prefix-length | ipv6-address/prefix-length } valid-lifetime preferred-lifetime [ no-autoconfig | off-link ] *

可选

缺省情况下,没有配置RA消息中的前缀信息,此时将使用发送RA消息的接口IPv6地址作为RA消息中的前缀信息

设置被管理地址配置标志位为1

ipv6 nd autoconfig managed-address-flag

可选

缺省情况下,被管理地址标志位为0,即主机通过无状态自动配置获取IPv6地址

设置其他配置标志位为1

ipv6 nd autoconfig other-flag

可选

缺省情况下,其他配置标志位为0,即主机通过无状态自动配置获取其他信息

配置RA消息中路由器的生存时间

ipv6 nd ra router-lifetime value

可选

缺省情况下,RA消息中路由器的生存时间为1800秒

配置邻居请求消息重传时间间隔

ipv6 nd ns retrans-timer value

可选

缺省情况下,接口发送NS消息的时间间隔为1000毫秒,接口发布的RA消息中Retrans Timer字段的值为0

配置保持邻居可达状态的时间

ipv6 nd nud reachable-time value

可选

缺省情况下,接口保持邻居可达状态的时间为30000毫秒,接口发布的RA消息中Reachable Timer字段的值为0

 

RA消息发布的最大间隔时间应该小于或等于RA消息中路由器的生存时间。

 

1.4.4  配置重复地址检测时发送邻居请求消息的次数

接口获得IPv6地址后,将发送邻居请求消息进行重复地址检测,如果在指定的时间内(通过ipv6 nd ns retrans-timer命令配置)没有收到响应,则继续发送邻居请求消息,当发送的次数达到所设置的次数后,仍未收到响应,则认为该地址可用。

表1-11 配置重复地址检测时发送邻居请求消息的次数

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

配置重复地址检测时发送邻居请求消息的次数

ipv6 nd dad attempts value

可选

缺省情况下,重复地址检测时发送邻居请求报文的次数为1,当value值为0时,表示禁止重复地址检测

 

1.5  配置PMTU发现

1.5.1  配置接口MTU

由于IPv6路由器不支持对报文进行分片,当路由器接口收到一个报文后,如果发现报文长度比转发接口的MTU值大,则会将其丢弃;同时将转发接口的MTU值通过ICMPv6报文的“Packet Too Big”消息发给源端主机,源端主机以该值重新发送IPv6报文。为减少报文被丢弃带来的额外流量开销,需要根据实际组网环境设置合适的接口MTU值。

表1-12 配置接口MTU

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

配置接口MTU

ipv6 mtu mtu-size

可选

 

1.5.2  配置指定地址的静态PMTU

用户可以为指定的目的IPv6地址配置静态的PMTU值。当源端主机从接口发送报文时,将比较该接口的MTU与指定目的IPv6地址的静态PMTU,如果报文长度大于二者中的最小值,则采用此最小值对报文进行分片。

表1-13 配置指定地址的静态PMTU

操作

命令

说明

进入系统视图

system-view

-

配置指定IPv6地址对应的静态PMTU值

ipv6 pathmtu ipv6-address [ value ]

必选

缺省情况下,没有配置静态PMTU值

 

1.5.3  配置PMTU老化时间

通过“1.1.4  IPv6 PMTU发现”中的方法动态确定源端主机到目的端主机的PMTU后,源端主机将使用这个MTU值发送后续报文到目的端主机。当PMTU老化时间超时后,动态确定的PMTU值将会被删除,源端主机会通过PMTU机制重新确定发送报文的MTU值。

该配置对静态PMTU不起作用。

表1-14 配置PMTU老化时间

操作

命令

说明

进入系统视图

system-view

-

配置PMTU老化时间

ipv6 pathmtu age age-time

可选

缺省情况下,PMTU的老化时间是10分钟

 

1.6  配置TCP6

可以配置的TCP6属性包括:

l              synwait定时器:当发送SYN报文时,TCP6启动synwait定时器,如果synwait定时器超时前未收到回应报文,则TCP6连接建立不成功。

l              finwait定时器:当TCP6的连接状态为FIN_WAIT_2时,启动finwait定时器,如果在定时器超时前没有收到报文,则TCP6连接终止;如果收到FIN报文,则TCP6连接状态变为TIME_WAIT状态;如果收到非FIN报文,则从收到的最后一个非FIN报文开始重新计时,在超时后中止连接。

l              TCP6的接收和发送缓冲区的大小。

表1-15 配置TCP6

操作

命令

说明

进入系统视图

system-view

-

配置TCP6的finwait定时器

tcp ipv6 timer fin-timeout wait-time

可选

缺省情况下,finwait定时器的值为675

配置TCP6的synwait定时器

tcp ipv6 timer syn-timeout wait-time

可选

缺省情况下,synwait定时器的值75

配置TCP6的接收和发送缓冲区大小

tcp ipv6 window size

可选

缺省情况下,TCP6的接收和发送缓冲区大小为8KB

 

1.7  配置IPv6 FIB转发功能

在使能IPv6的FIB缓存功能后,当报文进行转发时将会查找FIB缓存,这样缩短了IP报文查找时间,从而提高了转发效率。

表1-16 配置IPv6 FIB转发功能

操作

命令

说明

进入系统视图

system-view

-

使能IPv6 FIB缓存功能

ipv6 fibcache

必选

缺省情况下,IPv6 FIB缓存功能处于关闭状态

 

1.8  配置ICMPv6报文发送

1.8.1  配置指定时间内发送ICMPv6差错报文的最大个数

如果网络中短时间内发送的ICMPv6差错报文过多,将可能导致网络拥塞。为了避免这种情况,用户可以控制在指定时间内发送ICMPv6差错报文的最大个数,目前采用令牌桶算法来实现。

用户可以设置令牌桶的容量,即令牌桶中可以同时容纳的令牌数;同时可以设置令牌桶的刷新周期,即每隔多长时间将令牌桶内的令牌个数刷新为所配置的容量。一个令牌表示允许发送一个ICMPv6差错报文,每当发送一个ICMPv6差错报文,则令牌桶中减少一个令牌。如果连续发送的ICMPv6差错报文超过了令牌桶的容量,则后续的ICMPv6差错报文将不能被发送出去,直到按照所设置的刷新频率将新的令牌放入令牌桶中。

表1-17 配置指定时间内发送ICMPv6差错报文的最大个数

操作

命令

说明

进入系统视图

system-view

-

配置控制ICMPv6差错报文发送的令牌桶容量和刷新周期

ipv6 icmp-error { bucket bucket-size | ratelimit interval } *

可选

缺省情况下,令牌桶容量为10,令牌桶的刷新周期为100毫秒,即每一个刷新周期内最多可以发送10个ICMPv6差错报文

刷新周期为0时,表示不限制ICMPv6差错报文的发送

 

1.8.2  配置允许回复组播形式的Echo request报文

如果允许主机回复组播形式的Echo request报文,则主机A可以构造目的地址为组播地址、源地址为主机B的Echo request报文,使该组播组中所有的主机都向主机B发送Echo reply报文,从而达到攻击主机B的目的。因此,为了避免主机利用设备达到攻击的目的,缺省情况下,不允许设备回复组播形式的Echo request报文。可以通过下面的命令,配置允许设备回复组播形式的Echo request报文。

表1-18 配置允许回复组播形式的Echo request报文

操作

命令

说明

进入系统视图

system-view

-

配置允许回复组播形式的Echo request报文

ipv6 icmpv6 multicast-echo-reply enable

必选

缺省情况下,不允许回复组播形式的Echo request报文

 

1.9  IPv6基础显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示IPv6配置后的运行情况,用户可以通过查看显示信息验证配置的效果。

在用户视图下,执行reset命令可以清除相应的统计信息。

表1-19 IPv6基础显示和维护

操作

命令

显示DNS域名后缀信息

display dns domain [ dynamic ]

显示IPv6 FIB转发信息表项

display ipv6 fib [ ipv6-address ]

显示IPv6 FIB缓存中的路由总数

display ipv6 fibcache

显示可以配置IPv6地址的接口的IPv6信息

display ipv6 interface [ interface-type [ interface-number ] ] [ verbose ]

显示邻居信息

display ipv6 neighbors { ipv6-address | all | dynamic | interface interface-type interface-number | static | vlan vlan-id } [ | { begin | exclude | include } regular-expression ]

显示符合指定条件的邻居表项的总个数

display ipv6 neighbors { all | dynamic | interface interface-type interface-number | static | vlan vlan-id } count

显示IPv6的PMTU信息

display ipv6 pathmtu { ipv6-address | all | dynamic | static }

显示指定套接字的相关信息

display ipv6 socket [ socktype socket-type ] [ task-id socket-id ]

显示IPv6报文及ICMPv6报文的统计信息

display ipv6 statistics

显示TCP6连接的统计信息

display tcp ipv6 statistics

显示TCP6连接的状态信息

display tcp ipv6 status

显示UDP6的统计信息

display udp ipv6 statistics

清除FIB缓存项

reset ipv6 fibcache

清除IPv6邻居信息

reset ipv6 neighbors { all | dynamic | interface interface-type interface-number | static }

清除PMTU值

reset ipv6 pathmtu { all | static | dynamic}

清除IPv6报文及ICMPv6报文的统计信息

reset ipv6 statistics

清除所有TCP6连接的统计信息

reset tcp ipv6 statistics

清除所有UDP6统计信息

reset udp ipv6 statistics

 

1.10  IPv6基础典型配置举例

1. 组网需求

l              Client、AP和PoE Switch通过以太网端口直接相连。

l              AP的 VLAN接口1的全球单播地址为2001::1/64。

l              Client上安装了IPv6,根据IPv6邻居发现协议自动配置IPv6地址。

2. 组网图

图1-6 IPv6地址配置组网图

 

3. 配置步骤

(1)        配置AP

# 使能IPv6转发功能。

<AP> system-view

[AP] ipv6

# 手工指定VLAN接口1的全球单播地址,并允许其发布RA消息。(缺省情况下,所有的接口不会发布RA消息)

[AP] interface vlan-interface 1

[AP-Vlan-interface1] ipv6 address 2001::1/64

[AP-Vlan-interface1] undo ipv6 nd ra halt

(2)        配置Client

Client上安装IPv6,根据IPv6邻居发现协议自动配置IPv6地址。(略)

4. 验证配置结果

 # 在Client上使用Ping测试和AP的互通性。

C:\Documents and Settings\Administrator> ping ipv6 -c 1 2001::1

  PING 2001::1 : 56  data bytes, press CTRL_C to break

    Reply from 2001::1

    bytes=56 Sequence=1 hop limit=64  time = 2 ms

  --- 2001::1 ping statistics ---

    1 packet(s) transmitted

    1 packet(s) received

    0.00% packet loss

    round-trip min/avg/max = 2/2/2 ms

1.11  常见配置错误举例

1. 故障现象

无法Ping通对端的IPv6地址。

2. 故障排除

l              在任意视图使用display current-configuration命令或在系统视图下使用display this命令检查是否使能了IPv6报文转发功能。

l              在任意视图下使用display ipv6 interface命令检查接口配置的IPv6地址是否正确,接口状态是否为up。

l              在用户视图下使用debugging ipv6 packet命令打开IPv6报文调试开关,根据调试信息进行判断。

 


不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!