IPv6组播技术

概述
作为 IPv4协议的替代,IPv6协议使用 128位的地址结构解决了 IP地址不足的问题,同时对一些特 性进行了优化处理 。出现于 IPv4时代的组播技术,由于其有效解决了单点发送、多点接收的问题,实现了网络中点到多点的高效数据传送,能够大量节约网络带宽、降低网络负载,因此在 IPv6 中 的应用得到了进一步的丰富和加强 。
IPv6组播与 IPv4组播的最大不同在于 IPv6组播地址机制的极大丰富,而其它诸如组成员管理、组 播报文转发以及组播路由建立等与 IPv4组播基本相同 。因此,本文将重点介绍组播地址对 IPv6的 支持情况;对于 IPv6组播协议,只对其与 IPv4组播协议的异同进行大致的介绍 。
IPv6 组播技术实现IPv6组播地址在介绍 IPv6组播地址之前,先简单回顾一下 IPv6的地址结构:IPv6地址的长度为 128比特,每个 IPv6地址被分为 8组,每组的 16比特用 4个十六进制数来表示,组和组之间用冒号隔开,例如:FEDC:BA98:7654:3210:FEDC:BA98:7654:3210 。
IPv6组播地址格式IPv6组播地址用来标识一组接口,通常这些接口属于不同的节点 。一个节点可能属于 0到多个组播 组 。发往组播地址的报文被组播地址标识的所有接口接收 。
图1 IPv6组播地址格式


IPv6组播技术

文章插图
如图 1所示,IPv6组播地址中各字段的含义如下:
  • 0xFF:最高 8比特为 11111111,标识此地址为 IPv6组播地址 。
  • Flags:4比特,该字段中各位的取值及含义如表 1所示 。
表1 Flags字段各位的取值及含义
位取值及含义0位保留位,必须取0R位取 0表示非内嵌 RP的 IPv6 组播地址 ;取 1表示内嵌 RP的 IPv6 组播地址(此时 P、T位也必须置 1)P位取 0表示非基于单播前缀的 IPv6 组播地址; 取 1表示基于单播前缀的 IPv6 组播地址(此时 T位也必须置 1)T位取 0表示由 IANA 永久分配的 IPv6 组播地址 ;取 1表示非永久分配的 IPv6 组播地址
  • Scope:4比特 。用来标识该 IPv6组播组的应用范围,其取值及含义如表 2所示 。表2 Scope字段的取值及其含义

IPv6组播技术

文章插图
  • Group ID:112 比特,IPv6组播组标识号 。用来在由 Scope字段所指定的范围内唯一标识 IPv6 组播组,该标识可能是永久分配的或临时的,这由 Flags字段的 T位决定 。
预留的 IPv6组播地址根据 RFC 4291,目前已被预留的 IPv6组播地址如表3所示 。
表3 预留的 IPv6组播地址列表

IPv6组播技术

文章插图
说明:表3中的 X代表 0~F的任意一个十六进制数
基于单播前缀的 IPv6组播地址RFC 3306中规定了一种动态分配 IPv6组播地址的方式——基于单播前缀的 IPv6组播地址 。这种 IPv6组播地址中包含了其组播源网络的单播地址前缀,通过这种方式分配全局唯一的组播地址 。
图2 基于单播前缀的 IPv6组播地址格式

IPv6组播技术

文章插图
基于单播前缀的 IPv6组播地址的格式如图 2所示,其中各字段的含义如下: