第九章 下一代网际协议 于银辉 教授 吉林大学 通信工程学院
9.1 IPv6的引入及其特点 9.2 IPv6数据报格式 9.3 IPv6地址体系结构 9.4 Ipv4向IPv6过渡的方法
9.1 IPv6的引入及其特点 IPv6协议是IP协议第6版本,是为了改进IPv4协议存在的问题而设计的新版本的IP协议。
IPv4存在的问题: (1)IPv4的地址空间太小 (2)IPv4分类的地址利用率低 (3)IPv4地址分配不均
IPv6与IPv4相比具有以下较为显著的优势: (1)极大的地址空间 (2)分层的地址结构
IPv6支持分层的地址结构,更易于寻址;而且扩展支持组播和任意播地址,使得数据报可以发送给任何一个或一组节点。
(3)支持即插即用 (4)灵活的数据报首部格式 (5)支持资源的预分配
IPv6支持实时视像等要求保证一定带宽和时延的应用。 (6)认证与私密性 (7)方便移动主机的接入
9.2 IPv6数据报格式 IPv6数据报的一般格式如图9-1所示。
图9-1 IPv6数据报的一般格式
IPv6数据报也包括首部和数据两部分,而首部又包括基本首部和扩展首部,扩展首部是选项。 扩展首部和数据合起来称为有效载荷。 IPv6数据报首部的具体格式如图9-2所示。
图9-2 IPv6数据报首部的具体格式
IPv6基本首部共40字节,各字段的作用为: 1. IPv6基本首部 (1)版本:占4比特,指明协议的版本。对于IPv6该字段为6。
(3)流标号:占20比特,IPv6支持资源分配的一个新的机制。“流”是互联网络上从特定源点到特定终点的一系列数据报,“流”所经过的路径上的路由器都保证指明的服务质量。所有属于同一个“流”的数据报都具有同样的流标号。
(4)有效负荷长度:占16位,指明IPv6数据报除基本首部以外的字节数,最大值为64KB。
(6)跳数限制:占8位,用来防止数据报在网络中无限期地存在。 (7)源地址:占128位,为数据报的发送端的IP地址。 (8)目的地址:占128位,为数据报的接收端的IP地址。
用于携带选项信息,数据报所经过的所有路由器都必须处理这些选项信息。 2.IPv6扩展首部 IPv6定义了六种扩展首部。 (1)逐跳选项 用于携带选项信息,数据报所经过的所有路由器都必须处理这些选项信息。
类似于IPv4中的源路由选项,是源站用来指明数据报在路由过程中必须经过哪些路由器。 (2)路由选择 类似于IPv4中的源路由选项,是源站用来指明数据报在路由过程中必须经过哪些路由器。
是当源站发送长度超过路径最大传输单元MTU的数据报时进行分片用的扩展首部。 (3)分片 是当源站发送长度超过路径最大传输单元MTU的数据报时进行分片用的扩展首部。 IPv6 规定分片必须由源站来完成,路径途中的路由器不允许进行分片。
用于对IPv6数据报基本首部、扩展首部和数据净荷的某些部分进行加密。 (4)鉴别 用于对IPv6数据报基本首部、扩展首部和数据净荷的某些部分进行加密。
指明剩余的数据净荷已加密,并为已获得授权的目的站提供足够的解密信息。 (5)封装安全有效载荷 指明剩余的数据净荷已加密,并为已获得授权的目的站提供足够的解密信息。
(6)目的站选项 用于携带只需要目的站处理的选项信息。
为了提高了路由器的处理效率,IPv6规定,数据报途中经过的路由器都不处理这些扩展首部(只有逐跳选项扩展首部例外)。 将扩展首部留给路径两端的源站和目的站的主机来处理。
每一个扩展首部都由若干个字段组成,不同的扩展首部的长度不一样。 但所有扩展首部的第一个字段都是8位的“下一个首部”字段,此字段的值指出了在该扩展首部后面的字段是什么,即是哪个其他扩展首部或TCP/UDP等首部。 当使用多个扩展首部时,应该按照以上的先后顺序出现。
9.3 IPv6地址体系结构 9.3.1 IPv6的地址结构 IPv6的地址结构如图9-6所示。
图9-6 IPv6的地址结构
IPv6将128bit地址空间分为两大部分: (1)第一部分是可变长度的类型前缀,它定义了地址的目的,如是单播、多播地址,还是保留地址、未指派地址等。
IPv6数据报的目的地址有三种基本类型: 单播——是传统的点对点通信。 多播——是一点对多点的通信。 任播——这是IPv6增加的一种类型。 任播的目的站是一组计算机,但数据报在交付时只交付给其中的一个,通常是距离最近的一个。
(2)第二部分是地址的其余部分,其长度也是可变的。
冒号十六进制记法是IPv6地址的基本表示方法,每个16bit的值用十六进制值表示,各值之间用冒号分隔。 1、冒号十六进制记法 冒号十六进制记法是IPv6地址的基本表示方法,每个16bit的值用十六进制值表示,各值之间用冒号分隔。 例如,某个IPv6地址为 59F3:AB62:FF66:CF7F:0000:1260:000E:DDDD
上例中,0000的前3个0可省略,缩写为0;000E的前3个0可省略,缩写为E。 此IPv6地址写为 2、其他简单记法 (1)零省略 上例中,0000的前3个0可省略,缩写为0;000E的前3个0可省略,缩写为E。 此IPv6地址写为 59F3:AB62:FF66:CF7F:0:1260:E:DDDD
IPv6规定,一个地址中零压缩只能使用一次。 (2)零压缩 即一连串连续的零可以为一对冒号所取代。 例如,C806:0:0:0:0:0:0:A25D 可以写成:C806::A25D IPv6规定,一个地址中零压缩只能使用一次。
需要注意的是,冒号所分隔的是16bit的值,而点分十进制的值是8bit的值。 再使用零压缩即可得出:::136.22.15.8 (3)冒号十六进制值结合点分十进制的后缀 例如,0:0:0:0:0:0:136.22.15.8 需要注意的是,冒号所分隔的是16bit的值,而点分十进制的值是8bit的值。 再使用零压缩即可得出:::136.22.15.8
IPv6地址可以仿照CIDR的斜线表示法。 例如,68bit的前缀(不是类型前缀)56DB8235000000009可记为: (4)斜线表示法 IPv6地址可以仿照CIDR的斜线表示法。 例如,68bit的前缀(不是类型前缀)56DB8235000000009可记为: 56DB:8235:0000:0000:9000:0000:0000:0000/68 或56DB:8235::9000:0:0:0:0/68 或56DB:8235:0:0:9000::/68
9.4 Ipv4向IPv6过渡的方法 从IPv4向IPv6过渡的方法有两种:使用双协议栈和使用隧道技术。
双协议栈是指在完全过渡到IPv6之前,使一部分主机(或路由器)装有两个协议栈,一个IPv4和一个IPv6。 9.4.1 使用双协议栈 双协议栈是指在完全过渡到IPv6之前,使一部分主机(或路由器)装有两个协议栈,一个IPv4和一个IPv6。
双协议栈主机(或路由器)既可以与IPv6的系统通信,又可以与IPv4的系统通信。
图9-9 使用双协议栈进行从IPv4到IPv6的过渡示意图
注意IPv6数据报与IPv4数据报的相互转换是替换数据报的首部,数据部分不变。
使用隧道技术从IPv4到IPv6过渡的示意图如图9-10所示。 9.4.2 使用隧道技术 使用隧道技术从IPv4到IPv6过渡的示意图如图9-10所示。
图9-10 使用隧道技术从IPv4到IPv6过渡的示意图
谢谢各位! 2012年4月