《Cisco IPv6网络实现技术(修订版)》一第2章 IPv6编址2.1 IP包头

第2章 IPv6编址
Cisco IPv6网络实现技术(修订版)
“电话有太多的缺陷,因此不应当作为一种通信工具。这个设备对我们没用。”

西部联盟内部备忘录,1876

第2章 IPv6编址

读完本章,您将能够描述新的IPv6包头格式以及IPv6对用户数据报协议(UDP)、传输控制协议(TCP)的数据报和最大传送单元(MTU)的影响。您还将理解IPv6编址结构和协议中所包含的各种IPv6地址。这些地址包括本地链路、本地站点、可聚合全球单播、回环、未指定、IPv4兼容、多播指定、请求点多播和任意播。本章还描述了以太网上的IPv6、以太网上的多播映射和EUI-64格式。

本章包括使用Cisco IOS软件技术的范例配置,您可以从中获得在IPv6环境下配置和操作路由器的基本知识。例子教您如何在路由器上启用IPv6和IPv6转发功能,以及如何在Cisco IOS软件技术环境下为网络接口配置IPv6地址。

最后,通过案例研究的配置练习,使用Cisco IOS软件技术进行配置、分析和显示IPv6信息,您能够实际应用本章中学习的命令。

2.1 IP包头

Cisco IPv6网络实现技术(修订版)
本节回顾IPv4包头,描述字段并将它们与IPv6包头中的字段作比较。

2.1.1 IPv4包头格式

IP数据包由链路层技术承载, 这些技术包括以太网(10Mbit/s)、快速以太网(100Mbit/s)、吉比特以太网(1000Mbit/s)、帧中继等。每种链路技术家族都有其承载IP数据包的链路层帧。

如图2-1所示,IP数据包在链路层帧的帧头和帧尾之间。IP数据包有两个基本组成部分。

IP包头——IP包头包含许多字段,路由器用这些信息从网络到网络转发数据包,直到最终目的地。IP包头中的字段标识发送方、接收方和传输协议,并定义许多其他参数。
有效载荷—— 表示发送方传给接收方的信息(数据)。

如图2-2所示,基本IPv4包头包含12个字段。正如RFC 791“Internet协议DARPA Internet程序规范”所定义的,IPv4包头的每个字段都有其特定用途。本节简述IPv4包头的内容,帮您理解IPv4包头和新的IPv6包头的主要区别。

以下是IPv4包头中的字段。

版本(4比特)——IP(Internet协议)包头的版本。 Internet使用的当前IP版本是4(IPv4)。这个字段包含的值为4。
包头长度(4比特)——有效载荷字段之前的以8bit字节1表示的包头长度。
业务类型(TOS)(8比特)——指定通过路由器的传送过程中如何处理数据报。这个字段也能解释为区分业务编码点(DSCP)。
总长度(16比特)——以8bit字节表示的IP数据包尺寸,包括包头和有效载荷。这个字段是16比特长,意味着IP数据包最大尺寸为65 535个8bit字节(216-1=65 535)。
标识(16比特)、标志(3比特)和分段偏移(13比特)——当沿一条路径的MTU小于发送方的MTU时,与路由器进行数据包分段有关的字段。MTU是一个IP数据包在某种特定通信介质上能够传送的以8bit字节表示的最大尺寸,这些通信介质如以太网、快速以太网等。以太网的MTU是1500个8bit字节。
存活时间(8比特)——数据包每通过一个中间路由器时,该字段减小。当该字段包含的值是0时,数据包被丢弃,同时一条IPv4 Internet控制消息协议(ICMPv4)类型11的错误消息(超时)被发往源节点。
协议号(8比特)——指定数据包有效载荷中的高层协议,如传输控制协议(TCP)、用户数据报协议(UDP)、Internet控制消息协议(ICMP)或任何其他协议。所支持的协议由Internet地址授权委员会(IANA)定义。
包头校验和(16比特)——表示IP包头的校验和,用于错误检查。该字段由沿途的每个中间路由器重新计算并验证。
源IPv4地址(32比特)——发送方的IPv4地址。
目的IPv4地址(32比特)——接收方的IPv4地址。
选项(可变)——该可选字段可能出现在一个IPv4数据包中。选项字段的长度可变,使用时增加包头长度。
填充(可变)——填充用来确保数据包终止于32比特边界。填充也增加包头长度。
有效载荷(可变)——有效载荷不是基本IPv4包头的一个字段,而是表示发往目的地址的数据。有效载荷包括一个高层包头。
注:协议号由IANA指定。IANA指定的所有协议号的完整列表能够在www.iana.org/assignments/protocol-numbers找到。

在IPv6中,去掉了IPv4包头的几个字段。在图2-2中,这些字段是灰的或黑的。去掉这些字段的主要理由如下:

包头长度——基本IPv4包头只有20字节长。然而,基本IPv6包头是40个8bit字节的固定长度。IPv4包头长度指明包括选项字段的数据包总长度2。如果有选项字段,IPv4包头长度就要增加。IPv6不用选项字段,而用扩展字段。扩展字段的处理不同于IPv4对选项字段的处理。
标识、标志和分段偏移——IPv6处理分段有所不同。网络中的中间路由器不再处理分段,而只在产生数据包的源节点处理分段。去掉分段字段就去掉了中间路由器中大量耗费CPU的处理。推荐每个IPv6节点使用本章后面将讲到的路径MTU发现(PMTUD)机制以避免分段。
包头校验和——链路层技术(第2层)执行其校验和与错误控制。如今链路层可靠性良好,高层协议,如TCP和UDP(第4层),都有其校验和。UDP校验和在IPv4中是可选的,在IPv6中是必需的。因此,第3层校验和是冗余的,IPv6的包头校验和字段是不必要的,进而去掉了数据包每次通过路由器时的重计算过程。
选项和填充——在IPv6中从根本上改变了选项字段。如今选项由扩展包头处理(本章后面讲到)。填充字段也去掉了。去掉选项和填充字段简化了IP包头。这样,基本IPv6包头有40个8bit字节的固定长度,与IPv4相比,减少了发送路径上路由器中的处理。IPv4包头的其他字段——版本、业务类型、总长度、存活时间、协议号、源IPv4地址和目的IPv4地址——要么没有更改,要么变化很小(如下节所述)。

2.1.2 基本IPv6包头格式

正如RFC 2460“Internet协议版本6(IPv6)规范”所定义的,与IPv4包头的12个字段(没有选项和填充字段)相比,基本IPv6包头包含8个字段,总长度为40个8bit字节。而且,基本IPv6包头可能有一个或多个顺接在一起的扩展包头紧跟在40个8bit字节后面。本节简述基本IPv6包头的各个字段。

IPv6协议是IPv4协议的升级。如图2-3所示,流标签字段和可变的扩展包头在IPv6中是新增的。下面是基本IPv6包头字段的描述:

版本(4比特)——IP版本。该字段的值为6,而IPv4数据包中的值是4。
流量分类(8比特)——该字段及其功能类似于IPv4的业务类型字段。该字段以区分业务编码点(DSCP)标记一个IPv6数据包,以此指明数据包应当如何处理。
流标签(20比特)——该字段用来标记IPv6数据包的一个流,在IPv6协议中这是新增的。当前的IETF标准没有定义如何管理和处理流标签的细节。
注:参见 IETF 草案“IPv6流标签规范”( www.ietf.org/internet-drafts/draft-ietf-ipv6-flow-label-06.txt),以了解规范的详细内容和IPv6流标签的可能用途。

有效载荷长度(16比特)——该字段表示有效载荷的长度。有效载荷是紧跟IPv6包头的数据包其他部分。
下一个包头(8比特)——如图2-4所示,该字段定义紧跟基本IPv6包头的信息类型。信息类型可能是高层协议,如TCP或UDP;也可能是一个新增的可选扩展包头。下一个包头字段类似于IPv4的协议号字段。支持协议由IANA定义。

跳限制(8比特)——该字段定义了IP数据包所能经过的最大跳数(中间路由器)。每过一跳将此值减1。和IPv4中一样,当该字段的值为0时,数据包被毁掉,同时一条IPv6 Internet控制消息协议(ICMPv6)类型3消息(超时)被发往源节点。参见第3章以了解ICMPv6。
源地址(128比特)——该字段标识发送方的IPv6源地址。
目的地址(128比特)——该字段标识数据包的IPv6目的地址。
表2-1对IPv4包头和IPv6包头进行了比较。


在IPv6中处理选项字段、分段、安全、移动性、松散源路由选择、记录路由等的新方式。下一小节讲解IPv6扩展包头

2.1.3 IPv6扩展包头

IPv6扩展包头是可能跟在基本IPv6包头后面的可选包头。在RFC 2460“Internet协议版本6(IPv6)规范”中定义了几种扩展包头。一个IPv6数据包可能包括0个、1个或多个扩展包头。如图2-5所示,在IPv6数据包中使用多个扩展包头时,通过前面包头的下一个包头字段指明扩展包头而形成链接的包头列表。

对于典型的IPv6应用,链的最后包头是承载数据报有效载荷的高层协议。例如,高层协议可以是TCP、UDP或一个ICMPv6数据包。

下面是IPv6定义的扩展包头:

逐跳选项包头(协议0)——该字段由传送路径上的每个节点和路由器读取并处理。逐跳选项包头用于巨型数据包和路由器警报。应用逐跳选项包头的一个例子是资源预留协议(RSVP),因为每个路由器都需要查看资源预留协议。
注:IPv6能够发送大于65 535个8bit字节的数据包,特别是在有非常大MTU值的网络上。正如在RFC 2675“IPv6巨型数据包”中所定义的,这些数据包称为巨型数据包。因为总长度字段为16比特的值,所以IPv4不能发送大于65 535个8bit字节的数据包。基本而言,IPv6包头受到与有效载荷长度字段相关的相同的65 535个8bit字节限制。但是,通过在逐跳选项包头中应用一个32比特字段,巨型数据包可以有4 294 967 295个8bit字节的最大长度。

注:源节点使用扩展包头向目的节点发送IPv6数据包时,发送路径上的中间路由器不能扫描和处理扩展包头。但是,正如RFC 2711“IPv6路由器警报选项”所定义的,如果数据包发往一个特定目的地,要求发送路径上的中间路由器进行特殊处理时,可以使用逐跳选项包头内的路由器警报特性。

目的选项包头(协议60)——该包头承载特别针对数据包目的地址的可选信息。处于IETF草案状态的移动IPv6协议(Mobile IPv6)规范建议使用目的选项包头在移动节点和家乡代理之间交换注册信息。移动IP是这样的一个协议,即使移动节点改变了连接点,仍允许它们保持永久的IP地址。
路由包头(协议43)——在数据包发往目的地的途中,该包头能够被IPv6源节点用来强制数据包经过特定的路由器。当路由类型字段设为0时,在路由包头中可以指定中间路由器列表。这个功能类似于IPv4中的松散源路由选项。
1.路由包头详解
与IPv4相比,IPv6处理松散源路由的方式是不同的。一旦确定了中间IPv6路由器列表,在发送IPv6数据包之前,源节点就会按顺序执行下列操作。

步骤1 将基本IPv6包头的目的地址换为中间路由器列表的第一个路由器地址,而不是原始的IPv6目的地址。

步骤2 将原始的IPv6目的地作为中间路由器列表的最后目的地。

步骤3 数据包经过每个路由器时,将路由包头的剩余段字段减1。该字段作为一个指针,指向包含到原始目的地的剩余路由器段数。

然后,在列表中的每个中间路由器上发生下列步骤:

(a)中间路由器将基本IPv6包头的目的地址更改为中间列表的下一个路由器;

(b)路由器将路由选择包头的剩余段字段减1;

(c)路由器将自己的地址放在路由选择包头中间路由器列表的下一个路由器前面(记录路由的方式);

(d)如果路由器是中间路由器列表的最后一项,路由器将基本IPv6包头的IPv6目的地址更改为最后目的节点,而这实际上是数据包的原始目的地。

接收到有路由包头的数据包之后,目的节点能够看到记录在路由包头中的中间路有器列表。然后,目的节点还能够使用路由包头向源节点发送应答数据包,并以逆序指定相同的路由器列表。

如图2-6所示,源节点A想发送数据包到目的节点B,强制数据包经过在路由包头中指定的一列中间路由器。在中间路由器列表中先是路由器R2,接着是路由器R4,以发送数据包到目的节点B。节点A首先发送数据包到路由器R2。数据包用路由器R2作为基本IPv6包头的目的地址。中间路由器列表的下一个地址是路由器R4,列表的最后一个地址是目的节点B。路由器R2收到数据包之后,发送数据包到路由器R4。数据包用路由器R4作为基本IPv6包头的目的地址。现在中间路由器列表的下一个地址是目的节点B,也就是数据包的原始目的节点。最后,路由器R4收到数据包之后,将数据包通过路由器R6而不是路由器R7(到达目的节点B的最短路径)发往目的节点B。因为路由器R6不在中间路由器列表中,通常数据包由路由器R4转发。数据包使用目的节点B作为目的地址,路由包头包含属于这条路径的中间路由器列表(R2,R6)。

只有少数一些应用使用IPv6的路由选择包头。当节点离开家乡网络时,移动IPv6是使用路由选择包头的一个协议例子。与移动IPv4相比,使用路由选择包头对协议而言是有效的。第3章概述移动IPv6协议。

参见RFC 2460“Internet协议版本6(IPv6)规范”,以了解路由包头规范和字段的更多信息。

以上内容详细介绍了路由包头,下面列出了IPv6协议定义的其他扩展包头。

分段包头(协议44)——在IPv6中,建议IPv6所有的节点都使用PMTUD机制。第3章将详细讨论PMTUD。如果IPv6节点不支持PMTUD,但必须发送比传送路径的最大MTU还大的数据包时,要使用分段包头。这种情况发生时,节点将数据包分段,使用分段包头发送每个分段。然后目的节点通过串接所有的分段来组装原始数据包。
注:在IPv6中,不期望使用分段。必要时,由源节点执行分段,而不是由数据包传送路径上的路由器执行分段。在IPv4中,既可以由源节点也可以由中间路由器进行分段。

认证包头(协议51)——该包头由IPSec使用,以提供认证、数据完整性和重放保护。它还确保基本IPv6包头中一些字段的保护。该包头在IPv4和IPv6中是相同的,通常称之为IPSec认证包头(AH)。
封装安全有效载荷包头(协议50)——该包头由IPSec使用,以提供认证、数据完整性、重放保护和IPv6数据包的保密。类似于认证包头,该包头在IPv4和IPv6中是相同的,通常称之为IPSec封装安全有效载荷(ESP)。
2.多个扩展包头
在IPv6数据包中使用多个扩展包头时,它们的顺序必须如下:

① 基本IPv6包头

② 逐跳选项

③ 目的选项(如果使用路由包头)

④ 路由选择

⑤ 分段

⑥ 认证

⑦ 封装安全有效载荷

⑧ 目的选项

⑨ 高层协议(TCP、UDP、ICMPv6……)

目的节点处理包含几个扩展包头的数据包时,必须严格按照它们在IPv6数据包中出现的顺序进行处理。例如,在处理所有的前导扩展包头之前,节点不能扫描数据包以寻找某种特定的扩展包头,并对其进行处理。

2.1.4 用户数据报协议(UDP)和IPv6

IPv4和IPv6认为UDP(协议17)是高层协议。IPv6没有更改UDP,仍然运行在IPv6和IPv4包头之上。但是,如图2-7所示,IPv6中UDP数据包的校验和字段是必需的。该字段在IPv4中是可选的。因此,在IPv6数据包发送之前,必须由IPv6源节点计算UDP校验和字段。

因为IPv4包头的校验和字段被去掉了,所以UDP校验和是必需的。该字段用来验证内部数据包的完整性。

2.1.5 传输控制协议(TCP)和IPv6

IPv4和IPv6认为TCP(协议6)也是高层协议。在IPv4中TCP包头的校验和字段是必需的。因为TCP是个非常复杂的协议,所以在IPv6中没有对该协议进行修改。在IPv6的制定过程中,决定在IPv6之上继续运行TCP和UDP协议而未做结构性的修改。

2.1.6 IPv6的最大传送单元(MTU)

在IPv4中,一个链路的最小MTU长度是68个8bit字节。IPv4的每个Internet模块必须能够在不继续分段的情况下转发68字节的IPv4数据包。一个IPv4包头的最大长度是60个8bit字节。最小分段尺寸是8个8bit字节。

如图2-8所示,与IPv4的68个8bit字节相比,IPv6链路的最小MTU长度是1280个8bit字节。

而且,Internet中的每条IPv6链路,包括PPP链路、隧道等,MTU尺寸为1280个8bit字节或更大。但是,在IPv6中最小支持的数据报长度为1500个8bit字节。最小支持的数据报长度是经IP处理的IP层组装(接受片段并将它们组合在一起)之后的数据报尺寸。在IPv4中,最小支持的数据报尺寸是576个8bit字节。

1.IPv6的路径MTU发现(PMTUD)
数据包分段是有害的,对节点和中间路由器而言,要大量耗费CPU周期。在IPv6中为了避免数据包分段,RFC 2460强烈建议IPv6节点实现IPv6 PMTUD(在RFC 1981中定义)。PMTUD由源节点启动,允许它们发现传送路径上的最小MTU值。PMTUD在第3章详细介绍。

2.巨型MTU
基本IPv6包头支持的最大数据包尺寸是65 535个8bit字节,是由16比特长度的有效载荷长度字段限制的。正如前面在逐跳扩展包头描述中所讲到的,在IPv6中称为巨型数据包的大型数据包是可能的。与巨型数据包的最大尺寸(4 294 967 295个8bit字节)相比,注意10吉比特以太网技术的MTU尺寸是9 216个8bit字节。

1译者注:应是4个8bit字节
2译者注:应是数据包头的总长度,数据包头指除去有效载荷外的部分

时间: 2024-08-22 14:38:07

《Cisco IPv6网络实现技术(修订版)》一第2章 IPv6编址2.1 IP包头的相关文章

《Cisco IPv6网络实现技术(修订版)》一2.2 寻址

2.2 寻址 Cisco IPv6网络实现技术(修订版) IPv6地址长度是IPv4地址长度的4倍.IPv6地址表示也是非常不同的.本节讲述IPv6地址新的表示法.语法和压缩格式. 2.2.1 IPv6地址表示 如RFC 2373"IP版本6寻址结构"中所定义,有3种格式表示IPv6地址.首选格式是最长的方法.由所有的32个十六进制字符组成一个IPv6地址.首选格式也可以看成是匹配计算机"思维"的表示法. 另一种方法是IPv6地址的压缩表示.为了简化人们的IPv6地

《Cisco IPv6网络实现技术(修订版)》一2.6 配置练习:使用Cisco路由器配置一个IPv6网络

2.6 配置练习:使用Cisco路由器配置一个IPv6网络 Cisco IPv6网络实现技术(修订版) 完成下面的练习,在一个网络上配置IPv6,从而达到实际应用本章中学到的技能的目的. 注:配置练习允许您使用本章讲到的命令,通过在一台Cisco路由器上配置IPv6,实际应用您的技能和学到的知识.在下面的练习中,只有一台配备多个快速以太网接口的路由器,它为一个网络上的节点提供IPv6连接.本练习的前提是:您有一点使用命令行接口(CLI)的经验,并能够从Cisco站点下载新的Cisco IOS软件

《Cisco IPv6网络实现技术(修订版)》一2.3 IPv6的寻址结构

2.3 IPv6的寻址结构 Cisco IPv6网络实现技术(修订版) 因为具有128比特地址模式,所以IPv6拥有巨大的地址空间.正如本章前面所讨论的,该地址空间的几个部分用于协议本身的功能,如本地链路.本地站点.多播地址.多播指定地址.被请求节点多播地址.回环.未指定和IPv4兼容的IPv6地址.虽然128比特地址的几个部分已被使用,但是为这些功能保留的仅仅是整个空间的一小部分(小于2%). 表2-26给出了已分配空间与IPv6整个寻址空间对比的情形.第一栏的二进制格式前缀表示每个分配空间的

《Cisco IPv6网络实现技术(修订版)》一2.5 小结

2.5 小结 Cisco IPv6网络实现技术(修订版) 本章讲述了新的IPv6包头格式和IPv6对用户数据报协议(UDP).传输控制协议(TCP)及最大传送单元(MTU)的影响.还讲到了IPv6的寻址结构,包括各种不同的IPv6地址,如本地链路.本地站点.可聚合全球单播.回环.未指定.IPv4兼容.多播指定.被请求节点多播和任意播等.本章也涵盖了以太网上的IPv6.以太网上的多播映射和EUI-64格式. 本章讲述了如何使用IPv6配置和操作Cisco路由器,包括了一些在路由器上启用IPv6和在

《Cisco IPv6网络实现技术(修订版)》一1.7 IPv6的特点

1.7 IPv6的特点 Cisco IPv6网络实现技术(修订版) 在概述了与IPv4协议相关的主要问题后,你应该明白IPv6解决了所有这些问题,并提供了新的好处.下面是主要的改进. 128比特地址方案,为将来数十年提供了足够的IP地址. 巨大的地址空间为数十亿新设备,如PDA.蜂窝设备和802.11系统,提供了全球唯一地址. 多等级层次有助于路由聚合,提高了路由选择到Internet的效率和可扩展性. 使具有严格路由聚合的多点接入成为可能. 自动配置过程允许IPv6网络中的节点配置它们自己的I

《Cisco IPv6网络实现技术(修订版)》一2.7 复习题

2.7 复习题 Cisco IPv6网络实现技术(修订版) 回答下列问题,然后参见附录B中的答案. 1.对于下表中的每个字段,给出字段长度并指出是在IPv4包头中还是在IPv6包头中使用该字段. 2.列出从IPv4包头中去掉的字段. 3.在IPv6包头中新添了哪个字段? 4.描述IPv6包头中下一个包头字段的用途. 5.列出可能在基本IPv6包头后面出现的扩展包头,并按必须出现的顺序进行排列. 6.在IPv6上使用UDP时,什么是必需的? 7.在IPv6中为了避免分段,建议节点使用什么机制? 8

《Cisco IPv6网络实现技术(修订版)》一导读

前 言 Cisco IPv6网络实现技术(修订版) IPv6在1992年由IETF推出.与IPv4地址空间匮乏相比,IPv6在今天看来将成为基本的.容易安装的解决方案.由于其设计基于IPv4协议过去20年的经验,IPv6的效率较IPv4有显著的提高. 对于IPv6,我们不得不改变思维方式,因为IPv6协议不仅仅是为网络(如当前的IPv4 Internet)上的计算机而设计的.IPv6应用于所有的通信设备,如蜂窝设备.无线设备.电话.个人数字助理.电视.广播设备等,而不只限于计算机. IPv6 的

《Cisco IPv6网络实现技术(修订版)》一1.4 IPv6的历史

1.4 IPv6的历史 Cisco IPv6网络实现技术(修订版) IP地址空间耗尽的演示导致这样一个共识:有足够的时间设计.实施和测试一个功能增强的新协议,而不是部署一个仅仅增加较大地址的新协议.这带来了一个修正IPv4编址方案相关的限制和开发一个确保Internet未来几十年可靠发展的协议的机会.这个过程考虑到了来自各行业的要求,包括线缆和无线行业.电力事业.军方.企业网络.Internet服务提供商(ISP)和其他有关方面. 在1993年发布了提案征求(RFC 1550).以下3个提案被详

《Cisco IPv6网络实现技术(修订版)》一2.8 参考文献

2.8 参考文献 Cisco IPv6网络实现技术(修订版)1.RFC 768, User Datagram Protocol, J. Postel, IETF, www.ietf.org/rfc/|rfc768.txt,August1980 2.RFC 791, Internet Protocol, DARPA Internet Program, Protocol Specification, USC, IETF, www.ietf.org/rfc/rfc791.txt,September19