第1部分IP多播的基本原理 3
第1章IP多播介绍 3
1.1 IP多播简史 4
1.2 IP多播的优点 5
1.2.1带宽 6
1.2.2服务器负载 7
1.2.3网络负载 8
1.3 IP多播的缺点 9
1.3.1不可靠的信息包交付 9
1.3.2数据包复制 10
1.3.3网络阻塞 11
1.4多播应用 12
1.4.1多媒体会议 13
1.4.2数据分发 13
1.4.3实时数据多播 14
1.4.4游戏和仿真 14
1.5 Internet的多播主干(MBone) 15
1.5.1 MBone会话 16
1.5.2 MBone历史 16
1.5.3今天的MBone体系结构 18
1.5.4明天的MBone体系结构 20
1.6小结 20
第2章 多播基础 23
2.1多播地址 23
2.1.1 IPD类地址 24
2.1.2已分配的多播地址 24
2.1.3管理范围的多播地址 27
2.2多播MAC地址 27
2.2.1以太网多播MAC地址映射 28
2.2.2 FDDI多播MAC地址映射 29
2.2.3令牌环网多播MAC地址映射 30
2.3多播分发树 32
2.3.1源树 32
2.3.2共享树 33
2.4多播转发 37
2.4.1逆向路径转发 37
2.4.2多播转发缓存 39
2.4.3 TTL阈值 39
2.4.4管理范围边界 41
2.5多播路由协议分类 42
2.5.1密集协议模式 43
2.5.2稀疏模式协议 45
2.5.3链路状态协议 48
26小结 48
第3章Internet组管理协议 51
3.1 IGMP版本1 52
3.1.1 IGMPv1消息格式 52
3.1.2 IGMPv1查询响应过程 53
3.1.3报告抑制机制 55
3.1.4 IGMPv 1查询器 55
3.1.5 IGMPv 1加入过程 55
3.1.6 IGMPv1离开过程 56
3.2 IGMP版本2 58
3.2.1 IGMPv2消息格式 58
3.2.2查询—响应调整 60
3.2.3 IGMPv2离开组消息 62
3.2.4 IGMPv2指定组查询信息 62
3.2.5 IGMPv2离开过程 62
3.2.6查询器选举过程 65
3.2.7早期的IGMPv2实现 65
3.3 IGMPv1-IGMPv2互操作性 66
3.3.1 IGMPv2主机/IGMPv 1路由器互操作性 66
3.3.2 IGMPv 1主机/IGMPv2路由器 67
3.3.3混合的IGMPvl和IGMPv2路由器的互操作性 68
3.4 IGMPv3的可能性 68
3.5小结 70
第4章 多媒体多播应用 73
4.1实时协议 73
4.1.1在音频会议中使用RTP和RTCP:一个案例 74
4.1.2 RTP控制协议 75
4.2会话通告协议 76
4.2.1 SAP通告 76
4.2.2 SAP带宽限制 77
4.3会话描述协议 77
4.3.1 SDP信息格式 77
4.3.2 SDP信息描述类型 78
4.3.3 SDP会话描述示例 79
4.4 MBone多媒体会议应用 80
4.4.1 SDR——会话目录工具 81
4.4.2 VAT——BMone多媒体音频工具 84
4.4.3 VIC——MBone多媒体视频工具 86
4.4.4 WB——共享的白板工具 91
4.5小结 92
第2部分 多播路由协议概述 97
第5章 距离向量多播路由协议 97
5.1 DVMRP邻居发现 97
5.2 DVMRP路由表 98
5.3交换DVMRP路由报告 100
5.4 DVMRP截断广播树 102
5.5 DVMRP多播转发 106
5.6 DVMRP剪枝 107
5.7 DVMRP嫁接 111
5.8 DVMRP可扩展性 113
5.9小结 114
第6章PIM密集模式 117
6.1 PIM邻居发现 118
6.1.1 PIM Hello消息 118
6.1.2 PIM-DM源分发树 120
6.2 PIM-DM多播转发 121
6.3 PIM-DM剪枝 123
6.3.1剪枝否决 125
6.3.2剪枝延迟积累 127
6.4 PIM-DM断言 128
6.5 PIM-DM嫁接 130
6.6将来的PIM增强——状态刷新 132
6.7 PIM-DM可扩展性 133
6.8小结 133
第7章PIM稀疏模式 135
7.1显式加入模型 136
7.2 PIM-SM共享树 136
7.2.1共享树加入 137
7.2.2共享树剪枝 140
7.3 PIM-SM最短路径树 142
7.3.1最短路径树加入 143
7.3.2最短路径树剪枝 145
7.4 PIM加入/剪枝消息 147
7.5 PIM-SM状态刷新 148
7.6源注册 149
7.6.1 PIM注册消息 150
7.6.2 PIM注册停止消息 151
7.6.3源注册示例 151
7.7最短路径树切换 154
7.7.1 SPT切换示例 154
7.7.2从共享树上剪枝源 156
7.8 PIM-SM指定路由器 158
7.8.1指定路由器的作用 158
7.8.2指定路由器失效 159
7.9 RP发现 159
7.10 PIM-SM适用性/可扩展性 159
7.11小结 160
第8章 有核树 163
8.1 CBT概述 163
8.2加入共享树 166
8.2.1暂态 167
8.2.2转发缓存 167
8.2.3多播转发 168
8.2.4非成员的发送 168
8.3 CBT状态维护 170
8.3.1 Echo-Request消息 170
8.3.2 Echo-Response消息 170
8.3.3 Flush-Tree消息 171
8.4剪枝共享树 171
8.5 CBT指定路由器 172
8.5.1 CBT Hello协议 172
8.5.2 DR加入代理 173
8.6核心路由器发现 174
8.7 CBT版本3 174
8.8 CBT适用性/可扩展性 175
8.9小结 175
第9章 多播开放最短路径优先 177
9.1 MOSPF区域内多播路由 178
9.1.1组成员关系链路状态通告 178
9.1.2区域内最短路径树 180
9.1.3 MOSPF转发缓存 181
9.2 MOSPF区间多播路由 183
9.2.1多播边界路由器 183
9.2.2区间组成员关系汇总 183
9.2.3通配符多播接收者 185
9.3 MOSPF AS间多播路由 188
9.4 MOSPF适用性/可扩展性 190
9.5小结 192
第3部分Cisco多播网络的实施 197
第10章 使用 PIM密集模式 197
10.1配置PIM-DM 197
10.2 PIM-DM状态规则 199
10.2.1 PIM-DM(*,G)状态规则 199
10.2.2 PIM-DM (S, G)状态规则 200
10.2.3 PIM-DM状态维护规则 202
10.3 PIM-DM状态条目 203
10.3.1 PIM-DM状态标记 203
10.3.2 PIM-DM状态示例 204
10.4 PIM转发 207
10.5 PIM-DM泛洪 208
10.6 PIM-DM剪枝 209
10.7密集模式嫁接 212
10.8新的PIM邻居邻接性 215
10.9小结 218
第11章 使用PIM稀疏模式 221
11.1配置PIM-SM 221
11.2 PIM-SM状态规则 222
11.2.1 PIM-SM(*,G)状态规则 223
11.2.2 PIM-SM (S, G)状态规则 224
11.2.3 PIM-SM出口规则 224
11.2.4 PIM-SM外出接口计时器 226
11.2.5 PIM-SM状态维护规则 226
11.2.6特殊的PIM-SM (S, G) RP位状态规则 227
11.3 PIM-SM状态条目 231
11.4加入共享树 234
11.5 PIM注册过程 238
11.5.1接收者先加入 238
11.5.2源先注册 246
11.5.3沿着SPT的接收者 254
11.6 SPT切换 257
11.6.1超过SPT阈值 257
11.6.2 SPT切换过程 258
11.6.3 SPT-Switchback过程 266
11.7剪枝 266
11.7.1剪枝共享树 266
11.7.2剪枝源树 271
11.8 PIM-SM的特殊情况 277
11.8.1意外数据的到达 278
11.8.2单臂RP 280
11.8.3调头路由器 284
11.8.4代理加入计时器 285
11.9小结 289
第12章PIM集中点 291
12.1 Auto-RP 291
12.1.1 Auto-RP概述 292
12.1.2配置Auto-RP的候选RP 294
12.1.3配置Auto-RP的映射代理 294
12.1.4使用多个映射代理以提供冗余 295
12.1.5使用多个RP以提供冗余 296
12.1.6稀疏—密集模式的产生 296
12.1.7简单的Auto-RP配置 298
12.1.8 Auto-RP网络中的RP切换 300
12.1.9抑制Auto-RP消息 300
12.1.10防止候选RP的欺骗 303
12.2 PIMv2 Bootstrap路由器机制 304
12.2.1 PIMv2 Bootstrap路由器概述 304
12.2.2配置PIMv2候选RP 306
12.2.3配置PIMv2候选BSR 307
12.2.4用多个RP实现冗余和RP负载均衡 308
12.2.5 RP选择——RP哈希算法 308
12.2.6使用多个候选BSR以实现冗余 309
12.2.7 PIMv2 BSR网络中的RP切换 311
12.2.8抑制BSR消息 312
12.3 RP的放置和调节 313
12.3.1选择RP的安放位置 313
12.3.2 RP上的资源需求 314
12.3.3强迫组停留在密集模式 317
12.3.4强迫组停留在稀疏模式 324
12.4小结 325
第13章 连接DVMRP网络 329
13.1 Cisco DVMRP的互操作性 329
13.1.1启用DVMRP互操作性 330
13.1.2 PIM-DVMRP交互 331
13.2 DVMRP路由交换 342
13.2.1通告已连接的路由(默认行为) 344
13.2.2 DVMRP路由的有类汇总 345
13.2.3控制DVMRP路由通告 347
13.2.4控制DVMRP路由接受 353
13.2.5调整默认的DVMRP距离 354
13.2.6调整DVMRP度量 354
13.2.7特殊的MBone特性 355
13.3 PIM-DVMRP边界问题 357
13.3.1单播-多播一致性 357
13.3.2 PIM-SM问题 362
13.4 DVMRP网络连接示例 365
13.4.1物理上一致的网络 365
13.4.2单独的MBone路由器 368
13.5调试技巧 371
13.5.1检验DVMRP隧道状态 372
13.5.2检查DVMRP路由交换 374
13.6小结 377
第4部分 第二层的多播 381
第14章 园区网上的多播 381
14.1地平协会 381
14.2 LAN交换机的特征 382
14.2.1广播/多播泛洪 383
14.2.2抑制多播泛洪 384
14.3 IGMP窃听 385
14.3.1使用IGMP窃听加入一个组 385
14.3.2 IGMP窃听的性能影响 387
14.3.3使用IGMP窃听离开组 390
14.3.4用IGMP窃听维护组 393
14.3.5 IGMP窃听和只能发送的源 395
14.3.6用IGMP窃听来检测路由器 396
14.3.7 IGMP窃听小结 397
14.4 Cisco组管理协议 398
14.4.1 CGMP消息 398
14.4.2用CGMP加入组 400
14.4.3用CGMP维护组 401
14.4.4用CGMP离开组 402
14.4.5 CGMP的本地离开处理 403
14.4.6 CGMP的性能影响 405
14.4.7 CGMP和只发送的源 405
14.4.8用CGMP检测路由器 405
14.4.9 CGMP小结 406
14.5 LAN交换的其他问题 406
14.5.1 IGMP离开延迟问题 407
14.5.2交换机之间的链路问题 408
14.5.3路由器核心交换机问题 409
14.6小结 411
第15章NBMA网络上的多播 413
15.1传统的NBMA网络 413
15.2传统NBMA网上的多播 415
15.2.1伪广播 417
15.2.2 PIM和部分互连的NBMA网络 419
15.2.3 PIM NBMA模式 421
15.2.4 NBMA网络上的Auto-RP 424
15.3 ATM NBMA网络云上的多播 427
15.3.1 ATM点到多点广播虚电路 428
15.3.2每组的ATM点到多点虚电路 429
15.3.3 PIM多点信令 431
15.3.4限制PIM多点虚电路的数量 431
15.3.5调试ATM点到多点虚电路 432
15.4 ATM网络上的传统IP 435
15.5小结 437
第5部分 高级多播主题 441
第16章 多播流量工程 441
16.1控制多播带宽的使用 441
16.1.1使用速率限制的带宽控制 442
16.1.2用作用区域进行带宽控制 445
16.1.3配置作用区域 448
16.1.4作用区域和BSR 453
16.2控制多播流量路径 454
16.2.1其他RPF信息源 454
16.2.2流量工程示例 461
16.3使用GRE隧道进行多播负载分割 463
16.3.1配置多播负载分割 464
16.3.2进程交换与快速交换的对比 465
16.4广播到多播的流量转换 466
16.5小结 470
第17章 域间多播路由 473
17.1域间多播路由中的问题 473
17.2多协议BGP 475
17.2.1多协议BGP的新属性 475
17.2.2 Cisco的MBGP实施 476
17.2.3 MBGP示例 477
17.3多播源发现协议 477
17.3.1简史 478
17.3.2 MSDP概念 479
17.4未来协议 481
17.4.1边界网关多播协议 482
17.4.2多播地址集请求 484
17.5小结 485
第6部分 附录 489
附录A PIM数据包格式 489
A.1 PIMv2数据包头部 489
A.2地址编码 490
A.2.1单播地址编码 490
A.2.2组地址编码 490
A.2.3源地址编码 491
A.3 Hello消息 492
A.4注册消息 492
A.5注册停止消息 493
A.6加入/剪枝消息 494
A.7 Bootstrap消息 496
A.8断言消息 498
A.9嫁接消息(仅用于密集模式) 499
A.10嫁接确认消息(仅用于密集模式) 499
A.11候选RP通告 499
A.12 PIMv 1和PIMv2数据包的区别 500
A.12.1 PIMv 1报头 500
A.12.2 PIMv 1地址编码 501
A.12.3不在PIMv2中使用的PIMV 1消息 502