当前位置:首页 >> 信息与通信 >>

组播知识总结(A) (共7部分)


CCIE R/S & Service Provider Exam Certification Guide

Chapter 23 Multicast组播服务
23.1 组播简介
23.1.1 组播的优势: 当完全相同的数据要发送给多个接收者时(天气预报、股市行情、远程音/视频传输……) 在前面所述情况下,相对于单播的广播传送技术,组

播可以更有效的利用网络带宽,并在很大程 度上降低对主机和网络设备系统资源的占用。 发送者无需事先知道接收者的地址,接收者可自由加入或退出组播接收组,发送者无需为接收者 的变化对系统设置做出任何改动。

图显示的是采用单播与组播方式传送相同数据时,随着客户机数量的增加网络流量变化的 情况,在这一点上组播技术的好处非常明显,无需多说。

23.1.2 组播的缺点 组播的缺点源于它是基于UDP技术的。 Best Effort Delivery 这就意味着组播不能保证每个数据包都被正确传送到目的地。中间可能会被丢弃。 No Congestion Avoidance 组播技术本身不提供流控机制。 Duplicates 组播可能导致重复数据包的产生,应用程序应该有能力处理这一情况。 Out-of-Sequence Packets 数据包的顺序可能会被打乱。接收方要有重新排序的能力。

23.1.3 组播的应用 基于远程网络的组播传送技术目前主要依赖于 MBONE。有很多基于 MBONE 的组播传送应用程序 可以免费下载,很多程序的源代码也是公开的。 目前由于国内互联网骨干带宽有限,使用成本较高, 加之信息化、数字化水平较低等原因, 基于远程组播传送技术的应用并不多,但是随着互联网应用水 平的不断提高,在远程实时数 据传送、远程教学、远程等领域中的组播应用会越来越普遍。 这个我就 不多说了,目前在国内大规模应用组播传送技术的案例真的是不多。

P a g e | 545

CCIE R/S & Service Provider Exam Certification Guide 23.1.4 组播服务模型 RFC 1112 即 IGMP(Internet Group Management Protocol)中定义了主机可以动态加入和退出组播组。 组播组成员可以分布于Internet的任何地点。(当然了,前提是网络互联设备支持组播信息的传递)组播信 息的传递依赖于分布树, 有很多组播路由协议, 如 MOSPF(Multicast Extension to Open Shortest Path First)、 CBT(Core Based Tree)、

23.1.5 组播IP地址 组播的地址是保留的D类地址从224.0.0.0—239.255.255.255, 224.0.0.0—244.0.0.255 只能用于局域网中路由器是不会转发的,并且224.0.0.1是所有主机的地址,224.0.0.2所有路由器 的地址,224.0.0.5所有ospf路由器的地址,224.0.13是PIMv2路由器的地址; 239.0.0.0—239.255.255.255 私有地址(和192.168.x..x这类地址类似); 224.0.1.0—238.255.255.255 用与Internet上的。 组播地址可以动态分配,SDR 技术允许应用程序在建立新的会话时随意选用组播地址,通过冲突检 测技术避免地址的重复使用,这种方法适用于初期应用较少的 MBONE , MASC(Multicast 仍然采用动态租用的方案使用组播地址,想法是好的,实现起来的难度较大,周期较长。 目前的解决方案多采用静态组地址分配技术, SGAA(Static Group Address Assignment)是在 MASC 方案 得以实现之前的应急之道。采用 233/8 地址段用于静态地址分配,中间两节包含网络自治系统号,最后 一节用于组分配。 Address Set-Claim)是 IETF 设计的新的组播分配方案,首先将组播地址段静态分配到不同的地区,在每个地区内

23.1.6 组播MAC地址 2 层的 MAC 地址是如何与 3 层的IP地址进行映射的呢? 通过将MAC地址的前25位强行规定位0100.5e, 而后23位对 应IP地址的后23位,而组播IP地址的前4位均相同如: IP地址: 1110yyyy.yxxxxxxx.xxxxxxx.xxxxxxxx MAC地址: 01.00.5E.0xxxxxxx.xxxxxxx.xxxxxxxx 显然有32个IP地址(有5个y可以不一样)对应一个MAC地址, 例如: 224.1.1.1 , 224.128.1.1 , 225.1.1 , 225.128.1.1 ? 238.1.1.1 , 238.128.1.1 , 239.1.1.1 , 239.128.1.1均对应一个组播MAC 0100。5E01。0101 所以要避免在同一网络中使用的多个组播IP地址对应一个MAC地址。 令牌环网中,三层组播地址被简单映射为功能地址 C0-00-00-04-00-00(在令牌环网中因为二进制 位是反序的,实际是03-00-00-20-00-00)或全1 地址FF-FF-FF-FF-FF-FF。缺省使用全1地址,可以用接 口命令ip multicast use-functional 更改为使用功能地址。

P a g e | 546

CCIE R/S & Service Provider Exam Certification Guide 23.1.7 组播树 有源树SPT(Shortest Path Trees) 采用最短路径优先算法, 中间的 转发设备采用 Notation(S ,G) 的方法记 录转发表, S 表示多播源 IP 地址, G 表 示多播组地址。

SDT(Shared Distribution Tree 共享分布树) 需要先指定 RP(Rendezvous Point 会聚点), 所有的多播源先把信息送到 RP,再由 RP 分 发到各接收点,SP相当于树根,到达R之后 的多播信息转发时与源无关,故采用 Notation(*,G) 的方式记录转发表, *表示 一个通配符。

共享树分两种: 1.双向共享树 源发出的组播流可以不去RP而直接发往接收端

2.单向共享树 源发出的组播流以最短路径发往RP然后由RP负责发往接收端

P a g e | 547

CCIE R/S & Service Provider Exam Certification Guide 3.单播共享树 在某些协议中,可以直接向RP发送一个单播流,让RP再进行数据流的组播复制, 例如CBT

23.1.8 组播转发 基于发送源的 IP 地址(数据包中的源地址)而非接收者的 IP(数据包中的多播地址不代表单个接收者) 来转发。 路径的选择依靠 RPF(Reverse Path Forwarding 反向路径转发)技术。 包括三个过程: Broadcast(广 播)洪泛传递,假定网络上的每个主机都是多播组成员;Prune(修剪)停止向那些没有组成员存在的网络转 发多播信息;Selective Forwarding(选择性转发)如果有多条转发路 径可用,则依靠单播路由表来帮助选 择最佳路径。

逆向路径转发RPF 路由器只转发从可达源的上游路由器的接口(依靠单播路由表判断)收到的多播数据包。 RPF 检验成功则转发,RPF 检验失败则 Silently Dropped(静悄悄的丢弃)。这项技术主要防止多 次转发多播数据包。在右图中,路由器从 S0 口收到了一个来自 151.10.3.21 的多播包,可是 检查路由表后发现, 由它到网络 151.10.0.0 网络的数据包应由 S1 口发出,RPF 检验失败。

TTL Thresholds(TTL 阈值) 组播传送中的 TTL 类似于单播,但是它更灵活,可用于限制多播信息转发的范围。 一个 多播包进入路由器后, 它的 TTL 值首先减 1, 在从出口送出去之前, 如果出口上所设置的 TTL 阈值非 0, 则要进行 TTL 阈值检验, 所有 TTL 值小于接口阈值的多播包将不会被发送。用接口

P a g e | 548

CCIE R/S & Service Provider Exam Certification Guide 命令 ip multicast ttl-threshold ttl 来实现。

典型的TTL阀值定义如下: 范围 初始TTL值 本地网 1 区域 15 地区 63 全球 127 Administrative Boundary 管理边界

TTL域值 N/A 16 64 128

用于限定到达特定多播组的数据包的转发。 用接口命令 ip multicast boundary <acl>来实现。

Dense Mode & Sparse mode(密模式与疏模式) Dense mode 采用推方式传送多播信息, 假定所有的网络节点都是接收者, 然后再修剪掉向那些不需要多 播信息的网络的转发,Flood & Prune 的行为每隔几分钟就要发生一次。 Sparse mode 采用拉方式传送多播信息,除非接收端显式的声明,否则将不会向其发送多播数据。 注意: 鉴于Dense mode周期性的Flood行为对网络影响较大, 实际的多播网络中只采用Sparse mode 来构建多播转发表。

23.1.9 组播路由协议简介 如何构建分布树 PIM基于单播路由表来构建树,路由器用 Join(加入)、Prune(修剪)和 Graft(嫁接)三种消息通 知上游路由器是否需要向其转发某一多播组的消息。 DVMRP 很像 RIP ,是一种距离向量型协议,采用 Poison-Reverse( 毒性反转 ) 、 Prune( 修剪 ) 和 Graft(嫁接)三种消息通知上游路由器是否需要向其转发某一多播组的消息。 MOSPF 利用单播 OSPF 协议的 LSP 来传递通告,构建(S,G)转发条目。

P a g e | 549

CCIE R/S & Service Provider Exam Certification Guide CBT DVMRP DVMRP(Distance Vector Multicast Routing Protocol)主要特点距离向量型协议,建立分布树时 按照到达源的Metric(基于跳数-hop count)来选路。最大支持32跳,需要接收到达某个组播组的数 据包的路由器向其上游发送毒性反转消息,Metric 为原 Metric+32,收到这一毒性反转消息的上 游路由器会将收到该消息的接口加入多播消息转发列表。当下游路由器不再需要到达某个组播组 的数据包时,它发送 Prune 消息通知上游 路由器停止向其转发到达该组播组的数据包。 TBT(Truncated Broadcast Tree)是 DVMRP 协议形成的多播转发树,基本到达源有最小Metric 原则构建,当多条链路有相同的 Metric 时,路由器选择 IP 地址最小的上游邻居路由器。在下 图中,C 同时收到A和B发来的 Metric 相同的路由信息,它选择了B,因为B的IP地址小于A的IP地 址。 基于原理与 PIM 疏模式相同,路由器用 Join(加入)、Prune(修剪)和 Graft(嫁接)三种 消息通知上游路由器是否需要向其转发某一多播组的消息。

相似的情况也出现在下面的多路访问网络中, B 和 C 都有关于网络 S1 的路由,有最小 Metric的路由器会被选为 Designated Forwarder, Metric 相同的情况下同样根据最小 IP 地址原则 选定DF。本例中是C路由器。

TBT 的优点是保证在有环路的网络中也不会有重复的组播数据包出现,缺点是需要在整个 网络中交换DVMRP 路由信息,而且由于它被设计成与 RIP 相似的距离向量型路由协议,和 RIP 等DV协议一样,存在计数到最大,保持时间和周期更新等问题。跟其它密模式多播协议一样,它 适用于大量的组播接收者离组播源较近的情况。因为它是较早的多播路由协议,所以在 MBONE

P a g e | 550

CCIE R/S & Service Provider Exam Certification Guide 之上应用广泛,但扩展性较差,逐渐被淘汰出局。 Multicast OSPF 基于单播 OSPF路由协议,使用一种新的OSPF链路状态数据包,我们称之为GroupMembership LSA 来通告网络中组成员的存在情况。 根据 OSPF 路由协议的基本原则,GMLSA 只能在OSPF区域内传递,这将导致多播信息不能 跨越 OSPF 区域传递。解决的办法是 MABR(MOSPF Area Border Router)向区域内其它路由器发送 带有“Wildcard Receiver”标志的 GMLSA,通知内部路由器它可以到达任何多播组。 所有的多播转 发树都应有指向 MABR 的分支,所有多播组的多播信息都应被转发给 MABR 。 MABR 会向 Backbone 区域发送汇总的组成员关系 LSA。通知 Backbone 区域它需要接收发 往哪些多播组的 信息。 在下图中,因为区域 1 中有源 S2 的接收者,所以源 S2 发出的多播信息经骨干区域传入 了区域 1。而源 S1 所发出的多播信息则不需要传入区域 2,只在区域 1 内传递。

同样的机制用来解决域间路由,MASBR 与 MABR 一样,也发出带有 Wildcard Receiver 标志的 LSA。 从下图中我们还可以看到, Wildcard Receiver 这种方法虽然解决了区域间和域间多播路由信 息传递的问题,但是却可能引起许多发往 MABR 和 MASBR 以及那些中转路由器不必要的多播 流量。这是MOSPF的一个问题。

Evaluation to MOSPF: 使用链路状态数据包来传递多播路由信息,保证多播信息传递的正确性。协议相关,只能用 于采用OSPF 路由协议的网络。 也存在可扩展性问题,在大的网络中使用可能存在过多的

P a g e | 551

CCIE R/S & Service Provider Exam Certification Guide 路由表条目,并可能由于组成员关系和链路状态的经常性变化而引发频繁的 SPF 计算。不 适用于多播信息源较多的网络。 PIM-DM 协议无关多播密模式(Protocol Independent Multicast Dense-Mode) PIM 分为两种模式,密模式和疏模式 密模式: 它最大的特点当然是它的协议无关性, 可以与静态路由及各种动态路由协议很好的共存。 它使用RPF(Reverse Path Forwarding 反向路径转发)技术构建转发树,密模式的 PIM最开 始采用Flooding的方式向全网传送多播信息,然后再修剪掉不必要的和冗余的流量。这种 Flood&Prune 的行为每 3 分钟进行一次。适用于小型网络和实验性网络。 Assert机制 看下面的图,两条路径都将通过 RPF 检验,为了防止多播信息复制,必须加以处理。

这种情况下两台路由器会发出 Assert 值(Distance+Metric)进行比较, 有最好的到达源 的路由的路由器胜出, 相同的情况下比较 IP 地址, 最大者胜出。 败者 Prune 掉相应接口。 Assert 机制可能导致多播路由的环路, 看下面两幅图, 第一幅图是经 Assert 比较做出 修剪之 后的稳定网络,当右边的路由器上端口断掉连接时,多播网络需要重新收敛,如果 左边的路由器收敛快,就可能出现图中所示的多播路由环路。

P a g e | 552

CCIE R/S & Service Provider Exam Certification Guide 下图中显示的是由于 Assert 机制引起的另一问题,中间的两台路由器进行 Assert 比 较的结 果是下面一台路由器胜出,当它的左侧接口断掉时,最左边的接收者将暂时收不到 来自下面 多播源的信息,直到上面的 Loser 左侧接口的 Prune 超时。

Evaluation to PIM-DM 在小型实验性网络中效果很好。 优点是容易配置(只需两条命令)洪泛和修剪的机制简单。 缺点是洪泛和修剪行为影响较大(3 分钟一次),Assert 机制复杂。 PIM-SM 协议无关多播稀疏模式(Protocol Independent Multicast Sparse-Mode) 采用RP(rendezvous point)作为中继节点,组播源通过到达RP的最短路径向RP发送组播数据, RP 再通过到达每个接收者的最短路径向接收者转发多播数据。从RP到接收者的转发路径信息与 组播源的位置和数量无关。 适用于企业级大型网络环境,接收者稀疏或密集的情况均适用。最 优路径的选择与网络尺寸 和成员密度无关。 组播接收者需知道RP的存在,通过向RP及途经路由器发送(*,G)的消息加入组播组。该消息 一跳一跳传至 RP 后,形成了一条从 RP 到接收者的 ST(Shared Tree)。 组播发送者同样需知道 RP 的存在。 组播源将多播数据封装成专用的 PIM SM 注册消息包, 并以单播的形式向RP发送注 册消息,RP收到注册消息后,解封装这个注册包,将多播消 息发往接收者。同时也向通往组播 源的各个路由器发送(S,G)的消息,构建从组播源到RP 的 SPT(Shortest Path Tree+)当 RP检测到 从组播源发出的多播数据包经由 SPT 到达时,(表明 SPT 稳定,沿途各路由器均已有正确转发条 目)RP 向组播发送“Register Stop(注册停止)”消息, 至此, 从组播源 到接收者的转发路径形成。 下图显示全部处理过程节束后的多播转发路径。 由组播源到 RP 的源树和 RP 到接收者的共享树 两部分构成。 问题:接收者虽然收到了发自源的组播信息,但是经由 RP 转发的传送路径不是从源到 接收者的最佳路径,接下来介绍这个次佳路径是如何修正的。 SPT切换 当 last-hop 路由器(即离接收者最近的路由器)收到经由(*,G)共享树由 RP 转发来的 组播消息时, 它就向 SPT 路径中的上游路由器发送(S, G)加入消息(延迟由 SPT-Threshold 值决定,这个值缺省等于 0,表示立刻切换成经 SPT 的转发),这个加入过程一跳一跳的进 行直至 first-hop 路由器(即离组播源最近的路由器),从而形成另一条从源直接到达接收 者的 SPT 转发路径最后,向 RP 发送修剪消息,通知它停止通过共享树向接收者转发特定

P a g e | 553

CCIE R/S & Service Provider Exam Certification Guide 源组(S,G)的消息, 在这一步完成之前,接收者可能收到重复组播数据。 另外,如果 RP 在所有属于共享树的接口上(注意:本例中只有一条共享树)均收到了关 于(S,G)的修剪消息,它也会向组播源发送(S,G)修剪消息,取消(S,G)源组向它的不必要 转发。 通过这种机制, PIM SM 实现也与 PIM DM 一样的转发路径, 因为没有最初的 Flood 过 程, 对无关网络及设备影响较小。 下图是最终形成的从源到接收者的 SPT。

对 PIM-SM 的评价,对于稀疏和或密集的接收者分布同样有效。 优点: 流量只会沿必要的分支路径转发,可动态切换到最优路径,与单播路由协议无关。 可与DVMRP互操作。 缺点:需要配置稳定的RP路由器。 CBT: Core-Based Trees CBT的基本目标是减少网络中路由器组播状态,以提供组播的可扩展性。为此, CBT被设计 成稀疏模式(与PIM-SM相似)。CBT使用双向共享树,双向共享树以某个核心路由器为根,允许组 播信息在两个方向流动。这一点与PIM-SM不同(PIM-SM中共享树是单向的,在RP与组播源之间使 用SPT将组播数据转发到RP),所以CBT不能使用RPF检查,而使用IP包头的目标组地址作检查转发 缓存。这就要求对CBT共享树的维护就需非常小心,以确保不会产生组播路由循环。 从路由器创建的组播状态的数量来看, CBT比支持SPT的协议效率高,在具有大量组播源和 组的网络中,CBT能把组播状态优化到组的数量级。 CBT为每个组播组建立一个生成树, 所有组播源使用同一棵组播树。 CBT工作过程大体如下: 1、 首先选择一个核,即网络中组播组的固定中心,来构造一棵CBT; 2、 主机向这个核发送join命令; 3、 所有中间路由器都接收到该命令,并把接收该命令的接口标记为属于这个组的树; 4、 如果接收到命令的路由器已是树中一个成员, 那么只要再标记一次该接口属于该组; 如果路由器第一次收到join命令,那么它就向核的方向进一步转发该命令,路由器 就需要为每个组保留一份状态信息; 5、 当组播数据到达一个在CBT树上的组播路由器时,路由器组播数据到树的核。以保 证数据能够发送到组的所有成员 CBT将组播扩张限制在接收者范围内,即使第一个数据包也无需在全网扩散,但 CBT导致核 周围的流量集中,网络性能下降。所以某些版本的CBT支持多个核心以平衡负载。

P a g e | 554

CCIE R/S & Service Provider Exam Certification Guide 目前CBTv3草案已公布。该方案通过使用CBT边界路由器(BR)更好地处理域间组播的转发。 CBTv3还引入新的状态及单向分支CBT概念。尽管CBT很有代表性,但至今却几乎没有已实现的CBT 网络。

23.2 IGMP组管理协议
IGMP(Internet Group Management Protocol)主要用于主机向路由器通知其加入某个多播组 的行为,以 便路由器向其转发到达特定多播组的数据包。IGMP目前共有三个版本,版本1在RFC 1112中阐述,版本2 在 RFC 2236 中阐述,版本 3在 RFC 3376 中阐述。 23.2.1 IGMPv1 版本1采用路由器查询和主机报告两种方法维护组成员关系。路由器向 224.0.0.1(all hosts)地址发 送 TTL=1 的查询包,这种查询每 60-120s 发生一次, 如果在一个 LAN 上面存在多台路由器,则只 有其中的一台作为 Designated/Elected 的路由器 发送查询信息。 主机可以向路由器发送 TTL=1 的组成员关系报告,在主机想要加入某个多播组或是收到来 自路 由器的组成员关系查询消息时发出 , 因为同一网段上的主机只要有一台想要接收到达某个多播组的消 息, 路由器就会将到达这一多播组的消息发至该网段,所以主机的报告采用压 制的方式,对某一个 组信息的接收请求只需有一台主机报告即可。

上图是版本 1 的消息包格式,Ver=1,Type=1 表示主机成员关系查询,Type=2 表示主机成员关 系报告。Group Address 表示 Report消息中主机要加入的多播组。 当一个主机要加入多播组时,它可以立即向路由器发送成员关系报告,不必等待查询,这样 就 减少了端系统最初加入一个多播时的延时。路由器也会定期的发出组成员关系查询,同一网段中只需 一 台 欲 接 收 组 播 信 息 的 主 机 响 应 查 询 即 可 。 其 它 同 属 于 该 组 的 主 机 的 响 应 被 压 制 。 (Response Suppression:每台主机在响应发自路由器的查询之前启动一个 count-down 计数器,计数器的值是一 个组定范围内的随机数,当这个数减到0时主机对查询发出响应,如果在这之前主机收到了其它主机发 出的响应,则它不再发出响应消息。)这个查询周期可以通过命令 ip igmp query-interval 来修改, 缺省时间间隔为 60s。 一个网段只需一台路由器发出查询即可,但是 IGMPv1没有规范的 Query 选举过程依赖于多播路由协议,有时候会出现多次查询的情况。 当主机离开一个组后,它不再响应路由器发出的组成员关系查询,同一网段上的所有主机都离开 一个组后,路由器将收不到任何报告,达到超时值后路由器停止向该网段转发相应组播消息。这个 Passively Leave 的方式增加了注销延时,在版本 2 中得以改良。 Router 的选举机制,

23.2.2 IGMPv2 对版本 1 的改良主要体现在以下几个方面: 在原有的发向 224.0.0.1 的针对所有组成员关系的 General Query 的基础上增加发向特定组地址

P a g e | 555

CCIE R/S & Service Provider Exam Certification Guide 的针对特定组的查询,以确定是否仍存在该组的接收者。 当主机离开一个组时,主动向路由器发送注 销报告,当发送此报告的主机是最后一个组成员时,可以减少路由器停止特定组播消息前的延时。 版本2中关于 Designated Router 的选举有了固定的机制,单播地址最小的支持 IGMP 协议的路 由器成为 Query Router。 此外,路由器在发出查询包时可以指定主机响应时间间隔。

上图是版本 2 所采用的信息包格式,Type=11 表示成员关系查询,=12 表示版本 1 成员关系报 告, =16表示版本 2 成员关系报告, =17 表示退出组报告。 Max.Resp.Time 表示最大响应时延, 以 1/10 秒为单位,缺省等于 10 秒。 组地址表示报告或查询的组地址,General Queries 用 0.0.0.0 表示。 主机欲加入一个多播组时可主动发出报告(与版本 1 相同)

上图显示的是路由器中记录的多播组成员关系记录。 路由器也可发出组成员关系查询,最初每 个路由器都认为自己是 Query Router 并发出查询, 直到它收到来自比自己的 IP 地址更低的路由器所发出的查询。最后,具有最低 IP 地址的路由 器成为最后的 Query Router。版本 2 中路由器还可以发出对特定组成员关系的查询。查询 消息缺省 每 60 秒发送一次。 如下图所示,我们可以通过 show ip igmp interface 命令查看哪一台路由器是当前的 Query Router。

主机对查询的响应同样采用压制机制。 主机退出多播组时主动向路由器发送退出消息,路由器收到该消息后会发出指向特定组的查询, 以判断该网段上是否还有属于该多播组的成员,如果没有收到任何回应报告,将停止向 该网段转发该 多播组数据。(从收到退出消息到停止转发大约经历 1-3 秒) 在版本 1 中, count-down 计数器的最大值固定为 10 秒, 这样如果同一网段上的接收者分属 许 多不同的多播组,路由器将同时收到大量的回应,版本 2 中 可 以 由 Query Router 指定

P a g e | 556

CCIE R/S & Service Provider Exam Certification Guide count-down 计数器的上限, 通过使用命令 ip igmp query-max-response-time 来增加这个值(缺省为 10 秒)可以减少报告拥塞情况的发生。 版本 1 与版本 2 的互操作能力 情况一:主机使用IGMPv2 ,路由器使用IGMPv1。v1 路由器不能识别v2 类型的成员报告报文,因此, 当子网中的查询路由器运行的是 v1 时,v2 主机需要发送v1 类型的成员报告报文。主机可以根据路由 器查询报文的最大响应时间字段来判断路由器的版本,因为v1 的查询报文中,该字段被置为0 ,而在v2的 查询报文中,该字段值非0。 情况二:主机使用IGMPv1 ,路由器使用IGMPv2。在这种情况下,组加入不会有问题,因为IGMPv1 格 式的组加入报文可以被运行IGMPv2 的路由器接收。但是组退出时会有问题 ,当IGMPv1 主机加入某个 组后,路由器必须忽略该组的任何组离开报文,因为运行IGMPv1 的主机不能识别来自路由器的特定组 查询报文,这样会使路由器以为没有组成员而停止转发该组的数据。 情况三:同一子网上既有IGMPv1 路由器,也有IGMPv2 路由器。同一子网上的所有路由器必须运行 同一版本的IGMP协议,这种情况下,必须将运行IGMPv2 的路由器手工配置为运行IGMPv1。 同一网段上的多台路由器所运行的 IGMP 版本必须相同,如果版本 1 和版本 2 路由器共存的 情况,版本 2 的路由器必须在该接口下配置为版本 1,命令为:ip igmp version 1 | 2。

23.2.3 IGMPv3 IGMPv3 的提出,主要是为了配合源特定组播的实现。源特定组播(Source Specific Multicast ,SSM) 是一种区别于传统组播的新的业务模型 ,它使用组播组地址和组播源地址同时来标志一个组播会话 ,而 不是向传统的组播服务那样只使用组播组地址来标志一个组播会话。 SSM保留了传统PIM2SM模式中的主机显式加入组播组的高效性 ,但是跳过了PIM2SM 模式中的共 享树和RP 规程。 在传统PIM2SM模式中,共享树和RP 规程使用( 3 ,G) 组对来表示一个组播会话,其中, (G) 表示一个特定的IP 组播组,而( 3 )表示发向组播组G的任何一个源。SSM 直接建立由(S , G) 标志的一个 组播最短路径树(Shortest Path Tree ,SPT) ,其中, (G) 表示一个特定的IP 组播组地址,而(S) 表示发向组播 组G的特定源的IP 地址。SSM 的一个(S ,G) 对也被称为一个频道(Channel) ,以区分传统PIM2SM 组播中 的任意源组播组(Any SourceMulticast ,ASM) 。由于ASM支持点到多点和多点到多点两种组播业务模式, 因此源的发现过程是ASM 复杂性的原因。 SSM特别适合于点到多点的组播服务,例如视频点播、在线网络教学等业务 ,但是在多点到多点的 应用场合还是需要ASM模式。 PIM2SSM是对传统PIM 协议的扩展,使用SSM,用户能直接从组播源接收组播报文。PIM2SSM 利用 PIM2SM 的功能,在组播源和客户端之间 ,产生一个SPT 树。但PIM2SSM 在产生SPT树时,不需要汇聚点 (RP) 的帮助。 在缺省情况下, SSM 组播组地址限制在IP 地址范围:232. 0. 0. 0~232. 255. 255. 255 之间。一个具 有SSM功能的网络, 相对于传统的 PIM2SM网路来说,具有非常突出的优越性。网络中不再需要汇聚点 (RP) ,也不再需要共享树或RP 的映射,同时网络中也不再需要MSDP 协议,以完成RP 与RP 之间的源发 现。 为了在网络中实施SSM 组播业务,除了要求网络端到端地支持网络组播和 SSM 模式外,同时还要 求网络和应用支持 IGMPv3 协议栈。 IGMPv3 在 IGMPv1/v2 的基础上提供了额外的源过滤组播功能 (Source2Filtered Multicast ,SFM) 。在IGMP v1/ v2中,主机只根据组地址来决定加入某个组,并从任何一个 源接收发给该组地址的报文。 具有源过滤组播功能(SFM) 的主机使用IGMPv3 来表示主机所希望加入的

P a g e | 557

CCIE R/S & Service Provider Exam Certification Guide 组播组,同时还表示该主机所希望接收的组播源的地址。主机可以使用一个包括列表( Inclusion List) 或 一个排除列表(Exclusion List) 来表示对源地址的限制。 IGMPv3报文格式: IGMPv3 的报文类型有以下几种: 0x11。成员关系查询报文(Membership Qeury) 。 0x22。版本3 成员关系报告报文(version 3 Membership Report) 。 0x12。版本1 成员关系报告报文(version 1 Membership Report) 。 0x16。版本2 成员关系报告报文(version 2 Membership Report) 。 0x17。版本2 离开报文(version 2 Leave Group) 。 报文类型的值填写在报文中的类型字段。主机向路由器发送报告的地址改为 224.0.0.22, 主机的报告不再受到压制,响应间隔仍可调节。

上图是 IGMP 版本 3 所采用的查询包格式,比前面两个版本复杂一些,最重要的是后面 增加 了记录组播源的字段。更复杂的是下面的报告包。一个包之中以组记录的形式同时向路 由器 通告主机想要接收的多播组和相应的源列表。

有两个多播源都有数据发送至 224.1.1.1 多播组,但是下面的主机只想接收来自源 1.1.1.1 的多播数据流,这在以前两个版本的多播中是不能由主机自身实现的。而版本 3 提供了对 这一功能的支持。

P a g e | 558

CCIE R/S & Service Provider Exam Certification Guide

版本 3 的组成员关系报告方式和前面两个版本一样。不过在主机加入一个多播组时可以 指定它接收或拒绝(Include or Exclude)源自哪些多播源的数据流。 路由器周期性的向 224.0.0.1 发送查询消息, 所有主机发回响应。 (因为不同主机可能有不 同的多播源要求,所以这里要求所有主机均要做出回应,不采用压制机制。)

23.2.4 IGMP的发展 IGMP 是IPv4 环境下支持组播必不可少的协议。IGMPv1实现简单,但是有离开延迟过大和选择查 询路由器需要依赖组播路由协议的缺点, IGMPv2 对此进行了改进。IGMPv3 协议的主要目的是支持源 特定组播,并进一步对IGMPv2 进行完善。目前大部分的网络设备和主机操作系统协议栈都支持IGMPv1 和 IGMPv2 。为了在网络中实施源特定组播 , 就要求网络中所选用的网络设备和操作系统都要支持 IGMPv3 协议。 目前,Windows XP 已经支持IGMPv3 ,同时某些UNIX 操作系统还支持升级到IGMPv3 ,最新 的Linux 2. 6 内核也支持IGMPv3。IGMPv3 可以与IGMP v1/ v2 协议向后兼容。在IPv6 环境下,IGMP 协 议将被新的MLD 协议所替代。

23.2.5 IGMP Snooping 传统以太网交换机处理组播数据包时只是简单地在每个端口上进行广播 ,这种方式使得组播包洪 泛到并不支持组播的网络,这样的网络比较多的时候则会造成带宽极大的浪费。解决这个问题有几种方 案, 如CISCO 组管理协议 CGMP 和组播注册协议 GMRP 。如果采用 CGMP 协议 ,则需要路由器必须支持 CGMP 协议,有着兼容性问题。如果采用GMRP 协议,同样也存在兼容性问题,因为它要求主机的网卡以 及应用软件支持GMRP 协议,所以以上两种方案对解决这个问题并不十分合适。而运行在交换机上的 IGMP Snooping 协议 则能够很好地解决这一问题,同时它也不需要主机和组播路由器支持额外的协议。 IGMP Snooping 协议监视网络上的IGMP 消息,为每一个组播MAC地址建立一个VLAN。 该VLAN端口 所连接的网络中至少含有一个主机组成员或者含有组播路由器。这些端口即为组播数据包应该转发的 端口组,它们在一起组成组播VLAN 的端口集。协议将维护这个端口集。这样,当转发组播数据包时,组播 数据包只在它所在的组播VLAN 端口上转发而不会广播到不需要组播的端口,节省了带宽。同时,该以太 网交换机在保持对组播路由器透明的前提下 ,完成IGMP 代理的功能,过滤掉不必要的IGMP 消息,防止 了“IGMP 报告风暴”。

P a g e | 559


相关文章:
C#知识总结
c语言考试总结知识 5页 免费 组播知识总结(C) (共7部分... 15页 2财富值...a=b a+=b a-=b a*=b a/=b a%=b a<b a>b a<=b a>=b a%b...
初一英语语法知识点总结复习(超详细)
初一英语语法知识总结复习(超详细)_英语_初中教育...根据划线部分确定是什么疑问词, 后面写原句变成的...7、A: ___ is it today? B:It‘s Sunday....
牛津译林9A Unit7 Films 单元测试卷(A)
牛津译林9A Unit7 Films 单元测试卷(A)_英语_初中教育_教育专区。9A Unit7 ...书面表达(共 1 题,满分 20 分) 假设学校戏剧倶乐部正在举办“奥斯卡影片欣赏...
2014译林牛津英语9A Unit7 Films 单元测试卷(A)
2014译林牛津英语9A Unit7 Films 单元测试卷(A)_...他把他的大部分时间致力于慈善事业,以便能够帮助更多...书面表达(共 1 题,满分 20 分) 假设学校戏剧倶...
07-7-A(答案)概率论与数理统计试卷和答案
华东理工大学 2006–2007 学年第一学期 《概率论与数理统计》课程考试试卷 A 2007.7 一、选择题: (每题 4 分,共 32 分) 1、加工一种零件需经过三道独立...
Unit 7(A卷)
Unit 7(A 卷) Ⅰ.词汇(20 分) A.选出每组词中不同类的一个(10 分) 1.A.exciting B.listening C.happy D.thrilling( ) 答案:B 2.A.interesting B....
2009-7-A(答案)概率论与数理统计试卷和答案
华东理工大学 2008–2009 学年第二学期 《概率论与数理统计》课程考试试卷 A 卷一、(共 12 2009.7.2 分)设二维随机变量 ( X ,Y ) 的概率密度函数为 ?k...
华理概率论07-7-A(答案)
华理概率论07-7-A(答案)_哲学_高等教育_教育专区...(每题 4 分,共 32 分) 1、加工一种零件需经过...《建筑工程管理与实务》笔记总结81份文档 笑话大全集...
初一英语上册人教版unit 7知识点总结及试题
初一英语上册人教版unit 7知识总结及试题_初一英语_英语_初中教育_教育专区。...Tom has a black sweater.(对划线部分提问) 3. The bag is nine dollars.(...
更多相关标签:
公共基础知识总结 | 7年级生物知识点总结 | 7年级地理知识点总结 | 7年级英语知识点总结 | 公共组播vlan设置 | iptv公共组播vlan设置 | 组播共享树 | win7 收不到组播数据 |