HCIERS复习资料03IPV6.docx

上传人:b****5 文档编号:7184174 上传时间:2023-01-21 格式:DOCX 页数:127 大小:712.24KB
下载 相关 举报
HCIERS复习资料03IPV6.docx_第1页
第1页 / 共127页
HCIERS复习资料03IPV6.docx_第2页
第2页 / 共127页
HCIERS复习资料03IPV6.docx_第3页
第3页 / 共127页
HCIERS复习资料03IPV6.docx_第4页
第4页 / 共127页
HCIERS复习资料03IPV6.docx_第5页
第5页 / 共127页
点击查看更多>>
下载资源
资源描述

HCIERS复习资料03IPV6.docx

《HCIERS复习资料03IPV6.docx》由会员分享,可在线阅读,更多相关《HCIERS复习资料03IPV6.docx(127页珍藏版)》请在冰豆网上搜索。

HCIERS复习资料03IPV6.docx

HCIERS复习资料03IPV6

第三章IPv63

3.1IPv6基本原理3

3.1.1IPv6地址3

IPv6地址的表示方法3

IPv6地址的结构3

IPv6的地址分类4

3.1.2IPv6报文格式7

IPv6基本报头7

IPv6扩展报头8

3.1.3ICMPv610

ICMPv6错误报文的分类10

ICMPv6信息报文的分类11

3.1.4邻居发现11

地址解析11

跟踪邻居状态12

重复地址检测13

路由器发现14

重定向15

3.1.5PathMTU16

3.1.6双协议栈17

3.1.7IPv6overIPv4隧道18

手动隧道19

自动隧道20

6PE23

3.1.8IPv4overIPv6隧道24

3.1.9配置IPv6基础功能示例24

组网需求24

配置思路25

操作步骤25

配置文件27

3.1.10配置IPv6DNS示例27

组网需求27

配置思路28

操作步骤28

配置文件29

3.1.11配置IPv6DNSProxy示例31

组网需求31

配置思路31

操作步骤31

配置文件32

3.1.12配置IPv6overIPv4手动隧道示例33

组网需求33

配置思路33

操作步骤33

配置文件35

3.1.13配置IPv6overIPv4GRE隧道示例36

组网需求36

配置思路37

操作步骤37

配置文件39

3.1.14配置IPv6overIPv4自动隧道示例40

组网需求40

配置思路40

操作步骤41

配置文件42

3.1.15配置6to4中继示例43

组网需求43

配置思路43

操作步骤44

配置文件45

3.1.16配置ISATAP隧道示例46

组网需求46

配置思路47

操作步骤47

配置文件50

3.1.17配置IPv4overIPv6隧道示例51

组网需求51

配置思路51

配置过程51

配置文件55

3.2RIPng58

3.2.1RIPng的特性58

RIPng与RIP的差异58

3.2.2配置RIPng的基本功能示例58

组网要求58

配置思路58

操作步骤58

配置文件60

3.3OSPFv361

3.3.1OSPFv3基本原理61

OSPFv3报文类型61

LSA类型62

设备类型62

OSPFv3路由类型63

区域类型64

OSPFv3支持的网络类型64

Stub区域65

OSPFv3路由聚合65

OSPFv3虚连接65

OSPFv3多进程66

3.3.2OSPFv3GR66

基本概念66

GR过程67

有无GR技术的比较68

3.3.3OSPFv3与BGP联动68

OSPFv3与BGP联动过程69

3.3.4OSPFv3和OSPFv2协议比较69

3.3.5配置OSPFv3区域示例71

组网需求71

配置思路71

操作步骤71

配置文件74

3.3.6配置OSPFv3的DR选择示例76

组网需求76

配置思路77

操作步骤77

配置文件80

3.4MP-BGP81

3.4.1MP-BGP81

扩展属性81

地址族82

3.4.2配置BGP4+基本功能示例82

组网需求82

配置思路82

操作步骤82

配置文件84

3.4.3配置BGP4+路由反射示例86

组网需求86

配置思路86

操作步骤87

配置文件89

 

第三章IPv6

3.1IPv6基本原理

3.1.1IPv6地址

IPv6地址的表示方法

IPv6地址包括128比特,由冒号分隔的32位十六进制数表示。

比如:

2031:

0000:

130F:

0000:

0000:

09C0:

876A:

130B,这是IPv6地址的首选格式。

为了书写方便,IPv6还提供了压缩格式,以上述IPv6地址为例,具体压缩规则为:

∙每组中的前导“0”都可以省略,所以上述地址可写为:

2031:

0:

130F:

0:

0:

9C0:

876A:

130B。

∙地址中包含的连续两个或多个均为0的组,可以用双冒号“:

:

”来代替,所以上述地址又可以进一步简写为:

2031:

0:

130F:

:

9C0:

876A:

130B。

说明:

需要注意的是,在一个IPv6地址中只能使用一次双冒号“:

:

”,否则当计算机将压缩后的地址恢复成128位时,无法确定每段中0的个数。

IPv6地址的结构

一个IPv6地址可以分为如下两部分:

∙网络前缀:

n比特,相当于IPv4地址中的网络ID

∙接口标识:

128-n比特,相当于IPv4地址中的主机ID

说明:

对于IPv6单播地址来说,如果地址的前三bit不是000,则接口标识必须为64位;如果地址的前三位是000,则没有此限制。

接口标识可通过三种方法生成:

手工配置、系统通过软件自动生成或IEEEEUI-64规范生成。

其中,EUI-64规范自动生成最为常用。

IEEEEUI-64规范是将接口的MAC地址转换为IPv6接口标识的过程。

如图1所示,MAC地址的前24位(用c表示的部分)为公司标识,后24位(用m表示的部分)为扩展标识符。

高7位是0表示了MAC地址本地唯一。

转换的第一步将FFFE插入MAC地址的公司标识和扩展标识符之间,第二步将高7位的0改为1表示此接口标识全球唯一。

图1EUI-64规范示意图

例如:

MAC地址:

00-0E-0C-82-C4-D4;转换后:

020E:

0CFF:

FE:

82:

C4D4。

这种由MAC地址产生IPv6地址接口标识的方法可以减少配置的工作量,尤其是当采用无状态地址自动配置时,只需要获取一个IPv6前缀就可以与接口标识形成IPv6地址。

但是使用这种方式最大的缺点是任何人都可以通过二层MAC地址推算出三层IPv6地址。

IPv6的地址分类

IPv6地址分为单播地址、任播地址(AnycastAddress)、组播地址三种类型。

和IPv4相比,取消了广播地址类型,以更丰富的组播地址代替,同时增加了任播地址类型。

IPv6单播地址

IPv6单播地址标识了一个接口,由于每个接口属于一个节点,因此每个节点的任何接口上的单播地址都可以标识这个节点。

发往单播地址的报文,由此地址标识的接口接收。

IPv6定义了多种单播地址,目前常用的单播地址有:

未指定地址、环回地址、全球单播地址、链路本地地址、唯一本地地址ULA(UniqueLocalAddress)。

∙未指定地址

IPv6中的未指定地址即0:

0:

0:

0:

0:

0:

0:

0/128或者:

:

/128。

该地址可以表示某个接口或者节点还没有IP地址,可以作为某些报文的源IP地址(例如在NS报文的重复地址检测中会出现)。

源IP地址是:

:

的报文不会被路由设备转发。

∙环回地址

IPv6中的环回地址即0:

0:

0:

0:

0:

0:

0:

1/128或者:

:

1/128。

环回与IPv4中的127.0.0.1作用相同,主要用于设备给自己发送报文。

该地址通常用来作为一个虚接口的地址(如Loopback接口)。

实际发送的数据包中不能使用环回地址作为源IP地址或者目的IP地址。

∙全球单播地址

全球单播地址是带有全球单播前缀的IPv6地址,其作用类似于IPv4中的公网地址。

这种类型的地址允许路由前缀的聚合,从而限制了全球路由表项的数量。

全球单播地址由全球路由前缀(Globalroutingprefix)、子网ID(subnetID)和接口标识(InterfaceID)组成,其格式如图2所示:

图2全球单播地址格式

Globalroutingprefix:

全球路由前缀。

由提供商(Provider)指定给一个组织机构,通常全球路由前缀至少为48位。

目前已经分配的全球路由前缀的前3bit均为001。

SubnetID:

子网ID。

组织机构可以用子网ID来构建本地网络(Site)。

子网ID通常最多分配到第64位。

子网ID和IPv4中的子网号作用相似。

InterfaceID:

接口标识。

用来标识一个设备(Host)。

∙链路本地地址

链路本地地址是IPv6中的应用范围受限制的地址类型,只能在连接到同一本地链路的节点之间使用。

它使用了特定的本地链路前缀FE80:

:

/10(最高10位值为1111111010),同时将接口标识添加在后面作为地址的低64比特。

当一个节点启动IPv6协议栈时,启动时节点的每个接口会自动配置一个链路本地地址(其固定的前缀+EUI-64规则形成的接口标识)。

这种机制使得两个连接到同一链路的IPv6节点不需要做任何配置就可以通信。

所以链路本地地址广泛应用于邻居发现,无状态地址配置等应用。

以链路本地地址为源地址或目的地址的IPv6报文不会被路由设备转发到其他链路。

链路本地地址的格式如图3所示:

图3链路本地地址格式

∙唯一本地地址

唯一本地地址是另一种应用范围受限的地址,它仅能在一个站点内使用。

由于本地站点地址的废除(RFC3879),唯一本地地址被用来代替本地站点地址(RFC4193)。

唯一本地地址的作用类似于IPv4中的私网地址,任何没有申请到提供商分配的全球单播地址的组织机构都可以使用唯一本地地址。

唯一本地地址只能在本地网络内部被路由转发而不会在全球网络中被路由转发。

唯一本地地址格式如图4所示:

图4唯一本地地址格式

Prefix:

前缀;固定为FC00:

:

/7。

L:

L标志位;值为1代表该地址为在本地网络范围内使用的地址;值为0被保留,用于以后扩展。

GlobalID:

全球唯一前缀;通过伪随机方式产生(RFC4193)。

SubnetID:

子网ID;划分子网使用。

InterfaceID:

接口标识。

唯一本地地址具有如下特点:

▪具有全球唯一的前缀(虽然随机方式产生,但是冲突概率很低)。

▪可以进行网络之间的私有连接,而不必担心地址冲突等问题。

▪具有知名前缀(FC00:

:

/7),方便边缘路由器进行路由过滤。

▪如果出现路由泄漏,该地址不会和其他地址冲突,不会造成Internet路由冲突。

▪应用中,上层应用程序将这些地址看作全球单播地址对待。

▪独立于互联网服务提供商ISP(InternetServiceProvider)。

IPv6组播地址

IPv6的组播与IPv4相同,用来标识一组接口,一般这些接口属于不同的节点。

一个节点可能属于0到多个组播组。

发往组播地址的报文被组播地址标识的所有接口接收。

一个IPv6组播地址由前缀,标志(Flag)字段、范围(Scope)字段以及组播组ID(GlobalID)4个部分组成:

∙前缀:

IPv6组播地址的前缀是FF00:

:

/8(11111111)。

∙标志字段(Flag):

长度4bit,目前只使用了最后一个比特(前三位必须置0),当该位值为0时,表示当前的组播地址是由IANA所分配的一个永久分配地址;当该值为1时,表示当前的组播地址是一个临时组播地址(非永久分配地址)。

∙范围字段(Scop):

长度4bit,用来限制组播数据流在网络中发送的范围,该字段取值和含义的对应关系如图5所示。

∙组播组ID(GlobalID):

长度112bit,用以标识组播组。

目前,RFC2373并没有将所有的112位都定义成组标识,而是建议仅使用该112位的最低32位作为组播组ID,将剩余的80位都置0。

这样每个组播组ID都映射到一个唯一的以太网组播MAC地址(RFC2464)。

IPv6组播地址格式如图5所示:

图5IPv6组播地址格式

∙被请求节点组播地址

被请求节点组播地址通过节点的单播或任播地址生成。

当一个节点具有了单播或任播地址,就会对应生成一个被请求节点组播地址,并且加入这个组播组。

一个单播地址或任播地址对应一个被请求节点组播地址。

该地址主要用于邻居发现机制和地址重复检测功能。

IPv6中没有广播地址,也不使用ARP。

但是仍然需要从IP地址解析到MAC地址的功能。

在IPv6中,这个功能通过邻居请求NS(NeighborSolicitation)报文完成。

当一个节点需要解析某个IPv6地址对应的MAC地址时,会发送NS报文,该报文的目的IP就是需要解析的IPv6地址对应的被请求节点组播地址;只有具有该组播地址的节点会检查处理。

被请求节点组播地址由前缀FF02:

:

1:

FF00:

0/104和单播地址的最后24位组成。

IPv6任播地址

任播地址标识一组网络接口(通常属于不同的节点)。

目标地址是任播地址的数据包将发送给其中路由意义上最近的一个网络接口。

任播地址设计用来在给多个主机或者节点提供相同服务时提供冗余功能和负载分担功能。

目前,任播地址的使用通过共享单播地址方式来完成。

将一个单播地址分配给多个节点或者主机,这样在网络中如果存在多条该地址路由,当发送者发送以任播地址为目的IP的数据报文时,发送者无法控制哪台设备能够收到,这取决于整个网络中路由协议计算的结果。

这种方式可以适用于一些无状态的应用,例如DNS等。

IPv6中没有为任播规定单独的地址空间,任播地址和单播地址使用相同的地址空间。

目前IPv6中任播主要应用于移动IPv6。

在6to4中继中也使用了任播前缀(2002:

c058:

6301:

:

)。

说明:

IPv6任播地址仅可用被分配给路由设备,不能应用于主机。

任播地址不能作为IPv6报文的源地址。

∙子网路由器任播地址

子网路由器任播地址是已经定义好的一种任播地址(RFC3513)。

发送到子网路由器任播地址的报文会被发送到该地址标识的子网中路由意义上最近的一个路由器。

所有路由器都必须支持子网任播地址。

子网路由器任播地址用于节点需要和远端子网上所有路由器中的一个(不关心具体是哪一个)通信时使用。

例如,一个移动节点需要和它的“家乡”子网上的所有移动代理中的一个进行通信。

子网路由器任播地址由nbit子网前缀标识子网,其余用0填充。

格式如图6所示:

图6子网路由器任播地址格式

3.1.2IPv6报文格式

IPv6报文由IPv6基本报头、IPv6扩展报头以及上层协议数据单元三部分组成。

上层协议数据单元一般由上层协议报头和它的有效载荷构成,有效载荷可以是一个ICMPv6报文、一个TCP报文或一个UDP报文。

IPv6基本报头

IPv6基本报头有8个字段,固定大小为40字节,每一个IPv6数据报都必须报含报头。

基本报头提供报文转发的基本信息,会被转发路径上面的所有路由器解析。

IPv6基本报头格式如图1所示:

图1IPv6基本报头格式

IPv6报头格式中主要字段解释如下:

∙Version:

版本号,长度为4bit。

对于IPv6,该值为6。

∙TrafficClass:

流类别,长度为8bit。

等同于IPv4中的TOS字段,表示IPv6数据报的类或优先级,主要应用于QoS。

∙FlowLabel:

流标签,长度为20bit。

IPv6中的新增字段,用于区分实时流量,不同的流标签+源地址可以唯一确定一条数据流,中间网络设备可以根据这些信息更加高效率的区分数据流。

∙PayloadLength:

有效载荷长度,长度为16bit。

有效载荷是指紧跟IPv6报头的数据报的其它部分(即扩展报头和上层协议数据单元)。

该字段只能表示最大长度为65535字节的有效载荷。

如果有效载荷的长度超过这个值,该字段会置0,而有效载荷的长度用逐跳选项扩展报头中的超大有效载荷选项来表示。

∙NextHeader:

下一个报头,长度为8bit。

该字段定义紧跟在IPv6报头后面的第一个扩展报头(如果存在)的类型,或者上层协议数据单元中的协议类型。

∙HopLimit:

跳数限制,长度为8bit。

该字段类似于IPv4中的TimetoLive字段,它定义了IP数据报所能经过的最大跳数。

每经过一个路由器,该数值减去1,当该字段的值为0时,数据报将被丢弃。

∙SourceAddress:

源地址,长度为128bit。

表示发送方的地址。

∙DestinationAddress:

目的地址,长度为128bit。

表示接收方的地址。

IPv6和IPv4相比,去除了IHL、identifiers、Flags、FragmentOffset、HeaderChecksum、Options、Paddiing域,只增了流标签域,因此IPv6报文头的处理较IPv4大大简化,提高了处理效率。

另外,IPv6为了更好支持各种选项处理,提出了扩展头的概念,新增选项时不必修改现有结构就能做到,理论上可以无限扩展,体现了优异的灵活性。

下面为读者介绍IPv6扩展报头的一些信息。

IPv6扩展报头

在IPv4中,IPv4报头包含可选字段Options,内容涉及security、Timestamp、Recordroute等,这些Options可以将IPv4报头长度从20字节扩充到60字节。

在转发过程中,处理携带这些Options的IPv4报文会占用路由器很大的资源,因此实际中也很少使用。

IPv6将这些Options从IPv6基本报头中剥离,放到了扩展报头中,扩展报头被置于IPv6报头和上层协议数据单元之间。

一个IPv6报文可以包含0个、1个或多个扩展报头,仅当需要路由器或目的节点做某些特殊处理时,才由发送方添加一个或多个扩展头。

与IPv4不同,IPv6扩展头长度任意,不受40字节限制,这样便于日后扩充新增选项,这一特征加上选项的处理方式使得IPv6选项能得以真正的利用。

但是为了提高处理选项头和传输层协议的性能,扩展报头总是8字节长度的整数倍。

当使用多个扩展报头时,前面报头的NextHeader字段指明下一个扩展报头的类型,这样就形成了链状的报头列表。

如图2所示,IPv6基本报头中的NextHeader字段指明了第一个扩展报头的类型,而第一个扩展报头中的NextHeader字段指明了下一个扩展报头的类型(如果不存在,则指明上层协议的类型)。

扩展报头格式如图2所示:

图2IPv6扩展报头格式

IPv6扩展报头中主要字段解释如下:

∙NextHeader:

下一个报头,长度为8bit。

与基本报头的NextHeader的作用相同。

指明下一个扩展报头(如果存在)或上层协议的类型。

∙ExtensionHeaderLen:

报头扩展长度,长度为8bit。

表示扩展报头的长度(不包含NextHeader字段)。

∙ExtensionHeadData:

扩展报头数据,长度可变。

扩展报头的内容,为一系列选项字段和填充字段的组合。

目前,RFC2460中定义了6个IPv6扩展头:

逐跳选项报头、目的选项报头、路由报头、分段报头、认证报头、封装安全净载报头。

表1IPv6扩展报头

报头类型

代表该类报头的NextHeader字段值

描述

逐跳选项报头

0

该选项主要用于为在传送路径上的每跳转发指定发送参数,传送路径上的每台中间节点都要读取并处理该字段。

逐跳选项报头目前的主要应用有以下三种:

∙用于巨型载荷(载荷长度超过65535字节)。

∙用于路由器提示,使路由器检查该选项的信息,而不是简单的转发出去。

∙用于资源预留(RSVP)。

目的选项报头

60

目的选项报头携带了一些只有目的节点才会处理的信息。

目前,目的选项报文头主要应用于移动IPv6。

路由报头

43

路由报头和IPv4的LooseSourceandRecordRoute选项类似,该报头能够被IPv6源节点用来强制数据包经过特定的路由器。

分段报头

44

同IPv4一样,IPv6报文发送也受到MTU的限制。

当报文长度超过MTU时就需要将报文分段发送,而在IPv6中,分段发送使用的是分段报头。

认证报头

51

该报头由IPsec使用,提供认证、数据完整性以及重放保护。

它还对IPv6基本报头中的一些字段进行保护。

封装安全净载报头

50

该报头由IPsec使用,提供认证、数据完整性以及重放保护和IPv6数据报的保密,类似于认证报头。

IPv6扩展报头规约

当超过一种扩展报头被用在同一个分组里时,报头必须按照下列顺序出现:

∙IPv6基本报头

∙逐跳选项扩展报头

∙目的选项扩展报头

∙路由扩展报头

∙分段扩展报头

∙认证扩展报头

∙封装安全有效载荷扩展报头

∙目的选项扩展报头(指那些将被分组报文的最终目的地处理的选项)

∙上层协议数据报文

路由设备转发时根据基本报头中NextHeader值来决定是否要处理扩展头,并不是所有的扩展报头都需要被转发路由设备查看和处理的。

除了目的选项扩展报头可能出现一次或两次(一次在路由扩展报头之前,另一次在上层协议数据报文之前),其余扩展报头只能出现一次。

3.1.3ICMPv6

ICMPv6(InternetControlMessageProtocolfortheIPv6)是IPv6的基础协议之一。

在IPv4中,Internet控制报文协议ICMP(InternetControlMessageProtocol)向源节点报告关于向目的地传输IP数据包过程中的错误和信息。

它为诊断、信息和管理目的定义了一些消息,如:

目的不可达、数据包超长、超时、回应请求和回应应答等。

在IPv6中,ICMPv6除了提供ICMPv4常用的功能之外,还是其它一些功能的基础,如邻接点发现、无状态地址配置(包括重复地址检测)、PMTU发现等。

ICMPv6的协议类型号(即IPv6报文中的NextHeader字段的值)为58。

ICMPv6的报文格式如图1所示:

图1ICMPv6报文格式

报文中各个字段的解释如下:

∙Type:

表明消息的类型,0至127表示差错报文类型,128至255表示消息报文类型。

∙Code:

表示此消息类型细分的类型。

∙Checksum:

表示ICMPv6报文的校验和。

ICMPv6错误报文的分类

ICMPv6错误报文用于报告在转发IPv6数据包过程中出现的错误。

ICMPv6错误报文可以分为以下4种:

∙目的不可达错误报文

在IPv6节点转发IPv6报文过程中,当设备发现目的地址不可达时,就会向发送报文的源节点发送ICMPv6目的不可达错误报文,同时报文中会携带引起该错误报文的具体原因。

目的不可达错误报文的Type字段值为1。

根据错误具体原因又可以细分为:

▪Code=0:

没有到达目标设备的路由。

▪Code=1:

与目标设备的通信被管理策略禁止。

▪Code=2:

未指定。

▪Code=3:

目的IP地址不可达。

▪Code=4:

目的端口不可达。

∙数据包过大错误报文

在IPv6节点转发IPv6报文过程中,发现报文超过出接口的链路MTU时,则向发送报文的源节点发送ICMPv6数据包过大错误报文,其中携带出接口的链路MTU值。

数据包过大错误报文是PathMTU发现机制的基础。

数据包过大错误报文的Type字段值为2,Code字段值为0。

∙时间超时错误报文

在IPv6报文收发过程中,当路由器收到HopLimit字段值等于0的数据包,或者当路由器将HopLimit字段值减为0时,会向发送报文的源节点发

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1