计算机网络(周猛)第十五章ipv.ppt
第十五章 IPv6(IPng),15.1 IPv4的不足与缺点,1.IP地址空间危机IP地址数量消耗情形,1985,使用 1/16 1990,使用 1/81995,使用 1/32000,使用 1/22003,使用 2/3(即將不敷使用),2.IP性能问题3.IP安全性问题4.配置问题,15.2 改进IPv4的各种努力,1.Internet发展的问题2.各种努力,15.3 IPv6对IPv4的改进,1.扩展地址2.简化的包头3.对扩展和选项支持的改进4.身份验证和保密,15.4 数据包结构1.IPv6 数据报的首部,IPv6 将首部长度变为固定的 40 字节,称为基本首部(base header)。将不必要的功能取消了,首部的字段数减少到只有 8 个。取消了首部的检验和字段,加快了路由器处理数据报的速度。在基本首部的后面允许有零个或多个扩展首部。所有的扩展首部和数据合起来叫做数据报的有效载荷(payload)或净负荷。,IPv6 数据报的一般形式,基本首部,扩展首部 1,扩展首部 N,数 据 部 分,选项,IPv6 数据报,有效载荷,0,4,16,31,版 本,位,目 的 地 址,源 地 址,下 一 个 首 部,流 标 号,12,通 信 量 类,(128 位),(128 位),有 效 载 荷 长 度,跳 数 限 制,24,有效载荷(扩展首部/数据),IPv6 的基本首部(40 B),IPv6 的有效载荷(至 64 KB),0,4,16,31,版 本,位,目 的 地 址,源 地 址,下 一 个 首 部,流 标 号,12,通 信 量 类,(128 位),(128 位t),有 效 载 荷 长 度,跳 数 限 制,24,扩展首部/数据,IPv6 的基本首部(40 B),IPv6 的有效载荷(至 64 KB),有效载荷(扩展首部/数据),0,4,16,31,版 本,位,目 的 地 址,源 地 址,下 一 个 首 部,流 标 号,12,通 信 量 类,(128 位),(128 位),有 效 载 荷 长 度,跳 数 限 制,24,IPv6的基本首部40 B,版本(version)4 位。它指明了协议的版本,对 IPv6 该字段总是 6。,0,4,16,31,版 本,位,目 的 地 址,源 地 址,下 一 个 首 部,流 标 号,12,通 信 量 类,(128 位),(128 位),有 效 载 荷 长 度,跳 数 限 制,24,IPv6的基本首部40 B,通信量类(traffic class)8 位。这是为了区分不同的 IPv6 数据报的类别或优先级。目前正在进行不同的通信量类性能的实验。,0,4,16,31,版 本,位,目 的 地 址,源 地 址,下 一 个 首 部,流 标 号,12,通 信 量 类,(128 位),(128 位),有 效 载 荷 长 度,跳 数 限 制,24,IPv6的基本首部40 B,流标号(flow label)20 位。“流”是互联网络上从特定源点到特定终点的一系列数据报,“流”所经过的路径上的路由器都保证指明的服务质量。所有属于同一个流的数据报都具有同样的流标号。,0,4,16,31,版 本,位,目 的 地 址,源 地 址,下 一 个 首 部,流 标 号,12,通 信 量 类,(128 位),(128 位),有 效 载 荷 长 度,跳 数 限 制,24,IPv6的基本首部40 B,有效载荷长度(payload length)16 位。它指明 IPv6 数据报除基本首部以外的字节数(所有扩展首部都算在有效载荷之内),其最大值是 64 KB。,0,4,16,31,版 本,位,目 的 地 址,源 地 址,下一个首部,流 标 号,12,通 信 量 类,(128 位),(128 位),有 效 载 荷 长 度,跳 数 限 制,24,IPv6的基本首部40 B,下一个首部(next header)8 位。它相当于 IPv4 的协议字段或可选字段。,0,4,16,31,版 本,位,目 的 地 址,源 地 址,下 一 个 首 部,流 标 号,12,通 信 量 类,(128 位),(128 位),有 效 载 荷 长 度,跳 数 限 制,24,IPv6的基本首部40 B,跳数限制(hop limit)8 位。源站在数据报发出时即设定跳数限制。路由器在转发数据报时将跳数限制字段中的值减1。当跳数限制的值为零时,就要将此数据报丢弃。,0,4,16,31,版 本,位,目 的 地 址,源 地 址,下 一 个 首 部,流 标 号,12,通 信 量 类,(128 位),(128 位),有 效 载 荷 长 度,跳 数 限 制,24,IPv6的基本首部40 B,源地址 128 位。是数据报的发送站的 IP 地址。,0,4,16,31,版 本,位,目 的 地 址,源 地 址,下 一 个 首 部,流 标 号,12,通 信 量 类,(128 位),(128 位),有 效 载 荷 长 度,跳 数 限 制,24,IPv6的基本首部40 B,目的地址 128 位。是数据报的接收站的 IP 地址。,0,4,16,31,版 本,位,目 的 地 址,源 地 址,下 一 个 首 部,流 标 号,12,通 信 量 类,(128 位),(128 位),有 效 载 荷 长 度,跳 数 限 制,24,IPv6的基本首部40 B,目的地址 128 位。是数据报的接收站的 IP 地址。,2.扩展首部及下一个首部字段,IPv6 把原来 IPv4 首部中选项的功能都放在扩展首部中,并将扩展首部留给路径两端的源站和目的站的主机来处理。数据报途中经过的路由器都不处理这些扩展首部(只有一个首部例外,即逐跳选项扩展首部)。这样就大大提高了路由器的处理效率。,六种扩展首部,在 RFC 2460 中定义了六种扩展首部:逐跳选项 路由选择 分片 鉴别 封装安全有效载荷 目的站选项,有效载荷,有效载荷,IPv6 的扩展首部,基本首部下一个首部=TCP/UDP,基本首部下一个首部=路由选择,路由选择首部下一个首部=分片,分片首部下一个首部=TCP/UDP,TCP/UDP 首部和数据(TCP/UDP 报文段),TCP/UDP 首部和数据(TCP/UDP 报文段),无扩展首部,有扩展首部,扩展首部举例,IPv6 把分片限制为由源站来完成。源站可以采用保证的最小 MTU(1280字节),或者在发送数据前完成路径最大传送单元发现(Path MTU Discovery),以确定沿着该路径到目的站的最小 MTU。分片扩展首部的格式如下:,0,29,16,31,位,下 一 个 首 部,片 偏 移,8,标 识 符,保 留,保 留,M,扩展首部举例,IPv6 数据报的有效载荷长度为 3000 字节。下层的以太网的最大传送单元 MTU 是 1500 字节。分成三个数据报片,两个 1400 字节长,最后一个是 200 字节长。,IPv6 基本首部,分片首部 1,第 一 个 分 片,1400 字节,IPv6 基本首部,分片首部 2,第 二 个 分 片,1400 字节,IPv6 基本首部,分片首部 3,第三个分片,200 字节,扩展首部,10.5 IPv6 的地址空间1.地址的类型与地址空间,IPv6 数据报的目的地址可以是以下三种基本类型地址之一:(1)单播(unicast)单播就是传统的点对点通信。(2)多播(multicast)多播是一点对多点的通信。(3)任播(anycast)这是 IPv6 增加的一种类型。任播的目的站是一组计算机,但数据报在交付时只交付其中的一个,通常是距离最近的一个。,冒号十六进制记法(colon hexadecimal notation),每个 16 位的值用十六进制值表示,各值之间用冒号分隔。68E6:8C64:FFFF:FFFF:0:1180:960A:FFFF零压缩(zero compression),即一连串连续的零可以为一对冒号所取代。FF05:0:0:0:0:0:0:B3 可以写成:FF05:B3,冒号十六进制数记法可结合有点分十进制数记法的后缀。对0:0:0:0:0:0:使用零压缩后为,2.地址空间的分配,IPv6 将 128 位地址空间分为两大部分。第一部分是可变长度的类型前缀,它定义了地址的目的。第二部分是地址的其余部分,其长度也是可变的。,类型前缀,地址的其他部分,长度可变,长度可变,128 位,3.特殊地址,未指明地址 这是 16 字节的全 0 地址,可缩写为两个冒号“:”。这个地址只能为还没有配置到一个标准的 IP 地址的主机当作源地址使用。环回地址 即 0:0:0:0:0:0:0:1(记为:1)。基于 IPv4 的地址 前缀为 0000 0000 保留一小部分地址作为与 IPv4 兼容的。,前缀为 0000 0000 的地址,前缀为 0000 0000 是保留一小部分地址与 IPv4 兼容的,这是因为必须要考虑到在比较长的时期 IPv 4和 IPv6 将会同时存在,而有的结点不支持 IPv6。因此数据报在这两类结点之间转发时,就必须进行地址的转换。,0000.0000 FFFF IPv4 地址,80 位,16 位,32 位,IPv4 映射的IPv6 地址,IPV6将128BIT地址空间分为两大部分。第一部分是可变长度的类型前缀,它定义了地址,剩下的是地址的其余部分。IPv6的地址分配方案,4.全球单播地址的等级结构,IPv6 扩展了地址的分级概念,使用以下三个等级:(1)全球路由选择前缀,占 48 位。(2)子网标识符,占16 位。(3)接口标识符,占 64 位。,第一级,第三级,接口标识符(64 位),子网标识符(16 位),第二级,全球路由选择前缀(48 位),位 0 48 64 127,用双协议栈进行从 IPv4 到 IPv6 的过渡,双协议栈IPv6/IPv4,IPv6,IPv6,IPv4 网络,A,B,C,D,E,F,流标号:X源地址:A目的地址:F 数据部分,流标号:无源地址:A目的地址:F 数据部分,双协议栈IPv6/IPv4,IPv6 数据报,IPv6 数据报,源地址:A目的地址:F,数据部分,源地址:A目的地址:F,数据部分,IPv4 数据报,隧道技术(TUNNELING)的原理。这种方法的要点就是将IPV6数据报在要进入IPV4区域时,封装成为IPV4数据报(整个IPV6数据报变成了IPV4数据报的数据部分)。当IPV4数据报离开IPV4区域时再将其数据部分(即原来的IPV6数据报)交给主机的IPV6协议栈。要使双协议栈的主机知道IPV4数据报里面封装的数据是一个IPV6数据报,就必须将IPV4首部的协议字段的值设置为41(41表示数据报的数据部分是IPV6数据报)。,IPv4 网络,IPv6,IPv6,A,B,C,D,E,F,IPv4 数据报,IPv4 数据报,IPv4网络,IPv6,IPv6,A,B,E,F,隧道,源地址:B目的地址:E,IPv6数据报,双协议栈IPv6/IPv4,双协议栈IPv6/IPv4,双协议栈IPv6/IPv4,双协议栈IPv6/IPv4,IPv4 网络,流标号:X源地址:A目的地址:F 数据部分,IPv6 数据报,流标号:X源地址:A目的地址:F 数据部分,IPv6 数据报,源地址:B目的地址:E,IPv6数据报,使用隧道技术从 IPv4 到 IPv6 过渡,6 ICMPv6,ICMPv6 的报文格式和 IPv4 使用的 ICMP 的相似,即前 4 个字节的字段名称都是一样的。但 ICMPv6 将第 5 个字节起的后面部分作为报文主体。ICMPv6 的报文划分为四大类差错报告报文提供信息的报文多播听众发现报文邻站发现报文,