当前位置:首页 >> 工学 >>

03 数通原理参考教材_卷三(组播、QoS和安全)

特性描述 IP 组播

目录

目录

1 IP 组播概述...................................................................................................................................1-1
1.1 简介..............................................................................................................................................................1-2 1.1.1 IP 数据传输 .........................................................................................................................................1-2 1.1.2 单播方式 ............................................................................................................................................1-3 1.1.3 广播方式 ............................................................................................................................................1-4 1.1.4 组播方式 ............................................................................................................................................1-5
1.2 IP 组播基本概念 ..........................................................................................................................................1-6 1.3 IP 组播模型分类 ..........................................................................................................................................1-7 1.4 IP 组播实现机制 ..........................................................................................................................................1-7
1.4.1 IP 组播基本构架 .................................................................................................................................1-7 1.4.2 组播地址 ............................................................................................................................................1-8 1.4.3 组播协议 .......................................................................................................................................... 1-11 1.5 组播报文转发............................................................................................................................................1-13 1.6 多实例组播................................................................................................................................................1-13 1.6.1 多实例简介.......................................................................................................................................1-13 1.6.2 多实例在组播中的应用...................................................................................................................1-14
2 IGMP ..........................................................................................................................................2-16
2.1 简介............................................................................................................................................................2-17 2.2 IGMPv1 实现机制......................................................................................................................................2-18
2.2.1 IGMPv1 消息.....................................................................................................................................2-18 2.2.2 IGMPv1 基本功能.............................................................................................................................2-19 2.3 IGMPv2 实现机制......................................................................................................................................2-20 2.3.1 IGMPv2 消息.....................................................................................................................................2-20 2.3.2 IGMPv2 基本功能.............................................................................................................................2-22 2.4 IGMPv3 实现机制......................................................................................................................................2-23 2.4.1 IGMPv3 消息.....................................................................................................................................2-23 2.4.2 IGMPv3 基本功能.............................................................................................................................2-27 2.5 SSM Mapping 实现机制 ............................................................................................................................2-28 2.6 多实例的 IGMP.........................................................................................................................................2-29 2.7 IGMP 的应用..............................................................................................................................................2-29

文档版本 01 (2006-12-08)

华为技术有限公司

i

目录

特性描述 IP 组播

2.7.1 ASM 主机动态接入 ..........................................................................................................................2-29 2.7.2 SSM 主机动态接入...........................................................................................................................2-30 2.7.3 SSM Mapping 主机动态接入 ...........................................................................................................2-30 2.7.4 静态加入组播组...............................................................................................................................2-31 2.8 参考信息....................................................................................................................................................2-31
3 PIM..............................................................................................................................................3-33
3.1 简介............................................................................................................................................................3-34 3.1.1 PIM 转发基础 ...................................................................................................................................3-34 3.1.2 PIM 支持的组播模型........................................................................................................................3-34 3.1.3 PIM 基本概念 ...................................................................................................................................3-36 3.1.4 PIM 路由表项 ...................................................................................................................................3-37
3.2 PIM-DM......................................................................................................................................................3-39 3.2.1 邻居发现 ..........................................................................................................................................3-39 3.2.2 扩散 Flooding ...................................................................................................................................3-40 3.2.3 剪枝 Prune ........................................................................................................................................3-41 3.2.4 嫁接 Graft .........................................................................................................................................3-42 3.2.5 断言 Assert .......................................................................................................................................3-43
3.3 PIM-SM ......................................................................................................................................................3-45 3.3.1 PIM-SM 原理简介 ............................................................................................................................3-45 3.3.2 邻居发现 ..........................................................................................................................................3-45 3.3.3 DR 竞选.............................................................................................................................................3-46 3.3.4 断言 Assert .......................................................................................................................................3-46 3.3.5 RP 发现..............................................................................................................................................3-47 3.3.6 加入 Join...........................................................................................................................................3-50 3.3.7 注册 Register ....................................................................................................................................3-52 3.3.8 SPT 切换............................................................................................................................................3-54 3.3.9 剪枝 Prune ........................................................................................................................................3-58 3.3.10 PIM-SM 的 BSR 管理域.................................................................................................................3-63
3.4 SSM.............................................................................................................................................................3-64 3.5 多实例的 PIM............................................................................................................................................3-66 3.6 PIM 控制消息.............................................................................................................................................3-66
3.6.1 PIM 控制消息类型 ...........................................................................................................................3-66 3.6.2 Hello 消息..........................................................................................................................................3-67 3.6.3 Register 消息 .....................................................................................................................................3-68 3.6.4 Register-Stop 消息.............................................................................................................................3-69 3.6.5 Join/Prune 消息 .................................................................................................................................3-70 3.6.6 Bootstrap 消息 ...................................................................................................................................3-72 3.6.7 Assert 消息.........................................................................................................................................3-73 3.6.8 Graft 消息 ..........................................................................................................................................3-74

ii

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播

目录

3.6.9 Graft-Ack 消息 ..................................................................................................................................3-75 3.6.10 Advertisement 消息 .........................................................................................................................3-75 3.6.11 State Refresh 消息 ...........................................................................................................................3-76 3.7 PIM 的应用.................................................................................................................................................3-78 3.7.1 小规模试验网组播...........................................................................................................................3-78 3.7.2 大规模稀疏组播网络.......................................................................................................................3-79 3.7.3 Internet 组播 ......................................................................................................................................3-80 3.8 参考信息....................................................................................................................................................3-80
4 MSDP .........................................................................................................................................4-82
4.1 简介............................................................................................................................................................4-83 4.1.1 PIM-SM 域 ........................................................................................................................................4-83 4.1.2 MSDP 实现域间组播........................................................................................................................4-83
4.2 MSDP 对等体.............................................................................................................................................4-85 4.2.1 配置 MSDP 对等体的位置 .............................................................................................................4-85 4.2.2 MSDP 对等体连接的类型 ...............................................................................................................4-85 4.2.3 域间 MSDP Peer 的类型..................................................................................................................4-87 4.2.4 典型示例 ..........................................................................................................................................4-88
4.3 Anycast RP ..................................................................................................................................................4-90 4.3.1 Anycast RP 应用环境 ........................................................................................................................4-90 4.3.2 Anycast RP 实现过程 ........................................................................................................................4-91 4.3.3 Anycast RP 的功能............................................................................................................................4-92
4.4 MSDP 控制消息.........................................................................................................................................4-92 4.4.2 携带(S,G)信息的 Source-Active 消息.....................................................................................4-93 4.4.3 SA 消息中封裝组播数据..................................................................................................................4-94 4.4.4 SA-Req 消息与 SA-Resp 消息 .........................................................................................................4-95
4.5 控制 SA 消息的传递.................................................................................................................................4-96 4.5.1 SA 消息的 RPF 规则 ........................................................................................................................4-96 4.5.2 Mesh Group .......................................................................................................................................4-97
4.6 多实例的 MSDP ........................................................................................................................................4-97 4.7 MSDP 的应用.............................................................................................................................................4-98
4.7.1 AS 内 PIM-SM 域间组播..................................................................................................................4-98 4.7.2 AS 间组播..........................................................................................................................................4-98 4.7.3 Anycast RP.......................................................................................................................................4-103 4.8 参考资料清单..........................................................................................................................................4-103
5 组播 VPN.................................................................................................................................5-105
5.1 简介..........................................................................................................................................................5-106 5.1.1 MPLS/BGP VPN 概述.....................................................................................................................5-106 5.1.2 在 VPN 中运行组播业务...............................................................................................................5-107
5.2 VRP 上的 MD VPN..................................................................................................................................5-109

文档版本 01 (2006-12-08)

华为技术有限公司

iii

目录

特性描述 IP 组播

5.2.1 VRP 上的 MD VPN 基本原理........................................................................................................5-109 5.2.2 MD VPN 中的组播报文 ................................................................................................................. 5-111 5.2.3 CE、PE 和 P 之间的 PIM 邻居关系.............................................................................................. 5-111 5.3 MD VPN 实现机制 .................................................................................................................................. 5-112 5.3.1 创建 Share-MDT ............................................................................................................................ 5-112 5.3.2 基于 Share-MDT 的 MT 传输过程 ............................................................................................... 5-114 5.3.3 Switch-MDT 切换 ........................................................................................................................... 5-117 5.4 MD VPN 常见应用 .................................................................................................................................. 5-119 5.4.1 单自治域 MD VPN ........................................................................................................................5-120 5.4.2 跨自治域 MD VPN ........................................................................................................................5-120 5.5 参考资料清单..........................................................................................................................................5-121
6 组播路由与转发.......................................................................................................................6-122
6.1 简介..........................................................................................................................................................6-123 6.1.1 控制平面 ........................................................................................................................................6-123 6.1.2 转发平面 ........................................................................................................................................6-124 6.1.3 组播转发流程.................................................................................................................................6-125 6.1.4 用户控制 ........................................................................................................................................6-127
6.2 RPF............................................................................................................................................................6-127 6.2.1 RPF 检查 .........................................................................................................................................6-127 6.2.2 用户控制 ........................................................................................................................................6-129
6.3 组播路由与转发的应用 ..........................................................................................................................6-132 6.3.1 使用组播静态路由改变 RPF 路由................................................................................................6-132 6.3.2 使用组播静态路由衔接 RPF 路由................................................................................................6-133 6.3.3 使用 GRE 隧道跨越单播网段传输组播数据 ...............................................................................6-134
6.4 参考信息..................................................................................................................................................6-134
7 QoS 简介...................................................................................................................................7-135
7.1 简介..........................................................................................................................................................7-136 7.2 业务发展概况..........................................................................................................................................7-136
7.2.1 传统的分组投递业务.....................................................................................................................7-136 7.2.2 新业务引发的新需求.....................................................................................................................7-136 7.3 拥塞的产生、影响和对策 ......................................................................................................................7-137 7.3.1 拥塞的产生.....................................................................................................................................7-137 7.3.2 拥塞的影响.....................................................................................................................................7-138 7.3.3 拥塞的对策.....................................................................................................................................7-138 7.4 QoS 的服务模型.......................................................................................................................................7-139 7.5 术语..........................................................................................................................................................7-140 7.6 资料参考清单..........................................................................................................................................7-140
8 流量监管和流量整形 ..............................................................................................................8-141

iv

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播

目录

8.1 简介..........................................................................................................................................................8-142 8.2 流分类......................................................................................................................................................8-142 8.3 流量监管..................................................................................................................................................8-143
8.3.1 用 CAR 进行流量监管 ..................................................................................................................8-143 8.3.2 流量监管的动作.............................................................................................................................8-145 8.4 流量整形..................................................................................................................................................8-145 8.5 接口限速..................................................................................................................................................8-147 8.6 流量监管和流量整形术语 ......................................................................................................................8-148 8.7 资料参考清单..........................................................................................................................................8-148
9 拥塞管理...................................................................................................................................9-149
9.1 简介..........................................................................................................................................................9-150 9.2 拥塞管理策略..........................................................................................................................................9-150
9.2.1 先入先出队列 FIFO .......................................................................................................................9-150 9.2.2 优先队列 PQ ..................................................................................................................................9-151 9.2.3 定制队列 CQ ..................................................................................................................................9-152 9.2.4 加权公平队列 WFQ.......................................................................................................................9-153 9.2.5 基于类的队列 CBQ .......................................................................................................................9-154 9.2.6 RTP 队列 .........................................................................................................................................9-156 9.2.7 紧急队列和协议队列.....................................................................................................................9-156 9.3 拥塞管理技术的对比 ..............................................................................................................................9-157 9.4 拥塞管理术语..........................................................................................................................................9-159
10 AAA 及用户管理配置 .........................................................................................................10-161
10.1 AAA 简介 .............................................................................................................................................10-162 10.1.1 AAA 的引入 ................................................................................................................................10-162 10.1.2 AAA 的基本构架 ........................................................................................................................10-163 10.1.3 AAA 的基本概念 ........................................................................................................................10-164
10.2 RADIUS 协议简介 ...............................................................................................................................10-165 10.2.1 RADIUS 协议的概述..................................................................................................................10-165 10.2.2 使用 RADIUS 协议对用户进行认证、计费的流程 ................................................................10-166 10.2.3 RADIUS 协议的特性..................................................................................................................10-167
10.3 HWTACACS 协议简介........................................................................................................................10-167 10.3.1 HWTACACS 协议概述...............................................................................................................10-167 10.3.2 使用 HWTACACS 协议的对用户进行认证、授权和计费的消息流程 .................................10-167 10.3.3 HWTACACS 协议和 RADIUS 协议的比较 ..............................................................................10-168 10.3.4 HWTACACS 协议的特性...........................................................................................................10-168
10.4 基于域的用户管理 .............................................................................................................................. 10-169 10.4.1 基于域的用户管理概述.............................................................................................................10-169 10.4.2 路由器对接入用户的管理.........................................................................................................10-170 10.4.3 AAA 对 PPP 用户的地址分配原则............................................................................................10-170

文档版本 01 (2006-12-08)

华为技术有限公司

v

目录

特性描述 IP 组播

10.5 AAA 及用户管理的应用 .....................................................................................................................10-171 10.5.1 使用 RADIUS 对接入用户进行管理 ........................................................................................10-171 10.5.2 使用 HWTACACS 对接入用户进行管理.................................................................................10-172
10.6 参考资料清单......................................................................................................................................10-172
11 NAT 及 NAT 用户日志配置 ..............................................................................................11-174
11.1 NAT 简介 .............................................................................................................................................. 11-175 11.1.1 NAT 的引入................................................................................................................................. 11-175 11.1.2 NAT 的基本概念 ......................................................................................................................... 11-175 11.1.3 NAT 的转换机制 ......................................................................................................................... 11-176 11.1.4 NAT 的多对多地址转换及地址池 ............................................................................................. 11-176 11.1.5 NAT 的特征................................................................................................................................. 11-177 11.1.6 NAT 的优缺点 ............................................................................................................................. 11-177 11.1.7 NAT 的性能................................................................................................................................. 11-177 11.1.8 NAT 在 VRP 上的实现 ............................................................................................................... 11-178 11.1.9 应用级网关 ALG........................................................................................................................ 11-181
11.2 NAT 用户日志简介 .............................................................................................................................. 11-181 11.2.1 NAT 用户日志的作用 ................................................................................................................. 11-181 11.2.2 NAT 用户日志的实现 ................................................................................................................. 11-182 11.2.3 NAT 用户日志的输出 ................................................................................................................. 11-182
11.3 NAT 以及 NAT 日志的应用................................................................................................................. 11-183 11.4 参考资料清单 ...................................................................................................................................... 11-183
12 IPSec .....................................................................................................................................12-185
12.1 IPSec 简介 ............................................................................................................................................12-186 12.1.1 IPSes 的引入 ...............................................................................................................................12-186 12.1.2 IPSec 协议简介 ...........................................................................................................................12-186 12.1.3 IPSec 基本概念 ...........................................................................................................................12-187
12.2 IPSec 在 VRP 上的实现.......................................................................................................................12-190 12.2.1 IPSec 的实现过程 .......................................................................................................................12-190 12.2.2 IPSec 支持 MPLS VPN 接入 ......................................................................................................12-192
12.3 IPSEC 的常见应用和组网 ...................................................................................................................12-193 12.4 参考资料清单......................................................................................................................................12-194
13 IKE.........................................................................................................................................13-195
13.1 IKE 概述 ...............................................................................................................................................13-196 13.1.1 IKE 协议引入..............................................................................................................................13-196 13.1.2 IKE 协议简介..............................................................................................................................13-196 13.1.3 IPSec 的 NAT 穿越......................................................................................................................13-198
13.2 IKE 在 VRP 上的实现 .........................................................................................................................13-198 13.3 IKE 的应用 ...........................................................................................................................................13-199

vi

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播

目录

13.4 参考资料清单......................................................................................................................................13-199
14 防火墙...................................................................................................................................14-201
14.1 防火墙概述..........................................................................................................................................14-202 14.1.1 防火墙的引入.............................................................................................................................14-202 14.1.2 防火墙的作用.............................................................................................................................14-202 14.1.3 防火墙的效率.............................................................................................................................14-203
14.2 包过滤防火墙简介 .............................................................................................................................. 14-203 14.2.1 包过滤防火墙的基本概念.........................................................................................................14-203 14.2.2 VRP 对分片报文过滤的支持 .....................................................................................................14-204
14.3 ASPF 简介 ............................................................................................................................................14-205 14.3.1 ASPF 的概念 ...............................................................................................................................14-205 14.3.2 VRP 对 ASPF 的支持 .................................................................................................................14-205
14.4 黑名单简介..........................................................................................................................................14-205 14.4.1 黑名单的概念.............................................................................................................................14-206 14.4.2 黑名单的特点.............................................................................................................................14-206 14.4.3 VRP 对黑名单的支持 .................................................................................................................14-206
14.5 MAC 和 IP 地址绑定简介 ...................................................................................................................14-207 14.5.1 地址绑定的提出.........................................................................................................................14-207 14.5.2 VRP 对地址绑定的支持 .............................................................................................................14-208
14.6 端口映射简介......................................................................................................................................14-209 14.6.1 端口映射的概念.........................................................................................................................14-209 14.6.2 VRP 对端口映射的支持 .............................................................................................................14-209
14.7 流量统计及监控简介 ..........................................................................................................................14-209 14.7.1 基于 IP 地址的统计及监控功能概述 .......................................................................................14-210 14.7.2 VRP 平台上支持的流量统计及监控方法 .................................................................................14-210
14.8 防火墙的应用......................................................................................................................................14-210 14.8.1 防火墙应用在内外网之间......................................................................................................... 14-211 14.8.2 防火墙在内部网络中的应用..................................................................................................... 14-211
14.9 参考资料清单......................................................................................................................................14-212
15 攻击防范配置.......................................................................................................................15-213
15.1 攻击防范概述......................................................................................................................................15-214 15.1.1 攻击防范的引入.........................................................................................................................15-214 15.1.2 网络攻击的种类.........................................................................................................................15-214
15.2 网络攻击方法简介 .............................................................................................................................. 15-215 15.2.1 IP 欺骗攻击 .................................................................................................................................15-215 15.2.2 Land 攻击 ....................................................................................................................................15-216 15.2.3 Smurf 攻击...................................................................................................................................15-217 15.2.4 WinNuke 攻击 .............................................................................................................................15-218 15.2.5 SYN Flood 攻击 ..........................................................................................................................15-218

文档版本 01 (2006-12-08)

华为技术有限公司

vii

目录

特性描述 IP 组播

15.2.6 ICMP Flood 攻击.........................................................................................................................15-219 15.2.7 UDP Flood 攻击 ..........................................................................................................................15-220 15.2.8 地址扫描与端口扫描攻击.........................................................................................................15-220 15.2.9 Ping of Death 攻击 ......................................................................................................................15-220 15.2.10 ICMP-Unreachable 攻击 ...........................................................................................................15-221 15.2.11 ICMP-Redirect 攻击 ..................................................................................................................15-221 15.2.12 Route-Record、Source-Route 和 Timestamp 攻击...................................................................15-221 15.2.13 Ip-fragment 攻击........................................................................................................................15-222 15.2.14 Teardrop 攻击 ............................................................................................................................15-222 15.2.15 Fraggle 攻击 ..............................................................................................................................15-223 15.2.16 Tracert 攻击 ...............................................................................................................................15-223 15.3 攻击防范的应用..................................................................................................................................15-223

viii

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播

插图目录

插图目录
图 1-1 单播方式传输信息.................................................................................................................................1-3 图 1-2 广播方式传输信息.................................................................................................................................1-4 图 1-3 组播方式传输信息.................................................................................................................................1-5 图 1-4 IP 组播基本构架 .....................................................................................................................................1-8 图 1-5 组播 IP 地址与组播 MAC 地址的映射关系 ......................................................................................1-10 图 1-6 组播协议的应用位置...........................................................................................................................1-11 图 1-7 VPN 典型组网.......................................................................................................................................1-14

文档版本 01 (2006-12-08)

华为技术有限公司

ix

特性描述 IP 组播

表格目录

表格目录
表 1-1 组播技术关注事项.................................................................................................................................1-8 表 1-2 D 类地址的范围及含义..........................................................................................................................1-9 表 1-3 常见的永久组地址列表.........................................................................................................................1-9 表 1-4 组播协议 ..............................................................................................................................................1-11

文档版本 01 (2006-12-08)

华为技术有限公司

xi

特性描述 IP 组播

1 IP 组播概述

1 IP 组播概述

关于本章

本章描述内容如下表所示。 标题 1.1 简介
1.2 IP 组播基本概念 1.3 IP 组播模型分类 1.4 IP 组播实现机制 1.5 组播报文转发 1.6 多实例组播

内容
通过典型示例比较 IP 传输三种方式,介绍在进行点 对多点的 IP 传输中,使用 IP 组播的优势。 介绍 IP 组播技术的多种应用。
介绍 IP 组播中的基本概念。
介绍 IP 组播的三种基本模型,及其特点和应用环 境。
介绍 IP 组播的实现机制,包括:IP 组播基本架构, 组播地址、各种 IP 组播协议的功能和应用环境。
介绍 IP 组播报文的转发基础——RPF。
介绍 IP 组播在 VPN 中的应用。

文档版本 01 (2006-12-08)

华为技术有限公司

1-1

1 IP 组播概述

特性描述 IP 组播

1.1 简介
随着 Internet 网络的不断发展,网络中交互的各种数据、语音和视频信息越来越多,同 时新兴的电子商务、网上会议、网上拍卖、视频点播、远程教学等服务也在逐渐兴 起。这些服务大多符合点对多点的模式,对信息安全性、有偿性、网络带宽提出了较 高的要求。
如何在 IP 网络中实现点对多点的数据传输?
1.1.1 IP 数据传输
IP 数据传输基础是 IP 地址,Internet 使用 IP 地址标识并区分连接在网络上的各种设 备。
? IP 报文使用 IP 地址标识发送对象,也就是报文目的地址。 ? 用户主机根据接口逻辑能够识别的 IP 地址,来接收 IP 报文。 ? 路由器根据 IP 报文的目的地址找出下一跳,执行转发。
IP 数据传输过程
IP 数据传输的大致过程如下:
1. 信源发送 IP 报文,目的地址字段使用目的主机能够识别的 IP 地址。 2. 路由器执行转发,将报文送达目的主机所在的网段。该网段可能同时连接多台用
户主机。 3. 每一台用户主机检查网段内所有报文的目的地址,只接收自己能够识别的 IP 报
文。如果同一网段内的各台用户主机能够识别的 IP 地址不同,则接收到的 IP 报 文就不同。
用户主机能够识别的 IP 地址
用户主机能够识别的 IP 地址分为三类:
? 单播 IP 地址 一个单播 IP 地址只能标识一台用户主机,一台用户主机只能识别一个单播 IP 地 址,这种关系也称为一一对应。一份使用单播 IP 地址为目的地址的 IP 报文,只 能被一台用户主机接收。
? 广播 IP 地址 一个广播 IP 地址能够标识一定网络围内的所有用户主机,一台用户主机可以同时 识别多个广播 IP 地址。一份使用广播 IP 地址为目的地址的 IP 报文,能够被该范 围内的所有用户主机接收。
? 组播 IP 地址 一个组播 IP 地址能够标识网络不同位置的多个用户主机,一台用户主机可以同时 识别多个组播 IP 地址。一份使用组播 IP 地址为目的地址的 IP 报文,能够被网络 不同位置的多个用户主机接收。

1-2

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播

1 IP 组播概述

IP 传输三种方式
IP 传输分为三种方式,分别使用以上三类 IP 地址。 ? IP 单播(Unicast),简称为单播。 ? IP 广播(Broadcast),简称为广播。 ? IP 组播(Multicast),简称为组播。 应用以上三种传输方式,分别进行点对多点的数据传输。经过比较可以发现,组播在 此方面更具优势。
说明 下文以相同的网络环境为例,分别介绍单播、广播、组播三种传输方式。
1.1.2 单播方式
如图 1-1 所示,网络中存在信息发送者 Source,UserA 和 UserC 提出信息需求,网络采 用单播方式传输信息。

图1-1 单播方式传输信息

Source

RouterD

RouterA

RouterE

RouterB

RouterF

RouterC

packets for UserA packets for UserC

Receiver UserA
UserB
Receiver UserC

单播的特点

? 一份单播报文,使用一个单播地址作为目的地址。Source 向每个 Receiver 地址发 送一份独立的单播报文。N 个 Receiver 需要发送 N 份单播报文。如图中所示: packets for UserA;packets for UserC。
? 网络为每份单播报文建立一条独立的数据传送通路。N 份单播报文需要建立 N 条 相互独立的传输路径。如图中所示:Source→ RouterB → RouterE → RouterD → UserA;Source → RouterB → RouterE → RouterF → UserC。

文档版本 01 (2006-12-08)

华为技术有限公司

1-3

1 IP 组播概述

特性描述 IP 组播

单播的缺陷
单播方式下,网络中传输的信息量和需求该信息的用户量成正比,当需求该信息的用 户量较大时,网络中将出现多份相同信息流,不仅占用处理器资源而且浪费带宽。
单播方式较适合用户稀少的网络,当用户量较大时很难保证网络传输质量。
1.1.3 广播方式
如图 1-2 所示,网络中存在信息发送者 Source,UserA 和 UserC 提出信息需求,网络采 用广播方式传输信息。

图1-2 广播方式传输信息

Source

RouterD

RouterA

RouterE

RouterB

RouterF

RouterC

packets for all the network

Receiver UserA
UserB
Receiver UserC

广播的特点

? 一份广播报文,使用一个广播地址作为目的地址。Source 向网络广播地址发送且 仅发送一份报文。如图中所示:packets for all the network。
? 报文被拷贝并传送到每个网段,不管是否有需求,保证报文到达网络中所有的路 由器和用户。如图中所示:不需要此报文的用户 UserB 也能够接收到一份拷贝。

广播的缺陷

广播方式下,网络中所有用户都能接收到该信息,当网络中需求该信息的用户量很小 时,网络资源利用率将非常低,带宽浪费严重。不需要这些信息的用户也会受到影 响。
广播方式较适合用户稠密的网络,但是信息安全性和有偿服务得不到保障。

1-4

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播

1 IP 组播概述

1.1.4 组播方式
如图 1-3 所示,网络中存在信息发送者 Source,UserA 和 UserC 提出信息需求,网络采 用组播方式传输信息。

图1-3 组播方式传输信息

Source

RouterD

RouterA

RouterE

RouterB RouterF

RouterC

packets for the multicast group

Receiver UserA
UserB
Receiver UserC

组播的特点

? 一份组播报文,使用一个组播地址作为目的地址。Source(组播源)向一个组播 地址发送且仅发送一份报文。如图中所示:packets for all the multicast group。
? 网络中部署的组播协议为此组播报文建立一棵树型路由,根连接 Source,分支连 接所有组播组成员。如图中所示:Source→ RouterB → RouterE [ →RouterD → UserA | → RouterF → UserC ] 。

组播的优势

组播方式下,单一的信息流沿树型路径被同时发送给一组用户,相同的组播数据流在 每一条链路上最多仅有一份。相比单播来说,使用组播方式传递信息,用户的增加不 会显著增加网络的负载,减轻了服务器和 CPU 的负荷。
不需要此保文的用户不能收到此报文。相比广播来说,组播数据仅被传输到有接收者 的地方,减少了冗余流量、节约了网络带宽、降低了网络负载。
组播技术有效地解决了单点发送多点接收的问题,实现了 IP 网络中点到多点的高效数 据传送。

组播的应用

利用网络的组播特性可以方便地提供一些新的增值业务,包括在线直播、网络电视、 远程教育、远程医疗、网络电台、实时视/音频会议等互联网的信息服务领域。

文档版本 01 (2006-12-08)

华为技术有限公司

1-5

1 IP 组播概述

组播的应用主要体现在以下几方面:
? 多媒体、流媒体的应用 ? 培训、联合作业场合的通信 ? 数据仓库、金融应用(股票)等 ? 任何“点到多点”的数据发布应用

特性描述 IP 组播

1.2 IP 组播基本概念

组播组 组播源

组播组使用一个 IP 组播地址标识。任何用户主机(或其他接收设备),加入一个组播 组,就成为了该组成员,可以识别并接收以该 IP 组播地址为目的地址的 IP 报文。
以组播组地址为目的地址,发送 IP 报文的信源称为组播源。 ? 一个组播源可以同时向多个组播组发送数据。 ? 多个组播源可以同时向一个组播组发送报文。

组播组成员

组播组中的成员是动态的,网络中的用户主机可以在任何时刻加入和离开组播组。组 成员可能广泛分布在网络中的任何地方。
组播源通常不会同时是数据的接收者,不属于组播组成员。
说明
下文类比收看某电视频道的节目,可以帮助理解 IP 组播中的概念。
? 组播组是发送者和接收者之间的一个约定,如同电视频道。 ? 电视台是组播源,它向某频道内发送数据。 ? 电视机是接收者主机,观众打开电视机选择收看某频道的节目,表示主机加入某
组播组;然后电视机播放该频道电视节目,表示主机接收到发送给这个组的数 据。 ? 观众可以随时控制电视机的开关和频道间的切换,表示主机动态的加入或退出某 组播组。

组播路由器

网络中支持组播功能的路由器称为“组播路由器”。 组播路由器的功能: ? 在与用户主机连接的末梢网段,提供组播组成员管理功能。 ? 实现组播路由,指导组播报文的转发。

1-6

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播 ? 组播路由器本身也可能是组播组成员。

1 IP 组播概述

组播分发树

根据组播组成员的分布情况,组播路由协议为多目的端的数据包转发建立树型路由。 报文在距离组播源尽可能远的分叉路口才开始复制和分发,最终传送到组播组成员。

1.3 IP 组播模型分类

根据对组播源的控制程度的不同,IP 组播分为三种模型,分别为:
? ASM 模型 ? SFM 模型 ? SSM 模型

ASM 模型

ASM 全称为 Any-Source Multicast,译为任意源组播。在 ASM 模型中,任意发送者都 可以成为组播源,向某组播组地址发送信息。众多接收者通过加入由该地址标识的主 机组,从而接收到发往该组播组的所有信息。
在 ASM 模型中,接收者无法预先知道组播源的位置,接收者可以在任意时间加入或离 开该主机组。

SFM 模型

SFM 全称为 Source-Filtered Multicast。SFM 模型继承了 ASM 模型,从发送者角度来 看,组播组成员关系完全相同。
同时,SFM 在功能上对 ASM 进行了扩展:上层软件对接收到的组播报文的源地址进 行检查,允许或禁止来自某些组播源的报文通过。最终,接收者只能接收到来自部分 组播源的数据。从接收者角度来看,只有部分组播源是有效的,组播源经过了筛选。

SSM 模型

SSM 全称为 Source-Specific Multicast,译为指定源组播。在现实生活中,用户可能仅 对某些源发送的组播信息感兴趣,而不愿接收其它源发送的信息。SSM 模型为用户提 供了一种能够在客户端指定信源的传输服务。
SSM 模型和 ASM 模型的根本区别是接收者已经通过其他手段预先知道了组播源的具 体位置。SSM 使用和 ASM 不同的组播地址范围,直接在接收者和其指定的组播源之 间建立专用的组播转发路径。

1.4 IP 组播实现机制

1.4.1 IP 组播基本构架
组播模型复杂多样,其统一的用途是以组播方式将信息从组播源传输到接收者手中, 同时满足接收者对信息的各种需求。对于组播,需要关注的事项如表 1-1 所示。

文档版本 01 (2006-12-08)

华为技术有限公司

1-7

1 IP 组播概述

表1-1 组播技术关注事项 关注事项 哪里有组播接收者? 从哪里可以获得组播数据? 将组播数据传输到哪里? 如何传输组播信息?

特性描述 IP 组播
组播技术 主机接入 组播源发现技术 组播寻址机制 组播路由

组播属于一种端到端服务,按照协议层从下往上划分,IP 组播基本构架包括寻址机 制、主机接入、组播路由、组播应用四个部分,如图 1-4 所示。
图1-4 IP 组播基本构架

组播应用 …… ……
寻址机制 主机(组播源)

组播路由 ……
寻址机制 组播路由器

……

组播路由 主机接入 寻址机制 组播路由器

组播应用 ……
主机接入 寻址机制 主机(接收者)

? 寻址机制:使用组播地址,将一份数据报文发送给一组接收者。 ? 主机接入:基于组播协议实现,允许用户主机动态加入和离开某组播组,实现组
播成员管理。 ? 组播路由:基于组播协议实现,构建报文分发树进行组播路由,从组播源传输报
文到接收者。 ? 组播应用:组播源与接收者必须支持视频会议等组播应用软件,TCP/IP 协议栈必
须支持组播信息的发送和接收。
1.4.2 组播地址
如果采用组播方式传输信息,信息源该将信息发往何处?组播报文目的地址如何选 取?这些问题简而言之就是组播寻址。
? 为了使信息源和组播组成员跨越互联网进行通讯,需要提供网络层组播,使用 IP 组播地址。
? 为了在本地物理网络上实现组播信息的正确传输,需要提供链路层组播,即硬件 组播。当链路层应用以太网时,硬件组播使用组播 MAC 地址。
? 同时必须存在一种技术将 IP 组播地址映射为组播 MAC 地址。

1-8

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播

1 IP 组播概述

IPv4 组播地址
IPv4 地址空间分为五类,即 A 类、B 类、C 类、D 类和 E 类。D 类地址为 IPv4 组播地 址,用于标识组播组,使用在 IPv4 组播报文的目地址字段。
IPv4 组播报文的源地址字段为 IPv4 单播地址,可使用 A、B 或 C 类地址,不能出现 D 类地址。E 类地址保留。
在网络层上,加入同一组播组的所有用户主机能够识别同一个 IPv4 组播组地址。一旦 网络中某用户加入该组播组,则此用户就能接收以该组地址为目的地址的 IP 报文。
D 类组播地址范围是从 224.0.0.0 到 239.255.255.255,范围及含义见表 1-2。

表1-2 D 类地址的范围及含义 D 类地址范围 224.0.0.0~224.0.0.255 224.0.1.0~231.255.255.255 233.0.0.0~238.255.255.255 232.0.0.0~232.255.255.255 239.0.0.0~239.255.255.255

含义 为路由协议预留的永久组地址。 用户可用的 ASM 临时组地址,全网范围内有效。
用户可用的 SSM 临时组地址,全网范围内有效。 用户可用的 ASM 临时组地址,仅在特定的本地管 理域内有效,称为本地管理组播地址。本地管理组 播地址属于私有地址,在不同的管理域内使用相同 的本地管理组播地址不会导致冲突。

? 永久组地址:IANA 为路由协议预留的组播地址,用于标识一组特定的网络设备 (也称为保留组播组)。具体请参见表 1-3。永久组地址保持不变,组成员的数量 可以是任意的,甚至可以为零。
? 临时组地址:为用户组播组临时分配的 IPv4 地址,组成员的数量一旦为零,即取 消。

表1-3 常见的永久组地址列表 永久组地址 224.0.0.0 224.0.0.1 224.0.0.2 224.0.0.3 224.0.0.4 224.0.0.5 224.0.0.6

含义 不分配,保留地址 系统地址,包括系统内所有主机和路由器 所有组播路由器的地址 不分配 DVMRP 路由器 OSPF 路由器 OSPF DR

文档版本 01 (2006-12-08)

华为技术有限公司

1-9

1 IP 组播概述

永久组地址 224.0.0.7 224.0.0.8 224.0.0.9 224.0.0.11 224.0.0.12 224.0.0.13 224.0.0.14 224.0.0.15 224.0.0.16 224.0.0.17 224.0.0.18 224.0.0.19 ~ 224.0.0.255

含义 ST 路由器 ST 主机 RIP-2 路由器 移动代理 DHCP 服务器/中继代理 所有 PIM 路由器 RSVP 封装 所有 CBT 路由器 指定 SBM 所有 SBMS VRRP 未指定

特性描述 IP 组播

以太网组播 MAC 地址
组播 MAC 地址用于在链路层上标识属于同一组播组的接收者。
网络设备上的以太网接口板可以识别组播 MAC 地址。通过在驱动程序中配置某组播 MAC 地址,设备就可以在以太网上接收和转发该组播组的数据。
IANA 规定,组播 MAC 地址的高 25bit 为 0x01005e,MAC 地址的低 23bit 为组播 IP 地 址的低 23bit,映射关系如图 1-5 所示。

图1-5 组播 IP 地址与组播 MAC 地址的映射关系
5 bits information loss

XXXX X 32 bits IP address 1110 XXXX X XXXXXXX XXXXXXXX XXXXXXXX

48 bits MAC address

……

23 bits mapping

……

00000001 00000000 01011110 0 XXXXXXX XXXXXXXX XXXXXXXX

25 bits MAC address prefix

1-10

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播

1 IP 组播概述

由于 IP 组播地址的前 4bit 是 1110,代表组播标识,而后 28bit 中只有 23bit 被映射到 MAC 地址,这样 IP 地址中就有 5bit 信息丢失,直接的结果是出现了 32 个 IP 组播地 址映射到同一 MAC 地址上。
说明
本手册着重介绍 IP 组播技术及设备操作。如果不加特别说明,本手册中出现的组播均指 IP 组 播。

1.4.3 组播协议

实现一套完整的组播服务,需要部署在网络各个位置的多种组播协议相互配合,共同 运作,如图 1-6 所示。

图1-6 组播协议的应用位置

AS1

AS2

Source

PIM

IGMP

User

MBGP /MSDP

PIM

User

IGMP

针对不同的应用位置与目的,VRP 开发出功能各异的多种组播路由协议,如表 1-4 所 示:

表1-4 组播协议

应用位置

目的

组播协议

用户主机与组 播路由器之间

将用户主机接入组播网络:
? 在主机侧实现组播组成员动态加入 与离开。
? 在路由器侧实现组成员关系的维护 与管理,同时支持与上层组播路由 协议的信息交互。

IGMP(Internet Group Management Protocol)组播 组管理协议

文档版本 01 (2006-12-08)

华为技术有限公司

1-11

1 IP 组播概述

特性描述 IP 组播

应用位置

目的

组播协议

域内组播路由 器之间

组播路由与转发: ? 按需创建组播路由。 ? 动态相应网络拓扑变化,维护组播
路由表。 ? 按照路由表项执行转发。

PIM(Protocol Independent Multicast)协议无关组播

域间组播路由 器之间

域间组播源信息共享: ? 源所在域内的路由器将本地源信息
传播给其他域内的路由器。 ? 不同域的路由器之间传递源信息。

MSDP(Multicast Source Discovery Protocol)组播源 发现协议

专门为组播传递域间路由信息。

MBGP(Multicast BGP)组 播 BGP,即 MPBGP (MultiProtocol Border Gateway Protocol)在组播 上的应用。

从表 1-4 中观察可知,组播协议的功能主要分为以下两类:
组播组成员关系管理
此种功能是指:在主机与路由器之间建立和维护组成员关系。
IGMP 是专门的组播组成员关系管理协议,目前包含三个版本,分别是 IGMPv1、 IGMPv2 和 IGMPv3。新版本完全兼容旧版本。目前应用最广泛的是 IGMPv2。 IGMP 的三个版本都适用于 ASM 模型。IGMPv3 可以直接应用于 SSM 模型,而 IGMPv1 和 IGMPv2 则需要 SSM-Mapping 技术的支持。
说明 关于 IGMP 的更多内容请参见《VRP 特性描述 IP 组播》中的“IGMP”。
建立并维护组播路由
组播路由是指:从一个组播源到所有组成员的数据传输路径,单向无环且路径最短, 也称为组播分发树。通过在路由器之间建立和维护组播路由,网络才能够正确、高效 地转发组播数据包。
? ASM 模型中的组播路由协议 ? 域内组播路由协议:用来在自治系统 AS(Autonomous System)内发现组播源 并构建组播分发树,将信息传递到接收者。 ? 域间组播路由协议:用来实现组播信息在 AS 之间的传递,从而跨域建立组播 路由,实现域间组播资源共享。 PIM 是典型的域内组播路由协议,有两套独立的模式: DM(Dense Mode),适用于接收者在网络中的分布较为密集的情况。

1-12

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播

1 IP 组播概述

SM(Sparse Mode),适用于接收者在网络中的分布较为稀疏的情况。 PIM 必须和单播路由协议协同工作。
说明 ? 关于 PIM 的更多内容请参见《VRP 特性描述 IP 组播》中的“PIM”。 ? 关于 MSDP 的更多内容请参见《VRP 特性描述 IP 组播》中的“MSDP”。 ? 关于 MBGP 的更多内容请参见《VRP 配置指南 IP 组播》中的“MBGP”。
? SSM 模型中的组播路由协议 对于 SSM 模型来说,没有域内和域间的划分。由于接收者预先知道组播源的具体位 置,因此可以借助 PIM SM 的部分功能直接创建组播传输路径。
1.5 组播报文转发

在组播模型中,IP 报文的目的地址字段为组播组地址,组播源向以此目的地址所标识 的主机群组传送信息。因此,转发路径上的路由器为了将组播报文传送到各个方位的 接收站点,往往需要将从一个入接口接收到的报文转发到多个出接口。与单播模型相 比,组播模型的复杂性就在于此。
? 由组播路由表来指导组播报文转发。 ? 由 RPF(Reverse Path Forwarding)机制保证组播路由是一棵最短路径树。RPF 机
制是大部分组播路由协议创建组播路由表项、进行组播转发的基础。
说明
关于 RPF 的更多内容请参见《VRP 特性描述 IP 组播》中的“组播路由与转发”。

1.6 多实例组播

多实例组播是指在 VPN(Virtual Private Network)中应用的组播。
1.6.1 多实例简介

各 VPN 网络、VPN 网络和公共网络之间要求信息隔离。如图 1-7 所示,VPN A、VPN B 通过 PE 路由器接入公共网络。

文档版本 01 (2006-12-08)

华为技术有限公司

1-13

1 IP 组播概述

图1-7 VPN 典型组网

特性描述 IP 组播

VPN B

CEb1(2)

CEb1(1)

VPN A

CEa2

PE2

CEb2

VPN B P

CEa1 VPN A

PE1

Public Network

PE3

CEa3

VPN A

? P 专属于公网,各 CE 专属于某一 VPN。每个路由器只为其专属网络服务,仅维 护一套转发机制。
? PE 同时接入公网和 VPN 网络,同时为多个网络服务。在路由器上必须严格区分 各个网络的信息并为各个网络独立维护一套转发机制。这时,PE 上为同一网络服 务的一套软硬件设施统称为一个实例。PE 上同时存在多实例,同一实例分布在多 个 PE 上。
说明
关于多实例的更多内容请参见《VRP 特性描述 VPN》。
1.6.2 多实例在组播中的应用
VRP 支持多实例组播。在 PE 上应用多实例技术后,具备以下功能:
? 为每个实例独立维护一套组播转发机制:支持各种组播协议,拥有自己的 PIM 邻 居列表、组播路由表等信息。每个实例转发组播数据时只查找本实例的转发表或 路由表。
? 保证各个实例之间相互隔离。 ? 实现公网实例和 VPN 实例之间的信息交流和数据转换。
多实例组播是实现跨越 VPN 传播组播数据的基础。以此为前提,VRP 开发出组播 VPN 技术。以图 1-7 中的 VPN A 实例为例,组播 VPN 是指:
? 组播源 S 属于 VPN A,向某组播组 G 发送组播报数据。 ? 网络中所有可能的数据接收者中,只有属于 VPN A 的组成员才能接收到 S 发送的
组播数据。 ? 组播数据在 VPN A 中以组播方式传输,在公网中也以组播方式传输。

1-14

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播

1 IP 组播概述

说明 关于多实例组播的更多内容请参见《VRP 特性描述 IP 组播》中的“组播 VPN”。

文档版本 01 (2006-12-08)

华为技术有限公司

1-15

2 IGMP

特性描述 IP 组播

2 IGMP

关于本章

本章描述内容如下表所示。

标题 2.1 简介 2.2 IGMPv1 实现机制 2.3 IGMPv2 实现机制 2.4 IGMPv3 实现机制 2.5 SSM Mapping 实现机制 2.6 多实例的 IGMP 2.7 IGMP 的应用 2.8 参考信息

内容 介绍 IGMP 的基本功能和版本信息。 介绍 IGMPv1 的消息类型、基本功能。 介绍 IGMPv2 的消息类型、基本功能。 介绍 IGMPv3 的消息类型、基本功能。 介绍 SSM Mapping 的基本功能和实现方法。 介绍 IGMP 在多实例中的应用。 介绍 IGMP 的几种典型应用。 提供参考资料清单。

2-16

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播

2 IGMP

2.1 简介

要使组播报文最终能够到达接收者,需要将接收者主机接入 IP 组播网络,并加入到相 应的组播组中。IGMP(Internet Group Management Protocol)是 IP 组播在用户网段使 用的主机对路由器的信令机制。
通过在接收者主机和与其直连的组播路由器上配置 IGMP,可以实现主机动态加入和组 播路由器对本地网络组成员信息的管理。
到目前为止,IGMP 有三个版本:IGMPv1 版本(由 RFC1112 定义)、IGMPv2 版本 (由 RFC2236 定义)和 IGMPv3(由 RFC3376 定义)版本。所有 IGMP 版本都支持 ASM(Any-Source Multicast)模型。IGMPv3 可以直接应用于 SSM(Source-Specific Multicast)模型,而 IGMPv1 和 IGMPv2 则需要 SSM-Mapping 技术的支持。

IGMP 消息

IGMP 通过在主机侧和路由器侧交互 IGMP 消息实现组成员管理功能。IGMP 消息封装 在 IP 报文中,如图 2-1。

图2-1 IGMP 消息的封装格式
IP 报文头

IGMP 消息

? IP 报文头的协议类型字段值为 2,用来标识数据部分封装了 IGMP 消息。 ? IP 报文头的目的地址字段用来标识该 IGMP 消息的目的接收端。 ? IP 报文头的 TTL 字段值为 1,表示 IGMP 消息只在本地网段传播。 ? 不同版本的 IGMP 协议,支持的 IGMP 消息也不同。

文档版本 01 (2006-12-08)

华为技术有限公司

2-17

2 IGMP
IGMP 基本功能
图2-2 IGMP 典型组网图
ISP RouterA Ethernet

RouterB

特性描述 IP 组播

HostA

HostB

HostC

? 主机发送 Report 消息加入组播组,发送 Leave 消息离开组播组,自主决定接收哪 些组播组的报文。
? 路由器发送查询消息并接收主机反馈的 Report 消息和 Leave 消息,了解接口连接 的网段上有哪些组播组存在接收者,也就是组成员。如果出现组成员,组播路由 器应将组播数据报文转发到这个网段;如果没有成员则不转发。
说明
所有参与组播传输的接收者主机必须启用 IGMP 协议。主机可以在任意时间、任意位置、成员总 数不受限制地加入或离开组播组。
leave 消息只适用于 IGMPv2 和 IGMPv3。
多实例的 IGMP
由于 IGMP 根据接口来收集组成员关系,VPN 实例的 IGMP 根据接口所属实例来处理 协议报文的收发,当路由器从网络上收到 IGMP 报文时,需要区分该报文所属的实例 类型,并在该实例范围内对其进行处理。当需要和其它组播协议交互信息时,只会通 知本 VPN 实例内的其它组播协议。

2.2 IGMPv1 实现机制
2.2.1 IGMPv1 消息
所有的 IGMPv1 消息使用相同的消息格式,如图 2-3。

2-18

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播 图2-3 IGMPv1 消息格式 Version Type

Group Address

2 IGMP

表2-1 IGMPv1 消息字段说明

字段

说明

Version

IGMP 版本,值为 1。

Type

报文类型。 1:普遍组查询消息。 2:成员报告消息。

Group Address

组地址。

普遍组查询消息:General-Query
普遍组查询消息是查询器定期向共享网段内所有主机以组播方式发送的查询消息,用 于查询哪些组播组存在成员。
封装该消息的 IP 报文头的目的地址字段为 224.0.0.1,本地网段上的所有路由器和主机 都能识别并接收。
组地址字段为全 0,表示不指定组播组。
成员报告消息:Report
成员报告消息是主机向组播路由器发送的报告消息,用于申请加入某个组播组或者应 答查询消息。
封装该消息的 IP 报文头的目的地址字段为主机要加入的组播组地址,本地网段上的所 有路由器及属于该组的所有主机都能够识别并接收。同一组的其它成员侦听到该报文 后,不再发送针对相同组播组的报告,即报告被抑制。
组地址字段为主机要加入的组播组地址。
2.2.2 IGMPv1 基本功能
IGMPv1 协议主要基于查询和响应机制完成组播组管理。在连接用户主机的多路由器共 享网段上,由三层路由协议选举出唯一的组播信息转发者(Assert Winner 或 DR),并 作为 IGMPv1 的查询器,负责该网段的组成员关系查询。
说明
有关 Assert Winner 和 DR 的介绍请参见《VRP 特性描述 IP 组播》中的“PIM。”

文档版本 01 (2006-12-08)

华为技术有限公司

2-19

2 IGMP

特性描述 IP 组播

组成员关系维护
1. 2.
3. 4. 5. 6.

IGMP 查询器(RouterB)周期性地发送 General-Query 消息,并启动定时器 TimerMembership,超时时间为 130 秒。发送周期可以使用命令配置,缺省值是 60 秒。
网段内所有主机都接收到该 General-Query 消息,组成员在本地启动针对该组的定 时器,超时时间为 0~10 秒之间的随机值。HostA 不是任何组播组的成员,不做 任何响应;HostB 是组播组 G1 成员,则在本地启动定时器 Timer-G1。HostC 同时 是组播组 G1 和 G2 的成员,则在本地启动定时器 Timer-G1 和 Timer-G2。
第一个定时器超时的主机发送针对该组的 Report 消息。HostB 上的 Timer-G1 首先 超时,向该网段发送 Report 消息,目的地址为 G1。
网段内的组 G1 的其它成员 HostC 侦听到 Report 消息,则停止定时器 Timer-G1, 不再发送针对 G1 的 Report 消息。即 Report 消息被抑制。
HostC 上的 Timer-G2 超时,向该网段发送 Report 消息,目的地址为 G2。
网段中的路由器接收到 Report 消息后,了解到本网段内存在组播组 G1 和 G2 的成 员,则由组播路由协议生成(*,G1)和(*,G2)组播转发项。网络中一旦有组 播组 G1 和 G2 的数据到达路由器,将向该网段转发。

新组成员加入
1.
2.

HostA 加入组播组 G3,且侦听到网段中没有 G3 的组播数据。则不等待 GeneralQuery 消息的到来,立即发送针对 G3 的 Report 消息。
网段中的路由器接收到 Report 消息后,了解到本网段内出现了组播组 G3 的成 员,则在组播路由表项(*,G3)中添加对应的下游接口。网络中一旦有组播组 G3 的数据到达路由器,将向该网段转发。

组成员离开

1. 退出组播组的主机将不再反馈 Report 消息。HostA 退出组播组 G3。当 GeneralQuery 消息的到来时,HostA 不启动 Timer-G3,不再发送针对 G3 的 Report 消 息。
2. 由于该网段不存在其它的组 G3 成员,则路由器无法收到 G3 的 Report 消息,定时 器 Timer-General-Query 超时后,删除(*,G3)表项中对应的下游接口。如果这 时网络中组播组 G3 的数据到达路由器,则不会向该网段转发。

2.3 IGMPv2 实现机制
2.3.1 IGMPv2 消息
说明 IGMPv2 兼容 IGMPv1 的成员报告消息,可以同时管理运行 IGMPv1 和 IGMPv2 的主机。
所有的 IGMPv2 消息使用相同的消息格式,如图 2-4。

2-20

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播

图2-4 IGMPv2 消息格式

Type

Max Response Time

-

Group Address

2 IGMP

表2-2 IGMPv2 消息字段说明

字段

说明

Type

报文类型。 0x11:IGMPv2 查询消息。 0x12:IGMPv1 成员报告消息。 0x16:IGMPv2 成员报告消息。 0x17:离开消息。

Max Response Time

最大响应时间。

Group Address

组地址。

IGMPv2 查询消息
? 普遍组查询消息:General-Query 普遍组查询消息是查询器定期向共享网段内所有主机以组播方式发送的查询消 息,用于查询哪些组播组存在成员。 封装该消息的 IP 报文头的目的地址字段为 224.0.0.1,本地网段上的所有主机和路 由器都能识别并接收。 组地址字段为全 0,表示不指定组播组。
? 特定组查询消息:Group-Specific Query 特定组查询消息是查询器向共享网段内特定组播组成员发送的消息,用于查询该 组播组是否存在成员。 封装该消息的 IP 报文头的目的地址字段为被查询的组播组的 IP 地址,网络中属 于该组播组的成员才能识别并响应。 组地址字段为被查询的组播组 IP 地址。
IGMPv2 的成员报告消息:Report
成员报告消息是主机向组播路由器发送的报告消息,用于申请加入某个组播组或者应 答查询消息。
封装该消息的 IP 报文头的目的地址字段为主机要加入的组播组地址,本地网段上的所 有路由器及属于该组的所有主机都能够识别并接收。
组地址字段为主机要加入的组播组地址。

文档版本 01 (2006-12-08)

华为技术有限公司

2-21

2 IGMP

特性描述 IP 组播

离开消息:Leave
离开消息是主机主动离开组播组时向组播路由器发送的消息,用于宣告自己离开了某 个组播组。
封装该消息的 IP 报文头的目的地址字段为 224.0.0.2,本地网段上的所有路由器都能识 别并接收。
组地址字段为主机要离开的组播组地址。

2.3.2 IGMPv2 基本功能
IGMPv2 使用独立的查询器选举机制,当共享网段上存在多个组播路由器时,IP 地址 最小的组播路由器为查询器。

组成员关系维护
1.
2.
3. 4. 5. 6.

IGMP 查询器(RouterB)周期性地发送 General-Query 消息,并启动定时器 TimerGeneral-Query。General-Query 消息的发送周期可以使用命令配置,缺省值是 60 秒。Timer-General-Query 超时时间为 Max Resp Time,可以使用命令配置,缺省值 为 10 秒。
网段内所有主机都接收到该 General-Query 消息,组成员在本地启动针对该组的定 时器,超时时间为 0~Max Resp Time 之间的随机值。HostA 不是任何组播组的成 员,不做任何响应;HostB 是组播组 G1 成员,则在本地启动定时器 Timer-G1。 HostC 同时是组播组 G1 和 G2 的成员,则在本地启动定时器 Timer-G1 和 TimerG2。
第一个定时器超时的主机发送针对该组的 Report 消息。HostB 上的 Timer-G1 首先 超时,向该网段发送 Report 消息,目的地址为 G1。
网段内的组 G1 的其它成员 HostC 侦听到 Report 消息,则停止定时器 Timer-G1, 不再发送针对 G1 的 Report 消息。即 Report 消息被抑制。
HostC 上的 Timer-G2 超时,向该网段发送 Report 消息,目的地址为 G2。
网段中的路由器接收到 Report 消息后,了解到本网段内存在组播组 G1 和 G2 的成 员,则由组播路由协议生成(*,G1)和(*,G2)组播转发项。网络中一旦有组 播组 G1 和 G2 的数据到达路由器,将向该网段转发。

新组成员加入
1.
2.

HostA 加入组播组 G3,且侦听到网段中没有 G3 的组播数据。则不等待 GeneralQuery 消息的到来,立即发送针对 G3 的 Report 消息。
网段中的路由器接收到 Report 消息后,了解到本网段内出现了组播组 G3 的成 员,则在组播路由表项(*,G3)中添加对应的下游接口。网络中一旦有组播组 G3 的数据到达路由器,将向该网段转发。

组成员离开

正常退出组播组的主机发送针对该组的 Leave 消息。 1. HostB 退出组播组 G1,发出针对 G1 的 Leave 消息。

2-22

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播

2 IGMP

2. 网 段 中 的 路 由 器 都 将 收 到 该 Leave 消 息 。 查 询 器 立 即 发 送 针 对 组 G1 的 Lastmember-Query 消息,同时启动定时器 Timer-Membership。Lastmember-Query 消息的发送次数可以使用命令 robust-count 配置,缺省值为 2 次;发送间隔可以 使用命令 lastmember-queryinterval 配置,缺省值为 1 秒。Timer-Membership 的 超时时间=Lastmember-Query 消息的发送次数 x 发送间隔+ Max Resp Time。
3. 网段中还存在组 G1 的组成员 HostC,收到针对 G1 的 Lastmember-Query 消息后, 启动定时器 Timer-G1。Timer-G1 超时,HostC 向该网段发送针对组 G1 的 Report 消息。
4. 如果网段中不存在其他组 G1 成员,则路由器将无法收到针对组 G1 的 Report 消 息,定时器 Timer-General-Query 超时后,删除(*,G1)表项中对应的下游接 口。如果这时网络中组播组 G1 的数据到达路由器,则不会向该网段转发。
异常状况下,有可能发生:主机退出组播组,而路由器未能接收到 Leave 消息。如果 网段中不存在该组的其它成员,则路由器将无法收到针对该组的 Report 消息,定时器 Timer-General-Query 超时后,删除(*,G)表项中对应的下游接口。

2.4 IGMPv3 实现机制
2.4.1 IGMPv3 消息
说明 IGMPv3 兼容 IGMPv1 的成员报告消息、IGMPv2 的成员报告消息和离开消息,可以同时管理运 行 IGMPv1、IGMPv2 和 IGMPv3 的主机。

IGMPv3 Query

图2-5 IGMPv3 Query 消息格式

Type

Max Response Time

-

Group Address

-

QRV

QQIC

Number of Sources ( N )

Source Address [ 1 ]

...

Source Address [ N ]

表2-3 IGMPv3 Query 消息字段说明

字段

说明

Type

报文类型,值为 0x11。

Max Response Time

最大响应时间。

Group Address

组地址。

文档版本 01 (2006-12-08)

华为技术有限公司

2-23

2 IGMP

字段 QRV QQIC Number of Sources (N) Source Address [i]

说明 查询器健壮系数。 查询间隔。 消息中包含的组播源的数量。 组播源地址。

特性描述 IP 组播

IGMPv3 Query 消息按照功能划分为以下三种:
? 普遍组查询消息:General Query 普遍组查询消息是查询器定期向共享网段内所有主机以组播方式发送的查询消 息,用于发现组播组成员,并维护组播组与源列表的对应关系。 封装该消息的 IP 报文头的目的地址字段为 224.0.0.1,本地网段上的所有主机和路 由器都能识别并接收。 Group Address 字段、Number of Sources 和 Source Address 字段都为 0。
? 特定组查询消息:Group-Specific Query 特定组查询消息是查询器向共享网段内特定组播组成员发送的消息,用于查询该 组播组是否存在成员。 封装该消息的 IP 报文头的目的地址字段为被查询的组播组的 IP 地址,本地网段 上的所有路由器及属于该组的所有主机都能够识别并接收。 组播组字段为被查询的组播组 IP 地址。Number of Sources 和 Source Address 字段 为 0。
? 特定组/源查询消息:Group-and-Source-Specific Query 特定组查询消息是查询器向共享网段内特定组播组成员发送的消息,用于查询该 组成员是否愿意接收特定源发送的数据。 封装该消息的 IP 报文头的目的地址字段为被查询的组播组的 IP 地址,本地网段 上的所有路由器及属于该组的所有主机都能够识别并接收。 组播组字段为被查询的组播组 IP 地址。Number of Sources 字段为消息中包含的组 播源数量。Source Address 字段为向该组发送组播报文的源地址。
IGMPv3 Report
成员报告消息是主机向组播路由器发送的报告消息,用报告加入某组播组并只接收由 指定组播源发往该组的数据。
封装该消息的 IP 报文头的目的地址字段为 224.0.0.22,本地网段上的所有 IGMPv3 路 由器都能识别并接收。

2-24

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播

图2-6 IGMPv3 Report 消息格式

Type -

Number of Group Records ( N )

Group Record [ 1 ]

2 IGMP

...

Group Record [ N ]

表2-4 IGMPv3 Report 消息字段说明

字段

说明

Type

报文类型。

Number of Group Records 消息中包含的组记录的数量。

Group Record

组记录。

图2-7 Group Record 格式
Record Type

-

Number of Sources ( N )

Multicast Address

Source Address [ 1 ]

...

Source Address [ N ]

-

文档版本 01 (2006-12-08)

华为技术有限公司

2-25

2 IGMP

特性描述 IP 组播

表2-5 Group Record 消息字段说明

字段

说明

Record Type

记录类型:
? IS_IN,表示组播组与源列表之间的对应方式为 INCLUDE,即接收从指定源列表发往该组播组的数 据。如果这时指定源列表为空,则表示离开该组播 组。
? IS_EX,表示组播组与源列表之间的对应方式为 EXCLUDE,即接收从指定源列表以外的组播源发往 该组播组的数据。
? TO_IN,由 EXCLUDE 转换到 INCLUDE。
? TO_EX,由 INCLUDE 转换到 EXCLUDE。
? ALLOW,向现有组记录中添加新组播源。
? BLOCK,从现有组记录中删除组播源。

Number of Sources

本记录中包含的源地址。

Multicast Address

组地址。

Source Address

组播源地址。

使用 INCLUDE 或 EXCLUDE,IGMPv3 将组播组与源列表之间的对应关系简单的表示 为(G,INCLUDE,(S1、S2、S3...) )或(G,EXCLUDE,(S1、S2、S3...) )。
IGMPv3 使用 Group Record 报告并更新组播组与源列表的对应关系。表 2-6 中,A、B 表示组播源的集合。

表2-6 组播组与源列表的对应关系更新办法

原对应关系

更新后



(G,INCLUDE,

(A) )



(G,EXCLUDE,

(A) )

(G,INCLUDE,(A) ) 无 或(G,EXCLUDE, (A) )

(G,INCLUDE,(A) ) (G,INCLUDE, (B) )

(G,EXCLUDE, (A) )

(G,EXCLUDE, (B) )

Group Records (G,IS_IN,(A) )
(G,IS_EX,(A) )
(G,IS_IN,(0) )
(G,ALLOW,(B-A) )和 (G,BLOCK,(A-B) ) (G,ALLOW,(A-B) )和 (G,BLOCK,(B-A) )

2-26

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播

原对应关系

更新后

(G,INCLUDE,(A) ) (G,EXCLUDE, (B) )

(G,EXCLUDE, (A) )

(G,INCLUDE, (B) )

2 IGMP Group Records (G,TO_EX,(B) )
(G,TO_IN,(B) )

2.4.2 IGMPv3 基本功能
IGMPv3 较 IGMPv2 的改进之处在于增加了主机对组播源的选择能力。
主机指定源/组加入
运行 IGMPv3 的主机在加入组播组的同时,能够明确的要求接收或不接收某特定组播 源 S 发出的组播信息。 例如,网络中存在 S1 和 S2 两个组播源,均向组播组 G 发送组播报文,User 仅希望接 收从组播源 S1 发往组播组 G 的信息,典型组网如图 2-8 所示。
图2-8 指定源/组的组播流路经

Source
S1 Source

RouterA

RouterC

ISP

Receiver

S2

RouterB

packets(S1,G) packets(S2,G)

RouterD

User

如果主机和路由器之间应用 IGMPv1 或 IGMPv2,User 加入到某组播组 G 后,将同时 接收到来自组播源 S1 和 S2 的组播信息。如果采用 IGMPv3,主机 User 可以选择仅接 收 S1 组播信息。
? 方法一:User 发送 IGMPv3 报告(G,IS_IN,(S1)),仅接收源 S1 向组播组 G 发 送的数据。
? 方法二:User 发送 IGMPv3 报告(G,IS_EX,(S2)),退出指定源 S2 对应的组播 组 G,从而仅有来自 S1 的组播信息才能传递到 User。

文档版本 01 (2006-12-08)

华为技术有限公司

2-27

2 IGMP

特性描述 IP 组播

组成员关系维护
? ?
?

查询周期性发送普遍组查询消息。路由器根据反馈的组成员报告发现网段中的组 成员,并维护组播组与源列表的对应关系。
当查询器接收到离开某组播组的报告(G,IS_IN,(0) )时,发送指定组查询消 息,试探网段中是否还存在该组成员。路由器根据反馈的组成员报告更新该组对 应的源列表。
当查询器接收到改变组播组与源列表的对应关系的报告(G,BLOCK,(A) ) 时,发送指定源/组查询消息。如果组成员希望接收其中任意一个源的组播数据, 则将反馈 Report 消息。路由器根据反馈的组成员报告更新该组对应的源列表。

2.5 SSM Mapping 实现机制
SSM 要求在用户主机网段,路由器能够了解主机加入组时具体指定的组播源。
? 如果用户主机和路由器之间运行 IGMPv3,在 IGMPv3 的 Report 消息中指定源地 址。
? 如果网段中存在某些主机只能运行 IGMPv1 或 IGMPv2,则 Report 消息中无法指 定源地址。这种情况下需要在路由器上配置 SSM Mapping 功能和静态映射规则, 将 Report 消息中包含的(*,G)信息,映射为(G,INCLUDE,(S1,S2...))信 息。
VRP 允许用户根据网络具体情况,自行设置 SSM Mapping 静态映射规则。

图2-9 SSM Mapping 组网图
Router

IGMPv1 Report IGMPv2 Report

SSM

IGMPv3 Report

HostA with IGMPv3

HostB with IGMPv2

HostC with IGMPv1

如图 2-9 所示,SSM 网络的用户网段中 HostA 运行 IGMPv3、HostB 运行 IGMPv2、 HostC 运行。在不允许将 HostB 和 HostC 升级为 IGMP 版本为 v3 的情况下,为该网段 中的所有主机提供 SSM 组播服务,需要在 Router 上进行如下配置:
? 在连接该网段的接口上使能 IGMPv3。 ? 使能 SSM Mapping。 ? 配置将组地址与源地址建立静态映射关系的 SSM Mapping 规则。
配置完成后,当 Router 接收到来自主机的 Report 消息时,首先检查 Report 消息中携带 的组地址 G,然后根据检查结果进行如下处理:

2-28

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播

2 IGMP

? 如果 G 不在 SSM 组地址范围内,则无法提供 SSM 组播服务。 ? 如果 G 在 SSM 组地址范围内,但是 Report 消息中没有指定组播源,Router 上也
没有组 G 对应的 SSM Mapping 规则,则无法提供 SSM 组播服务。 ? 如果 G 在 SSM 组地址范围内,且 Report 消息指定了组播源,则可以提供 SSM 组
播服务。
? 如果 G 在 SSM 组地址范围内,且 Router 上存在组 G 对应的 SSM Mapping 规则, 则依照映射策略将 Report 消息中包含的(*,G)信息,转换成(G,INCLUDE, (S1,S2...))信息,则可以提供 SSM 组播服务。
说明
有关 SSM 组地址范围的介绍请参见《VRP 特性描述 IP 组播》中的“PIM”。

2.6 多实例的 IGMP
由于 IGMP 根据接口来收集组成员关系,VPN 实例的 IGMP 根据接口所属实例来处理 协议报文的收发,当路由器从网络上收到 IGMP 报文时,需要区分该报文所属的实例 类型,并在该实例范围内对其进行处理。当需要和其它组播协议交互信息时,只会通 知本 VPN 实例内的其它组播协议。
2.7 IGMP 的应用
2.7.1 ASM 主机动态接入
图2-10 ASM 主机动态接入

Source1 Source2

PIM-DM 或
PIM-SM

RouterA RouterB

User1 User2

与用户主机相连的接口,使能IGMPv1或IGMPv2

实现方案

在 ASM 组播模型中,接收者无法预先知道组播源的位置,只能接收发往组播组的所有 数据。 适用 IGMPv1 或 IGMPv2。
? 在接收者主机上启用 IGMPv1 或 IGMPv2 协议。

文档版本 01 (2006-12-08)

华为技术有限公司

2-29

2 IGMP

特性描述 IP 组播

? 在路由器上与用户主机相连的接口上启用 IGMPv1 或 IGMPv2 协议。 ? 网络中路由器之间启用 PIM-DM 或 PIM-SM 协议。
2.7.2 SSM 主机动态接入

图2-11 SSM 主机动态接入

Source1 Source2

PIM-SM

RouterA RouterB

User1 User2

与用户主机相连的接口,使能IGMPv3

在 SSM 组播模型中,接收者预先知道组播源的位置,可以指定接收具体的源/组数据。 适用 IGMPv3。

实现方案

? 在接收者主机上启用 IGMPv3 协议。 ? 在与接收者主机处于同一网段的路由器接口上启用 IGMPv3 协议。 ? 网络中路由器之间启用 PIM-SM 协议。

2.7.3 SSM Mapping 主机动态接入

图2-12 SSM Mapping 主机动态接入

Source1 Source2

PIM-SM

RouterA RouterB

User1 User2

与用户主机相连的接口,使能IGMPv3、SSM Mapping

2-30

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播

2 IGMP

在网络中运行 SSM,但是用户主机无法升级到 IGMPv3 的情况下,适用 SSM Mapping 功能。在路由器端定制用户需要的源/组对应关系,向用户转发符合要求的组播数据。
主机适用 IGMPv1 或 IGMPv2。路由器接口适用 IGMPv3。

实现方案

? 在接收者主机上启用 IGMPv1 或 IGMPv2 协议。
? 在与接收者主机处于同一网段的路由器接口上启用 IGMPv3 协议,使能 SSM Mapping 功能,配置源/组映射关系。
? 网络中路由器之间启用 PIM-SM 协议。

2.7.4 静态加入组播组

图2-13 路由器接口静态加入

Source1 Source2

PIM-DM 或
PIM-SM

RouterA RouterB

User1 User2

在路由器接口上配置静态加入组,相当于该网段上存在稳定的组成员

实现方案

当网段中的组播组成员关系比较稳定时,适用静态加入组播组。静态加入某组播组 后,无论网段上是否存在该组成员,路由器将持续转发该组数据。 对 IGMP 的三个版本都适用。
? 在接收者主机上启用 IGMP 协议。 ? 在与接收者主机处于同一网段的路由器接口上启用 IGMP 协议,配置静态加入组
播组。当使用 IGMPv3 时,可以同时指定组播源。 ? 网络中路由器之间启用 PIM 协议。

2.8 参考信息
如果要更详细了解 IGMP 的原理,请参考以下文档。 ? RFC1112:Host Extensions for IP Multicasting ? RFC2236:Internet Group Management Protocol,Version 2

文档版本 01 (2006-12-08)

华为技术有限公司

2-31

2 IGMP

? RFC3376:Internet Group Management Protocol,Version 3

特性描述 IP 组播

2-32

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播

3 PIM

3 PIM

关于本章

本章描述内容如下表所示。
标题 3.1 简介 3.2 PIM-DM 3.3 PIM-SM 3.4 SSM 3.5 多实例的 PIM 3.6 PIM 控制消息 2.7 IGMP 的应用 3.8 参考信息

内容 介绍 PIM 的基本概念和 PIM 支持的组播模型。 介绍 PIM-DM 的工作过程及各项机制的实现原理。 介绍 PIM-SM 的工作过程及各项机制的实现原理。 介绍 SSM 的工作过程及各项机制的实现原理。 介绍 PIM 在多实例中的应用。 介绍 PIM 中使用的各种控制消息。 介绍 PIM 的几种典型应用。 提供参考资料清单。

文档版本 01 (2006-12-08)

华为技术有限公司

3-33

3 PIM

特性描述 IP 组播

3.1 简介
组播源向组播地址发出组播报文,经过中间网络路由到达组播组所有成员。为使中间 网络能够实现组播报文的复制和转发,必须为网络中的路由器配置组播路由协议。
PIM(Protocol Independent Multicast)称为协议无关组播,作为一种组播路由解决方 案,在实践中得到广泛的应用。
3.1.1 PIM 转发基础
网络中单播路由畅通是 PIM 转发的基础。 PIM 利用现有的单播路由信息,对组播报文执行 RPF(Reverse Path Forwarding)检 查,从而创建组播路由表项,构建组播分发树。
PIM 不维护专门的单播路由,也不依赖某具体的单播路由协议,它直接利用单播路由 的结果。
为 PIM 提供单播路由信息的可以是静态路由、RIP、OSPF、IS-IS、BGP 等任何一种单 播路由协议。
说明 关于 RPF 的详细说明请参见《VRP 特性描述 IP 组播》中的“组播转发与路由”。
3.1.2 PIM 支持的组播模型

ASM(Any-Source Multicast)模型
ASM(Any-Source Multicast)模型目前包括 PIM-DM(Protocol Independent Multicast Dense Mode)和 PIM-SM(Protocol Independent Multicast Sparse Mode)两种模式:
? PIM-DM 称为协议独立组播-密集模式。适合规模较小、组播组成员相对比较密 集的局域网。
? PIM-SM 称为协议独立组播-稀疏模式。适合网络中的组成员相对比较稀疏,分 布广泛的大型网络。
说明
“密集”和“稀疏”在定义上并没有严格的界限。下面的实验结果可以作为 PIM 协议两种模式网络应 用环境的一个初步参考。
有关专家在 47 个组播节点,5 个组播源的网络环境下,分别应用 PIM-DM 和 PIMSM,测量了数据报文和控制报文占用的网络带宽、路由器的处理开销。实验的结果如 表 3-1。

表3-1 组播协议实验结果

考察对象

组播成员分布状况

占用的网络带宽

大于 42%

试验结果 PIM-SM 发出的包比 PIM-DM 多。

3-34

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播

考察对象

组播成员分布状况

小于 42%

路由器上的路由表项 小于 32% 个数

32%~58%

大于 58%

3 PIM
试验结果
PIM-SM 发出的包比 PIM-DM 少。 PIM-SM 协议维护的路由表项个数 少。
两种路由协议情况下,路由表项个 数相当。
PIM-DM 协议维护的路由表项个数 少。

SSM(Source-Specific Multicast)模型
如表 3-2 所示,SSM 模型使用了和 ASM 不同的组播地址范围。

表3-2 D 类组播地址范围及含义

D 类地址范围 224.0.0.0~224.0.0.255

含义
预留的组播地址(永久组地址),地址 224.0.0.0 保 留不做分配,其它地址供路由协议使用

224.0.1.0~231.255.255.255 233.0.0.0~238.255.255.255

用户可用的 ASM 组播地址(临时组地址),全网 范围内有效

232.0.0.0~232.255.255.255

用户可用的 SSM 组播组地址

239.0.0.0~239.255.255.255

本地管理组播地址,仅在特定的本地范围内有效。

SSM 模型借助 PIM-SM 的部分技术和 IGMPv3 来实现。
说明
必须保证路由器上连接用户主机的接口使能 IGMPv3。如果用户主机上的 IGMP 版本无法升级, 则在路由器上配置 SSM Mapping,也可以实现 SSM。
用户通过 IGMPv3 消息向直连网段发送 Report 消息。路由器接收到此消息后判断组地 址是否在 SSM 组地址范围内。
? 如果在 SSM 组地址范围内,且 Report 消息中指定了组播源地址,则应用 SSM 模 型。
? 如果在 SSM 组地址范围内,但是 Report 消息中未指定组播源地址,则丢弃消息。 ? 如果组地址不在 SSM 组地址范围内,则按照 PIM-SM 流程应用 ASM 模型。
VRP 允许用户使用配置命令,自行设定 SSM 组地址范围。

文档版本 01 (2006-12-08)

华为技术有限公司

3-35

3 PIM
3.1.3 PIM 基本概念

特性描述 IP 组播

PIM 路由器

支持 PIM 协议的组播路由器称为 PIM 路由器。使能了 PIM 协议的接口称为 PIM 接 口。

PIM 域

由 PIM 路由器所组成的网络称为 PIM 网络。
通过在路由器接口上设置“边界”,可以将一个大的 PIM 网络划分多个 PIM 域。“边 界”可以拒绝特定组播报文的传输,或者限制 PIM 控制消息的传输。

组播分发树

在 PIM 组播域中,以组播组为单位建立一点到多点的组播转发路径。由于组播转发路 径呈现树型结构,也称为组播分发树。
? 以组播源为根,组播组成员为叶子的组播分发树称为 SPT(Shortest Path Tree)。 SPT 同时适用于 PIM-DM 和 PIM-SM。
? 以 RP(Rendezvous Point)为根,组播组成员为叶子的组播分发树称为 RPT(RP Tree)。RPT 仅适用于 PIM-SM。
组播分发树的特点:
? 无论网络中的组成员有多少,每条链路上相同的组播数据最多只有一份。 ? 被传递的组播数据在尽可能远的分叉路口才开始复制和分发。

叶子路由器

与用户主机相连的 PIM 路由器称为叶子路由器。

第一跳路由器
与组播源直接相连且负责转发该组播源发出的组播数据的 PIM 路由器。

最后一跳路由器
与组播组成员(通常为接收者主机)直接相连且负责向该组成员转发组播数据的 PIM 路由器。

中间路由器

组播转发路径上,第一跳路由器与最后一跳路由器之间的 PIM 路由器。

3-36

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播

3 PIM

3.1.4 PIM 路由表项
从路由器的角度观察,组播转发可以简化为:组播报文从唯一的上游接口到达,从一 个或多个下游接口发送出去。图 3-1 显示了以 Router A 为行为主体的组播转发(组地 址为 225.1.1.1)。

图3-1 组播转发
Source

RouterB

10.1.8.1/24

POS2/0/0 10.1.2.2/24

上游网段

组播报文 上游接口 下游接口

下游网段

POS2/0/0 10.1.2.1/24
RouterA
GE3/0/0 10.1.3.1/24

GE1/0/0 10.1.1.1/24

RouterC

下游网段

Host 1 Receiver

Host 2 Receiver

上游 下游

? 上游:组播数据到达的方向。通常,将组播数据转发过来的路由器或组播源称为 本路由器的上游。以图 3-1 为例,Router A 的上游为 Router B。
? 上游接口:本地路由器上接收到组播数据的接口。以图 3-1 为例,Router A 的上游 接口为 POS2/0/0。
? 上游网段:上游接口所在网段。以图 3-1 为例,Router A 的上游网段为 10.1.2.0/24。
? 下游:将组播数据发送出去的方向。通常,发送出去的组播数据到达的路由器或 接收者主机称为本路由器的下游。以图 3-1 为例,Router A 的下游为 Router C 和 Host1。
? 下游接口:将组播数据转发出去的接口。以图 3-1 为例,Router A 的下游接口为 GE1/0/0 和 GE3/0/0。
? 下游网段:下游接口所在网段。以图 3-1 为例,Router A 的下游网段为 10.1.1.0/24 和 10.1.3.0/24

文档版本 01 (2006-12-08)

华为技术有限公司

3-37

3 PIM

特性描述 IP 组播

PIM 路由表项
组播路由表收录所有 PIM 路由表项,并下刷到转发表中,由转发表项直接指导组播报 文转发。PIM 中存在两种转发表项:(S,G)或(*,G)。S 表示组播源,G 表示组播 组,*表示任意。
? (S,G)只适用于源地址为 S,组地址为 G 的组播报文。通常,将源地址为 S, 组地址为 G 的组播报文表示为(S,G)报文。
? (*,G)适用于组地址为 G 的组播报文。即:不论是哪个组播源发出的,只要是 发往组播组 G 的组播报文,都应该从(*,G)表项中的下游接口转发出去。
说明
关于 RP 的更多信息,请参见 PIM-SM 原理简介和 RP 发现。
PIM 路由器上可能同时存在多种转发表项。当收到源地址为 S,组地址为 G 的组播报 文,且通过 RPF 检查的情况下,按照如下的规则转发:
? 如果存在(S,G)表项,则由(S,G)表项指导报文转发。 ? 如果不存在(S,G)表项,则先依照(*,G)表项创建(S,G)表项,再由
(S,G)表项指导报文转发。
以中 Router A 上的 PIM 路由表为例。
<RouterA> display pim routing-table

Vpn-instance: public net Total 0 (*, G) entry; 1 (S, G) entry

(10.1.8.1, 225.1.1.1) Protocol: pim-dm, Flag: ACT UpTime: 01:35:25 Upstream interface: Pos2/0/0 Upstream neighbor: 10.1.2.2, RPF prime neighbor: 10.1.2.2 Downstream interface(s) information: Total number of downstreams: 3 1: GigabitEthernet3/0/0 Protocol: pim-dm, UpTime: 00:03:21, Expires: never 2: GigabitEthernet1/0/0 Protocol: pim-dm, UpTime: 00:03:27, Expires: never
其中用于指导转发的信息如下:
? 源地址:10.1.8.1/24 ? 组播组地址:225.1.1.1 ? 上游接口:POS2/0/0。上游邻居为 10.1.2.2,RPF 邻居为 10.1.2.2。 ? 下游接口列表:包括 GE1/0/0 和 GE3/0/0。

3-38

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播

3 PIM

3.2 PIM-DM
PIM-DM 假设网络中的组成员分布非常稠密,每个网段都可能存在组成员。基于这一 假设,PIM-DM 的设计思路是:首先将数据报文扩散到各个网段,然后再裁剪掉不存 在组成员的网段。
PIM-DM 通过周期性的“扩散—剪枝”,构建并维护一棵连接组播源和组成员的单向无 环 SPT。
下文将详细介绍 PIM-DM 的各项关键机制:邻居发现、扩散、剪枝、嫁接、Assert。
3.2.1 邻居发现
PIM 路由器在每个使能了 PIM 的接口上,对外发送 HELLO 消息。封装 HELLO 消息 的组播报文的目的地址是 224.0.0.13(表示同一网段中所有 PIM 路由器)、源地址为接 口的 IP 地址、TTL 数值为 1。
Hello 消息的作用:发现邻居、协调各项协议参数、维持邻居关系。

发现 PIM 邻居
同一网段中的 PIM 路由器都必须接收目的地址为 224.0.0.13 的组播报文。这样在收到 HELLO 报文以后,直接相连的组播路由器之间,就可以彼此知道自己的邻居信息。
只有在路由器接收到来自邻居的 Hello 消息后,才会接收其他的 PIM 控制消息或组播 报文,从而创建组播路由表项,维护组播分发树。

协调各项协议参数
HELLO 消息中携带多项协议参数,介绍如下:
? DR_Priority:表示各路由器接口竞选 DR 的优先级,优先级越高越容易获胜。适 用于 PIM-SM。
? Holdtime:表示保持邻居为可达状态的超时时间。当网段中各邻居配置的时间不 同时,取其中最大的值。
? LAN_Prune_Delay:表示在共享网络上传递 Prune 剪枝消息的延迟时间,该选项由 三部分组成:Prune 剪枝传递延迟、Prune 剪枝否决时间、禁止 Join 消息抑制能力 位。

维持邻居关系
PIM 路由器之间周期性地发送 Hello 消息。
HELLO 消息中携带 Holdtime 参数。以网段中的最大值为标准,如果超时还没有收到 该 PIM 邻居发出的新的 HELLO 报文,则认为该邻居不可达,将其从邻居列表中清 除。
PIM 邻居的变化将导致网络中组播拓扑的变化。如果组播分发树上的某上游邻居或下 游邻居的不可达,将导致组播路由重新收敛,组播分发树迁移。

文档版本 01 (2006-12-08)

华为技术有限公司

3-39

3 PIM
3.2.2 扩散 Flooding

特性描述 IP 组播

基本原理

当路由器接收到组播报文后,进行 RPF 检查。
? 如果检查通过,表明报文从正确的接口(RPF 接口)到达。创建(S,G)表项, 后续到达的组播报文将从各个下游接口转发出去。 ? 上游接口为 RPF 接口。 ? 下游接口列表中包括除上游接口之外与所有 PIM 邻居相连的接口。如果路由器 连接组成员,则与组成员网段相连的接口也需添加进下游接口列表。所有下游 接口初始化为转发状态。
? 如果检查失败,表明报文从错误的接口到达,将该报文丢弃。同时进行如下判 断。 ? 如果接收该报文的接口是点到点的类型,则执行 Prune。 ? 如果接收该报文的接口不是点到点的类型,并且属于(S,G)表项中的下游接 口列表,则执行 Assert。
说明
? 关于 Prune 的详细介绍,请参见剪枝 Prune。
? 关于 Assert 的详细介绍,请参见断言 Assert。

举例

如图 3-2 所示,PIM-DM 网络中 RouterA、RouterB 和在 RouterC 之间通过交互 Hello 报 文建立邻居。UserA 是组播组 G 成员,UserB 没有加入任何组播组。RouterB 与 UserA 之间运行 IGMP,在 RouterB 上创建(*,G)表项。

图3-2 PIM-DM 扩散示意图

Source

RouterA

RouterB

PIM-DM

Receiver UserA

packets Flooding

RouterC

UserB

扩散过程如下: 1. 组播源 Source 开始向组播组 G 发送组播报文。

3-40

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播

3 PIM

2. RouterA 接收到源发送的组播报文后,根据单播路由表进行 RPF 检查。RPF 检查 通过,创建(S,G)表项,下游接口列表包括与 RouterB 和 RouterC 相连的接 口。后续到达的报文向 RouterB 和 RouterC 转发。
3. RouterB 接收到 RouterA 发来的组播数据,RPF 检查成功,在本地创建对应(S, G)表项,下游接口列表包括与 RouterC 和 UserA 相连的接口。后续到达的报文向 RouterC 和 UserA 转发。
4. RouterC 接收到来自 RouterA 的组播数据,创建(S,G)表项,下游接口列表仅 包括与 RouterB 相连的接口。后续到达的报文向 RouterB 转发。
5. RouterB 接收到 RouterC 发来的组播数据,RPF 检查失败,丢弃该报文,同时执行 Assert,参与竞选该网段的唯一转发者。
6. RouterC 接收到 RouterB 发来的组播数据,RPF 检查失败,丢弃该报文,同时执行 Assert,参与竞选该网段的唯一转发者。
说明
关于 Assert 的具体过程请参见断言 Assert。
扩散过程从源开始,到叶子路由器结束。
3.2.3 剪枝 Prune

基本原理

PIM-DM 路由器只在一种情况下发送剪枝消息:路由器接收到组播报文后,RPF 检查 通过,但是下游网段没有组播数据需求。则向上游发送剪枝消息,通知上游路由器禁 止相应下游接口的转发。
如果当前路由器上最后一个处于转发状态的下游接口被裁剪,则表示下游不存在组播 数据需求,路由器继续向上游发送剪枝消息。路由器上保留一个下游接口为 NULL 的 (S,G)表项。
剪枝操作由叶子路由器发起,逐跳向上,最终组播转发路径上只存在与组成员相连的 分支。这时的组播路径称为 SPT,表示从组播源到众多组成员的最短路径。
路由器为被裁剪的下游接口启动一个剪枝定时器,定时器超时后接口恢复转发。组播 数据重新在全网范围内扩散,新加入的组成员可以接收到组播数据。随后,下游不存 在组成员的叶子路由器将向上发起剪枝操作。通过这种周期性的扩散-剪枝,PIM-DM 周期性的刷新 SPT。
使用状态刷新消息可以避免被裁剪接口因超时而恢复转发。第一跳路由器周期性地触 发(S,G)状态刷新消息,该消息在全网范围内扩散,刷新沿途所有路由器上的剪枝 定时器,继续维持接口的剪枝状态。

举例

如图 3-3 所示,RouterC 上未连接组成员,且与 RouterB 相连的接口在 Assert 竞选中落 败,被抑制转发。这种情况下,RouterC 向上游发起剪枝。

文档版本 01 (2006-12-08)

华为技术有限公司

3-41

3 PIM

图3-3 PIM-DM 剪枝示意图

特性描述 IP 组播

Source

RouterA

RouterB

PIM-DM

Receiver UserA

packets Prune

RouterC

UserB

剪枝过程如下:
1. 当前状态下,RouterC 上的(S,G)表项下游接口列表为 NULL,则向上游 RouterA 发送 Prune 消息,通知 RouterA 不用再转发数据到该下游网段。
2. RouterA 收到 Prune 消息后,停止该下游接口转发,将该下游接口从(S,G)表 项中删除。由于 RouterA 上还存在其他处于转发状态的下游接口,剪枝过程停 止。后续到达的报文只向 RouterB 转发。
剪枝过程从叶子路由器开始,到网络中仅剩下必要的组播转发路径时结束。
3.2.4 嫁接 Graft

基本原理

PIM-DM 使用嫁接,使新出现组成员的网段快速得到组播数据。叶子路由器通过 IGMP 了解到与其相连的用户网段出现组成员,则将与该网段相连的接口恢复转发,并在 (S,G)表项中添加该下游接口。
? 如果当前路由器上有组播报文到达,则组播数据由该下游接口到达组成员网段。
? 如果当前路由器上没有组播报文到达,则从(S,G)表项的上游接口发送 Graft 消息,请求上游将相应下游接口恢复转发。
上游邻居收到 Graft 消息后,将 Graft 消息到达的接口恢复转发,并在(S,G)表 项中添加该下游接口。
? 如果收到 Graft 消息的路由器上有组播报文到达,则组播数据由该下游接口到 达组成员网段。
? 如果收到 Graft 消息的路由器没有组播数据到达,则从(S,G)表项的上游接 口发送 Graft 消息。
嫁接过程从叶子路由器开始,到有组播报文到达的路由器结束。被裁剪的下游接口在 收到 Graft 消息时可以快速恢复转发。

3-42

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播

3 PIM

举例

如图 3-4 所示,剪枝过程结束后,RouterC 上的(S,G)表项下游接口为 NULL。这 时,UserB 加入组播组 G,在 RouterC 的(S,G)表项中添加下游接口。

图3-4 PIM-DM 嫁接示意图

Source

RouterA

RouterB

PIM-DM

packets Graft

RouterC

Receiver UserA
Receiver UserB

嫁接过程如下:
1. RouterC 从(S,G)表项上游接口发送 Graft 嫁接消息,请求上游恢复对应出接口 的转发。
2. RouterA 收到 Graft 消息后,将连接 RouterC 的出接口恢复转发,并在(S,G)项 中添加该下游接口。组播报文由该下游接口到达 RouterC。
嫁接过程从叶子路由器开始,到有组播报文到达的路由器结束。
3.2.5 断言 Assert
Assert 基本原理
当满足如下条件时,说明网段上还存在着其他的组播转发者。路由器执行 Assert:
? 接收到(S,G)报文的接口是本路由器上(S,G)表项中的一个下游接口。 ? 该组播报文不能通过 RPF 检查。
当满足以上条件时,路由器从该下游接口发送 Assert 消息。同时,该下游接口也接收 到了来自该网段上其他组播转发者的 Assert 消息。封装 Assert 消息的组播报文目的地 址是 224.0.0.13,源地址为下游接口地址,TTL 为 1。Assert 消息中携带:该 PIM 路由 器到组播源 S 的开销、所采用的单播路由协议的优先级、组播组地址 G。
路由器将自身条件与对方报文中携带的信息进行比较,称为 Assert 竞选。规则如下:
? 路径优先级较高者获胜。 ? 如果优先级相同,则到组播源的开销较小者获胜。 ? 如果以上都相同,则下游接口 IP 地址最大者获胜。

文档版本 01 (2006-12-08)

华为技术有限公司

3-43

3 PIM
举例

特性描述 IP 组播
根据 Assert 竞选结果,路由器将执行不同的操作:
? 如果获胜,则该下游接口保持转发状态,路由器负责后续在该网段上的(S,G) 转发,该下游接口称为 Assert Winner。
? 如果落败,则禁止该下游接口转发组播报文,将其从(S,G)表项下游接口列表 中删除。该下游接口称为 Assert Loser。
Assert 竞选结束后,该网段上只存在一个下游接口,只传输一份组播报文。所有 Assert Loser 可以周期性地恢复组播数据转发,从而引发周期性的 Assert 竞选。
说明
在 PIM-DM 网络中,如果连接用户主机的共享网段运行 IGMPv1,则由 Assert Winner 充当查询 器。

如图 3-5 所示,RouterB 和 RouterC 都能够接收到组播源 S 发出的组播报文,并且均能 通过 RPF 检查,创建(S,G)。RouterB、RouterC 的下游接口连接在同一网段,同时 向该网段发送组播数据。
图3-5 Assert 示意图

Source RouterA

RouterB

Ethernet

Receiver

RouterC
multicast packets Assert message from RouterB Assert message from RouterC

RouterD

Assert 过程如下:
1. RouterB 从下游接口接收到 RouterC 发来的组播报文,RPF 检查失败,报文被丢 弃。同时,向该网段发送 Assert 消息。
2. RouterC 从下游接口接收到 RouterB 发来的组播报文,RPF 检查失败,报文被丢 弃。同时,向该网段发送 Assert 消息。
3. RouterB 将自身的路由信息与对方报文中携带的路由信息进行比较,由于自身到组 播源的开销较小而获胜。继续向该网段转发组播报文。

3-44

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播

3 PIM

4. RouterC 将自身的路由信息与对方报文中携带的路由信息进行比较,由于自身到组 播源的开销较大而落败。于是禁止该下游接口转发组播报文,将其从(S,G)表 项的下游接口列表中删除。
5. RouterC 从该网段接收到 RouterB 发来的组播报文,RPF 检查失败,报文被丢弃。
Assert 过程结束。

3.3 PIM-SM
3.3.1 PIM-SM 原理简介
PIM-SM 假设网络中的组成员分布非常稀疏,几乎所有网段均不存在组成员。基于这 一假设,PIM-SM 的设计思路是:
? 在网络中维护一台重要的 PIM 路由器:汇聚点 RP,以备临时出现的组成员。网络 中所有 PIM 路由器都知道 RP 的位置。
? 当网络中出现组成员(用户主机通过 IGMP 加入某组播组 G)时,最后一条路由 器向 RP 发送 Join 消息,逐跳创建(*,G)表项,生成以一棵以 RP 为根的 RPT。
? 当网络中出现活跃的组播源(信源向某组播组 G 发送第一个组播数据)时,第一 跳路由器将组播数据封装在 Register 消息中单播发往 RP,在 RP 上创建(S,G) 表项,注册源信息。
? 当网络中同时出现组成员和向该组发送数据的组播源时,以 RP 为中转站:组播数 据先被封装在 Register 消息中发往 RP,再沿 RPT 到达组成员。
由 PIM-SM 的设计思路可见,RP 是 PIM-SM 网络的转发核心,组成员和组播源都向 RP 汇聚。当组播流量增大时,RP 和 RPT 上的负担同时增大。为缓解 RP 和 RPT 的负 担,并优化组播路径,VRP 支持 SPT 切换。
下文将详细介绍 PIM-SM 的各项关键机制:邻居发现、DR 竞选、Assert、RP 发现、加 入、注册、SPT 切换、剪枝。
3.3.2 邻居发现
PIM-SM 中的“邻居发现”与 PIM-DM 中的相同,具体请参见邻居发现。

文档版本 01 (2006-12-08)

华为技术有限公司

3-45

3 PIM
3.3.3 DR 竞选
图3-6 DR 竞选示意图
Ethernet Source
DR Server

特性描述 IP 组播

RP

DR

Ethernet UserA
UserB

Hello Join Register Message
如图 3-6 所示,DR(Designated Router)应用在 PIM-SM 网络中的如下两个位置:
? 在连接组播源的共享网段,由 DR 负责向 RP 发送 Register 注册消息。与组播源相 连的 DR 称为源端 DR。
? 在连接组成员的共享网段,由 DR 负责向 RP 发送 Join 加入消息。与组成员相连 的 DR 称为组成员端 DR。
在组播源或组成员所在的网段,往往同时连接着多台 PIM 路由器。这些 PIM 路由器之 间通过交互 Hello 消息成为 PIM 邻居,Hello 消息中携带 DR 优先级和该网段接口地 址。路由器将自身条件与对方报文中携带的信息进行比较,称为 DR 竞选。规则如 下:
? DR 优先级较高者获胜。 ? 如果 DR 优先级相同或该网段存在至少一台路由器不支持在 Hello 报文中携带 DR
优先级,则 IP 地址较大者获胜。
说明
DR 只对 PIM-SM 网络有意义。当连接组成员的共享网段应用 IGMPv1 时,由 DR 充当查询器。
如果当前 DR 出现故障,将导致 PIM 邻居关系超时,其他 PIM 邻居之间会触发新一轮 的 DR 竞选过程。
3.3.4 断言 Assert
PIM-SM 中的“Assert”与 PIM-DM 中的相同,具体请参见断言 Assert。

3-46

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播

3 PIM

3.3.5 RP 发现
RP 是 PIM-SM 网络的转发核心,网络中所有路由器都必须知道 RP 的地址。
用户通过配置命令,可以限制 RP 只为 IP 地址在一定范围的组播组服务。
说明
一个 RP 可以同时为多个组播组服务,但一个组播组只能对应一个 RP。所有该组成员和向该组 发送组播数据的组播源都向唯一的 RP 汇聚。
? 在小型 PIM-SM 网络中,组播流量也小,全网络仅依靠一个 RP 就能够完成所有 数据转发。该 RP 为所有组播组服务。
? 在大型 PIM-SM 网络中,组播流量巨大,而单个 RP 的处理能力有限。为了缓解 RP 的负担同时优化 RPT 的拓扑结构,可以在网络中同时配置多个 RP,每个 RP 只为部分组播组服务。
VRP 支持如下两种方式在 PIM-SM 网络中配置 RP:
? 静态 RP:在 PIM 域中的所有 PIM 路由器上逐一进行配置,静态指定 RP。 ? 动态 RP:在 PIM 域内选择几台 PIM 路由器,配置 C-RP(Candidate-RP)。从 C-
RP 中竞选产生 RP。 使用动态 RP,必须同时配置 C-BSR(Candidate-BootStrap Router)。由 C-BSR 竞 选产生 BSR。

动态 RP

在 PIM-SM 路由器上配置 C-RP 的同时,指定 C-RP 所在接口(该接口地址作为 C-RP 地址),服务的组范围、C-RP 的优先级。
网络中的所有路由器都知道 BSR 的地址。C-RP 向 BSR 发送 Advertisement 消息,消息 中携带 C-RP 地址、服务的组范围和 C-RP 优先级。BSR 将这些信息汇总为 RP-Set,封 装在 Bootstrap 消息中,发布给全网的每一台 PIM-SM 路由器。消息交互状况如图 3-7 所示。

文档版本 01 (2006-12-08)

华为技术有限公司

3-47

3 PIM

图3-7 动态 RP 竞选

C-BSR

PIM-SM

C-RP

BSR

特性描述 IP 组播

BSR

Bootstrap C-RP advertisement

C-RP

之后,各路由器根据 RP-Set,使用相同的规则进行计算和比较,从众多 C-RP 中竞选 出特定组播组对应的 RP。规则如下:
? C-RP 优先级较高者获胜。 ? 如果优先级相同,则执行 Hash 函数,计算结果较大者获胜。 ? 如果以上都相同,则 C-RP 地址较大者获胜。
由于所有路由器使用相同的 RP-Set 和相同的竞选规则,所以得到的“组播组-RP”对 应关系也相同。路由器将“组播组—RP”对应关系保存下来,以指导后续的组播操 作。

BSR 是从众多 C-BSR 中竞选产生的,负责收集并发布网络中的 C-RP 信息。在 PIMSM 路由器上配置 C-BSR 的同时,指定 C-BSR 所在接口(该接口地址作为 C-BSR 地 址),Hash 掩码长度、C-BSR 的优先级。
最初,每个 C-BSR 都认为自己是 BSR,向全网发送 Bootstrap 消息。Bootstrap 消息中 携带 C-BSR 地址、C-BSR 的优先级。
每一台路由器都收到了所有 C-BSR 发出的 Bootstrap 消息。通过比较这些 C-BSR 信 息,从中竞选产生 BSR。竞选规则如下:
? 优先级较高者获胜。 ? 如果优先级相同,IP 地址较大者获胜。
由于所有路由器使用相同的竞选规则,所以得到的当选 BSR 也相同。
根据 BSR 竞选结果,C-BSR 将执行不同的操作:

3-48

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播

3 PIM

? 如果获胜,则周期性地向网络发送 Bootstrap 消息,消息中携带自己的 IP 地址和 RP-Set 信息。
? 如果落败,则抑制 Bootstrap 消息的发送。一旦当选 BSR 发生故障,落败 C-BSR 自发执行竞选产生新的 BSR,从而确保业务免受中断。

Hash 函数

当网络中同时配置了多个 C-RP 时,可能发生的情况时是:同时存在多个 C-RP 希望为 同一个组播组服务,且优先级相同。
路由器必须使用某种算法,从这些 C-RP 中选取一个唯一的 RP,为特定的组播组服 务。
根据协议的规定,在所有 PIM 路由器上使用 Hash 函数:
Value(G,M,C(i))=(1103515245 *((1103515245 *(G & M)+12345)XOR C (i))+ 12345)mod 2^31

表3-3 函数中的符号解释

符号

解释

Value

Hash 函数。路由器根据组地址 G,运用 Hash 函数,对希望为组 G 服 务且优先机相同的 C-RP 逐一进行计算,并比较计算结果。计算结果 最大者成为真正为组 G 提供服务的 RP。

G

组播组地址。

M

Hash 掩码长度。配置 C-BSR 时确定的常数。

C(i)

C-RP 的 IP 地址。

&

与。逻辑运算符。

XOR

异或。逻辑运算符。

mod

整除取余。算术运算符。

静态 RP

静态 RP 就是直接通过用户配置,为路由器静态指定 RP 的位置。与动态 RP 相比,省 去了控制消息的交互过程和竞选过程。
在 PIM-SM 路由器上配置静态 RP 时,需要指定 RP 的 IP 地址、该 RP 所服务的组播组 地址范围,以及是否静态优先。可以为路由器同时配置多个静态 RP。当多个静态 RP 服务的组播组范围有重叠时,IP 地址最大的静态 RP 成为真正为组播组提供服务的 RP。

文档版本 01 (2006-12-08)

华为技术有限公司

3-49

3 PIM

特性描述 IP 组播

注意
为了保证任何一台 PIM 路由器上的“组播组—RP”对应关系都相同,所有 PIM 路由器上 的静态 RP 配置必须完全相同。否则可能导致组播分发树无法建立。

PIM-SM 网络中可以同时配置静态 RP 和动态 RP,且为同一个组播组服务。如果未指 定静态优先,则动态 RP 优先级较高。动态 RP Down 掉后,由静态 RP 接替工作。
当 PIM-SM 网络内仅有一个动态 RP 时,同时配置静态 RP 可以避免因单一节点故障而 引起通信中断,同时也可以避免 C-RP 和 BSR 之间频繁的信息交互占用带宽。
3.3.6 加入 Join

基本原理

说明
IGMP 中的“加入”是指:用户主机发出 Report 消息,指定加入某组播组,成为组成员。PIM-SM 中的“加入”是指路由器发出 Join 消息,建立组播路由。
PIM-SM 中的“加入”分两种情况:
? RPT 加入。当网段中出现组成员时,由组成员端 DR 发起,向 RP 的方向逐跳发送 Join 消息,建立组播路由。
? SPT 加入。 ? 当 RP 开始 SPT 切换时,由 RP 发起,向源的方向逐跳发送 Join 消息,建立组 播路由。 ? 当组成员端 DR 开始 SPT 切换时,由组成员端 DR 发起,向源的方向逐跳发送 Join 消息。建立组播路由。
说明
本节只介绍“RPT 加入”。“SPT 加入”请参见 SPT 切换。
当某网段中出现组播组 G 的成员时:
? 如果 DR 上存在(*,G)表项,则更新表项,将该网段接口添加到下游接口列表 中。
? 如果 DR 上不存在(*,G)表项,则创建表项:将该网段接口添加到下游接口列 表中,上游接口为朝向 RP 的 RPF 邻居。同时,DR 从上游接口发出 Join 消息, 消息中携带请求加入的组播组地址 G。 ? 如果收到 Join 消息的路由器上存在(*,G)表项,则将接收到 Join 消息的接 口添加到下游接口列表中。 ? 如果收到 Join 消息的路由器上不存在(*,G)表项,且为 RP,则创建(*, G)表项:上游接口为 Null,下游接口列表包含所有接收到 Join 消息的接口。 ? 如果收到 Join 消息的路由器上不存在(*,G)表项,且不是 RP,则创建(*, G)表项:上游接口为朝向 RP 的 RPF 接口,下游接口列表包含所有接收到 Join 消息的接口。同时继续向 RP 的方向发送 Join 消息。

3-50

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播

3 PIM

RPT 加入过程从连接组成员的 DR 开始,到 RP 或存在(*,G)表项的路由器结束。 网络中(*,G)表项的转发路径,形成一棵以 RP 为根,连接所有组成员的 RPT。因 为所有发往该组的组播数据,不区分组播源,都可以沿 RPT 到达组成员,所以 RPT 又 称为共享树。
一旦 RP 收到发往组播组 G 的报文时,沿 RPT 分发到组 G 的所有成员。

举例

如图 3-8 所示,PIM-SM 网络中 RouterB 为组播组 G 对应的 RP。

图3-8 构建 RPT

RouterD DR

Receiver UserA

Source RouterA

RouterB

RouterC

DR
Join packets

RP PIM-SM

DR RouterE

UserB

UserA 加入组播组 G,则 RPT 加入过程如下:
1. RouterD 作为连接 UserA 的 DR,在本地创建(*,G)表项。下游接口为与 UserA 相连的接口,上游接口为与 RouterC 相连的接口。RouterD 从上游接口发出 Join 消 息。
2. RouterC 收到 Join 消息后,在本地创建(*,G)表项。下游接口为与 RouterD 相 连的接口。上游接口为与 RouterB 相连的接口。RouterC 从上游接口发出 Join 消 息。
3. RouterB 收到 Join 消息后,在本地创建(*,G)表项。下游接口为与 RouterC 相 连的接口。上游接口为 Null。RPT 加入过程终止。
假设这时 UserB 加入组 G,则 RPT 加入过程如下:
4. RouterE 作为连接 UserB 的 DR,在本地创建对应(*,G)表项。下游接口为与 UserB 相连的接口,上游接口为与 RouterC 相连的接口。RouterE 从该接口发出 Join 消息。
5. RouterC 收到 Join 消息后,在(*,G)表项的下游接口列表中添加与 RouterE 相 连的接口。RPT 加入过程终止。
假如稍后网络中出现活跃的组播源 S,向组 G 发送报文:

文档版本 01 (2006-12-08)

华为技术有限公司

3-51

3 PIM

特性描述 IP 组播

6. 当 RouterB 收到源 S 发往组 G 的组播报文时,在本地创建(S,G)表项,下游接 口为与 RouterC 相连的接口。将组播报文从下游接口发送出去。
7. 当 RouterC 收到源 S 发往组 G 的组播报文后,在本地创建(S,G)表项,继承 (*,G)表项的内容。将组播报文从下游接口发送出去。
8. 当 RouterD 和 RouterE 收到源 S 发往组 G 的组播报文后,在本地创建(S,G)表 项,继承(*,G)表项的内容。将组播报文从下游接口发送出去。UserA 和 UserB 收到组播报文。
9. 后续到达路由器的组播报文由(S,G)表项指导转发。
3.3.7 注册 Register

基本原理

在 PIM-SM 网络中,任何一个新出现的组播源都必须首先在 RP 处“注册”,继而才能 将组播报文传输到组成员。
某信源 S 开始向某组播组 G 发送组播报文。源端 DR 收到第一个组播报文,知道该网 段中出现了活跃的组播源。DR 将组播报文逐个封装在 Register 消息中,沿单播路径发 送给组 G 对应的 RP。封装 Register 消息的 IP 报文目的地址为 RP,源地址为 DR。
RP 接收到 Register 消息后,解封装得到组播报文,并建立(S,G)表项,上游接口为 “Register”。
? 如果 RP 上不存在(*,G)表项,说明网络中不存在组成员,则(S,G)表项下 游接口列表为空,丢弃组播数据。
? 如果 RP 上存在(*,G)表项,说明网络中的组成员已经连接在 RPT 上,则 (S,G)表项继承(*,G)表项的下游接口列表。RP 将组播报文沿 RPT 分发到 各个接收者主机。
? 如果 RP 允许触发 SPT 切换,则 RP 将(*,G)表项的上游接口更新为朝向 S 的 RPF 接口,同时从上游接口发送 Join 消息。Join 消息逐跳向上传播,在沿途 路由器上创建(S,G)表项,上游接口为朝向 S 的 RPF 接口,下游接口为收 到 Join 消息的接口。
加入过程到源 S 终止,源 S 与 RP 之间形成了一条组播转发路径,称为 RP-源 树。这时,组播报文将同时沿组播路径和单播路径发往 RP。
当 RP 从(S,G)表项的上游接口收到组播报文后,向 DR 单播发送 Registerstop 消息。封装 Register-stop 消息的 IP 报文目的地址为 DR,源地址为 RP。 DR 收到 Register-stop 消息后,停止发送 Register 消息。
后续的组播报文只沿 RP-源树到达 RP。注册过程结束。
? 如果 RP 不允许触发 SPT 切换,但是组成员端 DR 触发了 SPT 切换,且 RP 在 SPT 上,则当 RP 收到下游发来的 Join 消息时,继续向源的方向转发。当 RP 从(S,G)表项的上游接口收到组播报文后,向 DR 单播发送 Register-stop 消 息。DR 收到 Register-stop 消息后,停止发送 Register 消息。注册过程结束。
? 如果 RP 不允许触发 SPT 切换,但是组成员端 DR 触发了 SPT 切换,且 RP 不 在 SPT 上,则在 SPT 切换结束时,RP 上的(S,G)表项下游接口列表为 NULL。RP 向 DR 单播发送 Register-stop 消息。DR 收到 Register-stop 消息后, 停止发送 Register 消息。注册过程结束。
? 否则 DR 将持续使用 Register 消息封装组播报文,注册过程不能停止。

3-52

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播

3 PIM

举例

如图 3-9 所示,PIM-SM 网络中存在组 G 成员 UserA 和 UserB,RouterC 为组 G 对应的 RP,组 G 的 RPT 已经构建完成。

图3-9 组播源注册

Source

DR

S RouterA

packets Register Join

PIM-SM

RouterD

Receiver UserA

RP

RouterB RouterC RouterE

Receiver UserB

组播源 S 注册过程如下:
1. 组播源 S 开始向组播组 G 发送组播报文。RouterA 接收到第一个组播报文,作为 DR,查找组播路由表,确定不存在(S,G)表项,无法执行组播转发。
2. RouterA 发现 RouterC 是组播组 G 对应的 RP,则将后续组播报文封装在 Register 注册报文中,以单播方式,逐个向 RouterC 发送。
3. RouterC 接收到 Register 消息,解封装,创建(S,G)表项,继承(*,G)的下 游接口列表,将组播报文沿 RPT 树分发到 UserA 和 UserB。

文档版本 01 (2006-12-08)

华为技术有限公司

3-53

3 PIM

图3-10 RP 触发 SPT 切换

Source

DR

S RouterA

packets Stop Register

特性描述 IP 组播

PIM-SM

RouterD

Receiver UserA

RP

RouterB RouterC RouterE

Receiver UserB

假如 RouterC 上允许执行 SPT 切换,如图 3-10:
4. RouterC 将(S,G)表项的上游接口更新为朝向源 S 的 RPF 接口,从该上游接口 发送 Join 消息。
5. RouterB 收到 Join 消息后,创建(S,G)转发表项,上游接口为朝向源 S 的 RPF 接口,下游接口为收到 Join 消息的接口。
6. RouterA 收到 Join 消息后,创建(S,G)转发表项,上游接口为与源相连的接 口,下游接口为收到 Join 消息的接口。源 S 与 RP 之间形成了 RP-源树。
7. 源 S 发出的组播数据沿 RP-源树发往 RouterC。同时,RouterA 将收到的组播报文 封装在 Register 消息中发往 RouterC。
8. 当 RouterC 从(S,G)表项的上游接口接收到组播报文后,向 RouterA 单播发送 Register-Stop 消息,通知注册成功。
9. RouterA 接收到 Register-Stop 消息后,停止将组播报文封装在 Register 注册报文 中,进入注册抑制期。组播源注册过程结束。
3.3.8 SPT 切换

基本原理

在 PIM-SM 网络中,一个组播组只对应一个 RP,只构建一棵 RPT。在未进行 SPT 切 换的情况下,所有发往该组的组播报文都必须先封装在注册消息中发往 RP,RP 解封 装后,再沿 RPT 分发。
RP 是所有组播报文必经的中转站。当组播报文速率逐渐较大时,对 RP 形成巨大的负 担。
为了解决此问题,PIM-SM 允许在组播报文速率较大时,由 RP 或组成员端 DR 触发 SPT 切换。组播源简称为 S。

3-54

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播

3 PIM

? 由 RP 触发 SPT 切换,建立 RP-源树,停止使用注册消息,使源端 DR 和 RP 免除 了频繁的封装/解封装。
RP 周期性检测组播报文的转发速率。一旦发现(S,G)报文的转发速率超过阈 值,则向组播源 S 的方向发送 Join 消息,在 S 与 RP 之间建立 RP-源树。后续 (S,G)报文沿 RP-源树到达 RP。
说明
“由 RP 触发的 SPT 切换”的具体过程,请参考注册。
网络中可能同时存在多个源向同一个 RP 注册。SPT 切换后,只有 S 发往组 G 的 报文沿 SPT 转发,而其它组播报文,仍然使用注册消息封装。
? 由组成员端 DR 触发 SPT 切换,建立从源到组成员的 SPT,后续报文可能不再流 经 RP。由于 RPT 不一定是路径最短的树,进行 SPT 切换后,减少了组播数据在 网络中的传输延迟。
组成员端 DR 周期性检测组播报文的转发速率。一旦发现(S,G)报文的转发速 率超过阈值,则触发 SPT 切换。如图 3-11 所示。

文档版本 01 (2006-12-08)

华为技术有限公司

3-55

3 PIM

图3-11 组成员端 DR 触发 SPT 切换
开始

特性描述 IP 组播

组成员端DR发现 (S,G)报文的 转发速率超过阈值

当前路由 器是源端DR



时S后P拆T续从S除从GP的)源后T与源不(转到续S到符PS发达的T,达的不路组(G组(符)径成S成,S的报。员,员G(文,)G,)S沿同报,同转文时发沿拆路S除P径T与。



向S的方向发送Join消 息。不改变(S,G)
表项的上游接口

结束

上游邻居收 到Join消息

上游路由器



有(S,G)表项



创建(S,G)表项

Join消息到达的接口在



(S,G)表项下游接口列表中



添加相应下游接口

说明
SPT 建好后,如何拆除与 SPT 不符的转发路径,请参见 SPT 切换引起的 RPT 剪枝和 SPT 切换引 起的源-RP 树剪枝。
网络中可能同时存在多个源向组播组 G 发送报文。SPT 切换前,这些报文都沿 RPT 到达组成员端 DR。完成 SPT 切换后,只有 S 发往组 G 的报文沿 SPT 转发, 而由其它源发往组 G 的报文,仍然需要沿 RPT 转发。
缺省情况下,RP 和组成员端 DR 在收到第一个组播报文后立即进行 SPT 切换。

3-56

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播

3 PIM

举例

如图 3-12 所示,组播源 S1、S2 同时向组播组 G 发送数据。RP 已经触发了 SPT 切 换,在 RP 与 S1、S2 之间分别建立了 RP-源树。组播数据先沿各自的 RP-源树到达 RP,再统一沿 RPT 到达组成员 UserA。

图3-12 组成员端 DR 触发 SPT 切换前

Receiver RouterA DR
UserA

PIM-SM

RouterC DR

Source S2

Source S1

DR RouterB

packets from S1 packets from S2

RouterD RP

SPT 切换过程如下: 1. RouterA 作为组成员端 DR,对流经的组播报文速率进行周期性检测,发现(S1,
G)报文速率超过阈值。 2. RouterA 开始 SPT 切换。RouterA 向 RouterB 发送 Join 消息。如图 3-13。
图3-13 组成员端 DR 触发 SPT 切换

Receiver RouterA DR
UserA
Source DR
S1 RouterB
Join Prune packets

PIM-SM

RouterC DR

Source S2

RouterD RP

文档版本 01 (2006-12-08)

华为技术有限公司

3-57

3 PIM

特性描述 IP 组播

3. RouterB 接收到 Join 消息后,将 Join 消息到达的接口添加到(S1,G)表项的下游 接口列表中,并保持上游接口不变。这时,RouterB 的(S1,G)表项的下游接口 列表中同时包含连接 RouterA 和连接 RouterD 的两个接口。
4. S1 继续发送组播报文,由 RouterB 向 RouterA 和 RouterD 转发。RouterD 沿 RPT 将报文转发给 RouterA。
5. RouterA 从与 RouterB 相连的接口收到(S1,G)报文,与(S1,G)表项的上游 接口不符。RPF 检查通过,将(S1,G)表项的上游接口改为与 RouterB 相连的接 口。
6. 稍后,RouterA 从与 RouterD 相连的接口收到(S1,G)报文,与当前(S1,G) 表项的上游接口不符。经过 RPF 检查失败,丢弃。同时,RouterA 从与 RouterD 相连的接口发出剪枝消息。请求 RouterD 取消相应下游接口转发。
7. 剪枝消息到达 RouterD 后,RouterD 删除(S1,G)表项的下游接口。这时,下游 接口列表为 NULL,表示下游不存在组成员。RouterD 保留(S1,G)表项,从上 游接口发出剪枝消息。
8. 剪枝消息到达 RouterB 后,RouterB 删除相应下游接口。这时,下游接口列表中只 剩下与 RouterA 相连的接口。
9. 后续 S1 发往组 G 的组播报文沿路径 RouterB—>RouterA 到达 UserA。S2 发往组 G 的组播报文仍然沿 RPT 到达 UserA。
SPT 切换完成。
3.3.9 剪枝 Prune
PIM-SM 路由器在三种情况下会发送剪枝消息:
? 组成员离开
? SPT 切换引起的 RPT 剪枝 ? SPT 切换引起的源-RP 树剪枝

组成员离开
“组成员离开”引起的剪枝活动将改变 RPT 的拓扑。组成员端 DR 通过 IGMP 得知某下 游网段组 G 成员已全部离开,随后发生的剪枝活动如图 3-14 所示。

3-58

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播 图3-14 “组成员离开”引起的 RPT 剪枝 开始

组成员离开

上游邻居收 到剪枝消息

删除(*,G)表项 的相应下游接口

从原(*,G)表项上 游接口发出剪枝消息

下游接口



列表为NULL



删除(*,G)表项





当前路由器为RP

结束

3 PIM

? 如果“下游接口列表为 NULL”的判断结果为“否”,则表示 RPT 上还连接着其他 的组成员。
? 如果“当前路由器为 RP”的判断结果为“是”,则表示 RPT 已被删除。
说明
如果组成员端 DR 上同时存在(S,G)表项,则将同时进行(S,G)表项的剪枝。
组成员端 DR 上存在(S,G)表项,通过 IGMP 得知某下游网段组 G 成员已全部离 开,随后发生的剪枝活动如图 3-15 所示。

文档版本 01 (2006-12-08)

华为技术有限公司

3-59

3 PIM

图3-15 “组成员离开”引起的(S,G)剪枝
开始

特性描述 IP 组播

组成员离开

上游邻居收 到剪枝消息

删除(S,G)表项 的相应下游接口

从原(S,G)表项上 游接口发出剪枝消息

下游接口



列表为NULL



删除(S,G)表项

否 当前路由器为RP





上游接口是 是

"register"

结束

? 如果“下游接口列表为 NULL”的判断结果为“否”,则表示该路由器上还连接着 其他的组成员。
? 如果“当前路由器为 RP”的判断结果为“是”,且“上游接口是‘register’”的判 断结果为“是”,则表示 RP 与源之间不存在组播路径。在 RP 上必须保留(S, G)表项。
? 如果“当前路由器为 RP”的判断结果为“是”,且“上游接口是‘register’”的判 断结果为“否”,则表示 RP 与源之间存在组播路径,仍然需要继续向上剪枝。在 RP 上必须保留(S,G)表项。
SPT 切换引起的 RPT 剪枝
当组成员端 DR 未进行 SPT 切换之前,源 S 发出的组播数据沿 RPT 到达组成员,在沿 途路由器上生成(S,G)表项,上游接口朝向 RP。
组成员端 DR 发起 SPT 切换后,如果建立的 SPT 与 RPT 路径不一致,则需要拆除 RPT 路径上的(S,G)表项。

3-60

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播

3 PIM

说明 “组成员端 DR 发起 SPT 切换”的具体过程,请参见 SPT 切换。
后续(S,G)报文沿(S,G)表项向下转发。当报文到达 SPT 与 RPT 分叉的路由器 时,触发“SPT 切换引起的 RPT 剪枝”。如图 3-16 所示。

图3-16 SPT 切换引起的 RPT 剪枝

开始

路由器收到(S,G)报文

报文到达接口与



(S,G)表项上游接口相同



丢弃报文,执行RPF检查, 更新(S,G)表项上游接口。
从原上游接口发出剪枝消息

向下游接口转发

路由器收到剪枝消息,删除 (S,G)表项的相应下游接口

路由器非RP,且



下游接口列表为NULL



保留(S,G)表项, 从上游接口发出剪枝消息

结束

“SPT 切换引起的 RPT 剪枝”的结果:
? RPT 的拓扑不变,只对 RPT 路径上的(S,G)表项剪枝。 ? 只删除(S,G)表项下游接口。当下游接口列表为 NULL 时,继续向上发剪枝消
息,但本地(S,G)表项保留。

文档版本 01 (2006-12-08)

华为技术有限公司

3-61

3 PIM

特性描述 IP 组播
? 当 RP 上的(S,G)表项下游接口列表为 NULL,且上游接口为“register”,则 表示 RP 与源之间不存在组播路径,所有与 SPT 不符的(S,G)路径已全部拆 除,SPT 切换完成。
? 当 RP 上的(S,G)表项下游接口列表为 NULL,且上游接口非“register”,则 表示 RP 与源之间存在组播路径,SPT 切换仍未完成。触发“SPT 切换引起的源RP 树剪枝”。

SPT 切换引起的源-RP 树剪枝
“SPT 切换引起的 RPT 剪枝”结束后,检查 RP 上的(S,G)表项。如果发现上游接 口非“register”,则由 RP 发起“SPT 切换引起的源-RP 树剪枝”。如图 3-17。

图3-17 SPT 切换引起的源-RP 树剪枝

开始

RP从(S,G)表项的 上游接口发出剪枝消息

路由器收到剪枝消息, 删除相应下游接口
否 下游接口列表为NULL

删除(S,G)表项, 从原(S,G)表项的 上游接口发出剪枝消息

结束

“SPT 切换引起的源-RP 树剪枝”的结果:
? 只对 RP-源树路径上的(S,G)表项剪枝。 ? 删除(S,G)表项的下游接口,当下游接口列表为 NULL 时继续向上发剪枝消
息,同时删除本地(S,G)表项。 ? 当“SPT 切换引起的源-RP 树剪枝”结束,所有与 SPT 不符的(S,G)路径已全
部拆除,SPT 切换完成。

3-62

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播

3 PIM

3.3.10 PIM-SM 的 BSR 管理域
在传统模式下,一个 PIM-SM 网络内只有一个 BSR,由该 BSR 负责在整个网络内收集 并宣告 RP-Set 集信息,所有组播组的信息都在此 BSR 管理的网络范围内进行转发。
出于网络管理精细化的目的,可以将一个统一的 PIM-SM 网络划分为多个 BSR 管理域 和一个 Gloab 域。这样一方面可以有效的分担单一 BSR 的管理压力,另一方面可以使 用私有组地址为特定区域的用户提供专门服务。
每个 BSR 管理域中维护一个 BSR,为某一特定地址范围的组播组服务。Gloab 域中维 护一个 BSR,为所有剩余的组播组服务。
下文将从地域空间、组地址范围、组播功能三个角度分析 BSR 管理域和 Global 域的关 系。

地域空间

图3-18 BSR 管理域_地域空间

C-RP

BSR

BSR1 domain Global domain

BSR C-RP

C-RP

C-RP

BSR

BSR2 domain

如图 3-18 所示,各 BSR 管理域所包含的路由器互不相同,同一路由器不能从属于多个 BSR 管理域。各 BSR 管理域在地域上相互独立,且相互隔离。BSR 管理域是针对特定 地址范围的组播组的管理区域,属于此范围的组播报文只能在本管理域内传播,无法 通过 BSR 管理域边界。
Global 域包含 PIM-SM 网络内的全部路由器。不属于任意 BSR 管理域的组播报文,可 以在整个 PIM 网络范围内传播。

文档版本 01 (2006-12-08)

华为技术有限公司

3-63

3 PIM
组地址范围
图3-19 BSR 管理域_地址范围

BSR 1 G1 address

BSR3 G3 address

Global G-G1-G2 address

BSR2 G2 address

特性描述 IP 组播

组播功能

每个 BSR 管理域为特定地址范围的组播组提供服务,不同的 BSR 管理域服务的组播组 范围可以重叠。该组播地址只在本 BSR 管理域内有效,相当于私有组地址。如图 3-19 所示,BSR1 域和 BSR2 域对应的组地址范围出现重叠。
不属于任何 BSR 管理域的组播组,一律属于 Gloab 域的服务范围。即 Global 域组地址 范围是 G-G1-G2。
如图 3-18 所示,Global 域和每个 BSR 管理域都包含针对自己域的 C-RP 和 BSR 设 备,这些设备在行使相应功能时,仅在本域内有效。即 BSR 机制和 RP 竞选在各管理 域之间是隔离的。
每个 BSR 管理域都有自己的边界,该管理域的组播信息(C-RP 宣告消息、BSR 自举 消息等)不能跨越域传播。同时 Global 域的组播信息可以在整个 Global 域内传递,可 以穿越任意 BSR 管理域。

3.4 SSM

基本原理

使用 SSM 实现组播业务,需要满足如下条件:
? 路由器上与组成员相连的接口运行 IGMPv3。 ? 路由器之间运行 PIM-SM 协议。 ? 用户加入的组播组在 SSM 组地址范围内。

3-64

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播

3 PIM

SSM 的特点:网络用户能够预先知道组播源的具体位置。因此用户在加入组播组时, 可以明确指定从哪些源接收信息。组成员端 DR 了解到用户的需求后,直接向组播源 的方向发送 Join 消息。Join 消息逐跳向上传输,在源与组成员之间建立 SPT。
SSM 只使用了 PIM-SM 的部分技术:SSM 无需维护 RP、无需构建 RPT、无需注册组 播源,可以直接在源与组成员之间建立 SPT。
在 SSM 中,DR 仅在与组成员相连的共享网段上有效。由 DR 向源的方向发送加入消 息,逐跳创建(S,G)表项,构建 SPT。

举例

如图 3-20 所示,网络中运行 PIM-SM,组播源 S 同时向组播组 G1、G2 发送组播报 文。G1 属于 SSM 组地址范围,而 G2 不属于。在路由器与 UserA 和 UserB 相连的末 梢网段上运行 IGMPv3。UserA 请求接收(S,G1)报文而 UserB 请求接收(S,G2) 报文。

图3-20 SSM 组播转发

Source S

RouterA DR

PIM-SM

RouterC DR

Receiver UserB

Receiver DR
UserA
RouterB
Join packets

RouterD RP

该网络中组播报文转发路径建立过程如下:
1. RouterB 作为 UserA 侧 DR 接收到 UserA 的 IGMPv3 报文。确定其申请加入的 G1 属于 SSM 组地址范围,则应用 SSM 模式。
2. RouterB 创建(S,G)表项,上游接口为朝向 S 的 RPF 接口,下游接口为连接 UserA 的接口。RouterB 从上游接口发出 Join 消息。
3. RouterA 接收到 Join 消息,创建(S,G)表项,上游接口为连接 S 的接口,下游 接口为收到 Join 消息的接口。SPT 构建完成,S 发出的组播报文沿 SPT 直接发送 到 UserA。
4. 同时,RouterC 作为 UserB 侧 DR 接收到 UserB 的 IGMPv3 报文。确定其申请加入 的 G2 不属于 SSM 组地址范围,则将依照正常的 PIM-SM 模式创建组播路由:创 建 RPT、源注册、SPT 切换。

文档版本 01 (2006-12-08)

华为技术有限公司

3-65

3 PIM

特性描述 IP 组播

3.5 多实例的 PIM
在多实例应用中,组播路由器需要针对不同的 VPN 实例分别维护 PIM 邻居表、组播路 由表、BSR 信息、RP-Set 信息,并保持多个 VPN 实例之间上述信息的相互隔离。从外 部看,该路由器像是多台独立运行 PIM 协议的组播路由器。
? 当路由器接收到协议报文时,需要区分出该协议报文所属的 VPN 实例,并由该 VPN 实例的 PIM 进行处理。
? 当路由器接收到数据报文时,需要区分出该数据报文所属的 VPN 实例,并根据该 VPN 实例对应的组播路由表将其转发,或创建与该 VPN 实例中 PIM 相关的组播 路由表项。
说明
关于多实例 PIM 的更多内容,请参见《VRP 特性描述 IP 组播》中的“组播 VPN。”

3.6 PIM 控制消息
PIM 通过路由器之间交互 PIM 控制消息实现组播路由功能。PIM 控制消息使用 IP 报文 封装,如图 3-21。

图3-21 PIM 消息的封装格式
IP 报文头

PIM 消息

? IP 报文头的协议类型字段值为 103,用来标识数据部分封装了 PIM 消息。 ? IP 报文头的目的地址字段用来标识该 PIM 消息的目的接收者。可以是单播地址,
也可以是组播地址。 ? PIM-DM 协议与 PIM-SM 协议,支持不同的控制消息。
3.6.1 PIM 控制消息类型
PIM 控制消息 所有的 PIM 控制消息头部有相同的格式,如图 3-22:

图3-22 PIM 控制消息格式

Version Type

-

表3-4 PIM 控制消息字段说明

字段

说明

Version

PIM 版本,值为 2。

3-66

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播 字段 Type
Checksum

3 PIM
说明
消息类型,取值如下: 0:Hello(PIM-DM 与 PIM-SM 都适用) 1:Register(只适用于 PIM-SM) 2:Register-Stop(只适用于 PIM-SM) 3:Join/Prune(PIM-DM 与 PIM-SM 都适用) 4:Bootstrap(只适用于 PIM-SM) 5:Assert(PIM-DM 与 PIM-SM 都适用) 6:Graft(只适用于 PIM-DM) 7:Graft-Ack(只适用于 PIM-DM) 8:Candidate-RP-Advertisement(只适用于 PIM-SM) 9:State Refresh(只适用于 PIM-DM)
校验和。

说明 关于控制消息的具体格式,请参见 PIM 控制消息类型。
3.6.2 Hello 消息
说明 Hello 消息同时在 PIM-DM 与 PIM-SM 中使用。Hello 消息中无法区分是 PIM-DM 还是 PIMSM。
PIM 路由器从所有 PIM 接口周期性的向外发送 Hello 消息。PIM 路由器之间通过交互 Hello 消息,发现 PIM 邻居并维护邻居关系。 封装 Hello 消息的 IP 报文源地址为本地接口地址,目的地址为 224.0.0.13,TTL 值为 1。使用组播方式发送。

图3-23 Hello 消息格式

Version Type

-

Hello Option [ 1 ]

...

Hello Option [ N ]

文档版本 01 (2006-12-08)

华为技术有限公司

3-67

3 PIM

图3-24 Hello Option 字段格式
OptionType

OptionValue

特性描述 IP 组播 OptionLength

表3-5 Hello 消息字段说明 字段 Type OptionType OptionLength OptionValue

说明 消息类型,值为 0。 参数类型,有效取值参见表 3-6。 OptionValue 字段长度。 参数值。

表3-6 有效 OptionType 取值

OptionType OptionValue

1

Holdtime,表示保持邻居为可达状态的超时时间,若超时仍没有收

到 Hello 消息则认为邻居不可达。

2

该字段由三部分组成:

LAN Prune Delay:在共享网段上传递 Prune 消息的延迟时间。 Prune 剪枝传递延迟。

Override Interval:在共享网段上执行剪枝前的否决时间。

T:Join 消息抑制能力位。

19

DR Priority,表示各路由器接口竞选 DR 的优先级,优先级越高越

容易获胜。

20

Generation ID,Hello 消息中携带的随机数,表示当前邻居状态,

如果状态发生更新则随机数也会更新。当路由器发现接收到的来

自上游的 Hello 消息中包含不同 Generation_ID 值,则认为上游邻

居状态已经丢失或上游邻居已经改变。

21

State Refresh Capable,表示邻居状态刷新时间间隔。

3.6.3 Register 消息
说明
Register 消息只在 PIM-SM 中使用。

3-68

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播

3 PIM

当 PIM-SM 网络中出现活跃组播源时,源端 DR 向 RP 发送 Register 消息,进行源注 册。
封装 Register 消息的 IP 报文源地址为源端 DR,目的地址为 RP。使用单播方式发送。

图3-25 Register 消息格式
Version Type

-

Multicast data packet

表3-7 Register 消息字段说明

字段

说明

Type

消息类型,值为 1。

Multicast data packet

组播数据报文。源端 DR 将接收到的组播数据报文封装 在 Register 消息中发往 RP。
RP 解封装后,学习到该组播数据报文的(S,G)信 息。

一个组播源可能同时向多个组播组发送数据,则源端 DR 必须向每个组播组对应的 RP 发送 Register 消息。一个 Register 消息只能封装一个组播数据报文,所以只能携带一项 (S,G)信息。
在注册抑制期间,DR 向 RP 发送“空注册消息”,通告组播源仍处于激活状态;注册 抑制超时后,DR 重新使用 Register 注册消息封装组播数据报文。在“空注册消息” 中,Multicast data packet 字段只包含组播数据报文头:组播源地址、组地址、数据字 段长度 0。
3.6.4 Register-Stop 消息
说明
Register-Stop 消息只在 PIM-SM 中使用。
在 PIM-SM 网络中,当接收者不再通过 RP 接收发往某组播组的数据(即 RP 不再为某 组播组成员服务),或 RP 沿组播路径接收到第一个组播数据时,RP 将会向组播源端 DR 发送 Register-stop 消息。
组播源端 DR 收到 Register-stop 消息后,停止使用 Register 注册消息封装组播数据报 文,并进入注册抑制状态。
封装 Register-Stop 消息的 IP 报文源地址为 RP,目的地址为源端 DR。使用单播方式发 送。

文档版本 01 (2006-12-08)

华为技术有限公司

3-69

3 PIM

图3-26 Register-Stop 消息格式
Version Type

Group Address Source Address

特性描述 IP 组播

表3-8 Register-Stop 消息字段说明

字段

说明

Type

消息类型,值为 2。

Group Address

组播组地址 G。

Source Address

组播源地址 S。

一个 RP 可能同时为多个组播组服务,而一个组播组可能同时对应多个向其发送数据的 组播源。因此,一个 RP 上可能同时进行着多项(S,G)注册。
一个 Register-Stop 消息中只能携带一项(S,G)信息。当 RP 向源端 DR 发送一个 Register-Stop 消息,只能结束一项(S,G)注册。
源端 DR 收到携带(S,G)信息的 Register-Stop 消息后,只停止(S,G)报文的封 装。源 S 向其他组播组发出的报文仍然使用 Register 消息封装。
3.6.5 Join/Prune 消息
说明
Join/Prune 消息同时在 PIM-DM 和 PIM-SM 中使用。
一条 Join/Prune 消息中可以同时包含 Join 信息和 Prune 信息。只包含 Join 信息的 Join/Prune 消息称为 Join 消息。只包含 Prune 信息的 Join/Prune 消息称为 Prune 消息。
? 当 PIM 路由器下游没有组播需求时,从上游接口发出 Prune 消息,通知上游停止 向该网段转发组播报文。
? 当 PIM-SM 网络中出现组成员时,组成员端 DR 从朝向 RP 的 RPF 接口,发出 Join 消息,通知上游邻居向该网段转发组播报文。Join 消息逐跳向上,构建 RPT。
? 当 RP 触发 SPT 切换时,RP 从朝向组播源的 RPF 接口,发送 Join 消息,通知上 游邻居向该网段转发组播报文。Join 消息逐跳向上,构建 RP-源树。
? 当组成员端 DR 触发 SPT 切换时,组成员端 DR 从朝向组播源的 RPF 接口,发送 Join 消息,通知上游邻居向该网段转发组播报文。Join 消息逐跳向上,构建 SPT。
封装 Join/Prune 消息的 IP 报文源地址为本地接口地址,目的地址为 224.0.0.13,TTL 值 为 1。使用组播方式发送。

3-70

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播

图3-27 Join/Prune 消息格式

Version Type -

Upstream Neighbor Address Number of Groups(N)

Holdtime

Group J/P Record [ 1 ]

...

Group J/P Record [ N ]

3 PIM

图3-28 Group J/P Record 字段格式

Group Address [ 1 ]

Number of Joined Sources( J )

Number of Pruned Sources( P )

Joined Source Address [ 1 ]

...

Joined Source Address [ J ]

Pruned Source Address [ 1 ]

...

Pruned Source Address [ P ]

表3-9 Join/Prune 消息字段说明

字段

说明

Type

消息类型,值为 3。

Upstream Neighbor Address 上游邻居地址。也就是收到 Join/Prune 消息的路由器 上,进行 Join 或 Prune 操作的下游接口地址。

Number of Groups

消息中包含的组播组数目。

Holdtime

剪枝状态保持时间。收到 Prune 消息的路由器,停止相 应下游接口转发的时间,超时恢复转发。
只对 PIM-DM 有效。

Group Address

组播组地址。

Number of Joined Sources 针对该组播组,请求加入的组播源总数。

Number of Pruned Sources 针对该组播组,请求剪枝的组播源总数。

文档版本 01 (2006-12-08)

华为技术有限公司

3-71

3 PIM

字段 Joined Source Address Pruned Source Address

说明 请求加入的组播源地址。 请求剪枝的组播源地址。

特性描述 IP 组播

PIM 共享网段中可能同时连接着一个下游接口和多个上游接口。假设某上游接口发出 Prune 消息。如果其他上游接口仍然需要接收组播报文,则必须在“剪枝否决时间”内 发出 Jion 消息,则该网段上负责转发的下游接口将不执行剪枝操作。
3.6.6 Bootstrap 消息
说明
Bootstrap 消息只在 PIM-SM 中使用。
当 PIM-SM 网络中使用动态 RP 时,配置了 C-BSR 的路由器从所有 PIM 接口周期性的 发送 Bootstrap 消息,参与 BSR 竞选。竞选获胜者,继续发送 Bootstrap 消息,向域内 所有 PIM 路由器发布 RP-Set 信息。
封装 Bootstrap 消息的 IP 报文源地址为 C-BSR 地址,目的地址为 224.0.0.13,使用组播 方式发送。TTL 为 1,在 PIM-SM 网络中逐跳转发,最终达到全网泛滥。

图3-29 Bootstrap 消息格式

Version

Type Fragment Tag

Hash Mask Length BSR-Address

BSR-priority

Group-RP Record [ 1 ]

...

Group-RP Record [ N ]

3-72

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播

图3-30 Group-RP Record 字段格式

Group Address

RP-Count(M)

Frag RP-Cnt

-

RP-address [ 1 ]

RP-holdtime [ 1 ]

RP-Priority [ 1 ]

-

...

RP-address [ M ]

RP-holdtime [ M ]

RP-Priority [ M ]

-

3 PIM

表3-10 Bootstrap 消息字段说明

字段

说明

Type Fragment Tag Hash Mask length BSR-priority BSR-Address Group Address

4 随机数,用来区分 Bootstrap 消息。 C-BSR 的 Hash 掩码长度。 C-BSR 优先级。 C-BSR 地址。 组播组地址。

RP-Count Frag RP-Cnt

希望为该组服务的 C-RP 的总数。
在本段内,希望为该组服务的 C-RP 的数量。 由于可能发生报文分片,一片内的 RP-Set 信息可能不 完整,使用该字段注明。

RP-address RP-holdtime
RP-Priority

C-RP 的地址。
C-RP 发出的 advertisement 消息的老化时间,表示 CRP 的有效时间。
C-RP 的优先级。

在 PIM 接口上配置 pim bsr-boundary 命令,可以将接口配置为 BSR 边界。众多 BSR 边界接口将网络划分成不同 PIM-SM 域,自举报文无法通过 BSR 边界。
3.6.7 Assert 消息
说明 Assert 消息同时在 PIM-DM 和 PIM-SM 中使用。

文档版本 01 (2006-12-08)

华为技术有限公司

3-73

3 PIM

特性描述 IP 组播

在共享网段上,如果 PIM 路由器从(S,G)或(*,G)表项的下游接口收到(S, G)报文,则表示该网段存在其他的转发者。路由器从该下游接口发出 Assert 消息,参 与竞选。竞选落败者停止下游接口的转发。
封装 Assert 消息的 IP 报文源地址为本地接口地址,目的地址为 224.0.0.13,TTL 值为 1。使用组播方式发送。

图3-31 Assert 消息格式
Version Type

Group Address Source address Metric Preference
Metric

表3-11 Assert 消息字段说明 字段 Type Group Address Source address
Metric Preference Metric

说明 消息类型,值为 5。 组播组地址。 如果竞选(S,G)表项的唯一转发者,则为组播源地 址。 如果竞选(*,G)表项的唯一传发者,则为 RP 地址。 到 Source address 的单播路径的优先级。 到 Source address 的单播路由的开销。

3.6.8 Graft 消息
说明
Graft 消息只在 PIM-DM 中使用。
在 PIM-DM 网络中,路由器上出现组成员时,如果本身不在 SPT 上,则从对应的 (S,G)表项的上游接口发送 Graft 消息。上游邻居立即恢复下游接口的转发。如果上 游邻居不在 SPT 上,则继续向上游发送 Graft 消息。
封装 Graft 消息的 IP 报文源地址为上游接口地址,目的地址为 RPF 邻居。使用单播方 式发送。
Graft 消息格式与 Join/Prune 消息相同,参见图 3-27。其中,部分字段取值存在差异:

3-74

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播

表3-12 Graft 消息部分字段取值

字段

说明

Type

消息类型,值为 6。

Joined source address

待嫁接的(S,G)的源地址。

Number of Pruned Sources 该字段为 0。

Hold Time

该字段为 0。

3 PIM

3.6.9 Graft-Ack 消息
说明
Graft-Ack 消息只在 PIM-DM 中使用。
在 PIM-DM 网络中,路由器收到下游发来的 Graft 消息后,恢复相应下游的转发。同 时从该下游接口发出 Graft-Ack 消息,表示已经接受嫁接请求。
如果发出 Graft 消息的路由器在一个设定时间内没有收到 Graft-Ack 消息,则认为上游 未收到 Graft 消息,重发 Graft 消息。
封装 Graft-Ack 消息的 IP 报文源地址为下游接口地址,目的地址为 Graft 消息的发出 者。使用单播方式发送。
Graft-Ack 消息与 Graft 消息格式相同,并复制了 Graft 消息的内容。其中,部分字段取 值存在差异:

表3-13 Graft-Ack 消息部分字段取值

字段

说明

Type

消息类型,值为 7。

Upstream Neighbor Address Graft 消息的发出者地址。

3.6.10 Advertisement 消息
说明
Advertisement 消息只在 PIM-SM 中使用。
当 PIM-SM 网络中使用动态 RP 时,配置了 C-RP 的路由器周期性的向 BSR 发送 Advertisement 消息,通告希望服务的组范围。 封装 Advertisement 消息的 IP 报文源地址为源端 C-RP,目的地址为 BSR。使用单播方 式发送。

文档版本 01 (2006-12-08)

华为技术有限公司

3-75

3 PIM

图3-32 Advertisement 消息格式

Version Type Prefix-Cnt

Priority
RP-Address Group Address [ 1 ]
... Group Address [ N ]

特性描述 IP 组播 Holdtime

表3-14 Advertisement 消息字段说明

字段

说明

Type

消息类型,值为 8。

Prefix-Cnt

组播地址前缀值。

Priority

C-RP 优先级。

Holdtime

Advertisement 消息的老化时间。

RP-Address

C-RP 地址。

Group Address

组播组地址。

3.6.11 State Refresh 消息
说明
State Refresh 消息只在 PIM-DM 中使用。
在 PIM-DM 网络中,为了避免被剪枝的接口因为“剪枝定时器”超时而恢复转发,离 组播源最近的第一跳路由器会周期性地触发 State Refresh 消息。State Refresh 消息在全 网扩散,刷新所有路由器上的剪枝定时器状态。
封装 State Refresh 消息的 IP 报文源地址为下游接口地址,目的地址为 224.0.0.13,TTL 值为 1。使用组播方式发送。

3-76

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播

图3-33 State Refresh 消息格式

Version Type Masklength

-

Multicast Group Address

Source Address

Originator Address

Metric Preference

Metric

TTL

P

-

3 PIM Interval

表3-15 State Refresh 消息字段说明

字段

说明

Type

消息类型,值为 9。

Multicast Group Address

组播组地址。

Source Address

组播源地址。

Originator Address

第一跳路由器地址。

Metric Preference

到达源的单播路由优先级。

Metric

到达源的单播路由开销。

Masklength

到达源的单播路由地址掩码长度。

TTL

State Refresh 消息的 TTL,用来限制消息的传输范围,

逐跳减一。

P

剪枝指示标。如果 State Refresh 消息由被剪枝接口发

出,则 P 为 1。否则为 0。

Interval

发送 State Refresh 消息的时间间隔。

文档版本 01 (2006-12-08)

华为技术有限公司

3-77

3 PIM
3.7 PIM 的应用
3.7.1 小规模试验网组播
图3-34 PIM-DM 典型组网图
RouterA

Source

PIM-DM

RouterD

RouterB

RouterC 需要使能PIM-DM的接口

特性描述 IP 组播
HostA HostB

实现方案

PIM-DM 称为协议独立组播-密集模式。适合规模较小、组播组成员相对比较密集的 局域网。小规模试验网适用 PIM-DM。
? 配置单播路由器协议,确保任意网段路由可达。 ? 在接收者主机上启用 IGMP 协议。 ? 在与接收者主机处于同一网段的路由器接口上启用 IGMP 协议。 ? 在所有路由器接口上启用 PIM-DM 协议。

3-78

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播
3.7.2 大规模稀疏组播网络
图3-35 PIM-SM 域典型组网图

S1

RouterB

RouterC

C-RP

PIM-SM

S2

C-BSR

C-RP

C-BSR

RouterA

RouterD

RouterG

RouterE C-RP
RouterF

需要使能PIM-SM的接口

3 PIM HostA HostB

实现方案

PIM-SM 适合网络中的组成员相对比较稀疏,分布广泛的大型网络。
? 配置单播路由器协议,确保任意网段路由可达。 ? 在用户主机上启用 IGMP 协议。 ? 在与接收者主机处于同一网段的路由器接口上启用 IGMP 协议。 ? 在所有路由器接口上启用 PIM-SM 协议。 ? 在某些 PIM-SM 接口上配置 C-BSR 和 C-RP。

文档版本 01 (2006-12-08)

华为技术有限公司

3-79

3 PIM
3.7.3 Internet 组播
图3-36 PIM-SM 单 BSR 域典型组网图
S1

特性描述 IP 组播 S2

RP
RouterA PIM-SM1
RouterB
RP
Host1

RP2
RouterC PIM-SM2
RouterD
RP2
Host2

MSDP Peers for Anycast-RP in the same PIM-SM domain MSDP Peers for multicast between different PIM-SM domains

实现方案

PIM-SM 适合网络中的组成员相对比较稀疏,分布广泛的大型网络。ISP 在 Internet 上 建立组播路由,适用 PIM-SM。
? 配置单播路由器协议,确保任意网段路由可达。 ? 配置 PIM-SM 域,具体请参见大规模稀疏组播网络。 ? 在 PIM-SM 域内使用 MSDP 建立 Anycast RP,可以实现 RP 负荷分担、组播路由
优化和快速收敛。 ? 在 ISP 组播服务区域边缘的路由器接口上配置 BSR 域边界。同时使用 MSDP 实现
域间组播。
说明 关于 MSDP 的更多内容请参见《VRP 特性描述 IP 组播》中的“MSDP。”

3.8 参考信息
如果要更详细了解 PIM 的原理,请参考以下文档。

3-80

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播

3 PIM

? RFC2362:Protocol Independent Multicast-sparse Mode(PIM-SM):Protocol Specification
? RFC3973:Protocol Independent Multicast - Dense Mode (PIM-DM):Protocol Specification (Revised)
? draft-ietf-pim-sm-v2-new-06:Protocol Independent Multicast-Sparse Mode (PIMSM)
? draft-ietf-pim-dm-new-v2-02:Protocol Independent Multicast-Dense Mode (PIMDM)
? draft-ietf-pim-v2-dm-03:Protocol Independent Multicast Version 2 Dense Mode Specification
? draft-ietf-pim-sm-bsr-02:Bootstrap Router (BSR) Mechanism for PIM Sparse Mode
? draft-ietf-ssm-arch-01:Source-Specific Multicast for IP
? draft-ietf-ssm-overview-04:Source-Specific Multicast for IP

文档版本 01 (2006-12-08)

华为技术有限公司

3-81

4 MSDP

特性描述 IP 组播

4 MSDP

关于本章

本章描述内容如下表所示。 标题 4.1 简介 4.2 MSDP 对等体
4.3 Anycast RP
4.4 MSDP 控制消息
4.5 控制 SA 消息的传递
4.6 多实例的 MSDP 4.7 MSDP 的应用 4.8 参考资料清单

内容
介绍 MSDP 的应用环境,以具体实例讲解应用 MSDP 实现域间组播的大致过程。
介绍 MSDP 对等体的功能和连接类型。 介绍在域间配置 MSDP 对等体的方法和注意事项。 介绍 MSDP 对等体在 PIM-SM 域内的应用。 介绍 Ancast 的工作原理和功能。 介绍 MSDP 中使用的各种控制消息。 介绍消息格式、功能及典型应用。
介绍 MSDP 中适用于 SA 消息的 RPF 规则。 介绍如何使用 Mesh Group 限制 SA 消息的传输。 介绍 MSDP 在组播 VPN 中的应用。 介绍 MSDP 的典型应用。 列举 MSDP 参考资料。

4-82

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播

4 MSDP

4.1 简介
MSDP(Multicast Source Discovery Protocol)称为组播源发现协议,是基于多个 PIMSM(Protocol Independent Multicast Sparse Mode)域互连而开发的一种域间组播解决方 案。
适用条件:域内组播路由协议必须是 PIM-SM。MSDP 仅对 ASM(Any-Source Multicast)模型有意义。
4.1.1 PIM-SM 域
由多个 PIM-SM 路由器相连,组成的网络称为 PIM-SM 网络。一个大的 PIM-SM 网络 可能由多个 ISP(Internet Service Provider)联合维护。
PIM-SM 网络依靠 RP(Rendezvous Point)实现组播转发,将一个大的 PIM-SM 网络划 分为多个区域,每个区域内维护一个 RP,可以实现 RP 负荷分担、增强网络的稳定 性,且益于管理。每一个这样的区域,称为一个 PIM-SM 域。
? 如果 PIM-SM 域中使用静态 RP,则该区域内的所有 PIM-SM 路由器都必须依靠静 态配置来获得 RP 信息。不在区域以外的路由器上设置此静态 RP,就可以划定 PIM-SM 域的范围。
? 如果 PIM-SM 域中使用 C-RP,则该区域内的所有 PIM-SM 路由器都必须依靠 BSR 获得 RP 的信息。由于 Bootstrap 消息不能通过“BSR 边界”,在位于区域边缘的路 由器接口上设置“BSR 边界”,就可以划定 PIM-SM 域的范围。
说明
关于 PIM-SM 的更多信息,请参见《VRP 特性描述 IP 组播》中的“PIM。”
4.1.2 MSDP 实现域间组播
由于 PIM-SM 域间 RP 信息隔离,组播源只向本域内的 RP 注册,用户主机只向本域内 的 RP 发起加入。由于不同 PIM-SM 域的 RP 之间无法通信,所以 RP 知道且仅知道本 域内的组播源,只能将本域内的组播源发出的数据分发放给本地用户。
因此,将一个大的 PIM-SM 网络划分为多个 PIM-SM 域后,出现了一个严重的问题: 如何实现域间组播,使本 PIM-SM 域内的用户主机接收到其它域内组播源发出的组播 数据。
MSDP 应运而生,使不同 PIM-SM 域的 RP 之间能够通信,共享组播源信息。
使用 MSDP 实现域间组播的大致过程如下:
1. 在网络中选取合适的路由器,建立一对或多对 MSDP 对等体,彼此首尾相连,形 成一张“MSDP 连通图”,连通各个 PIM-SM 域的 RP。
2. MSDP 对等体之间交互 SA(Source Active)消息,SA 消息中携带组播源在 RP 上 注册时留下的(S,G)信息。这些(S,G)信息在各个 PIM-SM 域的 RP 之间得 到共享。
说明
关于 SA 消息的更多内容,请参见 MSDP 控制消息。

文档版本 01 (2006-12-08)

华为技术有限公司

4-83

4 MSDP
举例

特性描述 IP 组播
3. 如果本域内存在组播组成员,则本地 RP 向该组对应组播源发起加入过程、跨域建 立组播路径(源树)。当组播数据沿源树到达 RP 后,再分发给本地组成员。

如图 4-1 所示,PIM-SM 网络被划分为 4 个 PIM-SM 域。PIM-SM1 域内的组播源 Source 向组 G 发送数据。PIM-SM3 域内的 Receiver 为组 G 成员,RP3 和 Receiver 之 间维护了一棵组 G 的 RPT(RP-rooted Shared Tree)。
图4-1 MSDP 实现域间组播

MSDP peers Receiver

multicast packet

Register

SA message Join

DR3

PIM-SM 3 RP3

Source

DR1

PIM-SM 1 RP1

PIM-SM 4

RP2 PIM-SM 2

通过在 RP1、RP2 和 RP3 之间建立 MSDP 对等体关系,如图 4-1,可以使 Receiver 接 收到 Source 发出的组播数据。
域间组播的工作过程如下:
2. Source 向组 G 发送组播数据。DR1(Designated Router)将组播数据封装在 Register 消息中,发给 RP1。RP1 因此获知活动组播源 Source 的信息。
3. RP1 作为源端 RP,创建 SA 消息,发送给它的对等体 RP2。SA 消息中携带有 Source 的 IP 地址、组 G 地址和 RP1 地址。
4. RP2 接收到该 SA 消息后,执行 RPF(Reverse Path Forwarding)检查。检查通 过,向 RP3 转发,同时检查本域内是否存在组 G 成员。
5. RP3 接收到该 SA 消息后,执行 RPF 检查,检查通过。由于 PIM-SM3 域内存在组 G 成员,RP3 上存在(*,G)表项,表示本域内是否存在组 G 成员。
6. RP3 创建(S,G)表项,向 Source 逐跳发送(S,G)加入消息,创建一条从 Source 到 RP3 的组播路径(源树)。组播数据沿源树到达 RP3 后,再沿 RPT 向 接收者转发。

4-84

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播

4 MSDP

7. 当接收者侧 DR3 收到 Source 发出的组播数据后,可以自行决定是否发起 SPT 切 换。

4.2 MSDP 对等体

MSDP 的核心技术就是 MSDP 对等体之间的通信。配置 MSDP 对等体之前需要了解的 两点:
? 哪些路由器上可以配置 MSDP 对等体?由于 MSDP 对等体在 PIM-SM 网络中担当 的角色不同,功能存在很大差异。
? 如何选取两台路由器建立 MSDP 对等体连接?由于 MSDP 对等体连接类型不同, 适用场合存在很大差异。
4.2.1 配置 MSDP 对等体的位置
MSDP Peer 可以在任意的 PIM-SM 路由器上创建。在不同 PIM-SM 路由器上创建的 MSDP Peer 功能不同。

位于 RP

建立在 RP 上的 MSDP Peer 功能如下:
? 作为源 RP,创建 SA 消息并发送给远端 MSDP Peer。 ? 接收从远端 MSDP Peer 发来的 SA 消息,如果本地存在(*,G)路由表项,则从
SA 消息中获取(S,G)信息为本域内的接收者服务,相当于终端。 ? 将接收到的 SA 消息转发出去,相当于中转站。

位于普通 PIM-SM 路由器
建立在普通 PIM-SM 路由器上的 MSDP Peer 功能仅限于:将接收到的 SA 消息转发出 去,相当于传输组播源信息的中转站。
在使用 C-RP 的 PIM-SM 域中,RP 是由 C-RP 动态选举产生的,为了增强网络的健壮 性,一个 PIM-SM 域内往往存在不只一个 C-RP。由于无法确定 RP 选举的结果,为了 保证选举获胜的 C-RP 始终位于“MSDP 连通图”上,需要在所有的 C-RP 之间建立 MSDP 对等体关系。选举落败的 C-RP 在“MSDP 连通图”上担当的角色相当于普通路 由器。
说明
下文将普通 PIM-SM 路由器简称为“普通”。
4.2.2 MSDP 对等体连接的类型
MSDP 对等体之间使用 TCP 连接。因此,不直接相连的路由器之间也可以建立 MSDP 对等体连接。

文档版本 01 (2006-12-08)

华为技术有限公司

4-85

4 MSDP
RP-RP

特性描述 IP 组播

RP-RP 型连接是一张完整的“MSDP 连通图”,连通两个 PIM-SM 域的 RP。通过 RPRP 类型的 MSDP Peers,可以直接在两个 RP 之间交换本地注册的源信息。如图 4-2 所 示,RP1 与 RP2 属于 RP-RP 型连接。
图4-2 RP-RP 类型的 MSDP Peers

Source

AS 100

Receiver

PIM-SM1

PIM-SM2

RP1 Router1

RP2 Rourer2

MSDP Peers
? 如果这两个 RP 位于不同的 PIM-SM 域,则可以实现跨域组播。 ? 如果这两个 RP 位于同一个 PIM-SM 域内,且拥有相同的 IP 地址、为相同的组播
组服务,则可以实现 Anycast RP。具体请参见 Anycast RP。
RP-“普通”:
RP-“普通”型连接不能构成一张完整的“MSDP 连通图”,“普通”通常与至少两个路 由器建立 MSDP 对等体关系,将从一方接收到的 SA 消息,再向另一方转发出去。如 图 4-3 所示,RP1 与 Router1、RP2 与 Router2 都属于 RP-“普通”型连接。

4-86

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播 图4-3 RP-“普通”类型的 MSDP Peers AS 100
Source

4 MSDP AS 100
Receiver

PIM-SM1 RP1
Router1

PIM-SM2 RP2
Router2

MSDP Peers
某些 PIM-SM 域中只存在两个 C-RP,如果在这两个 C-RP 之间建立的 MSDP 对等体, 就属于 RP-“普通”型连接。RP 选举获胜者为 RP,落败者为“普通”。
“普通”-“普通”:
“普通”-“普通”型连接不能构成一个完整的“MSDP 连通图”。“普通”通常与至少 两个路由器建立 MSDP 对等体关系,将从一方接收到的 SA 消息,再向另一方转发出 去。如图 4-3 所示,Router1 与 Router2 属于“普通”-“普通”型连接。 某些 PIM-SM 域中存在至少三个 C-RP,且未应用 Anycast RP,如果将这些 C-RP 使用 MSDP 对等体关系连通,其中必然存在“普通”-“普通”型连接。RP 选举只能有一个 获胜者,其余所有落败者均为“普通”。
4.2.3 域间 MSDP Peer 的类型
属于同一个 AS
当两个 PIM-SM 域属于同一个 AS 时,可以直接建立 RP-RP 型的 MSDP 对等体。 MSDP 对等体之间通过 IGP 路由传递 SA 消息。如图 4-2。

文档版本 01 (2006-12-08)

华为技术有限公司

4-87

4 MSDP

特性描述 IP 组播

属于不同 AS
当建立 MSDP 对等体连接的两台路由器分别属于不同 AS 时,这两台路由器之间必须 存在 BGP 或 MBGP 路由,只有从 EBGP 对等体发来的 SA 消息才能通过 RPF 检查。
如果 RP 正好位于单播 ASBR,则直接建立 RP-RP 型的 MSDP 对等体。MSDP 对等体 之间通过 BGP 路由传递 SA 消息。
如果 RP 不在单播 ASBR 上,在建立 RP-RP 型的 MSDP 对等体的同时,还需要配置 MBGP 对等体。MSDP 对等体之间通过 MBGP 路由传递 SA 消息。
说明
MSDP Peer 地址必须与 EBGP Peer 地址相同。

STUB 域静态 RPF 对等体
当 PIM-SM 域内只有一个 MSDP 对等体时,该域又被称为 STUB 域。在 STUB 域与其 他 PIM-SM 域之间建立 MSDP 对等体后,可以为 STUB 域内的对等体指定一个或多个 静态 RPF 对等体。从静态 RPF 对等体到来的 SA 消息不进行 RPF 检查。
如果两个 STUB 域分别属于不同 AS,且 RP 不在单播 ASBR 上,则在 RP 之间建立 MSDP 对等体连接后,可以相互指定对方为自己的静态 RPF 对等体。这种情况下,不 必配置 MBGP 对等体,也可以实现 SA 消息的交互。
4.2.4 典型示例
如图 4-4 所示,网络环境如下:
? PIM-SM1 域与 PIM-SM4 域使用静态 RP,PIM-SM2 域与 PIM-SM3 域使用 C-RP。 ? PIM-SM1 域内的存在活跃的组播源 S,向组播组 G 发送组播报文,在 RP1 上进行
注册。 ? PIM-SM4 域内的存在组 G 成员 Receiver,向 C-RP4 发起加入,C-RP4 上存在
(*,G)路由表项。
说明
与组播源在同一个 PIM-SM 域,并且执行了组播源注册的 RP,称为源 RP。在图 4-4 中,C-RP1 是 S 对应的源 RP。

4-88

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播 图4-4 多对 MSDP 对等体连通各个 PIM-SM 域的 RP AS100

4 MSDP AS200

PIM-SM1

S

RP1

PIM-SM4

RP4

Receiver

PIM-SM2

C-RP2.1

C-RP2.2

PIM-SM3

C-RP3.1

C-RP3.2

MSDP Peers
使用 MSDP 实现域间组播的具体过程如下:
2. 在网络中选取合适的路由器,配置多对 MSDP 对等体,彼此首尾相连,连通各个 PIM-SM 域的 RP 和 C-RP。
? PIM-SM1 域使用静态 RP,唯一确定为 RP1。只选取 RP1 配置 MSDP 对等体。 ? PIM-SM2 使用 C-RP:C-RP2.1 和 C-RP2.2。由于其中任何一个都有可能成为
RP,因此同时选取 C-RP2.1 和 C-RP2.2 配置 MSDP 对等体。 ? PIM-SM3 域使用 C-RP:C-RP3.1 和 C-RP3.2。由于其中任何一个都有可能成为
RP,因此同时选取 C-RP3.1 和 C-RP3.2 配置 MSDP 对等体。 ? PIM-SM4 域使用静态 RP,唯一确定为 RP4。只选取 RP4 配置 MSDP 对等体。
在以上被选中的路由器之间建立 MSDP 对等体连接,彼此首尾相连。其中一种连接方 式如图 4-4。
3. 配置在 RP 上的 MSDP Peer 创建 SA 消息,消息中携带了本地注册的组播源信息, 使用(S,G)项表示。MSDP Peer 将 SA 消息发给和它建立 MSDP 对等体关系的 路由器。
RP1 作为源 RP,创建 SA 消息,消息中携带(S,G)项,发送给 C-RP2.2。
4. 接收到 SA 消息的路由器检查组播路由表,如果本地不存在(*,G)路由表项, 则对此 SA 消息不做任何处理,直接转发给其他 MSDP 对等体。

文档版本 01 (2006-12-08)

华为技术有限公司

4-89

4 MSDP

特性描述 IP 组播
? C-RP2.2 将此 SA 消息转发给 C-RP2.1 和 C-RP3.1。 ? C-RP2.1 不存在其他 MSDP 对等体,则丢弃该 SA 消息。 ? C-RP3.1 将此 SA 消息转发给 C-RP3.2 和 C-RP4。 ? C-RP3.2 不存在其他 MSDP 对等体,则丢弃该 SA 消息。 5. 接收到 SA 消息的路由器检查组播路由表,如果本地存在组 G 成员,则向 S 发起
加入过程,将组播数据引过来。组播数据到达本地 RP 后,再向本地组成员分发。
RP4 接收到该 SA 消息,就获得了(S,G)项。RP4 上存在(*,G)路由表项,直接 向 S 发起加入过程,创建由 S 到 RP4 的组播路径(源树),S 发出的组播数据沿此组播 路径到达 RP4,再由 RP4 向 Receiver 分发。

4.3 Anycast RP
建立在 RP 上的 MSDP 对等体之间,通过交互 SA 消息,能够共享本地注册的信源信 息。将这一特性应用在一个 PIM-SM 域内,就实现了 Anycast RP。
Anycast RP 是指在同一个 PIM-SM 域内设置多个具有相同地址的 RP,并且在这些 RP 之间建立 MSDP 对等体关系,从而实现 RP 路径最优及负荷分担。
4.3.1 Anycast RP 应用环境
在传统的 PIM-SM 域中,每个组播组都只能映射到一个 RP。当网络负载较大或者流量 过于集中时,可能导致 RP 路由器的压力过大、RP 失效后收敛较慢、组播转发路径非 最优等问题。
如图 4-5 所示,PIM-SM 域内,组播源 S1 和 S2 向组播组 G 发送组播数据,U1 和 U2 是组播组 G 的成员。

4-90

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播 图4-5 Anycast RP 典型组网图

4 MSDP

PIM-SM RP1

DR2

U1 Router1 S1

S2 Router2
U2

SA message MSDP peers

DR1

RP2

在 PIM-SM 域内应用 Anycast RP,配置方法如下:
? 配置 RP1 和 RP2,使用相同 IP 地址(使用 Loopback 接口)。 ? 在 RP1 和 RP2 两个路由器之间建立 MSDP 对等体关系。
4.3.2 Anycast RP 实现过程
借助 MSDP 对等体进行域内组播的工作过程如下:
1. 接收者选择距离最近的 RP 发送加入消息以构建 RPT 树。 ? U1 加入以 RP1 为根的 RPT,在 RP1 上创建(*,G)。 ? U2 加入以 RP2 为根的 RPT,在 RP2 上创建(*,G)。 2. 组播源选择距离最近的 RP 进行注册。 ? DR1 向 RP2 发送注册消息,在 RP2 上创建(S1,G)。从 S1 发来的组播数据沿
RPT 到达 U1。 ? DR2 向 RP1 发送注册消息,在 RP1 上创建(S2,G)。从 S2 发来的组播数据沿。 3. RP 之间交互 SA 消息,共享源信息。 ? RP2 创建一个 SA 消息,发送到 RP1。SA 消息中携带(S1,G)。 ? RP1 创建一个 SA 消息,发送到 RP2。SA 消息中携带(S2,G)。 4. RP 加入以源端 DR 为根的 SPT,将组播数据引下来。 ? RP2 向 S2 发送加入消息。从 S2 发来的组播数据先沿 SPT 到达 RP2,再沿 RPT 到
达 U2。

文档版本 01 (2006-12-08)

华为技术有限公司

4-91

4 MSDP

特性描述 IP 组播

? RP1 向 S1 发送加入消息。从 S1 发来的组播数据先沿 SPT 到达 RP1,再沿 RPT 到 达 U1。
5. 接收者接收到组播数据后,自行决定是否发起 SPT 切换。
4.3.3 Anycast RP 的功能
使用 Anycast RP 的组播网络与传统的 PIM-SM 网络相比,具有如下功能:
? RP 路径最优 接收者向距离最近的 RP 发起加入,建立路径最优的 RPT。 组播源向距离最近的 RP 发起注册,建立路径最优的源树。
? RP 负载分担 每个 RP 上只维护 PIM-SM 域内的部分源/组信息,转发部分的组播数据。
? RP 冗余备份 一个 RP 失效后,其上原先注册的组播源和加入的接收者会自动选择另一个就近 RP 进行注册和加入操作。

4.4 MSDP 控制消息
MSDP 对等体之间通过交互 MSDP 控制消息,实现各种协议功能。
MSDP 支持四种控制消息,都符合标准的 TLV(Type-Length-Value)消息格式,如图 4-6。

图4-6 MSDP 控制消息格式
Type

Length

Value...

表4-1 SA 消息字段说明 字段 Type
Length Value

说明
消息类型。 1:Source-Active 2:Source-Active Request 3:Source-Active Response 4:KeepAlive
消息长度。
消息内容,因消息类型而异。

MSDP 控制消息功能和内容参见表 4-2。

4-92

华为技术有限公司

文档版本 01 (2006-12-08)

特性描述 IP 组播

4 MSDP

表4-2 MSDP 消息类型

消息类型

功能

内容

KeepAlive

保持 MSDP 对等体的连接关系 -

Source-Active (SA)

携带多组(S,G)信息,在多个 RP 之间传递

? 源 RP 的 IP 地址 ? 消息中包含的(S,G)项数

? 域中活跃的(S,G)列表

封装 PIM-SM 组播数据

? 源 RP 的 IP 地址 ? PIM-SM 组播数据

Source-Active Request
(SA-Req)

请求指定组 G 的(S,G)列 表,减少源加入延迟

被请求的组地址 G

Source-Active Response
(SA-Resp)

对 Source-Active Request 消息的 响应

? 源 RP 的 IP 地址 ? 消息中包含的(S,G)项数

? 域中活动(S,G)列表

4.4.2 携带(S,G)信息的 Source-Active 消息
MSDP 对等体之间,通过交互 SA 消息共享(S,G)源信息。 消息格式如图 4-7。

图4-7 携带(S,G)信息的 SA 消息格式

Type

Length DestinRaPtioAndIdPreAsdsdress

Entry Count(N)

(S,G) Entry [1]

...

(S,G) Entry [N]

文档版本 01 (2006-12-08)

华为技术有限公司

4-93

4 MSDP

图4-8 (S,G)Entry 字段格式
Group Address Source Address

特性描述 IP 组播 Sprefix Len

表4-3 SA 消息字段说明 字段 Type Length Entry Count
(S,G)Entry RP Address Sprefix Len Group Address Source Address

说明 消息类型,值为 1。 消息长度。 消息中包含的(S,G)项总数。 (源,组)信息。 源 RP 地址。 源地址掩码长度,值为 32。 组地址。 组播源地址。

4.4.3 SA 消息中封裝组播数据

典型应用场景
某组播源 S 向组播组 G 发送组播数据,发送时间间隔大于(S,G)表项的超时时间。 这种情况下,源 DR 只能将组播数据逐个封装在注册消息中,发给源 RP。源 RP 上配 置了 MSDP Peer,使用 SA 消息将(S,G)信息发送给远端 MSDP Pe

更多相关标签: