540 likes | 785 Views
DP500044 IPv6 基础. ISSUE 1.0. 前 言. IPv4 地址资源紧张限制了 IP 技术应用的进一步发展。而移动和宽带技术的发展要求更多的 IP 地址。 IPv6 能从根本上解决这个问题。本课程将重点介绍 IPv6 的基础知识。. 参考资料. VRP5.3 操作手册 VRP5.3 命令手册 IPv6 各相关 RFC 文档. 目 标. 学习完此课程,您将会: 了解为什么要从 IPv4 升级到 IPv6 了解 IPv6 的地址结构 了解 IPv6 的报文结构. 内容介绍. 第 1 章 IPv6 发展状况
E N D
DP500044 IPv6基础 ISSUE 1.0
前 言 IPv4地址资源紧张限制了IP技术应用的进一步发展。而移动和宽带技术的发展要求更多的IP地址。 IPv6能从根本上解决这个问题。本课程将重点介绍IPv6的基础知识。
参考资料 • VRP5.3操作手册 • VRP5.3命令手册 • IPv6各相关RFC文档
目 标 学习完此课程,您将会: • 了解为什么要从IPv4升级到IPv6 • 了解IPv6的地址结构 • 了解IPv6的报文结构
内容介绍 第1章 IPv6发展状况 第2章 IPv6地址 第3章 IPv6报文
以IPv4为核心技术的Internet获得巨大成功 IPv4地址资源紧张直接限制了IP技术应用的进一步发展,有专家估计到2010年IPv4地址将全部用完 移动(3G)和宽带技术的发展要求更多的IP地址 CIDR,NAT,DHCP等技术只能暂时缓解IPv4地址紧张,但无法从数量上根本解决地址问题 IP地址面临的短缺问题直接加速了IPv4升级的需求 IETF在20世纪90年代提出下一代互联网协议--IPv6 目前IPv6成为公认的IPv4未来的升级版本 最本质的改进——几乎无限的地址空间(地址长度由32bits增加到128bits ,340万亿万亿万亿个地址) IPv6发展状况 升级IPv4到IPv6
简单:简化固定的基本报文头格式,提高处理效率简单:简化固定的基本报文头格式,提高处理效率 充足的地址空间 层次化的地址结构 可扩展:引入灵活的扩展报头,易扩展 即插即用:地址配置简化,可以实现自动配置 安全:以IPSec作为认证与加密扩展头,提供端到端安全 支持Qos:新增流标记字段Flow Label 增强的邻居发现机制 移动:Mobile IPv6 IPv6发展状况 IPv6的特点
市场的驱动 地址短缺 不断增长的互联网设备和新应用 永远在线的互联网接入 业务需求 构筑宽带和移动的无缝互联网(PDA、3G、宽带接入、Internet家电...) IPv6提供双向通信带来新的业务(用户实时在线...) 政府的推动 战略、安全性角度考虑 竞争的压力 国外主要厂商都已推出支持IPv6的产品 为运营商提供向IPv6的扩展 IPv6发展状况 驱动力
IPv6发展状况 关键事件 2002 2001 IPv6关联协议修订和完善 IPv6基本协议标准化 1999 成立全球IPv6实验床 - 6BONE 1996 完成IPv6的协议文本 1995 下一代IP协议(IPv6)推荐版本 1994 IETF成立IPNG工作组 1992
1992年 IETF成立了IPng工作组 1994年 IPng工作组提出下一代IP网络协议(IPv6)的推荐版本 1995年 IPng工作组完成IPv6的协议文本 1996年 IETF发起成立全球IPv6实验床 - 6BONE 1998年 启动面向实用的IPv6教育科研网 - 6REN 1999年 完成IETF要求的协议审定和测试 1999年 成立了IPv6论坛,开始正式分配IPv6地址,IPv6的协议文本成为标准草案 2001年 Cisco,Juniper,Nokia等多家厂商均已推出IPv6产品 2001年 多数主机操作系统支持IPv6:Windows XP,Linux,Solaris 2003年 中国启动国家下一代网络示范工程--CNGI IPv6发展状况 发展历程
内容介绍 第1章 IPv6发展状况 第2章 IPv6地址 第3章 IPv6报文
内容介绍 • 第2章 IPv6地址 • 第1节 IPv6地址结构 • 第2节 IPv6地址表示方法 • 第3节 IPv6地址分类
IPv6地址 = 前缀 + 接口标识 前缀:相当于v4地址中的网络ID 接口标识:相当于v4地址中的主机ID 2001:A304:6101:1::E0:F726:4E58 地址极其丰富---地球上的每一粒沙子都可以有一个IPv6地址 IPv6地址结构 IPv6地址结构 IPv6 Address Prefix 2001:A304:6101:1 :: Interface ID ::E0:F726:4E58
由IEEEEUI-64规范自动生成 很方便的哦 设备随机生成 保护主机的私密性 手工配置 建议在服务器和重要网络设备上配置 IPv6地址结构 接口ID的生成
将48bits 的MAC地址转化为64bits 的接口ID 由设备自动生成 MAC唯一,所以接口ID也唯一 48bits 的MAC地址 IPv6地址结构 EUI-64规范 24 bits 24 bits • 转化后的64bits 的接口ID 24 bits 16 bits 24 bits 11111111 11111110
内容介绍 • 第2章 IPv6地址 • 第1节 IPv6地址结构 • 第2节 IPv6地址表示方法 • 第3节 IPv6地址分类
完整的IPv6地址格式是IPv6地址加上前缀长度来表示完整的IPv6地址格式是IPv6地址加上前缀长度来表示 首选格式(RFC2373) 用十六进制表示,如: FE08:…. 4个数字一组(16bits),中间用 “ : ” 隔开,如: 2001:12FC:…. 地址前缀长度用“/xx”来表示 例如:2001:0410:0000:0001:0000:0000:0000:45ff/64 IPv6地址表示方法 首选格式
压缩格式(RFC2373) 若以零开头可以省略,连续全零的组可用“::”表示,如: 1:2::ACDE:…. 一个地址中::只能出现一次 地址前缀长度用“/xx”来表示 例如: 2001:410:0:1::45ff/64 2001:410::1::45ff/64是错误的表示方法 IPv6地址表示方法 压缩格式
内嵌IPv4地址的表示方法(RFC2373) 在有些特定场合中使用的IPv6地址中必须包括某些IPv4的地址,例如IPv4兼容IPv6隧道中的地址 IPv6地址的其它部分(不包括IPv4地址的部分)可以采用首选或者压缩格式 IPv6地址中内嵌的IPv4地址采用以前IPv4的十进制表示方法 地址前缀长度用“/xx”来表示 例如:0:0:0:0:0:0:166.168.1.2/64 例如:::166.168.1.2/64 IPv6地址表示方法 内嵌IPv4地址格式
内容介绍 • 第2章 IPv6地址 • 第1节 IPv6地址结构 • 第2节 IPv6地址表示方法 • 第3节 IPv6地址分类
单播地址(Unicast Address) 标识一个接口,目的为单播地址的报文会被送到被标识的接口 组播地址(Multicast Address) 标识多个接口,目的为组播地址的报文会被送到被标识的所有接口 任播地址(Anycast Address) 标识多个接口,目的为任播地址的报文会被送到最近的一个被标识接口,最近节点是由路由协议来定义的 任播地址与单播地址使用同一个地址空间 IPv6地址分类 IPv6地址分类
IPv6单播地址分类(RFC3513) 未指定地址:全0地址 :: 回环地址:::1 全球单播地址 例2001:A304:6101:1::E0:F726:4E58 内嵌IPv4地址的IPv6地址 例::10.153.70.200 链路本地地址 例FE80::E0:F726:4E58 站点本地地址 例FEC0::E0:F726:4E58 IPv6地址分类 IPv6单播地址
未指定地址 全0,表示为 ::/128 仅用于接口没有分配地址时作为源地址 在重复地址检测中出现 含有未指定地址的包不会被转发 IPv6单播地址 未指定地址
环回地址 表示为 ::1/128 表示自己,如同IPv4中的127.0.0.1 IPv6单播地址 环回地址
全球单播地址 格式 已分配的全球路由前缀 2001::/16 IPv6 Internet 2002::/16 6to4 2003::/16-3ffd::/16 未指定 3ffe::/16 6bone IPv6单播地址 全球单播地址 Interface ID Global Routing Prefix Subnet ID
IPv6单播地址 内嵌IPv4地址的地址 • 内嵌IPv4地址的IPv6地址 • IPv4兼容IPv6地址:用于IPv4兼容IPv6自动隧道(面对终端) • IPv4映射IPv6地址:用于IPv6表示IPv4地址(面对网络) IPv4兼容IPv6地址 80bits 16bits 32bits 0 0000 IPv4 IPv4映射IPv6地址 80bits 16bits 32bits 0 FFFF IPv4
IPv6单播地址 本地使用地址 • 本地使用的IPv6地址 • 链路本地地址:在本地链路中使用,路由器不允许转发含有链路本地地址的包 • 站点本地地址:相当于v4网络中的私网地址,路由器不允许转发含有站点本地地址的包到站点以外 10 bits 54 bits 64 bits Interface ID 0 1111111010 64 bits 10 bits 38 bits 16 bits Subnet ID Interface ID 0 1111111011
IPv6组播地址 IPv6组播地址 • Flags 永久标志 • 0000:永久多播地址 • 0001:临时多播地址 • (注:前3bits保留为0) • Scope 应用范围 • 0001:本地接口范围,单个接口范围有效,仅用于Loopback • 0010:本地链路范围 • 0100:本地管理范围,管理员配置的 • 0101:本地站点范围 • 1000:本地组织范围,属于同一个组织的多个站点范围 • 1110:全局范围 • Group ID • 组播组ID 8bits 4bits 4bits 112 bits 11111111 flags Scope group ID
IPv6组播地址 预定义的组播组 • Node-local • 所有节点的组播地址: FF01:0:0:0:0:0:0:1 • 所有路由器的组播地址: FF01:0:0:0:0:0:0:2 • Link-local • 所有节点的组播地址: FF02:0:0:0:0:0:0:1 • 所有路由器的组播地址: FF02:0:0:0:0:0:0:2 • Solicited-Node组播地址: FF02:0:0:0:0:1:FFXX:XXXX • 所有OSPF路由器组播地址: FF02:0:0:0:0:0:0:5 • 所有OSPF的DR路由器组播地址: FF02:0:0:0:0:0:0:6 • 所有RIP路由器组播地址: FF02:0:0:0:0:0:0:9 • 所有PIM路由器组播地址: FF02:0:0:0:0:0:0:13
IPv6组播地址 Solicited-Node组播地址 • IPv6中特有的组播地址 • Solicited-Node组播地址生成过程 接口ID的后24bits:XX:XXXX • 前缀:FF02:0:0:0:0:1:FF • FF02:0:0:0:0:1:FFXX:XXXX
IPv6任播地址 IPv6任播地址 • 代表一组接口,但是发往任播的报文只会被发送到最近的一个接口 • 任播地址与单播地址使用相同的地址空间,因此任播与单播的表示无任何区别;配置时须明确表明是任播地址,以此区别单播和任播(仅被用做目标地址, 且仅分配给路由器) Who’s Gateway? I’m nearest one.
128-n bits n bits 0 Subnet prefix IPv6任播地址 IPv6任播地址(续) • 子网路由器任播地址:发往该任播地址的报文会被发到该子网所有路由器中离得最近的一个,地址格式如下: 全0的接口ID
内容介绍 第1章 IPv6发展状况 第2章 IPv6地址 第3章 IPv6报文
内容介绍 • 第3章 IPv6报文 • 第1节 IPv6报文结构 • 第2节 IPv6基本报头 • 第3节 IPv6扩展报头
IPv6报文结构 IPv6报文结构 • IPv6报文一般都有三个部分组成 • 基本报头:包括报文转发的基本信息,路由器通过基本报头解析就能完成绝大多数的报文转发任务 • 扩展报头:包括一些扩展的报文转发信息,该部分不是必需的,也并不是每个路由器都需要处理,一般只有在目的路由器(或者主机)才处理扩展报头 • 上层协议数据单元:这部分与IPv4的上层协议数据单元没有区别
内容介绍 • 第3章 IPv6报文 • 第1节 IPv6报文结构 • 第2节 IPv6基本报头 • 第3节 IPv6扩展报头
IPv6基本报头 报头结构 32bits
IPv6基本报头 32bits 32bits IPv4 Header IPv6 Header
内容介绍 • 第3章 IPv6报文 • 第1节 IPv6报文结构 • 第2节 IPv6基本报头 • 第3节 IPv6扩展报头
IPv6扩展报头 IPv6扩展报头 • IPv6的基本报头里面携带了转发所需要的基本信息,而原来IPv4中的选项部分被放在扩展报头中。 4 11 0 3 12 31 Version Traffic Class Flow Label Payload Length Next Header Hop Limit Source address [128bits] Destination address [128bits] Next Header(8bits) Extended Header 1 Next Header(8bits) Extended Header 2
IPv6扩展报头 扩展报头种类 • 逐跳选项扩展头 Hop by Hop Options Header • 路由扩展头 Routing Header • 分段扩展头 Fragment Header • 目的选项扩展头 Destination Options Header • 身份验证扩展头 Authentication Header • 封装安全性净荷扩展头 Encapsulating Security Payload Header
IPv6扩展报头 扩展报头出现的顺序 • 扩展报头可以出现多次,顺序如下 IPv6 basic header 1. Hop-by-Hop Options header 2. Destination Options header 3. Routing header 4. Fragment header 5. Authentication header 6. Encapsulating Security Payload header 7. Destination Options header Upper-layer header • 除目的选项扩展头外,每种扩展报头只能出现一次 • 目的选项扩展头最多出现两次,一次在路由扩展头之前,一次在上层数据之前,如果没有路由扩展头,则只能出现一次
IPv6扩展报头 逐跳选项头 • 逐跳选项头(NextHeader=0) • Next Header表示下一个报头的协议类型 • Hdr Ext Len表示逐跳选项头的长度(不包括Next Header) • Options是一系列选项字段和填充字段的组合
IPv6扩展报头 逐跳选项头(续) • 逐跳选项头——Options的选项段 • Options字段中由若干选项段和填充段组成 • 选项段的格式TLV编码(类型-长度-值) • 选项类型(Option Type)表示了这个选项内容的类型 • 选项长度(Opt Data Len)表示选项中的字节数 • 选项数据(Option Data)指与该选项相关的特定数据
IPv6扩展报头 逐跳选项头(续) • 逐跳选项头——Options的填充段 • 为了保证Hop-by-Hop选项头的长度为64bits的整数倍(便于64bits处理),经常需要在Options中添加填充段,填充段有两种 • PAD1:单个字节填充 • PADN:多字节填充
IPv6扩展报头 逐跳选项头(续) • 逐跳选项头作用 • 用于巨型载荷(载荷长度超过65535字节) • 用于路由器提示,使路由器检查该选项的信息,而不是简单的转发出去 • 用于资源预留RSVP
IPv6扩展报头 路由扩展头 • 路由扩展头(Next Header=43) • 用于指定报文转发必须经过的中间节点 • Next Header表示下一个头的协议类型 • Hdr Ext Len表示扩展头的长度(不包括Next Header) • Routing Type表示路由类型,对应后面的类型数据type-specific data。目前RFC2460中只定义了Routing Type=0的情况 • Segments Left表示到达最终目的地还需要经过多少个必须的中间节点 • Type-specific data根据Routing Type的值,给出相应的转发数据。RFC2460中定义的Routing Type=0时,Type-specific data就是指定要经过的中间节点的地址列表。
Source: A Destination: R5 Router List: R2, B Segments Left: 1 IPv6扩展报头 路由扩展头(续) A R1 R2 R3 Source: A Destination: R2 Router List: R5, B Segments Left: 2 R4 R5 Source: A Destination: B Router List: R2, R5 Segments Left: 0 R7 R6 R8 Destination Source: A Destination: B Router List: R2, R5 Segments Left: 0 B
IPv6扩展报头 分段扩展头 • 分段扩展头(Next Header=44)(仅在源节点和目的节点处理,中途路由器不处理) • 当报文超过了MTU时就需要将报文分段发送,分段发送通过分段扩展头来完成; • Next Header表示下一个报文头 • Reserved是保留字段 • Fragment Offset表示分段偏移量,就是指报文段在原始报文中的位置偏移量 • Res是保留字段 • M flag:1表示后续还有分片报文,0表示最后一个分片报文 • Identification表示分段的ID
IPv6扩展报头 目的选项头 • 目的选项头(Next Header=60) • 参数含义与逐跳选项头相同,目的地选项头包含目的地需要处理的信息 • 报文的最终目的地和路由头地址列表中的节点都会检查该选项 • 可出现2次:路由头之前和上层数据之前