《IPv6技术白皮书.pdf》由会员分享,可在线阅读,更多相关《IPv6技术白皮书.pdf(50页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Copyright?2007 杭州华三通信技术有限公司第1页,共57页IPv6技术白皮书关键词:IPv6 ISATAP NAT-PT 摘要:本文介绍了IPv6 的产生背景和技术要点和组网策略缩略语清单:缩略语英文全名中文解释ND Neighbour Discovery Protocol 邻居发现协议PMTUD Path MTU Discovery Protocol 路径 MTU 发现协议ISATAP Intra-Site Automatic Tunnel Addressing Protocol 站点内自动隧道地址协议NAT-PT Network Address Translation-Prot
2、ocol Translation 网络地址转换协议转换Teredo Tunneling IPv6 over UDP through NATs IPv6 使用 IPv4 UDP 隧道穿越 NAT RIPng Route Information Protocol Next Generation下一代 RIP协议OSPFv3 Open Short Path First Prtocol Version 3 开放最短路径优先协议版本3 BGP4+Boarder Gateway Protocol 4边际网关协议 4+MLD Multicast Listener Discovery 组播侦听协议PIM-SM
3、 Protocol Indepent Multicast-Sparse Mode 协议无关组播稀疏模式PIM-DM Protocol Indepent Multicast-Dense Mode 协议无关组播密集模式Copyright?2007 杭州华三通信技术有限公司第2页,共57页目 录1 概述.42 技术应用背景.42.1 IPv6 产生的背景.42.2 技术优点.63 特性介绍.113.1 IPv6 报文格式.113.1.1 IPv6 报文基本头格式.113.1.2 IPv6 报文扩展头格式.133.1.3 IPv6 ICMP报文格式.153.2 IPv6 地址结构定义.153.2.1
4、IPv6 地址表示.153.2.2 IPv6 地址前缀表示.163.2.3 IPv6 地址分类.163.2.4 IPv6 单播地址.173.2.5 IPv6 泛播地址.183.2.6 IPv6 多播地址.193.2.7 嵌入 IPv4 地址的 IPv6 地址.213.2.8 IPv6 中特殊的地址.223.2.9 节点和路由器必须支持的IPv6 地址.223.3 IPv6 地址分配.233.3.1 全球单播地址空间分配.233.3.2 IPv6 实验网络地址分配(6BONE).244 IPv6 基本功能.244.1 IPv6 邻居发现协议.244.1.1 邻居发现.254.1.2 路由器发现.
5、264.1.3 IPv6 无状态地址自动配置.284.1.4 重定向.284.2 IPv6 路径 MTU 发现协议.284.3 IPv6 域名解析.295 IPv4 向 IPv6过渡技术.30Copyright?2007 杭州华三通信技术有限公司第3页,共57页5.1 IPv6/IPv4 双协议栈.315.1.1 双栈.315.1.2 DSTM.315.2 IPv6 穿越 IPv4 隧道技术.335.2.2 IPv6 手工配置隧道.345.2.3 IPv4 兼容自动隧道.345.2.4 6to4 自动隧道.355.2.5 ISATAP隧道.375.2.6 IPv6 over IPv4 GRE隧
6、道.395.2.7 隧道代理.395.2.8 6over4 机制.405.2.9 6PE.415.2.10 Teredo 隧道.425.3 IPv6 与IPv4互通技术.425.3.1 SIIT.435.3.2 NAT-PT.445.3.3 BIS.475.3.4 BIA.485.3.5 TRT.495.3.6 Socket IPv4/IPv6网关.506 IPv6 路由技术.516.1 IPv6 单播路由协议.516.1.1 RIPng.516.1.2 OSPFv3.516.1.3 ISISv6.526.1.4 BGP4+.526.2 IPv6 多播路由协议.536.2.1 MLDv1 Sn
7、ooping.536.2.2 MLDv1.536.2.3 PIM-SM.536.2.4 PIM-DM.537 IPv6 部署策略.538 相关协议标准.55Copyright?2007 杭州华三通信技术有限公司第4页,共57页1 概述IPv6(Internet Protocol Version 6,因特网协议版本6)是网络层协议的第二代标准 协 议,也 被 称 为 IPng(IP Next Generation,下 一 代 因 特 网),它 是 IETF(Internet Engineering Task Force,Internet 工程任务组)设计的一套规范,是IPv4 的升级版本。IPv
8、6和IPv4 之间最显著的区别为:IP地址的长度从 32比特增加到128比特。2 技术应用背景2.1 IPv6 产生的背景IPv6 是IPv4的未来替代协议。IPv4 协议是目前广泛部署的因特网协议,从1981 年最初定义(RFC791)到现在已经有 20多年的时间。IPv4 协议简单、易于实现、互操作性好,IPv4 网络规模也从最初的单个网络扩展为全球范围的众多网络。然而,随着因特网的迅猛发展,IPv4 设计的不足也日益明显,主要有以下几点:zIPv4 地址空间不足IPv4 地址采用 32 比特标识,理论上能够提供的地址数量是43亿。但由于地址分配的原因,实际可使用的数量不到43 亿。另外,
9、IPv4 地址的分配也很不均衡:美国占全球地址空间的一半左右,而欧洲则相对匮乏;亚太地区则更加匮乏(有些国家分配的地址还不到256个)。随着因特网发展,IPv4 地址空间不足问题日益严重。z骨干路由器维护的路由表表项数量过大由于 IPv4 发展初期的分配规划的问题,造成许多IPv4地址块分配不连续,不能有效聚合路由。针对这一问题,采用CIDR 以及回收并再分配IPv4地址,有效抑制了全球IPv4 BGP路由表的线性增长。但目前全球IPv4 BGP 路由表仍不断在增长,已经达到 17万多条,经过CIDR 聚合以后的 BGP 也将近 10 万条。日益庞大的路由表耗用内存较多,对设备成本和转发效率都
10、有一定的影响,这一问题促使设备制造商不断升级其路由器产品,提高其路由寻址和转发的性能。z不易进行自动配置和重新编址由于 IPv4 地址只有 32比特,地址分配也不均衡,经常在需要在网络扩容或重新部署Copyright?2007 杭州华三通信技术有限公司第5页,共57页时,需要重新分配IP地址,因此需要能够进行自动配置和重新编址以减少维护工作量。z不能解决日益突出的安全问题随着因特网的发展,安全问题越来越突出。IPv4 协议制定时并没有仔细针对安全性进行设计,因此固有的框架结构并不能支持端到端安全。因此,安全问题也是促使新的 IP协议出现的一到动因。针对 IPv4 地址短缺问题,也出现了多种解决
11、方案。比较有代表性的是CIDR 和NAT。(1)CIDR CIDR 是无类域间路由的简称。IPv4 设计之初是层次化的结构,分为A类(掩码长度为 8)、B类(掩码长度为16)、C类地址(掩码长度为24),地址利用效率不高。CIDR 支持任意长度的地址掩码,使ISP能够按需分配地址空间,提高了地址空间利用率。CIDR 的出现大大缓解了地址紧张问题,但由于各种网络设备、主机的不断出现,对 IP地址的需求也越来越多,CIDR 还是无法解决IPv4 地址空间过小问题(32 比特)。(2)NAT NAT 也是针对 IPv4 地址短缺问题提出的一种解决方案。其基本原理是在网络内部使用私有地址,在NAT 设
12、备处完成私有地址和外部公有地址的翻译,达到减少公有地址使用的目的。NAT 也是一种广泛部署的地址短缺问题解决方案。但NAT 有以下缺点:zNAT 破坏的 IP 的端到端模型如果没有 NAT,则使用 IPv4只需要连接的端点负责维护连接,下层不需要处理任何连接,整个网络模型清晰、简洁。使用NAT 则NAT 设备需要关心每条连接的状态,增加了网络复杂性。zNAT 存在单点失效问题NAT 必须进行地址和端口翻译、保存连接状态,当NAT 设备失效或 NAT 设备附近链路失效时,由于NAT 中维护了状态,因此很难进行快速重路由,降低了网络的可靠性。z非 NAT 友好应用支持问题Copyright?200
13、7 杭州华三通信技术有限公司第6页,共57页对于非 NAT 友好的应用,仅仅进行地址和端口号转换是不够的。这些应用中所有和地址或端口号或安全关联等相关的数据都必须进行 NAT 转换才能正常运行。因此每当新出现这样的应用时都需要升级NAT 设备。z不支持端到端安全NAT 需要对 IP报文头进行修改,有时甚至需要修改应用相关数据。端到端安全中IP头的完整性通过加密函保证,报文的发出者负责保护报文头的完整性,在接收端检查收到报文的完整性,在转发过程中任何对报文头的修改都会破坏完整性检查。因此在部署 NAT 的情况下无法支持端到端的安全。z网络扩容或重新部署困难不同的网络网络有可能使用相同的的私有地址
14、空间,如192.168.0.1/24,则当这些网络合并或连在一起时,就会出现地址空间冲突。这时就需要重新编址或使用二次NAT 来解决问题,但这些解决方案增加了网络管理的复杂性。zNAT 不能解决所有地址短缺问题NAT 采用内部私有地址和外部地址(或端口)进行映射的方法解决地址短缺问题,但这种解决方法只有在内部地址和外部地址比例很大时才能有效节约地址。不过许多服务器部署在内部网络中,同一协议使用的外部地址不能复用于同一端口。例如:两个使用相同端口(如HTTP)的内部服务器。从上可见,推动IPv6 发展的主要问题是IPv4地址空间即将耗尽。IPv6也提供了一些新的特性和和改善措施:z设计回归简洁、
15、透明,提高实现效率,减少复杂性z为新出现的移动业务提供支持z重新引入端到端安全和QoS 2.2 技术优点IPv6 技术具有如下优点:(1)128位地址结构,提供充足的地址空间近乎无限的 IP地址空间是部署IPv6 网络最大的优势。和IPv4相比,IPv6 的地址比特数是 IPv4 的4倍(从 32 位扩充到 128 位)。128 位地址可包含约43亿 43亿 43 亿43 亿个地址节点,足已满足任何可预计的地址空间分配(IPv4 理论上能够提供的上限是 43亿个,而 IPv6 理论上地址空间的上限是43亿 43亿 43亿 43 亿)。图1 IPv6 地址格式(2)层次化的网络结构,提高了路由效
16、率IPv6 地址长度为 128 位,可提供远大于IPv4的地址空间和网络前缀,因此可以方便地进行网络的层次化部署。同一组织机构在其网络中可以只使用一个前缀。对于ISP,则可获得更大的地址空间。这样ISP 可以把所有客户聚合形成一个前缀并发布出去。分层聚合使全局路由表项数量很少,转发效率更高。另外,由于地址空间巨大,同一客户使用多个ISP接入时可以同时使用不同的前缀,这样不会对全局路由表的聚合造成影响。(3)IPv6报文头简洁,灵活,效率更高,易于扩展图2 IPv6 和IPv4 报文头格式对比IPv6中废弃的域:zIHL 域IPv4 中IHL 域用于标识 IPv4 报文头长度。由于IPv4报文头
17、中存在选项域,因此其报文头长度域是必须的。但由于IHL域只有 4比特(最小值为5,以 4字节为单位),报文头的选项的扩展能力有限。IPv6 的报文头由基本头和选项头组成。基本头长度Copyright?2007 杭州华三通信技术有限公司第7页,共57页Copyright?2007 杭州华三通信技术有限公司第8页,共57页固定(40字节),因此IHL域在 IPv6 中废除。zIdentification域IPv4 中的 Identification 域由发送方赋值,用于标识同一组分片报文,以帮助进行分片报文重组。IPv6 分片报文是通过扩展头实现的,此域在IPv6 基本头中不再需要。zFlags
18、域IPv4 中的 Flags 域用于标记报文是否分片以及是否为最后一个分片。IPv6 分片报文是通过选项头实现的,此域在IPv6 基本头中不再需要。zFragment Offset域IPv4 中的 Fragment Offset域用来标记分片报文在未分片前原始报文中的位置。IPv6 分片报文是通过选项头实现的,此域在IPv6基本头中不再需要。zHeader Checksum域IPv4 中的 Header Checksum域用于检验IPv4 报文头是否有错误。由于目前网络中链路层一般可靠性比较高且都有校验,同时传输层也有自己的报文头校验计算,因此此域有些多余。而且此域计算包括TTL,在每个转发路
19、由器都需要重新计算,对效率也有影响。因此IPv6 中废除了此域(但UDP 报文头中的校验和计算改为必须的)。zOptions 域IPv4 中 Options 域是为支持选项使用的,长度可变,但受限于IPv4 报文头长度,扩展能力有限。IPv6 中使用选项头实现此功能,因此不再需要此域。zPadding 域IPv4 中的 Padding 域是为了保证报文头结束于32比特边界,便于硬件存取。IPv6 中基本头长度固定,因此不再需要此域。IPv6 新增加的域:zFlow Label域IPv6 报文头中新增了流标签域,源节点可以使用这个域标识特定的数据流。流标签由源节点分配,通过流标签、源地址、目的地
20、址可以唯一标识一条流。使用流标签而不是传统的五元组方式(源地址、目的地址、源端口、目的端口和传输层协议号)的最大好处有两点:流标签可以和任意的流关联,需要标识不同类型的流(可以是非五元组)时,无需对流标签做改动;流标签在IPv6 基本头中,使用IPSec 时此域对转发路由器可见,因此转发路由器可以在使用IPv6 报文 IPSec 的情况下仍然可以通过三元组(流标签、源地址、目的地址)针对特定的流进行QoS 处理。IPv6 和IPv4 相比,去除了IHL、Identification、Flags、Fragment Offset、Header Checksum、Options、Paddiing 域
21、,只增了流标签域,因此IPv6 报文头处理比 IPv4大大简化,提高了处理效率。另外,IPv6为了更好支持各种选项处理,提出了扩展头的概念,新增选项时不必修改现有结构就能做到,理论上可以无限扩展,体现了优异的灵活性。图3 IPv6 扩展头结构(4)支持自动配置,即插即用IPv6 协议内置支持通过地址自动配置方式使主机自动发现网络并获取IPv6 地址,大大提高了内部网络的可管理性。使用自动配置,用户设备(如移动电话、无线设备)可以即插即用而无需手工配置或使用专用服务器(如DHCP Server)。本地链路上的路由器在路由器通告报文中发送网络相关信息(如本地链路的前缀、缺省路由等),主机收到后会根
22、据本地接口自身的接口标识符组合成主机地址,从而完成Copyright?2007 杭州华三通信技术有限公司第9页,共57页Copyright?2007 杭州华三通信技术有限公司第10页,共57页自动配置。(5)支持端到端安全IPv4 中也支持 IP层安全特性(IPSec),但只是通过选项支持,实际部署中多数节点都不支持。IPSec 是 IPv6协议基本定义中的一部分,任何部署的节点都必须能够支持。因此,在 IPv6 中支持端到端安全要容易的多。IPv6 中支持为 IP定义的安全目标:保密性(只有预期接收者能读数据)、完整性(数据在传输过程中没有被篡改)、验证性(发送数据的实体和所宣称的实体完全一
23、致)。(6)支持移动特性IPv6 协议规定必须支持移动特性,任何IPv6 节点都可以使用移动IP功能。和移动 IPv4 相比,移动 IPv6使用邻居发现功能可直接实现外地网络的发现并得到转交地址,而不必使用外地代理。同时,利用路由扩展头和目的地址扩展头移动节点和对等节点之间可以直接通信,解决了移动IPv4 的三角路由、源地址过滤问题,移动通信处理效率更高且对应用层透明。(7)新增流标签功能,更利于支持QoS IPv6 报文头中新增了流标签域,源节点可以使用这个域标识特定的数据流。转发路由器和目的节点都可根据此标签域进行特殊处理,如视频会议和VOIP 等数据流。IPv6 源节点使用 IPv6 报
24、文头中的 20比特流标签域来标识一条流。值为0的流标签标识报文不属于任何流。一条流由源地址、目的地址和流标签三个域唯一决定。源节点设定的流标签值在传输中不能改变。如果IPv6 节点没有提供针对流的特殊处理,则必须在接收或转发时忽略此域。源节点必须保证当前使用的流标签不被重用,在一条流中止 120 秒内,相应的流标签不被分配出去,源节点可针对不同的流设置长于 120秒的不被分配时间。为避免流标签的意外重用,源节点应按一定的顺序(如顺序递增或伪随机)分配新的流标签,并在系统重起时选定不同的初始化值。为支持针对特定流的处理,在源和目的节点路径上全部节点或部分节点必须记录流状态。目前关于如何在源节点和
25、其它节点之间协商标签还没有相关标准。3 特性介绍3.1 IPv6 报文格式3.1.1 IPv6 报文基本头格式图4 IPv6 基本头格式定义zVersion:4比特,值为 6表示 IPv6 报文zTraffic Class:8比特,类似于IPv4中的 TOS 域zFlow Label:20比特。IPv6 中新增。流标签可用来标记特定流的报文,以便在网络层区分不同的报文。转发路径上的路由器可以根据流标签来区分流并进行处理。由于流标签在IPv6 报文头中携带,转发路由器可以不必根据报文内容来识别不同的流,目的节点也同样可以根据流标签识别流,同时由于流标签在报文头中,因此使用IPSec后仍然可以根据
26、流标签进行 QoS 处理。zPayload Length:16 比特。以字节为单位的IPv6 载荷长度,也就是IPv6 报文基本头以后部分的长度(包括所有扩展头部分)。Copyright?2007 杭州华三通信技术有限公司第11页,共57页Copyright?2007 杭州华三通信技术有限公司第12页,共57页zNext Header:8比特。用来标识当前头(基本头或扩展头)后下一个头的类型。此域内定义的类型与 IPv4 中的协议域值相同。Pv6 定义的扩展头由基本头或扩展头中的扩展头域链接成一条链。这一机制下处理扩展头更高效,转发路由器只处理必须处理的选项头,提高了转发效率。zHop Lim
27、it:8比特。和 IPv4中的 TTL 字段类似。每个转发此报文的节点把此域减1,如果此域值减到0则丢弃。zSource Address:128比特。报文的源地址。zDestination Address:128比特。报文的目的地址3.1.2 IPv6 报文扩展头格式图5 IPv6 扩展头格式IPv6 选项字段是通过形成链式结构的扩展头支持的。IPv6 基本头后面可以有0到多个扩展头。IPv6 扩展头排列顺序如下:(1)逐跳选项头值为 0(在 IPv6基本头中定义)。此选项头被转发路径所有节点处理。目前在路由告警(RSVP 和MLDv1)与 Jumbo 帧处理中使用了逐跳选项头。路由告警需要通
28、知到转发路径中所有节点,需要使用逐跳选项头。Jumbo 帧是长度超过65535 的报文,传输这种报文需要转发路径中所有节点都能正常处理,因此也需要使用逐跳选项头功能。(2)目的选项头Copyright?2007 杭州华三通信技术有限公司第13页,共57页Copyright?2007 杭州华三通信技术有限公司第14页,共57页值为 60。只可能出现在两个位置:z路由头前这时此选项头被目的节点和路由头中指定的节点处理。z上层头前(任何ESP 选项后)此时只能被目的节点处理。Mobile IPv6中使用了目的选项头。Mobile IPv6中新增加一种类型的目的选项头(家乡地址选项)。家乡地址选项由目
29、的选项头携带,用于移动节点离开家乡后通知接收节点此移动节点对应的家乡地址。接收节点收到带有家乡地址选项的报文后,会把家乡地址选项中源地址(移动节点的家乡地址)和报文中源地址(移动节点的转交地址)交换,这样上层协议始终认为是在和移动节点的家乡地址在通信,实现了移动漫游功能。(3)路由头值为 43。用于源路由选项和Mobile IPv6。(4)分片头值为 44。此选项头在源节点发送的报文超过Path MTU(源和目的之间传输路径的MTU)时对报文分片时使用。(5)验证头(AH头)值为 51。用于 IPSec,提供报文验证、完整性检查。定义和IPv4中相同。(6)封装安全载荷头(ESP 头)值为 5
30、0。用于 IPSec,提供报文验证、完整性检查和加密。定义和IPv4 中相同。(7)上层头上层协议头,如TCP/UDP/ICMP等目的选项头最多出现两次(一次在路由头前,一次在上层协议头前),其它选项头最多出现一次。但IPv6 节点必须能够处理选项头(逐跳选项头除外,它固定只能进随基本头之后)的任意出现位置和任意出现次数,以保证互通性。3.1.3 IPv6 ICMP 报文格式图6 ICMP 报文格式ICMPv6 功能与 ICMPv4 类似。ICMPv6 用于 IPv6 节点报告报文处理过程中发生的错误以及完成其它层的功能,例如诊断功能(ICMPv6 “ping”)。ICMPv6 是IPv6 的
31、一部分,每个 IPv6 节点都必须实现。ICMPv6 报文主要分两类:(1)差错报文z目的地不可达报文z报文长度超大报文(用于路径MTU 发现协议)z传输超时报文(相当于IPv4 TTL等于 0 时触发的ICMP 报文)z报文参数错误报文(2)信息报文z回显请求报文z回显应答报文3.2 IPv6 地址结构定义3.2.1 IPv6 地址表示IPv6 地址包括 128比特,由使用由冒号分隔的16比特的十六进制数表示。16比特的十六进制数对大小写不敏感。如:FEDC:BA98:7654:3210:FEDC:BA98:7654:3210。另外,对于中间比特连续为0的情况,还提供了简易表示方法把连续出现
32、的0省略掉,用:代替(注意:只能出现一次,否则不能确定到底有多少省略的0),如下所示:1080:0:0:0:8:800:200C:417A 等价于 1080:8:800:200C:417A FF01:0:0:0:0:0:0:101 等价于 FF01:101 Copyright?2007 杭州华三通信技术有限公司第15页,共57页Copyright?2007 杭州华三通信技术有限公司第16页,共57页0:0:0:0:0:0:0:1 等价于 :1 0:0:0:0:0:0:0:0 等价于 :3.2.2 IPv6 地址前缀表示和IPv4 类似,IPv6 的子网前缀和链路关联。多个子网前缀可分配给同一链
33、路。IPv6地址前缀表示如下:ipv6-address/prefix-length 其中,ipv6-address 为16进制表示的 128比特地址;prefix-length 为 10进制表示的地址前缀长度。3.2.3 IPv6 地址分类RFC2373 中定义了多种IPv6地址类型:Allocation Prefix Fraction of (binary)Address Space -Reserved 0000 0000 1/256 Unassigned 0000 0001 1/256 Reserved for NSAP Allocation 0000 001 1/128 Reserved
34、 for IPX Allocation 0000 010 1/128 Unassigned 0000 011 1/128 Unassigned 0000 1 1/32 Unassigned 0001 1/16 Aggregatable Global Unicast Addresses 001 1/8 Unassigned 010 1/8 Unassigned 011 1/8 Unassigned 100 1/8 Copyright?2007 杭州华三通信技术有限公司第17页,共57页 Unassigned 101 1/8 Unassigned 110 1/8 Unassigned 1110 1
35、/16 Unassigned 1111 0 1/32 Unassigned 1111 10 1/64 Unassigned 1111 110 1/128 Unassigned 1111 1110 0 1/512 Link-Local Unicast Addresses 1111 1110 10 1/1024 Site-Local Unicast Addresses 1111 1110 11 1/1024 Multicast Addresses 1111 1111 1/256 注:(1)“未指定的地址”(全0)、环回地址(:1)和嵌入IPv4 地址的 IPv6 地址(“嵌入 IPv4 地址的 I
36、Pv6地址”见 2.3.4 节说明)从0000 0000格式前缀中分配。(2)除多播地址(格式前缀 1111 1111)外,格式前缀从001 到 111 的地址都必须有64比特的 EUI-64 格式的接口标识符。IPv6 地址分为单播地址、泛播地址、多播地址。和IPv4 相比,取消了广播地址类型,以更丰富的多播地址代替,同时增加了泛播地址类型。3.2.4 IPv6 单播地址IPv6 单播地址标识了一个接口,由于每个接口属于一个节点,因此每个节点的任何接口上的单播地址都可以标识这个节点。发往发往单播地址的报文,由此地址标识的接口接收。每个接口上至少要有一个链路本地单播地址,另外还可分配任何类型(
37、单播、泛播和多播)或范围的IPv6 地址。所有格式前缀不是多播格式前缀(1111 1111)的 IPv6 地址都是 IPv6 单播格式(泛播和 IPv6 单播格式相同)。IPv6 单播地址和 IPv4 单播地址一样可聚合。目前定义了多种 IPv6 单播地址格式,包括可聚合全球单播地址、NSAP 地址、IPX 层次地址、站点本地地址、链路本地地址和具有IPv4能力的主机地址(嵌入IPv4地址的 IPv6 地址)。目前广泛使用的是可聚合全球单播地址、站点本地地址和链路本地地址。图7 IPv6 单播地址格式IPv6 单播地址由子网前缀和接口ID 两部分组成。子网前缀由IANA、ISP 和各组织分配。
38、接口标识符目前定义为64比特,可以由本地链路标识生成或采用随机算法生成以保证唯一性。3.2.5 IPv6 泛播地址IPv6 泛播地址格式和IPv6 单播地址相同,用来标识一组接口的地址。一般这些接口属于不同的节点。发往泛播地址的报文被送到这组接口中与其最近的接口(由使用的路由协议判断哪个是最近的)。IPv6 泛播地址的用途之一是用来标识属于同一提供因特网服务的组织的一组路由器。这些地址可在IPv6 路由头中作为中间转发路由器,以使报文能够通过特定一组路由器进行转发。另一个用途就是标识特定子网的一组路由器,报文只要被其中一个路由器接收即可。其中有些泛播地址是已经定义好的,如子网路由器泛播地址。图
39、8 子网路由器泛播地址格式子网路由器器泛播地址中“subnet prefix”域用来标识特定链路。发送到子网路由器泛播地址的报文会被送到子网中的一个路由器。所有路由器都必须支持子网泛播地址子网路由器泛播地址用于节点需要和远端子网上所有路由器中的一个(不关心具体是哪一个)通信时使用。例如,一个移动节点需要和它的“家乡”子网上的所有移Copyright?2007 杭州华三通信技术有限公司第18页,共57页动代理中的一个进行通信。3.2.6 IPv6 多播地址1.IPv6 多播地址格式定义IPv6 多播地址用来标识一组接口,一般这些接口属于不同的节点。一个节点可能属于0到多个多播组。发往多播地址的报
40、文被多播地址标识的所有接口接收。注意:IPv6多播中不使用Hop Limiit 域(相当于 IPv4的TTL)图9 IPv6 多播地址格式其中:z11111111 8比特。标识此地址为多播地址zflags 4比特。flag域中定义如下:图10 IPv6 多播地址中的 flag域格式最高的 3比特标记为保留域,必须为0 T=0 表示为永久分配(“公认”)多播地址(由IANA 分配)T=1 表示为多播T=0 indicates a permanently-assigned(well-known)multicast address,assigned by the global internet nu
41、mbering authority.T=1 indicates a non-permanently-assigned(transient)multicast address.zscope Copyright?2007 杭州华三通信技术有限公司第19页,共57页Copyright?2007 杭州华三通信技术有限公司第20页,共57页4比特。用来标记此多播组的应用范围。可能的值有0 reserved 1 node-local scope/只在节点范围内有效2 link-local scope /只在链路范围有效3 (unassigned)4 (unassigned)5 site-local sco
42、pe/只在一个网络内有效6 (unassigned)7 (unassigned)8 organization-local scope/只在组织内有效9 (unassigned)A (unassigned)B (unassigned)C (unassigned)D (unassigned)E global scope/全局有效F reserved zgroup ID 标识多播组(可能是永久的,也可能是临时的,范围由scope 定义)2.IPv6 永久分配的多播地址目前的永久分配(“周知”)多播组如下:z保留的多播地址:FF00:-FF0F:(共16个地址)z所有节点的地址FF01:0:0:0:0
43、:0:0:1(节点本地)FF02:0:0:0:0:0:0:1(链路本地)z所有路由器地址FF01:0:0:0:0:0:0:2(节点本地)FF02:0:0:0:0:0:0:2(链路本地)FF05:0:0:0:0:0:0:2(站点本地)z被请求节点的地址FF02:0:0:0:0:1:FFXX:XXXX 上述地址由被请求节点的单播或泛播地址形成:取被请求节点单播或泛播地址的低24 比特,在前面增加前缀FF02:0:0:0:0:1:FF00:/104构成。例如,和IPv6 地址4037:01:800:200E:8C6C对应的被请求节点多播地址是FF02:1:FF0E:8C6C。此地址用在 IPv6 邻
44、居发现协议中,用在邻居请求报文中,由于只有后24比特单播地址相同的节点才会接收目的地址为此地址的报文,因此减少了通信流量(和IPv4 ARP 相比)。3.2.7 嵌入IPv4地址的 IPv6地址1.IPv4 兼容的 IPv6 地址图11 IPv4 兼容的的 IPv6 地址格式这种地址在低32 比特携带 IPv4 地址,前 96比特全 0,主要用在一种自动隧道技术,目的地址为这种地址的报文会被自动IPv4隧道封装(隧道的端点为自IPv6 报文中的IPv4 地址),由于这种技术不能解决地址耗尽问题,已经逐渐被废弃。Copyright?2007 杭州华三通信技术有限公司第21页,共57页2.IPv4
45、 映射的 IPv6 地址图12 IPv4 映射的 IPv6 地址这种地址最前80 比特为全 0,中间 16比特为全 1,最后 32比特为 IPv4 地址。这种地址用来把只支持IPv4 的节点用 IPv6 地址表示。在支持双栈的IPv6 节点上,IPv6应用发送目的报文是这种地址时,实际上发出的报文为IPv4报文(目的地址是“IPv4 映射的 IPv6 地址”中的 IPv4 地址)。3.2.8 IPv6 中特殊的地址IPv6 中还规定了以下几种特殊的IPv6 地址1.未指定的 IPv6 地址格式 0:0。未指定的 IPv6 地址不能分配给任何接口,被未分配到IPv6 地址的节点表示其没有 IPv
46、6地址。例如,一个节点启动后没有IPv6地址,发送报文时填充源地址全 0表示自身没有IP地址。未指定的IPv6 地址不能在IPv6报文头或路由头中作为目的地址出现。2.IPv6 环回地址格式:1。此地址与IPv4 中的 127.0.0.1 类似,一般在节点发报文给自身时使用,不能分配给物理接口。IPv6 环回地址不能作为源地址使用,目的地址为IPv6 环回地址的报文不能发送到源节点外,也不能被IPv6 路由器转发。3.2.9 节点和路由器必须支持的 IPv6地址1.节点必须支持的IPv6 地址每个主机必须把下列地址作为自身的地址z自身接口的链路本地地址z分配的单播地址z环回地址Copyrigh
47、t?2007 杭州华三通信技术有限公司第22页,共57页z所有节点多播地址z每个分配的单播或多播地址对应的被请求节点多播地址z此主机所属的其它多播组地址2.路由器必须支持的IPv6 地址z节点必须支持的IPv6 地址(2.3.5 第 1 节)z接口配置为路由器接口的子网路由器泛播地址z任何其它路由器配置的泛播地址z所有路由器多播地址z此路由器所属的其它多播组地址3.3 IPv6 地址分配3.3.1 全球单播地址空间分配因特网分配地址权威机构(IANA)负责 IPv6 地址空间的分配。目前IANA 从整个可聚合全球单播地址空间(格式前缀为001)中取 2001:/16 进行分配。RFC2450
48、中描述了推荐的地址分配策略。图13 可聚合全球单播的推荐分配方式其中:zFP 格式前缀,对于可聚合全局单播固定为001。zTLA ID 顶级聚合标识符。此域由IANA 分配给指定的注册机构。zSub-TLA 次顶级聚合标识符。此域由向IANA 注册的机构为满足一定条件的组织分配。这些组织一般是具有一定规模的ISP。zNLA ID 下一级聚合标识符。此域由地址注册机构或其下分配了Sub-TLA 的组织分配。Copyright?2007 杭州华三通信技术有限公司第23页,共57页Copyright?2007 杭州华三通信技术有限公司第24页,共57页zSLA ID 站点级聚合标识符。此域一般为组织
49、或企业内部进行子网划分使用。IANA 指定的注册机构则从地址空间2001:/16 分配/23 前缀,具体如下:2001:0200:/23 到 2001:0C00:/23分配给亚太地区(APNIC)2001:0400:/23分配给美国(ARIN)2001:0600:/23到2001:0800:/23分配给欧洲和中东(RIPE NCC)这些注册机构再从IANA得到的地址空间分配/32 前缀给 IPv6 ISP,IPv6 ISP 再从/32前缀中分配/48 前缀给每个客户。/48 前缀的地址空间还可以进一步分为/64 前缀的子网。这样每个客户最大可以有65535 个子网。为了限制 IPv4地址分配初
50、期的不合理分配方案,每个ISP 必须同时满足下列条件才能获得/32前缀:z部署外部路由协议z至少与 3 个 ISP 相连z至少有 40 个客户或至少在12 个月内显示有意提供IPv6 服务。3.3.2 IPv6 实验网络地址分配(6BONE)6BONE 网络是全球范围的IPv6 实验网络,使用网络前缀3ffe:0000:/16。每个伪顶级聚合分配 3ffe:0800:/28 范围内的/28前缀,最多支持2048 个伪顶级聚合。处于末端的站点从上游提供者得到/48 前缀,每个站点内还可细分为多个/64前缀。6BONE 网络 按层次化结 构分配地址,地址空间 由 IANA 定义 配,分配策 略在R