因特网新协议――IPv6
课 题:下一代网际协议 IPv6 目的要求:掌握IPv6首部格式、从 IPv6 向 IPv4 过渡和ICMPv6 教学重点:IPv6基本首部、从 IPv6 向 IPv4 过渡 教学难点: IPv6与IPv4 教学课时:2 教学方法:讲授、演示 本次课涉及的学术前沿:3G与IPv6 教学内容与步骤:
10.1 下一代的网际协议 IPv6 10.1.1 解决 IP 地址耗尽的措施 采用无类别编址 CIDR,使 IP 地址的分配更加合理。 采用网络地址转换 NAT 方法以节省全球 IP 地址。 采用具有更大地址空间的新版本的 IP 协议 IPv6。
10.1.2 IPv6 的基本首部 IPv6 仍支持无连接的传送所引进的主要变化如下 扩展的地址层次结构。 灵活的首部格式。 改进的选项。 允许协议继续扩充。 支持即插即用(即自动配置) 支持资源的预分配。
IPv6 数据报的首部 IPv6 将首部长度变为固定的 40 字节,称为基本首部(base header)。 将不必要的功能取消了,首部的字段数减少到只有 8 个。 取消了首部的检验和字段,加快了路由器处理数据报的速度。 在基本首部的后面允许有零个或多个扩展首部。 所有的扩展首部和数据合起来叫做数据报的有效载荷(payload)或净负荷。
IPv6 数据报的首部
IPv6 数据报的一般形式 有效载荷 选项 基本 首部 扩展 首部 1 … 扩展 首部 N 数 据 部 分 IPv6 数据报
IPv6 的 基本首部 (40 B) 有效载荷(扩展首部 / 数据) IPv6 的 有效载荷 (至 64 KB) 位 4 12 16 24 4 12 16 24 31 版 本 通 信 量 类 流 标 号 有 效 载 荷 长 度 下 一 个 首 部 跳 数 限 制 源 地 址 IPv6 的 基本首部 (40 B) (128 位) 目 的 地 址 (128 位) 有效载荷(扩展首部 / 数据) IPv6 的 有效载荷 (至 64 KB)
IPv6 的 基本首部 (40 B) 有效载荷(扩展首部 / 数据) IPv6 的 有效载荷 (至 64 KB) 位 4 12 16 24 4 12 16 24 31 版 本 通 信 量 类 流 标 号 有 效 载 荷 长 度 下 一 个 首 部 跳 数 限 制 源 地 址 IPv6 的 基本首部 (40 B) (128 位) 目 的 地 址 (128 位t) 有效载荷(扩展首部 / 数据) 扩展首部 / 数据 IPv6 的 有效载荷 (至 64 KB)
版本(version)—— 4 位。它指明了协议的版本,对 IPv6 该字段总是 6。 4 12 16 24 31 版 本 通 信 量 类 流 标 号 有 效 载 荷 长 度 下 一 个 首 部 跳 数 限 制 IPv6 的 基 本 首 部 40 B 源 地 址 (128 位) 目 的 地 址 (128 位) 版本(version)—— 4 位。它指明了协议的版本,对 IPv6 该字段总是 6。
位 4 12 16 24 31 版 本 通 信 量 类 流 标 号 有 效 载 荷 长 度 下 一 个 首 部 跳 数 限 制 IPv6 的 基 本 首 部 40 B 源 地 址 (128 位) 目 的 地 址 (128 位) 通信量类(traffic class)—— 8 位。这是为了区分不同的 IPv6 数据报的类别或优先级。目前正在进行不同的通信量类性能的实验。
所有属于同一个流的数据报都具有同样的流标号。 位 4 12 16 24 31 版 本 通 信 量 类 流 标 号 有 效 载 荷 长 度 下 一 个 首 部 跳 数 限 制 IPv6 的 基 本 首 部 40 B 源 地 址 (128 位) 目 的 地 址 (128 位) 流标号(flow label)—— 20 位。 “流”是互联网络上从特定源点到特定终点的一系列数据报, “流”所经过的路径上的路由器都保证指明的服务质量。 所有属于同一个流的数据报都具有同样的流标号。
位 4 12 16 24 31 版 本 通 信 量 类 流 标 号 有 效 载 荷 长 度 下 一 个 首 部 跳 数 限 制 IPv6 的 基 本 首 部 40 B 源 地 址 (128 位) 目 的 地 址 (128 位) 有效载荷长度(payload length)—— 16 位。它指明 IPv6 数据报除基本首部以外的字节数(所有扩展首部都算在有效载荷之内),其最大值是 64 KB。
下一个首部(next header)—— 8 位。它相当于 IPv4 的协议字段或可选字段。 4 12 16 24 31 版 本 通 信 量 类 流 标 号 有 效 载 荷 长 度 下一个首部 跳 数 限 制 IPv6 的 基 本 首 部 40 B 源 地 址 (128 位) 目 的 地 址 (128 位) 下一个首部(next header)—— 8 位。它相当于 IPv4 的协议字段或可选字段。
跳数限制(hop limit)—— 8 位。源站在数据报发出时即设定跳数限制。路由器在转发数据报时将跳数限制字段中的值减1。 4 12 16 24 31 版 本 通 信 量 类 流 标 号 有 效 载 荷 长 度 下 一 个 首 部 跳 数 限 制 IPv6 的 基 本 首 部 40 B 源 地 址 (128 位) 目 的 地 址 (128 位) 跳数限制(hop limit)—— 8 位。源站在数据报发出时即设定跳数限制。路由器在转发数据报时将跳数限制字段中的值减1。 当跳数限制的值为零时,就要将此数据报丢弃。
源地址—— 128 位。是数据报的发送站的 IP 地址。 4 12 16 24 31 版 本 通 信 量 类 流 标 号 有 效 载 荷 长 度 下 一 个 首 部 跳 数 限 制 IPv6 的 基 本 首 部 40 B 源 地 址 (128 位) 目 的 地 址 (128 位) 源地址—— 128 位。是数据报的发送站的 IP 地址。
目的地址—— 128 位。是数据报的接收站的 IP 地址。 4 12 16 24 31 版 本 通 信 量 类 流 标 号 有 效 载 荷 长 度 下 一 个 首 部 跳 数 限 制 IPv6 的 基 本 首 部 40 B 源 地 址 (128 位) 目 的 地 址 (128 位) 目的地址—— 128 位。是数据报的接收站的 IP 地址。
10.1.3 IPv6 的扩展首部 1. 扩展首部及下一个首部字段 IPv6 把原来 IPv4 首部中选项的功能都放在扩展首部中,并将扩展首部留给路径两端的源站和目的站的主机来处理。 数据报途中经过的路由器都不处理这些扩展首部(只有一个首部例外,即逐跳选项扩展首部)。 这样就大大提高了路由器的处理效率。
六种扩展首部 在 RFC 2460 中定义了六种扩展首部: 逐跳选项 路由选择 分片 鉴别 封装安全有效载荷 目的站选项
IPv6 的扩展首部 无扩展首部 有扩展首部 有效载荷 有效载荷 基本首部 下一个首部 = TCP/UDP TCP/UDP 首部 和数据 = 路由选择 路由选择首部 下一个首部 = 分片 分片首部 下一个首部 = TCP/UDP TCP/UDP 首部 和数据 (TCP/UDP 报文段) 有效载荷
2. 扩展首部举例 IPv6 把分片限制为由源站来完成。源站可以采用保证的最小 MTU(1280字节),或者在发送数据前完成路径最大传送单元发现(Path MTU Discovery),以确定沿着该路径到目的站的最小 MTU。 分片扩展首部的格式如下: 位 8 16 29 31 下 一 个 首 部 保 留 片 偏 移 保 留 M 标 识 符
扩展首部举例 IPv6 数据报的有效载荷长度为 3000 字节。下层的以太网的最大传送单元 MTU 是 1500 字节。 分成三个数据报片,两个 1400 字节长,最后一个是 200 字节长。 扩展首部 IPv6 基本首部 分片首部 1 第 一 个 分 片 1400 字节 IPv6 基本首部 分片首部 2 第 二 个 分 片 1400 字节 IPv6 基本首部 分片首部 3 第三个分片 200 字节
用隧道技术来传送长数据报 当路径途中的路由器需要对数据报进行分片时,就创建一个全新的数据报,然后将这个新的数据报分片,并在各个数据报片中插入扩展首部和新的基本首部。 路由器将每个数据报片发送给最终的目的站,而在目的站将收到的各个数据报片收集起来,组装成原来的数据报,再从中抽取出数据部分。
10.1.4 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:128.10.2.1 再使用零压缩即可得出: ::128.10.2.1 再使用零压缩即可得出: ::128.10.2.1 CIDR 的斜线表示法仍然可用。 60 位的前缀 12AB00000000CD3 可记为: 12AB:0000:0000:CD30:0000:0000:0000:0000/60 或12AB::CD30:0:0:0:0/60 或12AB:0:0:CD30::/60
2. 地址空间的分配 IPv6 将 128 位地址空间分为两大部分。 第一部分是可变长度的类型前缀,它定义了地址的目的。 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。 因此数据报在这两类结点之间转发时,就必须进行地址的转换。 80 位 16 位 32 位 IPv4 映射的 IPv6 地址 0000..................0000 FFFF IPv4 地址
4. 全球单播地址的等级结构 IPv6 扩展了地址的分级概念,使用以下三个等级: (1) 全球路由选择前缀,占 48 位。 (2) 子网标识符,占16 位。 (3) 接口标识符,占 64 位。 第一级 第二级 第三级 位 0 48 64 127 子网 标识符 (16 位) 全球路由选择前缀 (48 位) 接口标识符 (64 位)
EUI-64 IEEE定 义了一个标准的 64 位全球唯一地址格式 EUI-64。 较为复杂的是当需要将 48 位的以太网硬件地址转换为 IPv6 地址。
把以太网地址转换为 IPv6 地址 G/L 位 I/G 位 位 0 8 24 47 IEEE 802 地址 位 0 8 24 47 IEEE 802 地址 cccccc0gcccccccccccccccc 低 24 位 位 0 8 24 40 63 接口 标识符 cccccc1gcccccccccccccccc 1111111111111110 低 24 位 0xFFFE G/L = 1
10.1.5 从 IPv4 向 IPv6 过渡 向 IPv6 过渡只能采用逐步演进的办法,同时,还必须使新安装的 IPv6 系统能够向后兼容。 IPv6 系统必须能够接收和转发 IPv4 分组,并且能够为 IPv4 分组选择路由。 双协议栈(dual stack)是指在完全过渡到 IPv6 之前,使一部分主机(或路由器)装有两个协议栈,一个 IPv4 和一个 IPv6。
用双协议栈进行 从 IPv4 到 IPv6 的过渡 … 双协议栈 IPv6/IPv4 IPv4 网络 双协议栈 IPv6/IPv4 IPv6 B C D E F A 流标号:X 源地址:A 目的地址:F …… 数据部分 源地址:A 目的地址:F …… 源地址:A 目的地址:F …… 流标号:无 源地址:A 目的地址:F …… 数据部分 … 数据部分 数据部分 IPv4 数据报 IPv6 数据报 IPv6 数据报
使用隧道技术从 IPv4 到 IPv6 过渡 IPv6 数据报 IPv6 数据报 IPv4 数据报 IPv4 数据报 双协议栈 A B E F 双协议栈 IPv6/IPv4 双协议栈 IPv6/IPv4 IPv6 IPv4 网络 IPv6 A B C D E F IPv4 网络 流标号:X 源地址:A 目的地址:F …… 数据部分 源地址:B 目的地址:E 源地址:B 目的地址:E 流标号:X 源地址:A 目的地址:F …… 数据部分 … IPv6 数据报 IPv6 数据报 IPv6 数据报 IPv6 数据报 IPv4 数据报 IPv4 数据报
10.1.6 ICMPv6 ICMPv6 的报文格式和 IPv4 使用的 ICMP 的相似,即前 4 个字节的字段名称都是一样的。 差错报告报文 提供信息的报文 多播听众发现报文 邻站发现报文
IPv6的安装 在windows xp中因为已经集成了IPv6协议栈,安装方法如下: 打开 “命令行窗口”。 在命令行界面,输入IPv6 install命令。 用ping6 ::1命令来验证IPv6是否正确安装。当ping6 ::1命令返回正确,可以确定IPv6协议栈已经正确安装。 http://hi.baidu.com/gchrist/blog/item/88d85ac27e9b3834e4dd3be7.html
IPv6安装 1. Windows XP/Windows 2003 操作系统 (1) IPv6 协议栈的安装 在 开始 --> 运行 处执行 ipv6 install (2) IPv6 地址设置 在 开始 --> 运行 处执行 netsh 进入系统网络参数设置环境,然后执行 interface ipv6 add address “ 本地连接 ” 2001:da8:207::9402 (3) IPv6 默认网关设置 在上述系统网络参数设置环境中执行 interface ipv6 add route ::/0 “ 本地连接 ” 2001:da8:207::9401 publish=yes (4) 网络测试命令 ping6 、 tracert6 ping6 www.kame.net
2. 如果你是从纯Ipv6网络环境中接入,那么你就可以拿到IPv6地址并且能够访问IPv6站点了 附:一些常用命令: C:>netsh netsh>interface ipv6 netsh interface ipv6>add address "本地连接" fe80:a520:1314::1 /* 设定固定的IPv6地址 */ netsh interface ipv6>add dns "本地连接" 2001:251:e101:0::2 /* 设定IPv6 DNS地址 */
检查自己的ipv6地址 1. 在DOS 窗口下,输入ipv6 if 结果比较复杂, 看的头晕 呵呵 看下一种方法吧 2 检查自己的ipv6地址 1.在DOS 窗口下,输入ipv6 if 结果比较复杂, 看的头晕 呵呵 看下一种方法吧 2.在DOS 窗口下,输入 netsh interface ipv6 show address 3.我认为最简单的方法 在DOS 窗口下,输入 ipconfig -all 什么结果都出来了 嘿嘿 下面看看大家比较常用的第2种方法测试的结果 在DOS 窗口下,输入 netsh interface ipv6 show address
大连理工大学IPv6概况 大连理工大学校园网全网实现了IPv4/IPv6双栈运行,校园网主干路由器之间实现了双万兆链接,到CNGI-CERNET2带宽所已经升级到2Gbps。随着项目进行,我校IPv6用户数在不断稳步增加,IPv6用户数已经达到1.5万人,同时在线IPv6用户数已经超过4300人,IPv6流量峰值已经达到1.7Gbps。 http://www.edu.cn/do_9658/20110609/t20110609_630553.shtml
同济大学-CNGI建设前的校园网 校区之间千兆互联,楼宇千兆接入,千兆电信公网出口,以及300M教科网出口,总用户数达2万左右。改造前的原校园网拓扑图如图1所示。
升级改造工程分四个阶段完成: 1) 新建校园网主干网,支持IPv4/IPv6双栈和组播,完善校园网主干的链路冗余体系,将部分链路纤冗余的校园网主干改造成缆全冗余结构; 2) 改造教学区校区和重要楼宇的汇聚设备,升级教学区全网支持IPv4/IPv6双栈和组播; 3) 宿舍区BRAS(宽带远程接入服务器)设备的改造,支持IPv4/IPv6双栈和组播; 4) 高起点建设覆盖主要教学和公共区域的无线网。
图2 改造后校园网拓扑 http://www.edu.cn/tgyy_7952/20110628/t20110628_641359.shtml
IPv6的新应用 3G业务 IP电信网 个人智能终端 家庭网络 在线游戏
3G与IPv6 3G标准的支持 2001年,WCDMA标准化组织3GPP在制订R5阶段IP多媒体子系统(IMS)规范时,明确规定应用多媒体业务时,用户终端必须使用IPv6地址进行通信。对于移动网络功能实体而言,IMS的所有功能实体,包括用户终端UE、呼叫状态控制服务器CSCF、媒体网关控制服务器MGCF、媒体资源MRF和应用服务器AS都必须支持IPv6。