• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

05-网络互通配置指导

目录

22-IPv6基础配置

本章节下载 22-IPv6基础配置  (450.39 KB)

22-IPv6基础配置

  录

1 IPv6基础

1.1 IPv6简介

1.1.1 IPv6协议特点

1.1.2 IPv6地址介绍

1.1.3 IPv6 PMTU发现

1.1.4 协议规范

1.2 IPv6基础配置任务简介

1.3 配置IPv6全球单播地址

1.3.1 功能简介

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

1.3.3 手工指定IPv6地址

1.3.4 无状态自动配置IPv6地址

1.3.5 引用前缀生成接口上的IPv6地址,并将此前缀分配给终端设备

1.4 配置IPv6链路本地地址

1.4.1 功能简介

1.4.2 配置限制和指导

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

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

1.5 配置IPv6任播地址

1.6 配置PMTU发现

1.6.1 配置接口MTU

1.6.2 配置动态PMTU的老化时间

1.6.3 配置指定地址的静态PMTU

1.7 配置ICMPv6报文发送/接收功能

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

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

1.7.3 配置ICMPv6目的不可达差错报文发送功能

1.7.4 配置ICMPv6超时差错报文发送功能

1.7.5 配置ICMPv6重定向报文发送功能

1.7.6 配置ICMPv6报文指定源地址功能

1.8 配置路由器重编号功能

1.9 开启IPv6虚拟分片重组功能

1.10 开启IPv6报文扩展头丢弃功能

1.11 开启IPv6转发保持上一跳功能

1.12 IPv6基础显示和维护

1.12.1 显示IPv6基础配置

1.12.2 显示IPv6协议连接信息

1.12.3 显示和清除IPv6协议统计信息

1.12.4 显示和清除IPv6的PMTU信息

1.12.5 显示和清除路由器重编号统计信息

1.12.6 显示IPv6 FIB表项信息

1.13 IPv6基础典型配置举例

1.13.1 IPv6基本组网配置举例

 


1 IPv6基础

说明

本文中描述的路由器指支持路由功能的设备。

 

1.1  IPv6简介

IPv6(Internet Protocol Version 6,互联网协议版本6)是网络层协议的第二代标准协议,也被称为IPng(IP Next Generation,下一代互联网协议),它是IETF(Internet Engineering Task Force,互联网工程任务组)设计的一套规范,是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支持有状态地址配置和无状态地址配置:

·     有状态地址配置是指从服务器(如DHCPv6服务器)获取IPv6地址及相关信息,详细介绍请参见“网络互通配置指导”中的“DHCPv6”。

·     无状态地址配置是指主机根据自己的链路层地址及路由器发布的前缀信息自动配置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”可以有下面的处理方式:

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

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

说明

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

 

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

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

2. IPv6的地址分类

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

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

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

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

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

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

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

地址类型

格式前缀(二进制)

IPv6前缀标识

单播地址

未指定地址

00...0  (128 bits)

::/128

环回地址

00...1  (128 bits)

::1/128

链路本地地址

1111111010

FE80::/10

全球单播地址

其他形式

-

组播地址

11111111

FF00::/8

任播地址

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

 

3. 单播地址的类型

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

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

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

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

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

4. 组播地址

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

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

地址

应用

FF01::1

表示节点本地范围所有节点的组播地址

FF02::1

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

FF01::2

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

FF02::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位)进行取反操作。最后得到的这组数就作为EUI-64格式的接口标识符。

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

 

对于Tunnel类型的接口,IEEE EUI-64格式的接口标识符的低32位为Tunnel接口的源IPv4地址,ISATAP隧道的接口标识符的高32位为0000:5EFE,其他隧道的接口标识符的高32位为全0。

对于其他接口类型的接口,IEEE EUI-64格式的接口标识符由设备随机生成。

1.1.3  IPv6 PMTU发现

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

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

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

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

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

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

图1-3 PMTU发现工作过程

 

1.1.4  协议规范

相关的协议规范有:

·     RFC 1881:IPv6 Address Allocation Management

·     RFC 1887:An Architecture for IPv6 Unicast Address Allocation

·     RFC 1981:Path MTU Discovery for IP version 6

·     RFC 2375:IPv6 Multicast Address Assignments

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

·     RFC 2464:Transmission of IPv6 Packets over Ethernet Networks

·     RFC 2526:Reserved IPv6 Subnet Anycast Addresses

·     RFC 3307:Allocation Guidelines for IPv6 Multicast Addresses

·     RFC 4191:Default Router Preferences and More-Specific Routes

·     RFC 4291:IP Version 6 Addressing Architecture

·     RFC 4443:Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification

·     RFC 4862:IPv6 Stateless Address Autoconfiguration

1.2  IPv6基础配置任务简介

IPv6基础配置任务如下:

(1)     配置IPv6地址

请选择以下至少一项任务进行配置:

¡     配置IPv6全球单播地址

¡     配置IPv6链路本地地址

¡     配置IPv6任播地址

(2)     (可选)配置PMTU发现

¡     配置接口MTU

¡     配置动态PMTU的老化时间

¡     配置指定地址的静态PMTU

(3)     (可选)配置ICMPv6报文发送/接收功能

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

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

¡     配置ICMPv6目的不可达差错报文发送功能

¡     配置ICMPv6超时差错报文发送功能

¡     配置ICMPv6重定向报文发送功能

¡     配置ICMPv6报文指定源地址功能

(4)     (可选)配置路由器重编号功能

(5)     (可选)开启IPv6虚拟分片重组功能

(6)     (可选)开启IPv6报文扩展头丢弃功能

(7)     (可选)开启IPv6转发保持上一跳功能

1.3  配置IPv6全球单播地址

1.3.1  功能简介

IPv6全球单播地址可以通过下面几种方式配置:

·     采用EUI-64格式形成:当配置采用EUI-64格式形成IPv6地址时,接口的IPv6地址的前缀需要手工配置,而接口ID则由接口自动生成。

·     手工配置:用户手工配置IPv6全球单播地址。

·     引用前缀生成IPv6地址:引用前缀生成IPv6地址时,接口的IPv6地址的前缀可以通过手工配置或DHCPv6动态获取,同时该前缀还会分配给终端设备。

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

每个接口可以有多个全球单播地址。

手工配置的全球单播地址(包括采用EUI-64格式形成的全球单播地址)的优先级高于自动生成的全球单播地址。如果在接口已经自动生成全球单播地址的情况下,手工配置前缀相同的全球单播地址,不会覆盖之前自动生成的全球单播地址。如果删除手工配置的全球单播地址,设备还可以使用自动生成的全球单播地址进行通信。

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

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     采用EUI-64格式形成IPv6地址。

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

缺省情况下,接口上未配置IPv6全球单播地址。

1.3.3  手工指定IPv6地址

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     手工指定IPv6地址。

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

缺省情况下,接口上未配置IPv6全球单播地址。

1.3.4  无状态自动配置IPv6地址

1. 功能简介

在配置了无状态自动配置IPv6地址功能后,接口会根据接收到的RA报文中携带的地址前缀信息和接口ID,自动生成IPv6全球单播地址。如果接口是IEEE 802类型的接口(例如,以太网接口、VLAN接口),其接口ID是由MAC地址根据一定的规则生成,此接口ID具有全球唯一性。对于不同的前缀,接口ID部分始终不变,攻击者通过接口ID可以很方便的识别出通信流量是由哪台设备产生的,并分析其规律,会造成一定的安全隐患。

如果在地址无状态自动配置时,自动生成接口ID不断变化的IPv6地址,就可以加大攻击的难度,从而保护网络。为此,设备提供了临时地址功能,使得系统可以生成临时地址。配置该功能后,通过地址无状态自动配置,IEEE 802类型的接口可以同时生成两类地址:

·     公共地址:地址前缀采用RA报文携带的前缀,接口ID由MAC地址产生。接口ID始终不变。

·     临时地址:地址前缀采用RA报文携带的前缀,接口ID由系统根据MD5算法计算产生。接口ID不断变化。

在配置了优先选择临时地址功能前提下发送报文,系统将优先选择临时地址作为报文的源地址。当临时地址的有效生命期过期后,这个临时地址将被删除,同时,系统会通过MD5算法重新生成一个接口ID不同的临时地址。所以,该接口发送报文的源地址的接口ID总是在不停变化。如果生成的临时地址因为DAD冲突不可用,就采用公共地址作为报文的源地址。

临时地址的首选生命期和有效生命期的确定原则如下:

·     首选生命期是如下两个值之中的较小者:“RA前缀中的首选生命期”和“配置的临时地址首选生命期减去DESYNC_FACTOR”。DESYNC_FACTOR是一个0~600秒的随机值。

·     有效生命期是如下两个值之中的较小者:“RA前缀中的有效生命期”和“配置的临时地址有效生命期”。

2. 配置限制和指导

如果RA报文携带的前缀长度不是64位,则该接口自动生成IPv6全球单播地址失败。

设备的接口必须启用地址无状态自动配置功能才能生成临时地址,而且临时地址不会覆盖公共地址,因此会出现一个接口下有多个前缀相同但是接口ID不同的地址。

如果公共地址生成失败,例如前缀冲突,则不会生成临时地址。

在接口上开启无状态地址自动配置功能后,接口通过无状态自动配置方式生成全球单播地址。如果通过undo ipv6 address auto命令关闭该功能,将删除该接口上所有自动生成的全球单播地址和链路本地地址。

3. 开启无状态自动配置IPv6地址功能

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     开启无状态地址自动配置功能,使接口通过无状态自动配置方式生成全球单播地址。

ipv6 address auto

缺省情况下,接口上无状态地址自动配置功能处于关闭状态。

4. 配置系统生成临时地址,并优先选择临时地址作为报文的源地址

(1)     进入系统视图。

system-view

(2)     配置系统生成临时地址。

ipv6 temporary-address [ valid-lifetime preferred-lifetime ]

缺省情况下,系统不生成临时地址。

(3)     优先选择临时地址作为报文的源地址。

ipv6 prefer temporary-address

缺省情况下,不会用临时地址作为接口发送报文的源地址。

1.3.5  引用前缀生成接口上的IPv6地址,并将此前缀分配给终端设备

(1)     进入系统视图。

system-view

(2)     配置IPv6前缀。请选择其中一项进行配置。

¡     手工配置静态的IPv6前缀。

ipv6 prefix prefix-number ipv6-prefix/prefix-length

缺省情况下,未配置静态IPv6前缀。

¡     配置设备作为DHCPv6客户端动态获取IPv6前缀,并生成指定编号的IPv6前缀。

配置方法请参见“网路互通配置指导”中的“DHCPv6客户端”。

(3)     进入接口视图。

interface interface-type interface-number

(4)     引用前缀生成接口上的IPv6地址,并将此前缀分配给终端设备。

ipv6 address prefix-number sub-prefix/prefix-length

缺省情况下,接口上未引用前缀,也不会向终端设备分配该前缀。

1.4  配置IPv6链路本地地址

1.4.1  功能简介

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

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

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

1.4.2  配置限制和指导

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

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

每个接口只能有一个链路本地地址,为了避免链路本地地址冲突,推荐使用链路本地地址的自动生成方式。

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

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

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     配置自动生成链路本地地址。

ipv6 address auto link-local

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

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

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     手工指定接口的链路本地地址。

ipv6 address ipv6-address link-local

缺省情况下,未指定接口的链路本地地址。

1.5  配置IPv6任播地址

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     配置IPv6任播地址。

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

缺省情况下,接口上未配置任播地址。

1.6  配置PMTU发现

1.6.1  配置接口MTU

1. 功能简介

当设备作为中间设备转发报文时,会根据接口MTU值对报文进行转发。如果发现报文长度比转发接口的MTU值大,则会将其丢弃,同时将转发接口的MTU值通过ICMPv6报文的“Packet Too Big”消息发给源端。

2. 配置限制和指导

为减少报文被丢弃带来的额外流量开销,请根据实际组网环境设置合适的接口MTU值。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     配置接口MTU。

ipv6 mtu size

缺省情况下,接口MTU取值为1280字节。

1.6.2  配置动态PMTU的老化时间

1. 功能简介

动态PMTU是设备通过“1.1.3  IPv6 PMTU发现”中的方法学习到设备作为源端到目的端的路径上的最小接口MTU。设备学习到动态PMTU后,会使用动态PMTU指导后续报文的转发。当动态PMTU老化时间超时后,源设备会通过PMTU发现机制重新确定发送报文的PMTU。

2. 配置限制与指导

配置动态PMTU的老化时间只对之后学习到的动态PMTU生效,不改变配置前生成的动态PMTU的老化时间。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置PMTU老化时间。

ipv6 pathmtu age age-time

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

1.6.3  配置指定地址的静态PMTU

1. 功能简介

在IPv6网络中,中间转发设备不对报文进行分片,报文分片由源设备完成。这样能保证报文在整个传输过程中不分片,减轻了中间转发设备的工作压力。

通常情况下,源设备使用“1.1.3  IPv6 PMTU发现”中的方法确定PMTU,即动态PMTU,源设备根据动态PMTU对报文进行分片、发送。但在特殊情况下,为了保护网络设备的安全,避免受到长度超大的报文的攻击,需要使用ipv6 pathmtu命令对指定IPv6地址配置静态PMTU,控制源端到目的端可转发报文的最大长度。

当设备作为源端向目的端发送报文时,如果判断出对目的IPv6地址配置了静态的PMTU,则取发送接口的MTU和静态PMTU值中的较小值和报文长度进行比较:

·     如果报文长度小于/等于较小值时,不对报文进行分片,直接发送。

·     如果报文长度大于较小值,则根据较小值对报文进行分片,然后发送第一个分片。

发送过程中,如果源设备接收到中间设备返回的“Packet Too Big”消息,则本次报文发送失败。

2. 配置限制和指导

静态PMTU的优先级高于动态PMTU的优先级,静态PMTU永远不会老化。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置指定IPv6地址对应的静态PMTU值。

ipv6 pathmtu ipv6-address value

缺省情况下,未配置静态PMTU值。

1.7  配置ICMPv6报文发送/接收功能

 

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

1. 功能简介

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

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

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置发送ICMPv6差错报文对应的令牌桶容量和令牌刷新周期。

ipv6 icmpv6 error-interval interval [ bucketsize ]

缺省情况下,令牌桶容量为10,令牌刷新周期为100毫秒。

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

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

(1)     进入系统视图。

system-view

(2)     配置设备允许回复组播形式的Echo request报文。

ipv6 icmpv6 multicast-echo-reply enable

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

1.7.3  配置ICMPv6目的不可达差错报文发送功能

1. 功能简介

ICMPv6目的不可达报文(报文Type字段值为1,详见RFC4443)发送功能是在设备收到IPv6数据报文后,如果发生目的不可达的差错,则将报文丢弃并给源端发送ICMPv6目的不可达差错报文。

设备在满足下列任一条件时会发送目的不可达报文:

·     设备在转发报文时,如果在路由表中没有找到对应的转发路由,且路由表中没有缺省路由,则给源端发送“没有到达目的地址的路由”ICMPv6差错报文;

·     设备在转发报文时,如果是因为管理策略(例如防火墙过滤、ACL等)导致无法发送报文时,则给源端发送“与目的地址的通信被管理策略禁止”ICMPv6差错报文;

·     设备在转发报文时,如果报文的目的IPv6地址超出源IPv6地址的范围(例如,报文的源IPv6地址为链路本地地址,报文的目的IPv6地址为全球单播地址),会导致报文无法到达目的端,此时要给源端发送“超出源地址范围”ICMPv6差错报文;

·     设备在转发报文时,如果不能解析目的IPv6地址对应的链路层地址,则给源端发送“地址不可达”ICMPv6差错报文;

·     设备收到目的地址为本地、传输层协议为UDP的数据报文时,如果报文的目的端口号与正在使用的进程不匹配,则给源端发送“端口不可达”ICMPv6差错报文。

2. 配置限制和指导

由于ICMPv6目的不可达报文传递给用户进程的信息为不可达信息,如果有用户恶意攻击,可能会影响终端用户的正常使用。为了避免上述现象发生,可以关闭设备的ICMPv6目的不可达报文发送功能,从而减少网络流量、防止遭到恶意攻击。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启设备的ICMPv6目的不可达报文的发送功能。

ipv6 unreachables enable

缺省情况下,ICMPv6目的不可达报文发送功能处于关闭状态。

1.7.4  配置ICMPv6超时差错报文发送功能

1. 功能简介

ICMPv6超时报文(报文Type字段值为3,详见RFC4443)发送功能是在设备收到IPv6数据报文后,如果发生超时差错,则将报文丢弃并给源端发送ICMPv6超时差错报文。

设备在满足下列任一条件时会发送ICMPv6超时报文:

·     设备收到IPv6数据报文后,如果报文的目的地不是本地且报文的Hop limit字段是1,则发送“Hop limit超时”ICMPv6差错报文;

·     设备收到目的地址为本地的IPv6数据报文的第一个分片后,启动定时器,如果所有分片报文到达之前定时器超时,则会发送“重组超时”ICMPv6差错报文。

如果接收到大量需要发送ICMPv6差错报文的恶意攻击报文,设备会因为处理大量该类报文而导致性能降低。

2. 配置限制和指导

为了避免上述现象发生,可以关闭设备的ICMPv6超时报文发送功能,从而减少网络流量、防止遭到恶意攻击。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启设备的ICMPv6超时报文的发送功能。

ipv6 hoplimit-expires enable

缺省情况下,ICMPv6超时报文发送功能处于开启状态。

1.7.5  配置ICMPv6重定向报文发送功能

1. 功能简介

当主机启动时,它的路由表中可能只有一条到缺省网关的缺省路由。当满足一定的条件时,缺省网关会向源主机发送ICMPv6重定向报文(报文Type字段值为137,详见RFC4443),通知主机重新选择更好的下一跳进行后续报文的发送。

同时满足下列条件时,设备会发送ICMPv6重定向报文:

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

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

·     被选择的路由不是设备的缺省路由;

ICMPv6重定向报文发送功能可以简化主机的管理,使具有很少选路信息的主机逐渐建立较完善的路由表,从而找到最佳路由。但是由于重定向功能会在主机的路由表中增加主机路由,当增加的主机路由很多时,会降低主机性能。因此缺省情况下设备的ICMPv6重定向报文发送功能处于关闭状态。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启设备的ICMPv6重定向报文发送功能。

ipv6 redirects enable

缺省情况下,ICMPv6重定向报文发送功能处于关闭状态。

1.7.6  配置ICMPv6报文指定源地址功能

1. 功能简介

在网络中IPv6地址配置较多的情况下,收到ICMPv6报文时,用户很难根据报文的源IPv6地址判断报文来自哪台设备。为了简化这一判断过程,可以配置ICMPv6报文指定源地址功能。用可配置特定地址(如环回口地址)为ICMPv6报文的源地址,可以简化判断。

设备发送ICMPv6差错报文(TTL超时、报文过大、端口不可达和参数错误等)和ping echo request报文时,都可以通过上述命令指定报文的源地址。

2. 配置限制与指导

用户发送ping echo request报文时,如果ping命令中已经指定源地址,则使用该源地址,否则使用ipv6 icmpv6 source配置的源地址。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启ICMPv6报文指定源地址功能。

ipv6 icmpv6 source ipv6-address

缺省情况下,ICMPv6报文指定源地址功能处于关闭状态。

1.8  配置路由器重编号功能

1. 功能简介

网络管理员可以通过一台路由器修改整个网络的前缀信息,路由器之间通过RR(Router Renumber,路由器重编号)报文的交互来控制实现。

图1-4 路由器重编号组网图

 

图1-4所示,位于上行链路的Router A可以和下行链路的Router B、Router C和Router D进行RR报文的交互,指导下行链路的路由器对本设备上配置的前缀、地址进行修改,进而修改了下行链路的路由器在自动配置过程中发送RA消息中携带的前缀信息,最后达到修改整个网络地址前缀的目的。

2. 配置限制与指导

下行链路的路由器在接收处理RR报文前,必须在RR报文的入接口上使能路由器重编号功能。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     开启路由器重编号功能。

ipv6 router-renumber enable

缺省情况下,路由器重编号功能处于关闭状态。

1.9  开启IPv6虚拟分片重组功能

1. 功能简介

IPv6虚拟分片重组功能对乱序到达的IPv6分片报文进行缓存、排序,并对报文进行合法性检查。以保证后续业务处理的都是收齐的、有序的、合法的IPv6分片报文。其中:

·     如果设备收到了完全相同的分片报文,或者收到的分片报文与其前一分片或后一分片出现重叠时,则认为是受到攻击,会直接丢弃。

·     如果设备没有收齐所有的IPv6分片报文,在分片快转表老化时会将已经缓存的IPv6分片报文丢弃。

IPv6虚拟分片重组功能不仅支持通过本命令行开启,也提供了软件接口供业务调用。命令行主要用于没有业务调用虚拟分片重组功能,设备依然需要对IPv6分片报文进行虚拟重组后再转发的应用场景。只要有任意一个业务调用了虚拟分片本地重组功能,或者用户通过命令行开启了本功能,虚拟分片重组功能就会生效。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启IPv6虚拟分片重组功能。

ipv6 virtual-reassembly enable

缺省情况下,IPv6虚拟分片重组功能处于关闭状态。

1.10  开启IPv6报文扩展头丢弃功能

1. 功能简介

IPv6协议引入了多种扩展报文头,开启IPv6扩展报文丢弃功能后,如果接收到无法处理的IPv6扩展头的报文,设备将直接丢弃。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启IPv6报文扩展头丢弃功能。

ipv6 extension-header drop enable

缺省情况下,IPv6报文扩展头丢弃功能处于关闭状态。

1.11  开启IPv6转发保持上一跳功能

1. 功能简介

接口上开启IPv6转发保持上一跳功能后,当该接口接收到正向流量的第一个IPv6报文,在高速缓存中会记录相应的流量特征以及上一跳信息,并建立相反方向的IPv6快速转发表项,当反向流量报文到达设备上进行转发时可以直接通过该IPv6快速转发表项指导报文进行转发。

2. 配置限制和指导

IPv6转发保持上一跳功能依赖于IPv6快速转发表项的建立。对于以太网类型的链路,如果上一跳的MAC地址发生变化,对应的IPv6快速转发表项需要重建才能使保持上一跳功能正常工作。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。请选择其中一项进行配置。

¡     进入三层以太网接口视图或三层以太网子接口视图。

interface interface-type interface-number

¡     进入Dialer接口视图。

interface dialer number

¡     进入以太网通道接口视图。

interface eth-channel interface-number

¡     进入Serial接口视图。

interface serial interface-number

(3)     开启IPv6转发保持上一跳功能。

ipv6 last-hop hold

缺省情况下,IPv6转发保持上一跳功能处于关闭状态。

1.12  IPv6基础显示和维护

1.12.1  显示IPv6基础配置

可在任意视图下执行以下命令:

·     显示接口的IPv6信息。

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

·     显示接口的IPv6前缀信息。

display ipv6 interface interface-type interface-number prefix

·     显示IPv6前缀信息。

display ipv6 prefix [ prefix-number ]

1.12.2  显示IPv6协议连接信息

1. 显示IPv6 RawIP连接信息

可在任意视图下执行以下命令:

·     显示IPv6 RawIP连接摘要信息。

display ipv6 rawip

·     显示IPv6 RawIP连接详细信息。

display ipv6 rawip verbose [ pcb pcb-index ]

2. 显示IPv6 TCP连接信息

可在任意视图下执行以下命令:

·     显示IPv6 TCP连接摘要信息。

display ipv6 tcp

·     显示IPv6 TCP连接详细信息。

display ipv6 tcp verbose [ pcb pcb-index ]

3. 显示IPv6 UDP连接信息

可在任意视图下执行以下命令:

·     显示IPv6 UDP连接摘要信息。

display ipv6 udp

·     显示IPv6 UDP连接详细信息。

display ipv6 udp verbose [ pcb pcb-index ]

1.12.3  显示和清除IPv6协议统计信息

1. 显示IPv6协议统计信息

可在任意视图下执行以下命令:

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

display ipv6 statistics

·     显示IPv6 ICMP流量统计信息。

display ipv6 icmp statistics

·     显示IPv6 UDP流量统计信息。

display udp statistics

本命令的详细介绍,请参见“网路互通命令参考”中的“IP性能优化”。

2. 清除IPv6协议统计信息

请在用户视图下执行以下命令:

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

reset ipv6 statistics

·     清除IPv6 UDP流量统计信息。

reset udp statistics

本命令的详细介绍,请参见“网络互通命令参考”中的“IP性能优化”。

1.12.4  显示和清除IPv6的PMTU信息

1. 显示IPv6的PMTU信息

可在任意视图下执行以下命令,显示IPv6的PMTU信息。

display ipv6 pathmtu { ipv6-address | { all | dynamic | static } [ count ] }

2. 清除IPv6的PMTU信息

请在用户视图下执行以下命令,清除IPv6的PMTU信息。

reset ipv6 pathmtu { all | dynamic | static }

1.12.5  显示和清除路由器重编号统计信息

1. 显示路由器重编号统计信息

可在任意视图下执行以下命令,显示路由器重编号统计信息。

display ipv6 router-renumber statistics

2. 清除路由器重编号统计信息

请在用户视图下执行以下命令,清除路由器重编号统计信息。

reset ipv6 router-renumber statistics

1.12.6  显示IPv6 FIB表项信息

可在任意视图下执行以下命令,显示IPv6 FIB信息。

display ipv6 fib [ ipv6-address [ prefix-length ] ]

1.13  IPv6基础典型配置举例

1.13.1  IPv6基本组网配置举例

1. 组网需求

·     将AP、AC的以太网端口分别加入相应的VLAN,在VLAN接口上配置AC的IPv6地址,AP通过DHCPv6方式获取AP和AC的IP地址,发现并与AC建立CAPWAP隧道连接。

·     Client上安装了IPv6,根据IPv6邻居发现协议自动配置IPv6地址,验证Client和AC之间的互通性。

2. 组网图

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

 

3. 配置步骤

(1)     配置AC

# 配置AC基本功能,详细介绍请参见“WLAN接入配置指导”中的“WLAN接入”(略)。

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

<AC> system-view

[AC] interface vlan-interface 1

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

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

(2)     配置Client

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

4. 验证配置

# 查看Client获取到的IPv6地址。

[AC-Vlan-interface1] display ipv6 neighbors interface gigabitethernet 1/0/2

Type: S-Static    D-Dynamic    O-Openflow     R-Rule    IS-Invalid static

IPv6 address              MAC address    VID  Interface           State T  Age

FE80::215:E9FF:FEA6:7D14  0015-e9a6-7d14 1    WLAN-BSS1/0/1       STALE D  1238

2001::15B:E0EA:3524:E791  0015-e9a6-7d14 1    WLAN-BSS1/0/1       STALE D  1248

通过上面的信息可以知道Client上获得的IPv6全球单播地址为2001::15B:E0EA:3524:E791。

# 显示AC的接口信息。

[AC-Vlan-interface1] display ipv6 interface vlan-interface 1

Vlan-interface1 current state :UP

Line protocol current state :UP

IPv6 is enabled, link-local address is FE80::20F:E2FF:FE00:1C0

  Global unicast address(es):

    2001::1, subnet is 2001::/64

  Joined group address(es):

    FF02::1

    FF02::2

    FF02::18C

    FF02::1:FF00:1

    FF02::1:FFB5:ED00

    FF0E::18C

  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

  ND advertised reachable time is 0 milliseconds

  ND advertised retransmit interval is 0 milliseconds

  ND router advertisements are sent every 600 seconds

  ND router advertisements live for 1800 seconds

  Hosts use stateless autoconfig for addresses

IPv6 Packet statistics:

  InReceives:                    272

  InTooShorts:                   0

  InTruncatedPkts:               0

  InHopLimitExceeds:             0

  InBadHeaders:                  0

  InBadOptions:                  0

  ReasmReqds:                    0

  ReasmOKs:                      0

  InFragDrops:                   0

  InFragTimeouts:                0

  OutFragFails:                  0

  InUnknownProtos:               0

  InDelivers:                    159

  OutRequests:                   1012

  OutForwDatagrams:              35

  InNoRoutes:                    0

  InTooBigErrors:                0

  OutFragOKs:                    0

  OutFragCreates:                0

  InMcastPkts:                   79

  InMcastNotMembers:             65

  OutMcastPkts:                  938

  InAddrErrors:                  0

  InDiscards:                    0

  OutDiscards:                   0

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

提示

在Ping链路本地地址时,需要使用-i参数来指定报文的出接口。

 

[AC-Vlan-interface1] ping ipv6 -c 1 2001::15B:E0EA:3524:E791

  PING 2001::15B:E0EA:3524:E791 : 56  data bytes, press CTRL+C to break

    Reply from 2001::15B:E0EA:3524:E791

    bytes=56 Sequence=1 hop limit=63  time = 3 ms

 

  --- 2001::15B:E0EA:3524:E791 ping statistics ---

    1 packet(s) transmitted

    1 packet(s) received

    0.00% packet loss

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

从Client上也可以ping通AC,证明它们是互通的。

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

新华三官网
联系我们