目 录

1 IPv6基础... 1

1.1 IPv6基础概述... 1

1.2 IPv6的优点... 1

1.3 工作原理... 2

1.3.1 IPv6基础... 2

1.3.2 ICMPv6协议... 10

1.3.3 IPv6路径MTU发现... 11

1.3.4 IPv6邻居发现协议... 12

1.3.5 协议规范... 15

1.4 配置IPv6基础... 15

1.4.1 功能简介... 15

1.4.2 配置任务概览... 15

1.4.3 配置IPv6地址... 15

1.4.4 配置接口IPv6 MTU.. 16

1.4.5 配置IPv6分片报文软件重组功能... 17

1.4.6 配置IPv6源路由... 17

1.4.7 配置IPv6 Hop-limit 17

1.4.8 配置MGMT口缺省网关... 18

1.4.9 配置ICMPv6报文指定源地址发送... 18

1.4.10 配置ICMPv6差错报文的发送速率... 19

1.5 配置IPv6邻居发现... 19

1.5.1 功能简介... 19

1.5.2 配置任务概览... 19

1.5.3 配置静态邻居... 20

1.5.4 配置邻居表项管理... 20

1.5.5 配置地址解析... 22

1.5.6 配置邻居不可达检测... 23

1.5.7 配置地址冲突检测... 23

1.5.8 配置重定向... 24

1.5.9 配置RA报文相关参数... 24

1.5.10 配置ND日志打印功能... 26

1.5.11 配置ND报文速率统计时间间隔... 26

1.5.12 配置本地ND代理... 26

1.5.13 配置ND为不同的用户分配不同的前缀... 27

1.5.14 置不往认证VLAN发送邻居请求报文... 27

1.6 监视与维护... 28

1.7 典型配置举例... 28

1.7.1 IPv6地址配置举例... 28

 


1 IPv6基础

1.1   IPv6基础概述

随着Internet的迅速增长以及IPv4地址空间的逐渐耗尽,IPv4的局限性日渐凸显。对IPngInternet Protocol Next Generatio,新一代互联网络协议)的研究和实践已经成为热点,IETFInternet Engineering Task ForceInternet工程任务工作小组)的IPng工作组确定了IPng的协议规范,并称之为"IP版本6"IPv6)。

1.2   IPv6的优点

l  更大的地址空间

IPv6的地址长度由IPv432位扩展到128位,约有2^128个地址,IPv6采用分级地址模式,支持从Internet核心主干网到企业内部子网等多级子网地址分配方式。

l  简化的包头格式

IPv6包头的设计原则是力图将包头开销降到最低,因此将一些非关键性字段和可选字段从包头中移出,放到扩展的包头中。虽然IPv6地址长度是IPv4的四倍,但报头仅为基本IPv4首部的两倍。IPv6包头中没有校验和字段,IPv6设备在转发中不需要去处理分片,因此转发报文效率更高。

l  高效的层次寻址及路由结构

IPv6采用聚合机制,定义灵活的层次寻址及路由结构,同一层次上的多个网络在上层设备中表示为一个统一的网络前缀,可以显著减少设备必须维护的路由表项,降低设备的选路和存储开销。

l  简单的管理:即插即用

通过实现一系列的自动发现和自动配置功能,简化网络节点的管理和维护。例如邻居发现(Neighbor Discovery)、最大传输单元发现(MTU Discovery)、路由器通告(Router Advertisement)、路由器请求(Router Solicitation)和节点自动配置(Auto-configuration)等技术就为即插即用提供了相关的服务。

IPv6支持全状态和无状态两种地址配置方式,在IPv4中,电竞下注平台-官方入口责任有限公司主机配置协议DHCP实现了主机IP地址及其相关配置的自动设置,IPv6承继IPv4的这种自动配置服务,并将其称为全状态自动配置(Stateful Autoconfiguration),详细介绍请参见“DHCPv6”。除了全状态自动配置,IPv6还采用了无状态自动配置(Stateless Autoconfiguration)服务。在无状态自动配置过程中,主机自动获得链路本地地址、本地设备的地址前缀以及其它网络参数配置信息。

l  安全性

IPsecIPv4中是一个可选扩展协议,但是在IPv6中是作为一个组成部分存在,用于保证IPv6的安全性。目前,IPv6实现了AHAuthentication Header,认证头)和ESPEncapsulated Security Payload,封装安全载荷)两种机制。前者实现数据的完整性及对IP包来源的认证,保证分组确实来自源地址所标记的节点;后者提供数据加密功能,实现端到端的加密。

l  更好的QoS支持

IPv6包头的新字段定义了数据流如何识别和处理。IPv6包头中的流标识(Flow Label)字段用于识别数据流身份,允许用户利用该字段对通信质量提出要求。设备可以根据该字段标识出同属于某一特定数据流的所有包,并按需对这些包提供特定的处理。

l  用于邻居节点交互的新协议

IPv6的邻居发现协议(Neighbor Discovery Protocol)使用一系列IPv6控制信息报文(ICMPv6)来实现相邻节点(同一链路上的节点)的交互管理。邻居发现协议以及高效的组播和单播邻居发现报文替代了以往基于广播的地址解析协议ARPICMPv4路由器发现等报文。

l  可扩展性

IPv6特性具有很强的可扩展性,可以在IPv6包头后的扩展包头中添加新特性。IPv4包头最多只能支持40字节的可选项,而IPv6扩展包头的大小仅受到整个IPv6包最大字节数的限制。

1.3   工作原理

1.3.1  IPv6基础

1.    IPv6地址格式

IPv6地址的基本格式为X:X:X:X:X:X:X:X128位的IPv6地址用冒号(:)分隔为8组,每组的16位用4个十六进制字符(0~9A~F)来表示。其中每个“X”代表一组的4个十六进制数值。下面是一些合法的IPv6地址:

2001:ABCD:1234:5678:AAAA:BBBB:1200:2100

800:0:0:0:0:0:0:1

1080:0:0:0:8:800:200C:417A

为了简化IPv6地址的书写,对于IPv6地址中的数字“0”可以有如下的简写方式:

l  地址中的每个整数都必须表示出来,但起始的0可以不必表示。例如2001:00CD:0034:0078:000A:000B:1200:2100可以写为2001:CD:34:78:A:B:1200:2100

l  某些IPv6地址中可能包含一长串的0。当出现这种情况时,允许用::来表示这一长串的0。即地址800:0:0:0:0:0:0:1可以被表示为:800:: 1。这两个冒号表示该地址可以扩展到一个完整的128位地址。在这种方法中,只有当16位组全部为0时才会被两个冒号取代,且两个冒号在地址中只能出现一次。

IPv4IPv6的混合环境中,IPv6地址中的最低32位可用于表示IPv4地址,该地址可以按照一种混合方式表达,即X:X:X:X:X:X:d.d.d.d,其中X表示一个16位的十六进制整数,而d表示一个8位的十进制整数。例如,地址0:0:0:0:0:0:192.168.20.1就是一个合法的IPv6地址。使用简写的表达方式后,该地址也可以表示为:::192.168.20.1。典型应用是IPv4映射IPv6地址,如把IPv4地址“1.1.1.1”映射为IPv6地址“::FFFF:1.1.1.1”。

2.    IPv6地址结构

IPv6地址由两个部分组成:

l  网络前缀:n比特,相当于IPv4地址中的网络ID

l  接口标识符:128-n比特,相当于IPv4地址中的主机ID

因此可以按照CIDRClassless Inter-Domain Routing,无类域间路由选择)地址的方式,用一个额外数值表述网络前缀的长度,此数值与IPv6地址间以斜杠(/)区分,例如:12AB::CD30:0:0:0:0/60,地址中用于选路的前缀长度为60位。

3.    IPv6地址类型

RFC4291定义了三种IPv6地址类型:

l  单播(Unicast):单个接口的标识符。送往一个单播地址的包将被传送至该地址标识的接口上。

l  组播(Multicast):一组接口(一般属于不同节点)的标识符。送往一个组播地址的包将被传送至加入该组播地址的所有接口上。

l  泛播(Anycast):又称“任播”,一组接口的标识符。送往一个泛播地址的包将被传送至该地址标识的接口之一(根据选路协议选择“最近”的一个)。

*     说明

IPv6中已经没有定义广播地址。

 

4.    单播地址(Unicast Addresses

单播地址分为未指定地址、环回地址、链路本地地址、站点本地地址和全球单播地址。目前,站点本地地址已被废除。

l  未指定地址

未指定地址是0:0:0:0:0:0:0:0,通常简写为::,常见的两个用途是:

*        若主机启动时没有单播地址,则以未指定地址作为源地址,发送路由器请求,从网关获取前缀信息,从而自动生成单播地址。

*        给主机配置IPv6地址时,检测地址是否和同网段其它主机的地址冲突,则以未指定地址作为源地址发送邻居请求(相当于免费ARP)。

l  环回地址

环回地址是0:0:0:0:0:0:0:1,通常简写为::1,相当于IPv4地址127.0.0.1,一般在节点给自身发报文时使用。

l  链路本地地址

链路本地地址的格式如下:

图1-1     链路本地地址

 

链路本地地址用于在单个网络链路上为主机编号。前缀的前10位标识的地址即链路本地地址。设备不会转发源地址或者目的地址带有链路本地地址的报文。该地址的中间54位为0,后64位表示接口标识符,地址空间的这部分允许单个网络连接多达(264次方减1)个主机。

IPv6的链路本地地址可以通过设备自动生成或手工指定来获得。

l  站点本地地址

站点本地地址的格式如下:

图1-2     站点本地地址

 

站点本地地址可用于站点内传送数据,设备不会将源地址或者目的地址带有站点本地地址的报文转发到Internet上。站点可以理解为一个公司的局域网,这种地址类似于IPv4的私有地址,如192.168.0.0/16RFC3879已经废除了站点本地地址。对于新的实现,不再支持该前缀,统一视为全球单播地址;对于已经实现和部署的,可以继续用这个前缀。

l  全球单播地址

除了未指定地址、环回地址和链路本地地址以外的单播地址,都是全球单播地址。全球单播地址格式如下:

图1-3     全球单播地址

 

全球单播地址中有一类地址是嵌入IPv4地址的IPv6地址,用于IPv4节点和IPv6节点互通,分为IPv4兼容IPv6地址和IPv4映射IPv6地址两种。

*        IPv4兼容IPv6地址格式(IPv4-compatible IPv6 address

图1-4     IPv4兼容IPv6地址格式

 

*        IPv4映射IPv6地址格式(IPv4-mapped IPv6 address

图1-5     IPv4映射IPv6地址格式

 

IPv4兼容IPv6地址主要是用在自动隧道上,这类节点既支持IPv4也支持IPv6IPv4兼容IPv6地址通过IPv4设备以隧道方式传送IPv6报文,目前IPv4兼容IPv6地址已被废除。而IPv4映射IPv6地址则被IPv6节点用于访问只支持IPv4的节点,例如当一个IPv4/IPv6主机的IPv6应用程序请求解析一个主机名字(该主机只支持IPv4)时,那么名字服务器内部将电竞下注平台-官方入口责任有限公司生成IPv4映射的IPv6地址返回给IPv6应用程序。

5.    组播地址(Multicast Addresses

一个IPv6的组播地址通常标识一系列不同节点的接口。当一个报文发送到一个组播地址上时,该报文将被分发到标识有该组播地址的每个节点的接口上。

组播地址是以FF00::/8为前缀。IPv6组播的地址格式如下:

图1-6     组播地址

 

l  标志字段:

4个比特位组成。目前只指定了第4位,如果该标志位为“0”,表示该地址是由Internet编号机构指定永久的知名组播地址,如果该位为“1”,表示该地址为特定场合使用的临时组播地址。其他3个标志位保留,都置为“0

l  范围字段:

4个比特位组成,用来表示组播地址的范围类型。下表列出常见的组播地址范围类型以及对应的值,未列出的值表示被保留或未指定。

表1-1     常见的组播地址范围类型

二进制值

十六进制值

范围类型

0001

1

本地接口范围

0010

2

本地链路范围

0011

3

本地子网范围

0100

4

本地管理范围

0101

5

本地站点范围

1000

8

组织机构范围

1110

E

全球范围

 

l  组播组标识符字段:

112位,用于标识组播组。根据组播地址是临时的还是知名的以及地址的范围,同一个组播标识符可以表示不同的组。

特殊用途的组播地址:

l  FF01::1表示节点本地范围所有节点的组播地址;

l  FF02::1表示链路本地范围所有节点的组播地址;

l  FF01::2表示节点本地范围所有设备的组播地址;

l  FF02::2表示链路本地范围所有设备的组播地址;

l  被请求节点的组播地址地址。该地址主要用于获取同一链路上邻居节点的链路层地址及实现重复地址检测。每一个单播或泛播IPv6地址都有一个对应的被请求节点地址。其格式为:FF02:0:0:0:0:1:FFXX:XXXX其中,FF02:0:0:0:0:1:FF104位固定格式;XX:XXXX为单播或任播IPv6地址的后24位。被请求节点组播地址通常用于邻居请求报文中,被请求节点组播地址的格式如下:

图1-7     被请求节点组播地址的格式

 

6.    泛播地址(Anycast Addresses

泛播地址与组播地址类似,同样是多个节点共享一个泛播地址,不同的是,只有一个节点期待接收泛播地址的数据包,而组播地址成员的所有节点均期待着接收发给该节点的所有包。泛播地址被分配在正常的IPv6单播地址空间,因此泛播地址在形式上与单播地址无法区分开,一个泛播地址的每个成员,必须显式地加以配置,以便识别是泛播地址。

*    注意

泛播地址只能分配给设备,不能分配给主机,并且泛播地址不能作为报文的源地址。

 

RFC2373中预定义了一个泛播地址,称之为子网路由器的泛播地址。下图显示了子网路由器的泛播地址格式,这类地址由子网前缀后面跟着一系列的0(作为接口标识符)组成。

其中子网前缀标识了一个指定的链路(子网),送给子网路由器泛播地址的报文将被分发到在该子网上的一个设备。子网路由器的泛播地址通常是被用于一个节点上的应用程序需要和远程子网的一个设备通信而使用。

图1-8     子网路由器的泛播地址格式

 

*     说明

泛播地址又称Anycast地址,格式如1-8所示,n比特的子网前缀加上128-n比特的全0值。例如:1000:1::100/120 子网前缀长度120,主机为8位全0也属于泛播地址。泛播地址不允许作为交换机设备接口地址。

 

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

IPv6地址中的64位接口标识符用来标识链路上的唯一接口。这个地址是从接口的链路层地址(如MAC地址)变化而来的。生成规则是:在MAC地址的第24位后插入十六进制数FFFE。为了使接口标识符的作用范围与原MAC地址一致,还要将U/L位(从高位开始的第7位)进行取反操作。最后得到的这组数就作为EUI-64格式的接口标识符。

对于Loopback接口、VBDIF接口和Tunnel接口,EUI-64格式地址根据接口MAC地址生成,中间填充接口索引的后两个字节。

8.    IPv6包头结构

IPv6包头格式如下图:

图1-9     IPv6包头格式

 

IPv6中,包头以8字节为单位,包头的总长度是40字节。IPv6包头定义了以下字段:

l  版本(Version

长度为4位,对于IPv6该字段必须为6

l  类别(Traffic Class

长度为8位,指明为该包提供了某种服务,相当于IPv4中的“TOS”

l  流标签(Flow Label

长度为20位,用于标识属于同一业务流的包,一个节点可以同时作为多个业务流的发送源,流标签和源节点地址唯一标识了一个业务流。

l  净荷长度(Payload Length

长度为16位,其中包括包净荷的字节长度,同时也包含了各个IPv6扩展选项的长度(如果存在),换句话说就是包含了除IPv6头本身外的IPv6包的长度。

l  下一个头(Next Header

字段指出了IPv6头后所跟的头字段中的协议类型。与IPv4协议字段类似,下一个头字段可以用来指出高层是TCP还是UDP,它也可以用来指明IPv6扩展头的存在。

l  跳数(Hop Limit

长度为8位,每当设备对包进行一次转发之后,跳数就会被减1,如果跳数达到0,这个包就将被丢弃。它与IPv4包头中的生存期字段类似。

l  源地址(Source Address

长度为128位,指出了IPv6包的发送方地址。

l  目的地址(Destination Address

长度为128位,指出了IPv6包的接收方地址。

目前IPv6定义了下列的扩展头

l  逐跳选项头(Hop-by-Hop Options

此扩展头必须紧随在IPv6头之后,它包含包所经过的路径上的每个节点都必须检查的选项数据。

l  路由选项头(Routing

此扩展头指明包在到达目的地途中将经过哪些节点,它包含包沿途经过的各节点的地址列表。IPv6头的最初目的地址是选路头的一系列地址中的第一个地址,而不是包的最终目的地址。IPv6头部目的地址对应的节点接收到该包之后,对IPv6头和选路头进行处理,并把包发送到选路头列表中的第二个地址,如此继续,直到包到达其最终目的地。

l  分片头(Fragment

此扩展头用于源节点对长度超出源节点和目的节点路径MTU的包进行分片。

l  目的地选项头(Destination Options

此扩展头代替了IPv4选项字段,目前唯一定义的目的地选项是在需要时把选项填充为6 4位(8字节)的整数倍,此扩展头可以用来携带由目的地节点检查的信息。

l  上层扩展头(Upper-layer header

指明了上层传输数据的协议,如TCP协议(6)和UDP协议(17)。

此外还有身份验证头(Authentication)和封装安全性净荷(Encapsulating Security Payload)的扩展头,详细介绍请参见“VPN配置指南”中的“IPSec”。

9.    IPv6源路由

IPv6报文通过路由首部来指定报文经过的中间节点,类似于IPv4的宽松源路由选项和宽松记录路由选项,格式为:

图1-10   IPv6报文路由首部

 

其中剩余段数用来指明报文从当前节点到最终目的地址,还需要经过的路由首部指明的中间节点的个数,不包括路由首部没有列出的中间节点。

目前定义了两种路由类型:02。类型2路由首部用于移动通信。类型0路由首部,类似于IPv4的宽松源路由选项,格式如下图所示。

图1-11   类型0路由首部

 

举例说明类型0路由首部的应用。

图1-12   类型0路由首部的应用

 

主机A发报文给主机B,指明要经过路由器B和路由器C,转发过程中报文IPv6首部和路由首部的相关字段变化如下表所示:

表1-2     相关字段变化表

传输节点

IPv6首部的相关字段

类型0路由首部的相关字段

主机A

源地址=1000::2

目的地址=1001::1(路由器2的地址)

剩余段数=2

地址1=1002::1(路由器3的地址)

地址2=1003::2(主机2的地址)

路由器A

无变化

路由器B

源地址=1000::2

目的地址=1002::1(路由器3的地址)

剩余段数=1

地址1=1001::1(路由器2的地址)

地址2=1003::2(主机2的地址)

路由器C

源地址=1000::2

目的地址=1003::2(主机2的地址)

剩余段数=0

地址1=1001::1(路由器2的地址)

地址2=1002::1(路由器3的地址)

主机B

无变化

 

具体过程如下:

(1)   主机A发出报文,目的地址是路由器B的地址1001::1,在类型0路由首部中填上路由器C的地址1002::1和主机B的地址1003::2,剩余段数是2

(2)   路由器A把报文转发给路由器B

(3)   路由器BIPv6首部的目的地址和路由首部的地址1交换,即现在目的地址是路由器C的地址1002::1,路由首部的地址1是路由器B的地址1001::1,剩余段数是1。修改完以后,路由器B把报文转发给路由器C

(4)   路由器CIPv6首部的目的地址和路由首部的地址2交换,即现在目的地址是主机B的地址1003::2,路由首部的地址2是路由器C的地址1002::1,剩余段数是0。修改完以后,路由器C把报文转发给主机B

类型0路由首部有可能被利用进行拒绝服务攻击,如下图所示,主机11Mbps的速度向主机2发报文,故意构造一个剩余段数为100的路由首部,使报文在路由器2和路由器3之间多次往返,从路由器2到路由器350次,从路由器3到路由器249次,这时路由首部产生流量放大效应:路由器2到路由器3方向的流量为50Mbps,路由器3到路由器2方向的流量为49Mbps。由于存在这个安全问题,RFC5095废除了类型0路由首部。

图1-13   类型0路由首部被利用进行拒绝服务攻击

 

10.  IPv6 Hop-limit

IPv6数据包从源地址向目的地址经过路由器间传播,设置一个Hop-limit数值,每过一个路由器Hop-limit值就减一。当Hop-limit值减到零的时候,路由器就把这个包丢掉,这样可以防止无用的包在网络上无限传播下去,浪费网络带宽。其功能类似于IPv4TTL

1.3.2  ICMPv6协议

1.    报文格式

图1-14   ICMPv6报文格式

 

各个字段的解释如下:

l  Type字段表明消息的类型,0127表示差错报文类型,128255表示消息报文类型。

l  Code字段表示此消息类型细分的类型。

l  Checksum表示ICMPv6报文的校验和。

2.    ICMPv6差错报文

ICMPv6差错报文是由目标节点或者中间路由器发送,用于报告在转发和传送IPv6数据包过程中出现的错误。主要包括下面四种类型的差错报文:

l  目的不可达报文Destination UnreachableType=1),数据包无法被转发到目标节点或上层协议。

*        Code=0,没有到达目标的路由;

*        Code=1,与目标的通信被管理策略禁止;

*        Code=2,未指定;

*        Code=3,地址不可达;

*        Code=4,端口不可达。

l  数据包过大报文Packet Too BigType=2Code=0),报文超过出接口的链路MTU

l  时间超时报文Time ExceededType=3

*        Code=0,在传输中超越了跳数限制;

*        Code=1,分片重组超时。

l  参数问题报文Parameter ProblemType=4),IPv6报头或扩展报头出现错误。

*        Code=0,遇到错误的报头字段;

*        Code=1,遇到无法识别的下一个报头(Next header)类型;

*        Code=2,遇到无法识别的IPv6选项。

3.    ICMPv6信息报文

以下列举常见的信息报文:

l  Type=128,回送请求报文Echo Request,发送到目标节点,以使目标节点立即发挥一个回送应答报文。

l  Type=129,回送应答报文Echo Reply,对回送请求报文的回应。

l  Type=133,路由器请求报文RSRouter Solicitation),节点启动后,通过RS消息向路由器发出请求,请求前缀和其他配置信息。

l  Type=134,路由器公告报文RARouter Advertisement),对RS消息的响应;公告前缀信息选项和某些标志位的信息。

l  Type=135,邻居请求报文NSNeighbor Solicitation),相当于ARP请求,获取邻居的链路层地址;验证邻居是否可达;进行重复地址检测。

l  Type=136,邻居公告报文NANeighbor Advertisement),相当于ARP应答。

l  Type=137,重定向报文(Redirect),缺省网关通过向源主机发送重定向消息,使主机重新选择更优的下一跳地址进行后续报文的发送。

1.3.3  IPv6路径MTU发现

IPv4的路径MTU发现类似,IPv6的路径MTU发现允许一台主机电竞下注平台-官方入口责任有限公司地发现数据路径上的MTU的大小。当主机要发送的数据包的大小如果比数据路径MTU大时,将由主机自行分片。

图1-15   IPv6路径MTU发现

 

如上图,当主机要发送的报文的长度比路径MTU大时,路由器丢弃报文,并且向主机发送一个ICMPv6报文过大消息,把MTU告诉主机,主机根据新的路径MTU对报文进行分片。这种由主机分片的行为使得路由器不需要对报文进行分片从而节省了路由器的资源,同时也提高了IPv6网络的效率。

1.3.4  IPv6邻居发现协议

邻居发现协议(Neighbor Discovery Protocol)是IPv6协议的一个基本的组成部分,它的主要功能有路由器发现、前缀发现、参数发现、地址自动配置、地址解析(相当于ARP)、确定下一跳、邻居不可达检测、地址冲突检测和重定向。

邻居发现使用了5ICMP信息报文:路由器请求报文,路由器公告报文,邻居请求报文,邻居公告报文,重定向报文。

这五种ICMP报文都会携带一个或者多个的选项,这些选项在某些情况下是可选,事实上,有些情况下选项实际上就是报文的全部意义所在。邻居发现主要定义五种选项:“源链路层地址选项”,类型=1;“目标链路层地址选项”,类型=2;“前缀信息选项”,类型=3;“重定向的首部选项”,类型=4;“MTU选项”类型=5

不同的NDP机制使用不同ICMPv6消息。

1.    地址解析

当一个节点要与另外一个节点通信时,必须获取对方的链路层地址,此时要向对方节点发送邻居请求报文,报文的目的地址对应于目的节点的IPv6地址的被请求多播地址,发送的NS报文同时也包含了自身的链路层地址。当目的节点收到该邻居请求后,会回复一个邻居公告报文,其目的地址是邻居请求的源地址,内容为被请求的节点的链路层的地址。当源节点收到NA报文后即可和目的节点进行通讯。

图1-16   地址解析

 

地址解析的过程如下:

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

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

(3)   Device A从收到的NA消息中就可获取到Device B的链路层地址。此后两台设备可以开始通信。

2.    邻居不可达检测

当一个邻居被认为可到达的时间到期以后,如果有IPv6单播报文需要发送给这个邻居,将执行邻居不可达检测 Neighbor Unreachability Detection)。通过邻居请求消息NS和邻居通告消息NA可以验证邻居节点是否可达。

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

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

邻居不可达检测和向邻居发送IPv6报文可以同时进行,在检测过程中,继续向该邻居转发IPv6报文。

3.    地址冲突检测

当节点获取到一个IPv6地址后,需要执行DADDuplicate Address Detection,地址冲突检测)来确定这个IPv6地址在链路上是否唯一,此特性类似IPv4中的免费ARP

地址冲突检测的过程如下:

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

(2)   其他邻居节点收到该NS报文后,查找本地的IPv6地址中是否存在此IPv6地址,若存在会回应一个NA消息给源节点,并携带此IPv6地址信息。

(3)   源节点收到邻居的NA报文,则认为该IPv6地址已被占使用。反之,如果源节点发出的NS报文没有收到相应的NA报文,则该IPv6地址可用。

如果设备检测到地址冲突,该地址将被设置为冲突状态,设备将不能接收目的地址为该地址的IPv6报文,同时设备会为该冲突的地址起一个定时器,定时进行地址冲突检测,如果重新检测没有冲突,该地址将可以正常使用。

4.    路由器公告(RA)报文

路由器公告报文中通常包含如下内容:

l  一个或者多个IPv6地址前缀(用于On-link确定,或无状态地址自动配置);

l  IPv6地址前缀的有效期;

l  主机自动配置使用的方式(有状态还是无状态);

l  作为缺省设备的信息(即决定本设备是否要作为缺省设备,如果是那么还宣布自己充当缺省设备的时间);

l  提供给主机配置的其它信息如跳数限制、MTU和邻居请求重传间隔时间等。

路由器公告报文同时也用来应答主机发出的路由器请求报文,路由器请求报文允许主机一旦启动后可以立即获得自动配置的信息而无需等待设备发出的路由器公告报文。当主机刚启动时如果没有单播地址,那么主机发出的路由器请求报文将使用未指定地址(0:0:0:0:0:0:0:0)作为请求报文的源地址,否则使用已有的单播地址作为源地址,路由器请求报文使用本地链路所有设备组播地址(FF02::2)作为目的地址。作为应答路由器请求报文的路由器公告报文将使用请求报文的源地址作为目的地址(如果源地址是未指定地址那么将使用本地链路所有节点组播地址FF02::1)。

在路由器公告报文中下列参数可以在IPv6接口属性中配置:

l  Ra-interval:路由器公告报文的发送间隔。

l  Ra-lifetime:路由器生存期,即设备是否充当本地链路的缺省路由器以及充当该角色的时间。

l  Prefix:本地链路的IPv6地址前缀,用于on-link确定,或无状态地址自动配置,包括前缀的其它参数配置。

l  Ns-initerval:邻居请求报文重传的时间间隔。

l  Reachable-time:检测到邻居可到达事件后认为邻居是可到达的所维持的时间。

l  Ra-hoplimit:路由器公告报文跳数的值,用于设置主机发送单播报文的hop-limit

l  Ra-mtu:路由器公告报文的MTU字段的值

l  Maneged-config-flag:决定了收到该路由器公告的主机是否要使用全状态自动配置来获取地址

l  Other-config-flag:决定了收到该路由器公告的主机是否将使用dhcpv6来获取除IPv6地址以外的其他信息进行自动配置。

l  RDNSSDNSSL选项:为IPv6终端提供DNS递归查询服务的服务器地址与DNS域名查询列表。

5.    路由器发现/前缀和参数发现

路由器公告报文在设备上是定期被发往链路本地所有节点的,节点从收到的RA消息中获取邻居路由器及所在网络的前缀,以及其他配置参数,这就是路由器发现/前缀和参数发现。

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

路由器发现/前缀和参数发现过程中的路由器公告报文发送如下图:

图1-17   路由器发现/前缀和参数发现

 

6.    重定向

当路由器收到IPv6报文以后,发现存在更优的下一跳,就发送ICMP重定向报文把更优的下一跳告诉主机,下一次主机直接把IPv6报文发给更优的下一跳。与IPv4ICMP重定向消息的功能相同。

1.3.5  协议规范

l  RFC4291IPVersion6AddressingArchitecture.

l  RFC2460Internet Protocol, Version 6 (IPv6) Specification

l  RFC4443Internet Control Message Protocol (ICMPv6)for the Internet Protocol Version 6 (IPv6) Specification

l  RFC4861Neighbor Discovery for IP version 6 (IPv6)

l  RFC4862IPv6 Stateless Address Autoconfiguration

l  RFC5059Deprecation of Type 0 Routing Headers in IPv6

1.4   配置IPv6基础

1.4.1  功能简介

IPv6IPv4的升级版本,解决了目前IPv4的存在的许多不足之处。

IPv6IPv4之间最显著的区别就是IP地址长度从原来的32位升级为128位。IPv6以其简化的包头格式、充足的地址空间、层次化的地址结构、灵活的扩展头和增强的邻居发现机制将在未来的市场竞争中充满活力。

1.4.2  配置任务概览

IPv6基础配置任务如下:

(1)   配置IPv6地址

(2)   (可选)配置接口IPv6 MTU

(3)   (可选)配置IPv6分片报文软件重组功能

(4)   (可选)配置IPv6源路由

(5)   (可选)配置IPv6 Hop-limit

(6)   (可选)配置MGMT口缺省网关

(7)   配置发送ICMPv6报文。以下配置任务均为可选配置,请根据实际情况选择配置。

*        配置ICMPv6报文指定源地址发送

*        配置ICMPv6差错报文的发送速率

1.4.3  配置IPv6地址

1.    功能简介

开启接口支持IPv6协议功能,并为接口配置IPv6地址,实现IPv6网络通信。

IPv6的链路本地地址可以通过手动配置或自动获得。

2.    配置限制与指导

l  泛播地址不能作为接口IPv6地址进行配置。例外的,子网前缀大于等于127的泛播地址允许配置。

l  如果接口已经被绑定到没有配置IPv6地址族的多协议VRF,那么不允许在接口上打开IPv6功能,也不允许给该接口配置IPv6地址,必须先给多协议VRF配置IPv6地址族,然后才能在接口上打开IPv6功能或给该接口配置IPv6地址。

l  有两种种方式可以打开接口上的IPv6功能,一是在接口下配置ipv6 enable命令,参见配置步骤(4);二是直接在接口下配置了IPv6地址,参见配置步骤(5)。如果在接口上配置了IPv6地址那么接口的IPv6功能就会自动打开,即使使用no ipv6 enable也不能关闭IPV6功能。

3.    配置步骤

(1)   进入特权模式。

enable

(2)   进入全局配置模式。

configure terminal

(3)   进入接口配置模式。

interface interface-type interface-number

(4)   (可选)开启接口IPv6功能。

ipv6 enable

缺省情况下,接口IPv6功能处于关闭状态。

(5)   配置接口IPv6地址。以下配置步骤互斥,请选择其中一项进行配置。

*        手工配置接口IP地址。

ipv6 address { ipv6-address/prefix-length | ipv6-prefix/prefix-length eui-64 | prefix-name sub-bits/prefix-length [ eui-64 ] }

缺省情况下,未配置IPv6地址。

当一个IPV6接口被创建并且链路状态为UP时那么系统将为该接口自动生成链路本地地址。

*        通过通用前缀机制生成接口的IPv6地址。

ipv6 general-prefix prefix-name ipv6-prefix/prefix-length

缺省情况下,未配置IPv6通用前缀。

*        开启接口IPv6无状态自动配置地址。

ipv6 address autoconfig

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

1.4.4  配置接口IPv6 MTU

1.    功能简介

IPv6的路径MTU发现允许一台主机电竞下注平台-官方入口责任有限公司的发现数据路径上的MTU的大小。本地发送IPv6报文时,将比较出口的IPv6 MTU和路径MTU,如果报文长度大于两者的最小值,采用最小值对报文进行分片。

2.    配置限制与指导

接口IPv6 MTU的配置范围受接口MTU限制,最大值是接口MTU

3.    配置步骤

(1)   进入特权模式。

enable

(2)   进入全局配置模式。

configure terminal

(3)   进入接口配置模式。

interface interface-type interface-number

(4)   配置接口IPv6 MTU值。

ipv6 mtu bytes

缺省情况下,IPv6 MTU值与接口命令mtu配置的值相同。

1.4.5  配置IPv6分片报文软件重组功能

1.    功能简介

设备默认会对送CPUIPv6报文进行软件重组,之后再决定是转发还是直接由本机处理。如果希望对上送CPU转发的IPv6报文不做软件重组,则需要关闭此功能。

2.    配置步骤

(1)   进入特权模式。

enable

(2)   进入全局配置模式。

configure terminal

(3)   关闭IPv6分片报文软件重组功能。

ipv6 reassemble disable

缺省情况下,IPv6分片报文软件重组功能处于开启状态。

1.4.6  配置IPv6源路由

1.    功能简介

IPv6报文通过路由首部来指定报文经过的中间节点,类似于IPv4的宽松源路由选项和宽松记录路由选项。

2.    配置限制与指导

使用类型0路由首部有安全隐患,设备很容易遭受拒绝服务攻击,所以在缺省情况下禁止转发带有路由首部的IPv6报文,但是仍然处理最终目的地址是本机的带有类型0路由首部的IPv6报文。

管理员可以使用全局配置模式命令“ipv6 source-route”打开这项功能。

3.    配置步骤

(1)   进入特权模式。

enable

(2)   进入全局配置模式。

configure terminal

(3)   配置设备转发带有路由首部的IPv6报文。

ipv6 source-route

缺省情况下,禁止转发带有路由首部的IPv6报文。

1.4.7  配置IPv6 Hop-limit

1.    功能简介

配置发送单播报文的跳数,避免报文在网络上无限传播下去。

2.    配置步骤

(1)   进入特权模式。

enable

(2)   进入全局配置模式。

configure terminal

(3)   配置发送单播报文的跳数。

ipv6 hop-limit hop

缺省情况下,发送单播报文的跳数为64

1.4.8  配置MGMT口缺省网关

1.    功能简介

配置MGMT口缺省网关,生成一条默认路由,出口是MGMT口,下一跳是配置的网关。

2.    配置限制与指导

仅支持MGMT口配置。

3.    配置步骤

(1)   进入特权模式。

enable

(2)   进入全局配置模式。

configure terminal

(3)   进入接口配置模式。

interface mgmt interface-number

(4)   设置MGMT口缺省网关

ipv6 gataway ipv6-address

缺省情况下,MGMT接口未配置IPv6缺省网关。

1.4.9  配置ICMPv6报文指定源地址发送

1.    功能简介

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

2.    配置限制与指导

配置特定地址(如环回口地址)为ICMPv6报文的源地址,可以简化判断。

3.    配置步骤

(1)   进入特权模式。

enable

(2)   进入全局配置模式。

configure terminal

(3)   配置ICMPv6报文指定源地址发送。

ipv6 icmp source [ vrf vrf-name ] ipv6-address

缺省情况下,未配置ICMPv6 报文指定源地址发送功能。

1.4.10  配置ICMPv6差错报文的发送速率

1.    功能简介

设备如果收到非法IPv6报文,会丢弃并向源IPv6地址发送相应的ICMPv6差错报文。如果受到大量IPv6非法报文攻击,设备会一直在应答ICMPv6差错报文而耗尽资源,将不能正常提供服务,这种攻击被称为拒绝服务攻击。针对这种攻击,可以对ICMPv6差错报文的发送速率进行限制。

如果待转发的IPv6报文的长度超过出口的IPv6 MTU,路由器会丢弃IPv6报文,并且向源IPv6地址发送ICMPv6报文过大消息,这种ICMPv6差错报文的主要用途是IPv6路径MTU发现。为了防止其它ICMPv6差错报文太多而将ICMPv6报文过大消息限速过滤掉,从而导致IPv6路径MTU发现功能失效,可以对ICMPv6报文太大消息和其它ICMPv6差错报文分别限速。

*     说明

ICMPv6重定向报文不属于ICMPv6差错报文,设备把ICMPv6重定向报文和其它ICMPv6差错报文一起限速。

 

2.    配置限制与指导

定时器的精度是10毫秒,建议用户把令牌桶的刷新周期配置成10毫秒的整数倍。如果令牌桶的刷新周期大于,0小于10,实际生效的刷新周期是10毫秒,例如配置5毫秒1个,实际效果是10毫秒2个;如果令牌桶的刷新周期不是10毫秒的整数倍,实际生效的刷新周期自动换算成10毫秒的整数倍,例如配置15毫秒3个,实际效果是10毫秒2个。

3.    配置步骤

(1)   进入特权模式。

enable

(2)   进入全局配置模式。

configure terminal

(3)   配置ICMPv6报文太大消息的发送速率。

ipv6 icmp error-interval too-big interval [ bucket-size ]

缺省情况下,100毫秒发送10个。

(4)   配置其它ICMPv6差错报文的发送速率。

ipv6 icmp error-interval interval [ bucket-size ]

缺省情况下,100毫秒发送10个。

1.5   配置IPv6邻居发现

1.5.1  功能简介

邻居发现协议(Neighbor Discovery Protocol)是IPv6协议的一个基本的组成部分,它的主要功能有路由器发现、前缀发现、参数发现、地址自动配置、地址解析(相当于ARP)、确定下一跳、邻居不可达检测、地址冲突检测和重定向。

1.5.2  配置任务概览

以下所有配置任务均为可选配置,请根据实际情况选择配置。

l  配置静态邻居

l  配置邻居表项管理

l  配置地址解析

l  配置邻居不可达检测

l  配置地址冲突检测

l  配置重定向

l  配置RA报文相关参数

l  配置ND日志打印功能

l  配置ND报文速率统计时间间隔

l  配置本地ND代理

l  配置不往认证VLAN发送邻居请求报文

l  配置ND为不同的用户分配不同的前缀

l  配置本地ND代理

1.5.3  配置静态邻居

1.    功能简介

根据邻居节点的IPv6地址和与此邻居节点相连的三层接口号来唯一标识一个静态邻居表项。

2.    配置限制与指导

静态的邻居只能配置在开启IPv6协议的接口上。如果要配置的邻居已经通过NDP学到并存储在邻居表中,那么该电竞下注平台-官方入口责任有限公司生成的邻居将自动转换为静态的邻居。配置的静态邻居如果有效,将总是处于Reachable状态。无效的静态邻居,是指配置的静态邻居IPv6地址,与接口上配置的地址不匹配(不在该接口的任一IPV6地址的网段内,或与该接口地址冲突),此时数据包不会按静态邻居指定的MAC地址转发。

3.    配置步骤

(1)   进入特权模式。

enable

(2)   进入全局配置模式。

configure terminal

(3)   配置一个静态邻居。

ipv6 neighbor ipv6-address interface-type interface-number mac-address

缺省情况下,未配置任何静态邻居。

1.5.4  配置邻居表项管理

1.    功能简介

l  限制接口的邻居学习数量,可防止恶意的邻居学习攻击,让设备生成大量的邻居表项,占用过多的内存且影响转发性能。

l  限制未解析的ND表项的个数,可防止恶意扫描攻击导致生成大量未解析的ND表项,占用表项资源。

l  配置限制ND选项最大数量,可防止伪造ND报文携带无穷的ND选项,设备处理占用过多的CPU

l  当在接口上开启接口允许通过DAD报文学习ND表项功能接口收到DAD NS报文时,会创建状态STALEND表项。

2.    配置任务简介

以下所有配置任务均为可选配置,请根据实际情况选择配置。

l  配置可学习邻居表项数量

l  配置未解析邻居表项的最大数量

l  配置可处理ND选项的数量

l  配置允许通过DAD报文学习ND表项

3.    配置限制与指导

缺省普通接口下不允许通过DAD报文学习ND表项,Super VLAN口下默认允许通过DAD报文学习ND表项,不受该命令限制。

4.    配置可学习邻居表项数量

(1)   进入特权模式。

enable

(2)   进入全局配置模式。

configure terminal

(3)   进入接口配置模式。

interface interface-type interface-number

(4)   配置接口可学习邻居表项数量。

ipv6 nd cache interface-limit limit

缺省情况下,不限制接口学习的邻居数量。

配置的值必须不小于当前接口已经学习到的邻居数,否则配置不生效。该限制受限于设备支持ND容量。

5.    配置未解析邻居表项的最大数量

(1)   进入特权模式。

enable

(2)   进入全局配置模式。

configure terminal

(3)   进入接口配置模式。

interface interface-type interface-number

(4)   配置未解析邻居表项的最大数量。

ipv6 nd unresolved number

缺省情况下,未解析邻居表项的最大数量为0,表示不限制,即受限于设备支持的邻居表项容量。

6.    配置可处理ND选项的数量

(1)   进入特权模式。

enable

(2)   进入全局配置模式。

configure terminal

(3)   进入接口配置模式。

interface interface-type interface-number

(4)   (可选)配置可处理ND选项数量。

ipv6 nd max-opt option

缺省情况下,配置设备支持处理ND选项的个数为10

7.    配置允许通过DAD报文学习ND表项

(1)   进入特权模式。

enable

(2)   进入全局配置模式。

configure terminal

(3)   进入接口配置模式。

interface interface-type interface-number

(4)   开启接口允许通过DAD报文学习ND表项。

ipv6 nd dad learning enable

缺省情况下,接口允许通过DAD报文学习ND表项功能处于关闭状态。

1.5.5  配置地址解析

1.    功能简介

当一个节点要与另外一个节点通信时,必须获取对方的链路层地址,此时要向对方节点发送邻居请求报文,报文的目的地址是对应于目的节点的IPv6地址的被请求多播地址,发送的邻居请求报文同时也包含了自身的链路层地址。当目的节点收到该邻居请求后,会回复一个邻居公告报文,其目的地址是邻居请求的源地址,内容为被请求的节点的链路层的地址。当源节点收到邻居公告报文后就可以和目的节点进行通讯了。

2.    配置限制与指导

配置了主动往Super VLAN中特定的VLAN发送NS广播解析请求后,则设备只往Super VLAN中指定的VLAN发送NS广播请求,其他非指定VLAN都不会主动发送NS广播请求。

如果配置了免认证VLAN,而免认证VLAN不在指定VLAN列表中,则不会再往免认证VLAN主动广播NS

3.    配置步骤

(1)   进入特权模式。

enable

(2)   进入全局配置模式。

configure terminal

(3)   (可选)配置在发送邻居请求时不强制使用链路本地地址作为源地址。

no ipv6 ns-linklocal-src

缺省情况下,发送邻居请求时总是以链路本地地址作为源地址。

(4)   (可选)配置主动往Super VLAN中特定的VLAN发送NS广播解析请求。

ipv6 nd resolve vlan { vlan-list | none }

缺省情况下,未配置主动往Super VLAN中特定的VLAN发送NS广播解析请求。

(5)   (可选)进入接口配置模式。

interface interface-type interface-number

(6)   配置重传邻居请求报文的时间间隔。

ipv6 nd ns-interval interval

缺省情况下,用于填入设备发送的路由器公告报文中时,接口上邻居请求的重传间隔为0(表示未指定);用于控制设备自身发送邻居请求的重传间隔时,接口上邻居请求的重传间隔为1000毫秒。

(7)   配置连续发送邻居请求报文的次数。

ipv6 nd ns-times times

缺省情况下,设备连续发送邻居请求报文的次数为3次,即如果没有收到邻居公告(NA)报文,设备会再发送2次邻居请求报文。

1.5.6  配置邻居不可达检测

1.    功能简介

当一个邻居被认为可到达的时间到期,或邻居保持Stale状态的时间到期以后,如果有IPv6单播报文需要发送给这个邻居,将执行邻居不可达检测。

2.    配置限制与指导

邻居被认为可到达的时间和邻居保持Stale状态的时间越短,意味着可以更快的检测到邻居失效,但是将浪费更多的网络带宽,消耗设备更多的资源。因此不建议将该时间配置的过小。

3.    配置步骤

(1)   进入特权模式。

enable

(2)   进入全局配置模式。

configure terminal

(3)   进入接口配置模式。

interface interface-type interface-number

(4)   设置邻居被认为可到达的时间。

pv6 nd reachable-time time

缺省情况下,在路由器公告报文中值为0(表示未指定),设备自己在邻居发现行为中邻居被认为可到达的持续时间为30000毫秒。

(5)   (可选)配置邻居保持Stale状态的时间。

ipv6 nd stale-time time

缺省情况下,邻居保持Stale状态的时间为1小时。

1.5.7  配置地址冲突检测

1.    功能简介

在接口上配置一个新的IPv6地址前,要启动地址冲突检测,此时该地址处于“Tentative(试验)”的状态。如果没有检测到冲突,那么该地址就可以被正确使用;如果检测到冲突了,并且该地址所使用的接口标识符是EUI-64的标识符,那么表明在该链路上存在链路层地址重复,那么此时系统会自动关闭该接口(即阻止在该接口上进行IPv6的相关操作),此时必须手工为该接口配置新的地址,并通过关闭再开启接口重新启动地址冲突检测。

软件会按照配置的连续发生数量和时间间隔对有冲突的地址重新进行地址冲突检测,如果重新检测没有冲突,该地址将可以正常使用。

2.    配置步骤

(1)   进入特权模式。

enable

(2)   进入全局配置模式。

configure terminal

(3)   进入接口配置模式。

interface interface-type interface-number

(4)   配置冲突检测时要连续发送的邻居请求报文的数量。

ipv6 nd dad attempts attempts

缺省情况下,冲突检测时要连续发送的邻居请求报文的数量为1

(5)   配置重复地址冲突检测间隔。

ipv6 nd dad retry retry

缺省情况下,重复地址冲突检测间隔为1秒。

1.5.8  配置重定向

1.    功能简介

当路由器收到IPv6报文以后,若发现存在更优的下一跳,就发送ICMP重定向报文把更优的下一跳告诉主机。下一次主机会直接把IPv6报文发给更优的下一跳。ICMPv6重定向与IPv4ICMP重定向消息的功能相同。

2.    配置步骤

(1)   进入特权模式。

enable

(2)   进入全局配置模式。

configure terminal

(3)   进入接口配置模式。

interface interface-type interface-number

(4)   开启接口的IPv6重定向功能。

ipv6 redirects

缺省情况下,接口的IPv6重定向功能处于开启状态。

1.5.9  配置RA报文相关参数

1.    功能简介

路由器公告报文(RA)是对RS消息的响应,同时可以公告前缀信息选项和某些标志位的信息。

2.    配置步骤

(1)   进入特权模式。

enable

(2)   进入全局配置模式。

configure terminal

(3)   进入接口配置模式。

interface interface-type interface-number

(4)   配置允许在该接口上发送路由器公告报文。

no ipv6 nd suppress-ra

缺省情况下,在IPv6的接口上将不会发送路由器公告报文。

(5)   (可选)设置路由器公告报文中所要公告的地址前缀。

ipv6 nd prefix { ipv6-prefix/prefix-length | default } [ [ valid-lifetime { infinite | preferred-lifetime } ] | [ at valid-date preferred-date ] | [ infinite { infinite | preferred-lifetime } ] ] [ no-advertise ] | [ [ off-link ] [ no-autoconfig ] | [ pool pool-name ] | [ preference { high | medium | low } ] [ proxy ] ]

缺省情况下,路由器公告报文中公告的前缀是在该接口上通过ipv6 address命令配置的前缀

(6)   (可选)配置接口上发送的路由器公告报文的跳数。

pv6 nd ra-hoplimit ra-hoplimit

缺省情况下,路由器公告报文的跳数为64

(7)   (可选)配置接口上发送的路由器公告报文的间隔。

ipv6 nd ra-interval { interval | min-max min-interval max-interval }

缺省情况下,间隔为200秒,实际发送报文的间隔在200秒上下浮动20%。

(8)   配置接口上发送的路由器公告报文的MTU

ipv6 nd ra-mtu ra-mtu

缺省情况下,路由器公告报文的MTU为网络接口的IPv6 MTU值。

(9)   配置RA报文中的相关参数。以下所有配置步骤均为可选配置,请根据实际情况选择配置。

*        配置RA报文中的Managed address configuration”标志位。

ipv6 nd managed-config-flag

缺省情况下,未配置RA报文中的“Managed address configuration”标志位。

该标志位的设置决定了收到该路由器公告的主机是否要使用全状态自动配置来获取地址。如果配置了该标志位,将使用全状态自动配置来获得地址,否则不使用。

*        配置RA报文中的“Other stateful configuration”标志位。

ipv6 nd other-config-flag

缺省情况下,未配置RA报文中的“Other stateful configuration”标志位。

设置了此标志位后,设备发出的路由器公告报文的这个标志位被置位。主机收到这个标志位后,将使用dhcpv6来获取除IPv6地址以外的其他信息进行自动配置。

Managed address configuration被设置时,默认Other stateful configuration也被设置。

*        配置RA报文中的DNS递归解析服务的服务器地址。请依次执行以下命令配置。

no ipv6 nd ra dns server suppress

缺省情况下,RA报文携带RDNSS选项的功能处于关闭状态。

ipv6 nd ra dns server ipv6-address { valid-lifetime | infinite } sequence number

缺省情况下,未配置RA公告中的DNS递归解析服务的服务器地址。

*        配置RA报文中的DNS后缀域名。请依次执行以下命令配置。

no ipv6 nd ra dns search-list suppress

缺省情况下,RA报文携带DNSSL选项的功能处于关闭状态。

ipv6 nd ra dns search-list ipv6-domain-name { valid-lifetime | infinite } sequence number

缺省情况下,未配置RA公告中所包含的DNS后缀域名。

*        配置RA报文中的“路由器生存期”。

ipv6 nd ra-lifetime lifetime

缺省情况下,RA报文中的“路由器生存期”为1800秒。

*        配置RA报文的URL地址。

ipv6 nd ra-url [ ra-url ]

缺省情况下,未配置RA报文中的URL地址

*        配置RA报文的URL选项类型值。

ipv6 nd ra-url type

缺省情况下,未配置RA报文的URL选项类型值。

1.5.10  配置ND日志打印功能

1.    功能简介

当配置ND日志打印功能后,将针对设备收到和发送的ND报文,打印出相应的系统日志信息。

2.    配置步骤

(1)   进入特权模式。

enable

(2)   进入全局配置模式。

configure terminal

(3)   开启ND日志打印功能。

ipv6 nd log enable

缺省情况下,ND日志打印功能处于关闭状态。

(4)   配置设备ND日志打印速率。

ipv6 nd log rate rate

缺省情况下,1分钟限速打印20ND LOG

1.5.11  配置ND报文速率统计时间间隔

(1)   进入特权模式。

enable

(2)   进入全局配置模式。

configure terminal

(3)   配置ND报文速率统计时间间隔。

ipv6 nd packet rate-statistics interval interval

缺省情况下,ND报文速率统计功能处于关闭状态。

1.5.12  配置本地ND代理

1.    功能简介

接口开启本地ND代理,则设备收到请求非本机的NS请求,也能代理自身MAC地址应答NA

当接入为二层隔离,或者不同的子网之间隔离(比如Sub VLAN),通过在网关上开启本地ND代理,网关将代理下联用户的NS请求,并应答自身MAC,使得用户之间互访的流量从网关三层转发。

2.    配置步骤

(1)   进入特权模式。

enable

(2)   进入全局配置模式。

configure terminal

(3)   进入接口配置模式。

interface interface-type interface-number

(4)   开启本地ND代理功能。

local-proxy-nd enable [ force ]

缺省情况下,接口本地ND代理功能处于关闭状态。

1.5.13  配置ND为不同的用户分配不同的前缀

1.    功能简介

接口配置特定的前缀池,使得设备为该接口下的每个用户分配不同的IPv6前缀。

2.    配置步骤

(1)   进入特权模式。

enable

(2)   进入全局配置模式。

configure terminal

(3)   配置可以分配的前缀池。

ipv6 local pool pool-name prefix/prefix-length assigned-length

缺省情况下,未配置DHCPv6 Server前缀代理的本地前缀池。

(4)   进入接口配置模式。

interface interface-type interface-number

(5)   配置接口绑定的前缀池名称。

ipv6 nd prefix pool pool-name

缺省情况下,未配置接口绑定前缀池。

1.5.14  配置不往认证VLAN发送邻居请求报文

1.    功能简介

在网关认证模式下,Super VLAN下的所有子VLAN默认都是认证VLAN,认证VLAN下的用户需要在认证后才能上网。用户认证后会在设备上生成静态ND表项,因此设备访问认证用户时,不需要往认证VLAN发送NS请求。若设备需要访问免认证VLAN下的用户时,只需要往免认证VLAN发送ARP请求。

在网关认证模式下,设备默认开启了不往认证VLAN发送NS请求的功能。如果设备需要访问认证VLAN下的非认证用户,需要关闭该功能。

2.    配置限制与指导

只支持SVI口配置,且在网络认证模式下才生效。

3.    配置步骤

(1)   进入特权模式。

enable

(2)   进入全局配置模式。

configure terminal

(3)   进入接口配置模式。

interface interface-type interface-number

(4)   配置不往免认证VLAN发送邻居请求报文。

ipv6 nd suppress-auth-vlan-ns

缺省情况下,不往认证VLAN发送邻居请求报文。

1.6   监视与维护

可以通过show命令行查看功能配置后的运行情况以验证配置效果。

可以通过执行clear命令来清除各类信息。

*    注意

在设备运行过程中执行clear命令,可能因为重要信息丢失而导致业务中断。

 

表1-3     IPv6监视与维护

作用

命令

清除电竞下注平台-官方入口责任有限公司学习到的邻居。

clear ipv6 neighbors [ vrf vrf-name ] [ oob ] [ interface-type interface-number ]

查看IPv6地址的信息

show ipv6 address [ interface-type interface-number ]

查看通用前缀中的前缀信息

show ipv6 general-prefix

查看IPv6 ND报文统计

show ipv6 nd [ interface interface-type interface-number ] statistics

查看IPv6邻居表的统计信息

show ipv6 neighbors [ vrf vrf-name ] statistics [ all ]

查看IPv6报文的统计信息

show ipv6 packet statistics [ total | interface-type interface-number ]

查看邻居的信息

show ipv6 neighbors [ vrf vrf-name ] [ verbose ] [ interface-type interface-number ] [ ipv6-address ] [ static ] [ oob ]

查看每个MAC地址的邻居表项的数量

show ipv6 neighbor statistics per-mac [ interface-type interface-number ] [mac-address]

查看所有IPv6原始套接字

show ipv6 raw-socket [ protocol ]

查看邻居路由器和路由公告信息

show ipv6 routers [ interface-type interface-number ]

查看所有IPv6套接字

show ipv6 sockets

查看所有IPv6 UDP套接字

show ipv6 udp [ local-port port-number ] [ peer-port port-number ]

查看IPv6 UDP套接字的统计信息

show ipv6 udp statistics

查看IPv6接口的信息

show ipv6 interface [ [ interface-type interface-number ] [ ra-info ] | brief [ interface-type interface-numbe ] ]

1.7   典型配置举例

1.7.1  手动配置IPv6地址配置举例

1.    组网需求

Host AHost B可以通过IPv6地址进行通信。

2.    组网图

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

 

3.    配置要点

在接口上开启IPv6协议,并配置IPv6地址。

4.    配置步骤

(1)   配置Device A

# 配置接口GigabitEthernet 0/1IPv6地址,并允许在该接口上发送RA报文。

DeviceA> enable

DeviceA# configure terminal

DeviceA(config)# interface gigabitethernet 0/1

DeviceA(config-if-GigabitEthernet 0/1)# ipv6 enable

DeviceA(config-if-GigabitEthernet 0/1)# ipv6 address 1000::1/64

DeviceA(config-if-GigabitEthernet 0/1)# no ipv6 nd suppress-ra

DeviceA(config-if-GigabitEthernet 0/1)# exit

# 配置接口GigabitEthernet 0/2IPv6地址,并允许在该接口上发送RA报文。

DeviceA(config)# interface gigabitethernet 0/2

DeviceA(config-if-GigabitEthernet 0/2)# ipv6 enable

DeviceA(config-if-GigabitEthernet 0/2)# ipv6 address 2000::1/64

DeviceA(config-if-GigabitEthernet 0/1)# no ipv6 nd suppress-ra

DeviceA(config-if-GigabitEthernet 0/2)# exit

(2)   配置主机

# 配置Host AIPv6地址为1000::2/24

# 配置Host BIPv6地址为2000::2/24

5.    验证配置结果

# 使用show ipv6 interface可以看到接口添加IPv6地址成功。

DeviceA# show ipv6 interface

 

interface GigabitEthernet 0/1 is Up, ifindex: 2, vrf_id 0

 address(es):

  Mac Address: 00:50:56:b0:05:99

  INET6: FE80::250:56FF:FEB0:599 , subnet is FE80::/64

  INET6: 1000::1 , subnet is 1000::/64

 Joined group address(es):

  FF01::1

  FF02::1

  FF02::2

  FF02::1:FF00:0

  FF02::1:FF00:1

  FF02::1:FFB0:599

 MTU is 1500 bytes

 ICMP error messages limited to one every 100 milliseconds

 ICMP redirects are enabled

 ND DAD is enabled, number of DAD attempts: 1

 ND reachable time is 30000 milliseconds

 ND stale time is 3600 seconds

 ND advertised reachable time is 0 milliseconds

 ND retransmit interval is 1000 milliseconds

 ND advertised retransmit interval is 0 milliseconds

 ND router advertisements are sent every 600 seconds<480--720>

 ND router advertisements live for 1800 seconds

 

interface GigabitEthernet 0/2 is Down, ifindex: 3, vrf_id 0

 address(es):

  Mac Address: 00:50:56:b0:05:9a

  INET6: FE80::250:56FF:FEB0:59A [ TENTATIVE ], subnet is FE80::/64

  INET6: 2000::1 [ TENTATIVE ], subnet is 2000::/64

 Joined group address(es):

 MTU is 1500 bytes

 ICMP error messages limited to one every 100 milliseconds

 ICMP redirects are enabled

 ND DAD is enabled, number of DAD attempts: 1

 ND reachable time is 30000 milliseconds

 ND stale time is 3600 seconds

 ND advertised reachable time is 0 milliseconds

 ND retransmit interval is 1000 milliseconds

 ND advertised retransmit interval is 0 milliseconds

 ND router advertisements are sent every 600 seconds<480--720>

 ND router advertisements live for 1800 seconds

# Host A上使用Ping测试和Host B的互通性。

# Host B上使用Ping测试和Host A的互通性。

6.    配置文件

Device A的配置文件

hostname DeviceA

!

interface gigabitethernet 0/1

ipv6 enable

ipv6 address 1000::1/64

no ipv6 nd suppress-ra

!

interface gigabitethernet 0/2

ipv6 enable

ipv6 address 2000::1/64

no ipv6 nd suppress-ra

!

1.7.2  无状态自动获取IPv6地址配置举例

1.    组网需求

Device ADevice B相连,Device ADevice B相连的接口GigabitEthernet 0/1已配置了IPv6地址,现需要在Device B上配置无状态自动获取IPv6地址,以实现两台设备可以通过IPv6地址进行通信。

2.    组网图

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

 

3.    配置要点

l  Device A上配置IPv6地址。

l  Device B上配置无状态自动获取IPv6地址。

4.    配置步骤

(1)   配置Device A

# 配置接口GigabitEthernet 0/1IPv6地址,并允许在该接口上发送RA报文。

DeviceA> enable

DeviceA# configure terminal

DeviceA(config)# interface gigabitethernet 0/1

DeviceA(config-if-GigabitEthernet 0/1)# ipv6 address 2000::1/64

DeviceA(config-if-GigabitEthernet 0/1)# no ipv6 nd suppress-ra

DeviceA(config-if-GigabitEthernet 0/1)# exit

(2)   配置Device B

DeviceB> enable

DeviceB# configure terminal

DeviceB(config)# interface gigabitethernet 0/1

DeviceB(config-if-GigabitEthernet 0/1)# ipv6 address autoconfig

5.    验证配置结果

# Device B上使用show ipv6 interface命令可以看到接口自动获取到IPv6地址。

DeviceB# show ipv6 interface

 

interface GigabitEthernet 0/1 is Up, ifindex: 2, vrf_id 0

 address(es):

  Mac Address: 00:50:56:b0:2f:50

  INET6: FE80::250:56FF:FEB0:2F50 , subnet is FE80::/64

  INET6: 2000::250:56FF:FEB0:2F50 [ PRE ], subnet is 2000::/64

   valid lifetime 2591906 sec, preferred lifetime 604706 sec

 Joined group address(es):

  FF01::1

  FF02::1

  FF02::2

  FF02::1:FF00:0

  FF02::1:FFB0:2F50

 MTU is 1500 bytes

 ICMP error messages limited to one every 100 milliseconds

 ICMP redirects are enabled

 ND DAD is enabled, number of DAD attempts: 1

 ND reachable time is 30000 milliseconds

 ND stale time is 3600 seconds

 ND advertised reachable time is 0 milliseconds

 ND retransmit interval is 1000 milliseconds

 ND advertised retransmit interval is 0 milliseconds

 ND router advertisements are sent every 600 seconds<480--720>

 ND router advertisements live for 1800 seconds

 Hosts use stateless autoconfig for addresses.

# Device A上使用Ping测试和Device B的互通性。

DeviceA# ping ipv6 2000::250:56FF:FEB0:2F50

Sending 5, 100-byte ICMP Echoes to 2000::250:56ff:feb0:2f50, timeout is 2 seconds:

 < press Ctrl+C to break >

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 1/13/63 ms.

# Device B上使用Ping测试和Device A的互通性。

DeviceAB# ping ipv6 2000::1

Sending 5, 100-byte ICMP Echoes to 2000::1, timeout is 2 seconds:

 < press Ctrl+C to break >

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms.

6.    配置文件

l  Device A的配置文件

hostname DeviceA

!

interface gigabitEthernet 0/1

ipv6 enable

ipv6 address 2000::1/64

no ipv6 nd suppress-ra

!

l  Device B的配置文件

hostname DeviceB

!

interface gigabitEthernet 0/1

ipv6 address autoconfig

!