koorio.com
海量文库 文档专家
赞助商链接
当前位置:首页 >> 计算机硬件及网络 >>

第八部分 组播配置指南


RGOS? ? 用户配置指导手册 组播配置

第八部分

组播配置指南

第一章 配置 IP 组播路由

第一章 配置 IP 组播路由
1.1 概述
本章描述如何配置 IPv4 组播路由协议。如果要了解本章组播路由命令的完整描 述,请参考其它有关 "组播路由命令"的章节。 传统的 IP 传输只允许一台主机向单个主机 (单播通信) 或者所有主机 (广播通信) , 组播技术则提供第三种选择:允许一台主机向某些主机发送报文。这些主机被称 为组成员。 发送到组成员的报文目的地址是某个 D 类地址(224.0.0.0~239.255.255.255)。 组播报文的传输类似于 UDP,只是一种尽力保证的服务,不提供类似于 TCP 的可 靠传输和差错控制。 构成组播的应用需要发送方和接收方。发送方无需加入某个组就可以发送组播报 文,而接收方必须事先加入某个组才能接收到这个组的报文。 组成员的关系是动态的,主机可以随时加入或者离开某个组,而且组成员的位置 和个数没有任何限制。如果需要,一台主机可以同时为多个组的成员。因此,组 的活动状态和组成员的个数可随着时间而发生变化。 设备通过执行组播路由协议(例如 PIM-DM,PIM-SM 等)来维护转发组播报文的路 由表,通过 IGMP 协议来学习在直连网段上组成员的状态。主机通过发送 IGMP Report 消息来加入特定的 IGMP 组。 IP 组播技术非常适合于“一对多”的多媒体应用。

1.1.1 组播路由实现
在设备软件中,组播路由包括如下协议:
协议 IGMP PIM-DM PIM-SM DVMRP 描述

运行于组播设备和主机之间,跟踪学习组成员 的关系。
密集模式组播路由协议,运行在组播设备之间, 通过建立组播路由表来实现组播转发。 稀疏模式组播路由协议,运行在组播设备之间, 通过建立组播路由表来实现组播转发。

距离向量组播路由协议,运行在组播设备之 间,通过建立组播路由表来实现组播转

下图显示了在 IP 组播环境中应用到的组播协议的作用位置:

第1页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第一章 配置 IP 组播路由

图 1 IP 组播环境中应用到的组播协议图

1.1.2 IGMP 概述
要实现 IP 组播,组播主机、设备必须能支持 IGMP 操作。该协议是主机用来通知 设备与他们直连网段的组播成员关系,以决定对组播流的转发。 利用从 IGMP 学习到的信息,设备维护一张组播成员表,该表是基于每个接口的。 只有当一个接口至少有一个主机是组成员时,组播成员表才被激活。当前支持 IGMPv1,IGMPv2 和 IGMPv3。

1.1.2.1 IGMPV1
在版本 1 中,只有两种报文类型:Membership query 与 Membership report。 主机发送 Report 报文表示加入, 设备定期发送 Query 报文, 确认一个组至少有一 个主机存在,当一个组的所有主机都不存在时,设备将删除该组。

1.1.2.2 IGMPV2
在版本 2 中,规定了四种报文类型: Membership query Version 1 membership report Version 2 membership report Leave group 版本 2 与版本 1 基本类似,但在主机的退出机制上做了改进。版本 2 支持主机发 送 leave 报文通知主机离开特定组,设备再发送 Query 确认该组内是否仍有主机 存在。这样加入和离开的效率得到了提高。 在运行 IGMP 协议的组播网络中, 会有一个被选为查询者的组播设备负责发送 IGMP 查询报文。这个查询者是通过选举产生的。起初所有设备都处于查询者状态。当 设备收到的查询报文的源 IP 地址比设备本身的 IP 地址低时,接口将从查询者状
第2页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第一章 配置 IP 组播路由

态转变成非查询者状态。因此最终仅有一个设备处于查询状态。这个设备为网络 上所有组播设备中 IP 地址最低者。 当查询者设备失效时,会重新进行查询者的选举过程。非查询者设备维护其他查 询者当前的间隔定时器。每次设备收到成员关系查询报文时,都重置此定时器。 如果定时器超时,则此设备认为自己是查询者,开始发送查询报文,新一轮查询 者设备选举又开始了。 查询者设备必须定期发送成员关系查询请求,以确保网络上其他设备明白查询者 设备仍然是可工作的。要完成这项功能,查询者设备维护一个查询间隔定时器。 当发送成员关系查询报文时,重置此定时器。间隔定时器为零或不需要时,查询 者设备发送另一个成员关系查询。 在设备第一次出现即新增一个设备时,将发送一系列一般查询报文,看看哪些组 播组应该在特定接口上转发。设备发送的一般查询报文数基于设备配置的启动查 询计数值。初始一般查询报文间的间隔由启动查询间隔值定义。 查询者设备收到离开报文时,必须发送一个特定组的成员关系查询报文以查看该 主机是否是最后一个离开组的。设备在停止为那个组转发分组之前发送一系列这 种报文,报文数等于最后的成员查询数。设备发送多个特定组成员关系查询以确 保那个组内没有成员了。每隔最后成员查询间隔秒数发送一个这样的查询,以隔 开查询。收不到查询的应答时,设备停止在那个特定接口上为这个组地址转发组 播通信。

1.1.2.3 IGMPV3
在 IGMPv1 和 v2 的应用中存在以下几个缺陷: ? ? ? 缺乏有效控制组播源的手段。 由于不知道组播源的位置,组播路径的建立比较困难。 发现一个唯一的组播地址十分困难,可能出现多个的组播组使用同一个组播 地址的情况。

在 IGMPv1/v2 的基础上,IGMP V3 提供了过滤组播功能。在 IGMP v1/v2 中,主机 只根据组地址来决定加入某个组并从任何一个源接收发给该组地址的组播流。而 使用 IGMP V3 的主机不仅可以通告该主机所希望加入的组播组,同时还通告该主 机所希望接收的组播源的地址。主机可以通过一个包括列表或一个排除列表来指 明希望从哪些源能接收组播流。同时 IGMP v3 带来的另外一个好处是节省带宽, 避免不需要的、非法的组播数据流占用网络带宽,这尤其在多个组播源共用一个 组播地址的网络环境中表现明显。 IGMP v1 和 IGMP v2 也可以实现某种意义上的“源 地址过滤”,但它是在组播流接收端上做的。如下图所示:组播源有 S1 和 S2,发 送同一组播地址 G 的数据流。S1、S2 的组播流会向所有接收 G 的主机发送,而如 果主机 A 只想接收 S1 的,为避免 S2 数据流的干扰,只能用相应的客户端软件进 行终端上的过滤。

第3页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第一章 配置 IP 组播路由

图2 不进行源过滤的组播路由转发

而如果网络内的设备支持 IGMP v3,主机 A 只想接收 S1 来的数据流,发送 join G include S1 的 IGMPv3 报文; 主机 B 只想接收 S2 来的数据流, 发送 join G include S2 的 IGMPv3 报文,于是数据流的转发就如下所示。节省了一部分带宽。

图 3 进行源过滤的组播路由转发

同版本 2 对比,版本 3 的规定了以下两种报文类型: ? ? Membership Query Membership Report

其中 Membership Query 分为三种: ? ? ? General Query:用于查询接口下所有组播成员信息; Group-Specific Query:用于查询接口下指定组的成员信息; Group-and-Source-Specific Query:该类型为 IGMPv3 中新增加的,用于查 询接口下是否有成员需要接收指定源列表中的源所发出的特定组的组播流。

同 IGMPV2 中的 Membership Report 不同, IGMPv3 中发出的 Membership Report 报文中可以包含多个组的信息。 IGMPv3 的 report 报文的目的地址为 224.0.0.22, 它可以携带一个或者多个的组记录,在每个组记录中,包含了组地址和源地址列 表信息。组记录的类型如下: ? IS_IN:表示组播组与组播源列表之间的过滤模式为 INCLUDE,即只接收从 指定组播源列表发往该组播组的组播数据。 如果此时的指定组播源列表为空, 则表示离开该组播组,相当于 IGMPv2 的 leave 报文。 IS_EX:表示组播组与组播源列表之间的过滤模式为 EXCLUDE,即只接收 从指定组播源列表之外的组播源发往该组播组的组播数据。

?

第4页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第一章 配置 IP 组播路由

? ? ?

TO_IN:表示组播组与组播源列表之间的过滤模式将由 EXCLUDE 转变为 INCLUDE。 TO_EX:表示组播组与组播源列表之间的过滤模式将由 INCLUDE 转变为 EXCLUDE。 ALLOW :表示增加从某些组播源接收组播数据。如果当前的对应关系为 INCLUDE,则向现有组播源列表中添加这些组播源;如果当前的对应关系为 EXCLUDE,则从现有组播源列表中删除这些组播源。 BLOCK:表示不再希望从某些组播源接收组播数据。如果当前的对应关系为 INCLUDE,则从现有组播源列表中删除这些组播源;如果当前的对应关系为 EXCLUDE,则向现有组播源列表中添加这些组播源。

?

基于兼容性考虑,IGMPv3 也能够识别 IGMPv1/IGMPv2 的协议报文。

1.1.3 PIM-DM 概述
PIM-DM(Protocol Independent Multicast-Dense Mode)是一种密集模式的组播 路由协议,适用于网络规模比较小、组播成员相对集中的情况。因为 PIM-DM 不依 赖于任何特定的单播路由协议,所以被称作是协议无关的(Protocol Independent)组播路由协议。PIM-DM 在 RFC 3973 文档中定义。 PIM-DM 设备之间通过 Hello 消息来发现邻居。一旦 PIM-DM 设备启动,它就周期 性地在每个配置了 PIM-DM 的接口上发送 Hello 消息。 Hello 消息有一个保持时间 (Hello Hold Time) 字段, 这个时间参数定义了邻居等待下一个消息的最长时间。 如果邻居在这个时间内没有接收到发送 Hello 消息的设备的下一个 Hello 消息, 就宣布这个设备已经死亡。 PIM-DM 使用扩散与剪枝(flood and prune)来建立组播树。PIM-DM 假定当组播 源开始发送组播数据报文时,网络中的所有系统都需要接收该报文,因此报文被 转发给每一个系统。从设备上游接口接收到的报文都要经过 RPF(Reverse Path Forwarding,反向路径转发)检查,没有通过 RPF 检查的报文将被丢弃。对于通 过了 RPF 检查的组播报文,设备根据报文的(S, G)对,即根据组播报文的源地 址和组地址计算外出接口。如果计算出的外出接口不为空,则对该(S, G)对建 立一个外出接口的表项,并且将该组播报文由外出接口转发;如果计算出的外出 接口为空,则向 RPF 发送一个剪枝报文,通知上游邻居不要再向本接口转发来自 该(S, G)的组播报文。上游接口接收到剪枝报文以后,把发送该剪枝报文的接 口记为剪枝状态(Pruned),并设置一个剪枝状态计时器。这样就建立了一棵以 组播源为根的组播转发树。 PIM-DM 使用 Assert 机制来消除冗余路由。

第5页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第一章 配置 IP 组播路由

图 4 PIM-DM 的 Assert 机制

如图 4 所示,组播数据报文同时到达设备 A 和设备 B 时,设备 A 和设备 B 都向设 备 C 转发,这时设备 C 就会收到同一份报文的两个拷贝,这是不允许的。因此必 须使用某种机制,在设备 A 和设备 B 中间选择一个向设备 C 转发组播数据报文, 而另一个则不向设备 C 转发,这就是 PIM-DM 中的 Assert 机制。 PIM-DM 使用状态更新消息(State Refresh Message)来更新网络的状态信息。 与组播源直接相连的设备定期向下游设备发送状态更新消息,以通告网络的拓扑 变化情况。收到状态更新消息的设备通过修改消息中的某些字段把本机的拓扑状 态信息也加入到消息中,然后发送给下游设备。到达叶子设备时,整个网络的状 态信息从上到下都得到了更新。 PIM-DM 使用嫁接(Graft)机制来重新建立与上游设备的连接。如果处于剪枝状 态的下游设备的网络拓扑状态发生了变化,需要接收来自某个(S, G)对的组播 数据报文,可以向上游设备发送嫁接消息。上游设备收到这条嫁接消息以后,回 应一条嫁接确认(Graft-Ack)消息,并重新向该设备接口转发组播数据报文。

1.1.4 DVMRP 概述
DVMRP(Distance Vector Multicast Routing Protocol ,距离向量组播路由协议) 是最早在 Internet 中得到广泛运用的组播路由协议, 也是一种密集模式的组播路 由协议。 与 PIM-DM 有些相似, 都使用了反向路径组播机制来构建分布树转发组播 数据包。它们之间的主要不同在于 PIM-DM 与具体的单播路由协议无关,而 DVMRP 依赖于 RIP 协议 DVMRP 设备通过 Probe 报文公告自己、学习邻居地址和建立邻接关系,当接收到 邻居发来的 Probe 报文中包含自己的 IP 地址时,就建立起邻接关系。 DVMRP 邻居之间通过周期性的发送 Report 报文交换源路由信息, 信息包括了源网 络的掩码、跳数。这些信息存储在独立于单播路由表的 DVMRP 路由表中,在建立 有源树的过程中用于进行 RPF 检测。

第6页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第一章 配置 IP 组播路由

DVMRP 也是一种密集模式的组播路由协议,为每个组播源创建组播转发树,初始 组播数据流沿着整个组播转发树转发,但对于冗余路径不进行转发。对指定的组 播转发树,设备确认自己不再需要接收组播数据流时,会向上游发送 Prune 剪枝 报文。设备通过确认自己不存在下游邻居且不存在组播成员信息时,来判断是否 需要再接收指定的组播数据流。由于也是密集模式的组播路由协议,所以一旦剪 枝超时,组播数据流将重新扩散。 此外,为了使得组播接收者能够快速加入组播转发树,DVMRP 还支持嫁接和嫁接 确认机制,使先前被剪除的路径能快速回到转发树中,嫁接确认是用来避免因为 网络繁忙而导致嫁接消息丢失。 本设备支持完整的 DVMRP 路由协议。

1.1.5 PIM-SM 概述
PIM(Protocol Independent Multicast)由 IDMR(域间组播路由)工作组设计, 顾名思义,PIM 不依赖于某一特定单播路由协议,它可利用各种单播路由协议建 立的单播路由表完成 RPF 检查功能,而不是维护一个分离的组播路由表实现组播 转发。由于 PIM 无需收发组播路由更新,所以与其它组播协议相比,PIM 开销降 低了许多。PIM 的设计出发点是在 Internet 范围内同时支持 SPT 和共享树,并使 两者之间灵活转换,因而集中了它们的优点提高了组播效率。PIM 定义了两种模 式:稠密模式(Dense-Mode)和稀疏模式(Sparse-Mode)。 PIM-SM(Protocol Independent Multicast Sparse Mode)是一种稀疏模式的组播 路由协议。在 PIM-SM 域中,运行 PIM-SM 协议的设备周期性地发送 Hello 消息, 用以发现邻接的 PIM-SM 设备,并且负责在多路访问网络中进行指派设备 DR 的选 举。这里,DR 负责为其直连组成员朝着组播分发树根节点方向发送“加入/剪枝” 消息,或是将直连组播源的数据发向组播分发树。

第7页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第一章 配置 IP 组播路由

图 5 pim-sm 显式的加入机制

PIM-SM 通过建立组播分发树来进行组播数据包的转发。组播分发树分为两种:以 组 G 的 RP 为根的共享树(Shared Tree)和以组播源为根的最短路径树(Shortest Path Tree)。PIM-SM 通过显式地加入/剪枝机制来完成组播分发树的建立与维护。 如上图所示:当接收端 DR 收到一个发自接收端的 report 报文,它就会向着组 G 的 RP 方向逐跳组播发出一个(*.G)加入信息用以加入共享树;源主机发送组播数 据时,源的 DR 收到组播数据时,将其封装在注册消息内,并单播至 RP,RP 再将 源的解封装数据包沿着共享树转发到各个组成员; RP 朝着源方向第一跳设备发送 (S,G)加入信息,用以加入此源的最短路径树,这样源的数据包将沿着其最短 路径树不加封装地发送到 RP;当第一个组播数据沿此树到达时,RP 向源的 DR 发 送注册-停止消息,以使 DR 停止注册封装过程。此后,这个源的组播数据不再注 册封装,而是先沿着源的最短路径树发送到 RP,再由 RP 将其沿着共享树转发各 个组成员。当不再需要组播数据时,接收端 DR 向着组 G 的 RP 逐跳组播剪枝消息 用以剪枝共享树。 PIM-SM 中还涉及到根节点 RP 的选择机制。PIM-SM 域内配置了一个或多个侯选自 举设备(Candidate-BSR).应用一定的规则从中选出自举设备(BSR)。PIM-SM 域中 还配置了候选 RP 设备(Candidate-RP),这些候选 RP 将包含了它们的地址及可以服 务的组播组等信息的包单播至 BSR 设备。 BSR 定期生成包括一系统候选 RP 以及相 应的组地址的”自举”消息。”自举”消息在整个域中逐跳发送。设备接收并保存这 些“自举”消息。若 DR 从直连主机收到了某组的成员关系报告后,如果它没有这个 组的路由项,DR 将使用一个 hash 算法将组地址映射至一个可以为该组服务的候 选 RP。然后 DR 将向 RP 方向逐跳组播”加入/剪枝”消息。若 DR 从直连主机收到组 播数据包,DR 将使用 hash 算法将组地址映射至一个可以为该组服务的候选 RP, 然后 DR 将组播数据封装在注册消息中单播到 RP。 PIM-SM 与基于“扩散/剪枝”模型的 PIM-DM 根本差别在于 PIM-SM 是基于显式加入 模型, 即接收者向 RP 发送加入消息, 而设备只在已加入某个组播组输出接口上转 发那个组播组的数据包。PIM-SM 采用共享树进行组播数据包转发。每一个组有一 个汇合点(Rendezvous Point: RP),组播源沿最短路径向 RP 发送数据,再由 RP 沿最短路径将数据发送到各个接收端。这一点类似于 CBT,但 PIM-SM 不使用 核的概念。PIM-SM 主要优势之一是它不局限于通过共享树接收组播信息,还提供 从共享树向 SPT 转换的机制。 尽管从共享树向 SPT 转换减少了网络延迟以及在 RP 上可能出现的阻塞,但这种转换耗费了相当的设备资源,所以它适用于有多对组 播数据源和网络组数目较少的环境。 PIM-SM 使用共享树和 SPT 来分发组播帧。此时,假设其他设备都不想收到这些组 播,除非有明确的加入声明。当一个主机加入了一个组,与该主机相连的设备就 要用 PIM 加入消息通知根,即 RP。这一加入消息通过设备依次传递,建立了一个 共享树的结构。于是,RP 记录这一传递路径,同时也记录从发送组播源的第一跳 设备(DR)发来的注册消息,根据这两个信息,完善共享树。枝叶信息的更新是 通过定期的查询信息实现。在使用共享树时,组播源首先发送组播到 RP,这样才 能保证所有的接收者能收到。 PIMv2 BSR 是一种分发 group-to-RP 消息到所有设备的方法。它消除了为每个设 备设置 RP 的需要。BSR 使用 hop-by-hop 扩散 BSR 消息来分发映射信息。首先,

第8页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第一章 配置 IP 组播路由

BSR 是从设备中选举出来的。选举方法类似于 STP 中选举 root-bridge 的过程, 使用一个优先级值,每个 BSR 设备检查 BSR 消息,并只转发优先级比它自己高的 或相等(IP 地址比它高)的 BSR 消息。被选中的 BSR 发送 BSR 消息到 all-PIM-routers multicast group (224.0.0.13) ,TTL 为 1。邻居的 PIMv2 设备收到后,再将它组播出来,并再设置 TTL 为 1。这样,BSR 消息一跳一跳地被 所有设备收到。 由于消息中包括 BSR 的 IP 地址, 所以侯选的 BSR 能通过该消息获 知那个设备为当前的 RP。 侯选 RP 发送候选的 RP 公告以宣称在哪些地址范围内他 们可以成为 RP,BSR 将他们保存在自己的本地候选 RP 缓存中,BSP 定期将本地候 选 RP 发送通知所有的 PIM 设备。这些消息同样一跳一跳地到达各设备。

1.2 配置基本的组播路由
基本的组播配置包括: ? ? 启动组播路由转发(必须) 启动组播路由协议(必须)

1.2.1 启动组播路由转发
启动组播路由转发功能后,组播数据报文及协议报文才能够被组播相关协议接收 处理。在全局配置态下输入以下命令启动组播路由转发:
命令 Ruijie(config)# ip multicast-routing 启动组播路由转发。 作用

1.2.2 启动组播路由协议
在接口激活组播功能,按以下步骤进行:
命令 Step 1 Ruijie(config-if)# ip pim dense-mode Step 2 Ruijie(config-if)# ip pim sparse-mode Step 3 Ruijie(config-if)# ip dvmrp enable 作用 进入需要运行 PIM 密集模式的接口, 在接口配置 模式下启动 PIM 密集模式组播路由协议。 此命令必须在三层接口下配置 进入需要运行 PIM 稀疏模式的接口, 在接口配置 模式下启动 PIM 稀疏模式组播路由协议。 此命令必须在三层接口下配置 进入需要运行 dvmrp 的接口, 在接口配置模式下 启动 dvmrp 组播路由协议。 此命令必须在三层接口下配置

以下的例子演示了在接口 GigabitEthernet 0/3 上配置 PIM 密集模式
Ruijie(config)# ip multicast-routing Ruijie(config)# interface gigabitEthernet 0/3 Ruijie(config-if)# ip address 192.168.194.2 255.255.255.0
第9页 共 58 页 http://www.ruijie.com.cn

第八部分

组播配置指南

第一章 配置 IP 组播路由

Ruijie(config-if)# ip pim dense-mode

说明

全局启动 IPv4 组播路由情况下,接口上启用组播路由协议会同时启动 IGMP 功能。 同一接口上只能运行一种模式的组播路由协议。

a

注意

S5760 支持对 SVI 口进行 RPF 检查,不支持对路由口进行 RPF 检查。因此,如果 路由口成为 RPF 接口,从非 RPF 接口到达的组播流也将根据表项被转发。

1.2.3 启动 IGMP
当启动组播路由转发和组播路由协议时,也将启动 IGMP 协议。

1.3 配置组播路由特性
高级的 IP 组播核心功能配置包括: ? ? ? ? ? 配置 TTL 阈值(可选) 限制能够加入到 IP 组播路由表中的条目数量(可选) 设置特定 IP 组范围的 IP 组播边界(可选) 配置静态 IP 组播播路由(可选) IP 组播路由的监控和维护(可选)

1.3.1 配置 TTL 阈值
如果要对接口通过的数据报文的 ttl 进行限制,可以通过配置 TTL 阈值。 在接口配置模式下,使用 ip multicast ttl-threshold 配置接口上允许通过的 组播报文 TTL 的阈值,使用 no ip multicast ttl-threshold 恢复缺省值,缺 省值为 1。当 TTL 阈值配置为 0 时,表示相应接口将不作为数据流的出口。
命令 Ruijie(config-if)# ip multicast ttl-threshold ttl-value 配置接口的 TTL 阈值。 ttl-value:<0-255> 作用

1.3.2 限制能够加入到 IP 组播路由表中的条目数量
在全局配置模式下,使用 ip multicast route-limit limit [threshold] 限制 能够加入到组播路由表中的条目数量,使用 no 命令恢复缺省值。组播路由条目 的缺省值为 1024。
命令 作用

第10页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第一章 配置 IP 组播路由

限制能够加入到组播路由表中的条目数量。 limit:能够加入到组播路由中的数量 1~2147483647。 缺省值为 1024。 threshold:(可选)触发产生警示消息的组播路由数 量。缺省值为 2147483647. 注意:不同型号设备的硬件资源所限,超过硬件表项 的路由项需要软件转发,将导致性能下降。

Ruijie(config)# ip multicast route-limit limit [threshold]

1.3.3 设置特定 IP 组范围的 IP 组播边界
在接口配置模式下,使用 ip multicast boundary access-list 配置接口成为 特定 IP 组范围的 IP 组播边界,使用 no 命令恢复缺省值。
命令 作用 设置特定 IP 组范围的 IP 组播边界。支持 IP 标准的数 字 acl 或者命名指定特定的 IP 组范围。 注意:这条命令关联的 ACL 只支持对目的 IP 地址的 匹配过程,不支持对组地址和源地址的匹配。

Ruijie(config-if)# ip multicast boundary access-list { | in | out |}

该命令可以对和该 IP 组范围相关的 IGMP 、PIM-SM、PIM-DM 协议报文进行过滤, 组播数据流不会从该组播边界接口流入和流出。

1.3.4 配置 IP 组播静态路由
组播静态路由允许组播转发路径不同于单播路径。组播报文转发时都会进行 RPF 检查:报文的实际接收接口是期望接收的接口(该接口就是到达发送方的单播路 由下一跳接口)。如果单播的拓扑和组播的拓扑一致,这样的检查是合理的。但 是,在某些情况下,还是希望单播的路径和组播的路径有所不同。 通过配置组播静态路由,能够使设备根据配置信息进行 RPF 检查,而不是单播路 由表。因此,组播报文使用隧道,单播报文不走隧道。组播静态路由只存在本地, 并不会宣告出去或者进行路由转发。 在全局配置态下,使用如下命令来配置组播静态路由。
命令 Ruijie(config)# ip mroute source-address mask [bgp | isis | ospf | static] { v4rpf-addrress |interface-type interface-number} [distance] 作用 配置组播静态路由。 并可以指定这些路由的协议类型。 Distance:<1-255>

说明

如果要指定静态组播路由的出口而非下一跳的 IP 地址,那么该出口必须为点对点类 型的。

第11页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第一章 配置 IP 组播路由

1.3.5 配置组播流二层流向控制
如果需要控制端口的数据流流向,可以使用该命令。可以控制组播流在二层的流 向。 对于某一条组播流可以配置多条命令,也就是说配置多个被允许转发的端口。一 旦为某组播流配置了流向控制,该组播流只可能由这些已配置的端口转发出去。 其他未被允许的端口将不允许转发组播流。
命令 Ruijie(config)# ip multicast static source-address group-address interface-type interface-number 作用 控制二层端口的数据流流向。配置的静态出口必须为 二层端口。

该命令只控制组播流在端口上的转发行为,不直接影响组播协议对协议报文的处 理。但是由于组播协议(如:PIM-DM 或 PIM-SM)的某些特性是依赖组播数据流驱 动的,所以组播路由协议的行为仍然可能被影响。

1.3.6 组播路由的监控和维护
在特权配置模式下,使用如下命令来查看 v4 组播转发表信息
命令 show ip mroute [ v4group-address] [v4source-address] [dense] | [ sparse]} {[summary] | [count]} 查看 v4 组播转发表信息 作用

在特权配置模式下,使用如下命令来删除 v4 组播转发表
命令 clear ip mroute {* | v4group-address [v4source -address]} 删除 v4 组播转发表 作用

在特权配置模式下,使用如下命令来复位 v4 组播转发表统计信息
命令 clear ip mroute statistics {* | v4group-address [v4source-address]} 作用 复位 v4 组播转发表统计信息

在特权配置模式下,使用如下命令来查看 v4 静态组播路由信息
命令 show ip mroute static 作用 查看 v4 静态组播路由信息

在特权配置态下,使用如下命令来显示特定 v4 源地址的 RPF 信息

第12页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第一章 配置 IP 组播路由

命令 show ip rpf v4source-address

作用 显示特定 v4 源地址的 RPF 信息

在特权配置态下,使用如下命令来显示 v4 组播接口的信息
命令 show ip mvif [ interface-type interface-number ] 显示 v4 组播接口的信息 作用

在特权配置态下,使用如下命令来显示 IPv4 三层组播转发表
命令 show ip mrf mfc 作用 查看 IPv4 三层组播转发表

在特权配置态下,使用如下命令来显示 IPv4 多层组播转发表
命令 show msf msc 作用 查看 IPv4 多层组播转发表

在特权配置态下,使用如下命令来查看组播核心的运行过程
命令 debug nsm mcast all 作用 查看组播核心的运行过程

在特权配置态下,使用如下命令来查看 IPv4 组播核心对协议模块进行通信过程
命令 debug nsm mcast fib-msg 作用 查看 IPv4 组播核心对协议模块进行通信过程

在特权配置态下,使用如下命令来查看 IPv4 组播核心关于接口运行过程
命令 debug nsm mcast mif 作用 查看 IPv4 组播核心关于接口运行过程

在特权配置态下, 使用如下命令来查看 IPv4 组播核心关于接口和表项统计信息的 处理过程
命令 debug nsm mcast stats 作用 查看 IPv4 组播核心关于接口和表项统计信息的处理 过程

第13页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第一章 配置 IP 组播路由

1.4 组播路由配置举例
1.4.1 PIM-DM 配置范例
1.4.1.1 配置要求
网络拓扑结构如图 6 所示。设备1与组播源处在同一个网络,设备 2 与接收者 A 处在同一个网络,设备 3 与接收者 B 处在同一个网络。假定设备与主机都正确连 接,并且已经配置好 IP 地址和单播路由。

图 6 PIM-DM 配置范例拓扑结构图

1.4.1.2 设备配置
下面以设备 1 为例展示如何配置 PIM-DM, 设备 2 和设备 3 的配置过程与设备 1 类 似。 步骤1:启动组播路由
Ruijie# configure terminal Ruijie(config)# ip multicast-routing

步骤 2:在接口 eth0 上启动 PIM-DM
Ruijie(config)# interface eth 0 Ruijie(config-if)# ip pim dense-mode Ruijie(config-if)# exit

步骤 3:在接口 eth1 上启动 PIM-DM,并返回特权用户模式。
Ruijie(config)# interface eth 1 Ruijie(config-if)# ip pim dense-mode Ruijie(config-if)# end

设备 2 和设备 3 的配置与设备 1 类似,都是先启动组播路由,再分别在各个接口 上启动 PIM-DM。

第14页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第一章 配置 IP 组播路由

1.5 PIM-SM 配置范例
1.5.1 配置要求
网络拓扑结构如图 7 所示。R1 与组播源处于同一个网络,R2 将被设置为 RP,R3 与接收者 A 处于同一个网络,R4 与接收者 B 处于同一个网络。假定设备与主机都 正确连接,并且已经在各接口配置了 IP 地址,在各设备启动了 IP 单播。

图 7 PIM-SM 配置范例拓扑结构图

1.5.2 设备配置
步骤1:启动组播路由 以下在 R1 上启动 IP 组播路由,在 R2、R3、R4 上配置相似,配置过程略。
Ruijie# configure terminal Ruijie(config)# ip multicast-routing

步骤 2:在接口上启动 PIM-SM 以下在 R1 的接口 eth0 上启动 PIM-SM,在 R1、R2、R3、R4 上各接口配置相似, 配置过程略。
Ruijie(config)# interface eth 0 Ruijie(config-if)# ip pim sparse-mode Ruijie(config-if)# end

步骤 3:配置候选 BSR 和候选 RP 将 R2 的 loopback1 配置为 C-BSR 和 C-RP
Ruijie(config)# interface loopback 1 Ruijie(config-if)# ip address 100.1.1.1 255.255.255.0 Ruijie(config-if)# ip pim sparse-mode Ruijie(config-if)# exit Ruijie(config)# ip pim bsr-candidate loopback 1 Ruijie(config)# ip pim rp-candidate loopback 1 Ruijie(config-if)# end

第15页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第一章 配置 IP 组播路由

接收者加入组,组播源发送组播流之后,可以使用 PIM-SM 提供的 show 命令监控 运行状态。

说明

在启动 PIM-SM 的同时,IGMP 在各个接口上分别自动启动,不需要手动配置。

1.5.3 DVMRP 配置范例
1.5.3.1 配置要求
网络拓扑结构如图 8 所示。设备1与组播源处在同一个网络,设备 2 与接收者 A 处在同一个网络,设备 3 与接收者 B 处在同一个网络。假定设备与主机都正确连 接,并且已经配置好 IP 地址和单播路由。

图 8 DVMRP 配置范例拓扑结构图

1.5.3.2 设备配置
下面以设备 1 为例展示如何配置 DVMRP,设备 2 和设备 3 的配置过程与设备 1 类 似。 步骤1:启动组播路由
Ruijie# configure terminal Ruijie(config)# ip multicast-routing

步骤 2:在接口 eth0 上启动 DVMRP
Ruijie(config)# interface eth 0 Ruijie(config-if)# ip dvmrp enable Ruijie(config-if)# exit

步骤 3:在接口 eth1 上启动 DVMRP,并返回特权用户模式。
Ruijie(config)# interface eth 1 Ruijie(config-if)# ip dvmrp enable Ruijie(config-if)# end
第16页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第一章 配置 IP 组播路由

设备 2 和设备 3 的配置与设备 1 类似,都是先启动组播路由,再分别在各个接口 上启动 PIM-DM。

第17页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第二章 IGMP 配置指南

第二章 IGMP 配置指南
2.1 IGMP 简介
IP 组播是一种允许一个或多个发送者(组播源),发送单一的数据包到多个接收 者(一次的,同时的)的网络技术。组播源把数据包发送到特定组播组,而只有 属于该组播组地址的主机才能接收到数据包。组播可以大大的节省网络带宽,因 为无论有多少个接收主机,在整个网络的任何一条链路上只传送单一的数据包。 组播使用 IANA 规定的 D 类网络地址。D 类地址的最高位为 1110。因此,组播地址 范围为 224.0.0.0 到 239.255.255.255。不过其中并不是所有地址都可以被用户 使用,有一些地址被保留为协议使用或其他地址。比如 224.0.0.1 表示所有组播 主机地址,224.0.0.2 表示所有多播设备地址。 任何主机,不论是否为组播组成员,都可以作为组播源。然而,只有属于组播组 的成员才能接收组播帧。组播组的成员是动态确定的,主机可以动态加入或者离 开一个组。 组播帧在网络中的转发由组播设备完成, 组播设备运行多播路由协议。 要参加 IP 多播,多播主机、设备必须能支持 IGMP 操作。该协议是主机用来通知 设备与他们直连网络的组播成员关系, 以决定对组播流的转发。 利用从 IGMP 获得 的信息,设备维护一张组播成员表,该表是基于每个接口的。当一个接口至少有 一个主机是组成员时,组播成员表才被激活。 目前 IGMP 有多个版本, 其中 IGMPv2 基本是在 IGMPv1 的基础上, 通过增加离开报 文以使主机可以主动要求离开组播组。IGMP 协议的行为可以分成两个部分:主机 行为和设备行为。

2.1.1 IGMP 不同版本的报文介绍
? ? ? IGMP Version 1 IGMP Version 2 IGMP Version 3

2.1.1.1 IGMP Version 1
在版本 1 中,只有两种报文类型: ? ? Membership query Membership report

主机发送 report 报文表示加入, 设备定期发送 query 报文, 确认一个组至少有一 个主机存在,当一个组的所有主机都不存在时,设备将该组删除。

2.1.1.2 IGMP Version 2
在版本 2 中,规定了四种报文类型:

第18页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第二章 IGMP 配置指南

? ? ? ?

Membership query Version 1 membership report Version 2 membership report Leave group

过程与版本 1 基本类似,但在主机的退出机制上加以改进。版本 2 支持主机发送 leave 报文通知设备,设备再发送 query 确认是否仍有主机存在。这样加入和离 开的效率得到提高。 同时,版本 2 处理多访问网络的多设备情况。在运行 IGMP 协议的组播网络中,会 有一个专职查询的组播设备负责发送 IGMP 查询报文。 这个专职设备是通过选举决 定的。 起初所有设备开始处于查询者状态。 当设备收到低 IP 地址设备的成员关系 查询时,他们从接收者状态转变成非查询者状态。因此最终仅有一个设备处于查 询状态。这个设备为网络上所有组播设备中 IP 地址最低者。 当查询者设备失效时,IGMPv2 也进行处理。非查询者设备维护其它查询者存活的 间隔定时器。每次设备收到成员关系查询报文时,都重置此定时器。如果定时器 超时,则此设备开始发送查询报文,新一轮查询者设备选举又开始了。 查询者设备必须定期发送成员关系查询请求,以确保网络上其他设备明白查询者 设备仍然是可工作的。要完成这项功能,查询者设备维护一个查询间隔定时器。 当发送成员关系查询报文时,重置此定时器。间隔定时器为零或不需要时,查询 者设备发送另一个成员关系查询。 在设备第一次出现即新增一个设备时,他发送一系列一般查询报文,看看哪些组 播组应该在特定接口上转发。设备发送的一般查询报文数基于设备配置的启动查 询计数值。初始一般查询报文间的间隔由启动查询间隔值定义。 查询者设备收到离开报文时,必须发送一个特定组的成员关系查询以查看该主机 是否是最后一个离开组的。设备在停止为那个组转发分组之前发送一系列这种报 文,报文数等于最后的成员查询数。设备发送多个特定组成员关系查询以确保那 个组内没有成员了。每隔最后成员查询间隔秒数发送一个这样的查询,以隔开查 询。收不到查询的应答时,设备停止在那个特定接口上为这个组地址转发组播通 信。

2.1.1.3 IGMP Version 3
在 IGMPV1 和 V2 的应用中存在以下几个缺陷: ? ? ? 缺乏有效控制多播源的手段。 由于不知道多播源的位置,多播路径的建立比较困难。 发现一个唯一的多播地址十分困难,可能出现多个的多播组使用同一个多播 地址的情况。

在 IGMPV1/V2 的基础上,IGMPV3 提供了额外的源过滤多播功能。在 IGMP V1/V2 中,主机只根据组地址来决定加入某个组并从任何一个源接收发给该组地址的组 播流。 而使用 IGMPV3 的主机通告该主机所希望加入的多播组, 同时还通告该主机 所希望接收的多播源的地址。主机可以通过一个包括列表或一个排除列表来指明 希望从哪些源能接收多播流。 同时 IGMPv3 带来的另外一个好处是节省带宽, 避免
第19页 共 58 页 http://www.ruijie.com.cn

第八部分

组播配置指南

第二章 IGMP 配置指南

不需要的、非法的组播数据流占用网络带宽,这尤其在多个多播源共用一个多播 地址的网络环境中表现明显。IGMPv1 和 IGMPv2 也可以实现某种意义上的“源地 址过滤”,但它是在多播流接收端上做的。如下图所示:多播源有 S1 和 S2,发 送同一多播地址 G 的数据流。S1、S2 的多播流会向所有接收 G 的主机发送,而如 果主机 A 只想接收 S1 的,为避免 S2 数据流的干扰,只能用相应的客户端软件进 行终端上的过滤。

图 9

而如果网络内的设备支持 IGMPv3,主机 A 只想接收 S1 来的数据流,发送 join G include S1 的 IGMPv3 报文; 主机 B 只想接收 S2 来的数据流, 发送 join G include S2 的 IGMPv3 报文,于是数据流的转发就如下所示。节省了一部分带宽。

图 10

同版本2对比,版本 3 的规定了以下两种报文类型: ? ? Membership Query Version 3 Membership Report

其中 Membership Query 分为三种: ? ? ? General Query:用于查询接口下所有多播成员信息; Group-Specific Query:用于查询接口下指定组的成员信息; Group-and-Source-Specific Query:该类型为 IGMPv3 中新增加的,用于查 询接口下是否有成员需要接收指定源列表中的源所发出的特定组的多播流。

同 IGMP Version2 中的 Membership Report 不同,IGMP Version3 中发出的 Membership Report 的目的地址固定为 224.0.0.22.并且 IGMP Version3 中发出的 Membership Report 报文中可以包含多个组的信息。

第20页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第二章 IGMP 配置指南

IGMP Version3 也能够识别版本 1 和版本 2 的 Membership Report 报文以及版本 2 的 Leave Group 报文。 IGMP Version3 的过程同 IGMP Version2 类似。IGMP Version3 能够向下兼容 IGMP Version1 和 IGMP Version2。

2.2 IGMP 配置任务列表
IGMP 配置任务包括以下各项,但只有一些项配置是必须要做,其它任务可以根据 网络的具体需要决定是否要执行。注意:以下命令必须在三层接口下配置。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 配置开启 IGMP 服务 (要求) 配置 IGMP 的版本(要求) 配置最后成员查询间隔(可选) 配置最后成员查询次数(可选) 配置普通成员查询间隔(可选) 配置最大响应间隔(可选) 配置其他查询者计时器间隔(可选) 配置组播组访问控制 (可选) 配置立即离开组 (可选) 配置主机组 join-group(可选) 配置静态组 static-group(可选) 配置 IGMP 状态数量限制 (可选) 清除 IGMP 缓存中通过响应消息得来的动态组成员信息(可选) 清除 IGMP 缓存中特定接口上的所有信息(可选) 显示直连子网中组成员的状况(可选) 显示 IGMP 接口的配置信息(可选) 显示 IGMP 调试开关的打开情况(可选) 打开 IGMP 调试信息开关(可选)

2.2.1 缺省 IGMP 配置
功能特性 IGMP 版本 查询响应时间 查询间隔时间 组播组访问控制 其它查询计时器间隔 健壮性变量 所有接口支持版本 2 10 秒 125 秒 允许所有组 255 秒 2 缺省值

第21页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第二章 IGMP 配置指南

最后成员查询间隔 最后成员查询计数 IGMP 状态

1s 2 关闭

2.2.2 启动 IGMP 协议
要开启 IGMP,请在接口模式用以下命令:
命令 Step 1 Ruijie(config-if) # ip pim {sparse-mode| dense-mode} 作用 启动多播路由协议,也启动 IGMP

Ruijie(config-if) # no ip pim {sparse-mode | dense-mode}

关闭多播路由协议,也关闭 IGMP

2.2.3 配置 IGMP 的版本
要配置 IGMP 的版本,请在接口模式用以下命令:
命令 Step 1 Ruijie(config-if) # ip igmp version {1 | 2 | 3} 作用 配置 IGMP 的版本,缺省值为 2

Ruijie(config-if) # no ip igmp version

恢复 IGMP 的版本为缺省值

2.2.4 配置最后成员查询间隔
在收到一个组离开报文后,查询者设备要发送特定组成员查询,确认该组内是否 依然存在成员。在最后成员查询间隔时间内,若没有收到任何报告,则设备认为 离开的主机为该组的最后一个组成员, 将删除该组的信息。 该时间缺省值为 10(单 位 0.1s)。 在接口模式下,用以下命令进行配置:
命令 作用

第22页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第二章 IGMP 配置指南

配置最后成员查询间隔 Ruijie(config-if) # ip igmp last-member-query-interval interval interval 范围为:<1-255> 单位:0.1s

Ruijie(config-if) # no ip igmp last-member-query-interval

恢复最后成员查询间隔为缺省值

2.2.5 配置最后成员查询次数
为防止查询设备发送的特定组成员查询报文丢失,需要多发几次以保证可靠性, 因此需要配置最后成员查询次数值大于 1. 请在接口模式用以下命令:
命令 Step 1 Ruijie(config-if) # ip igmp last-member-query-count count 作用 配置最后成员查询次数 默认为围为 2-7,缺省值为 2

Ruijie(config-if) # no ip igmp last-member-query-count

恢复最后成员查询次数为缺省值

2.2.6 配置普通成员查询间隔
查询者设备每经过一个普通组成员查询间隔时间,就定期发送普通组成员查询报 文, 以确认当前的组成员关系。 普通组成员查询报文发送的目的地址是 all-hosts 组播地址:224.0.0.1,同时 TTL 为 1。该时间缺省值为 125 秒。 请在接口模式用以下命令:
命令 Step 1 Ruijie(config-if) # ip igmp query-interval seconds 作用 配置普通成员查询间隔,缺省值为 125s 可选范围为:1~18000

第23页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第二章 IGMP 配置指南

Ruijie(config-if) # no ip igmp query-interval

恢复普通成员查询间隔为缺省值

2.2.7 配置最大响应间隔
查询者设备发送的组成员关系查询报文中要求的最大响应时间。减小该时间,可 以使设备快速获知组成员的变化, 然而导致网络中扩散的成员报告数量相应增加。 网络管理员可以在这两个因素中权衡,确定合适的时间取值。缺省时,该时间为 10 秒。另外,该时间的配置有一个需要注意的地方,即它要比查询间隔时间短。 在接口模式下,用以下命令进行配置:
命令 Step 1 Ruijie(config-if)# ip igmp query-max-response-time seconds 作用 配置最大响应间隔,缺省值为 10s 可选<1-25>,单位:s

Ruijie(config-if)# no ip igmp query-max-response-time

恢复最大响应间隔为缺省值

2.2.8 配置其它查询者存活的计时器间隔
当该定时器超时后,设备认为网络上已经不存在其它查询者了。配置其它查询者 存活的计时器时间间隔,可以调整查询者设备之间选举的时间。在查询者设备经 常更换的环境下可以考虑缩短其值以提高反应速度。 请在接口模式使用以下命令:
命令 Step 1 Ruijie(config-if)# ip igmp query-timeout seconds 作用 配置其它查询者存活的计时器间隔, 范 围为:60~300,缺省值为 255s

Ruijie(config-if)# no ip igmp query-timeout

恢复其它查询者存活的计时器间隔为 缺省值

第24页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第二章 IGMP 配置指南

2.2.9 配置组播组访问控制
缺省情况下,一个接口上的主机可以加入任何组播组。当管理员希望限制主机允 许加入的组播组范围时,可以使用本特性。通过配置一个标准 IP 访问列表,设置 允许或禁止的组播组地址范围,并应用到特定接口上。 请使用以下命令:
命令 Step 1 Step 2 Step 3 Ruijie # config terminal Ruijie (config) # access-list access-list-num permit A.B.C.D A.B.C.D Ruijie (config)# interface interface-id 进入全局配置模式 定义一个访问控制列表 进入接口配置模式 作用

Ruijie (config-if) # ip igmp access-group access-list-name

配置组地址落在控制访问列表为 access-list-name 的地址范围内的组 播组可以进入该接口

Ruijie (config-if) # no ip igmp access-group

取消访问控制, 允许所有组进入该接口

a
注 意

当组播组访问控制命令关联的是扩展 ACL。当接收到的 igmp report 信息 是(S1,S2,S3…Sn,G)时,此命令将对(0,G)信息使用相应的 ACL 进行匹 配检查。所以要正常使用该命令,必须对扩展 ACL 显式配置一条(0, G), 这样才可以正常的对(S1,S2,S3…Sn,G)进行过滤。

2.2.10 配置立即离开组
在 IGMP version2 中,使用该命令以减少离开组的延迟时间。当主机发出离开报 文后,就要立即离开,不需要查询者设备发出特定组查询。该命令使用在一个接 口只有一个接收主机的情况下。 请使用以下命令:
命令 Step 1 Step 2 Step 3 Ruijie # config terminal Ruijie(config)# access-list access-list-num permit A.B.C.D A.B.C.D Ruijie (config)# interface interface-id 进入全局配置模式 设置成员组列表的地址范围. 进入接口配置模式 作用

第25页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第二章 IGMP 配置指南

Ruijie(config-if)# ip igmp immediate-leave group-list access-list-name

设置快速离开成员组列表为 access-list-name 的组

Ruijie (config-if) # exit

进入特权模式

2.2.11 配置主机组 join-group
该命令将交换机相关接口配置成具有主机行为并需要加入相应组播组,这样子交 换机就主动可以学习到相应的组信息,在需要将接口添加一个组成员时使用此配 置。使用该命令的 no 选项取消交换机加入该组播组。
命令 Step 1 Step 2 Step 3 Ruijie # config terminal Ruijie (config)# interface interface-id Ruijie(config-if)# ip igmp join-group group-address 进入全局配置模式 进入接口配置模式 配置接口上加入主机组 作用

Ruijie (config-if) # exit

进入特权模式

使用命令 no ip igmp join-group group-address 将离开相应多播组。

2.2.12 配置静态组 static-group
该命令将交换机相关接口直接添加一个组记录,当需要将接口添加一个组成员记 录时使用此配置。使用该命令的 no 选项取消交换机添加该静态多播组。
命令 Step 1 Step 2 Step 3 Ruijie # config terminal Ruijie (config)# interface interface-id Ruijie(config-if)# ip igmp static-group group-address 进入全局配置模式 进入接口配置模式 配置接口上加入静态组 作用

第26页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第二章 IGMP 配置指南

Ruijie (config-if) # exit

进入特权模式

使用命令 no ip igmp static-group group-address 将接口上加入的静态组删除。

2.2.13 配置 IGMP 组成员数量限制
使用该命令全局配置对 IGMP 组记录数量进行限制, 成员报文在超出限制的部分将 不会进行 IGMP 缓存,不被转发。 使用该命令的可以对每个接口进行配置,接口和全局可以独立的配置,如果超出 了接口或者全局配置的限制数量,成员报文将被忽略掉。请在使用以下命令:
命令 Step 1 Ruijie(config)# ip igmp limt number 作用 全局配置 IGMP 状态数量限制 范围与具体设备有关,缺省值 65536

Ruijie(config-if) # ip igmp limit number

接口上配置 IGMP 状态数量限制 范围与具体设备有关,缺省值为 1024

2.2.14 配置 IGMP PROXY-SERVICE
该命令用来启动所有下联 mroute-proxy 接口的服务功能。在接口上配置该命令, 该接口就成为相应 mroute-proxy 的上联口, 它将关联所拥有的下联口, 并维护下 联口通告上来的组信息。 当前对这个命令的可配置最大个数做了限制,最多只允许配置 32 个。每个 proxy-service 下面最多可以关联 255 个下联口。当接口接收到查询报文后, proxy-service 接口将根据自身维护的成员信息,作出相应的应答。 proxy-service 接口自身维护的成员信息是从配置了 mroute-proxy 的接口中收集 过来的。因此,配置了 proxy-service,相当于此接口只执行主机行为,而不执 行路由器行为。请在接口模式用以下命令:
命令 作用

Ruijie(config-if)# ip igmp proxy-service

接口上配置为 proxy-service 状态

第27页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第二章 IGMP 配置指南

2.2.15 配置 IGMP MROUTE – PROXY
该命令配置完,接口就可以向其相应的上联口转发报文。当相应的上联口配置为 proxy-service 接口后, 该接口将可以转发其成员所发过来的各种 igmp 协议报文。 请在接口模式用以下命令:
命令 作用

Ruijie(config-if)# ip igmp mroute-proxy interfacename

Interfname 为相应的上联口名称

2.2.16 启动 IGMP SSM-MAP
当这个命令被配置,动态学习到的组信息将被强制添加相关联的源记录信息。该 命令一般与命令 ip igmp ssm-map static 配合使用。 请在全局配置模式使用以下命令:
命令 作用

Ruijie(config)# ip igmp ssm-map enable

启动 ssm-map 功能

2.2.17 配置 IGMP SSM-MAP STATIC
该命令与 ip igmp ssm-map enable 配合使用,配置完该命令后,对接收到的 v3 以下的报文都将映射上相应的源记录中。 请在全局配置模式用以下命令:
命令 作用

Ruijie(config)# ip igmp ssm-map static 11 192.168.2.2

将符合 acl 11 的所有组映射上源地址 192.168.2.2

2.3 监视维护 IGMP 状态及组成员信息
? 清除IGMP缓存中通过响应消息得来的动态组成员信息

第28页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第二章 IGMP 配置指南

? ? ? ? ? ?

清除IGMP缓存中特定接口上的所有信息 显示直连子网中组成员的状况 显示IGMP接口的配置信息 显示IGMP SSM-MAP的配置信息 显示IGMP调试开关的打开情况 打开IGMP调试信息开关,观察IGMP的行为

2.3.1 清除 IGMP 缓存中通过响应消息得来的动态组成员信息
要清除 IGMP 缓存中通过响应消息得来的动态组成员信息, 请在特权模式用以下命 令:
命令 作用

Ruijie# clear ip igmp group

清除 IGMP 缓存中通过响应消息得来 的所有动态组成员的信息, 不带参数代 表清除所有 igmp group 的信息

2.3.2 清除 IGMP 缓存中特定接口上的所有信息
要清除 IGMP 缓存中特定接口上的所有信息,请在特权模式用以下命令:
命令 作用

Ruijie# clear ip igmp interface interface-type

清除 IGMP 缓存中接口的信息

2.3.3 显示直连子网中组成员的状况
要显示直连子网中组成员的状况,请在特权模式用以下命令:
命令 Step 1 Step 2 Step 3 Ruijie# show ip igmp groups Ruijie# show ip igmp groups detail Ruijie# show ip igmp groups A.B.C.D 作用 显示直连子网中所有组的状况 显示直连子网中所有组的详细信息 显示直连子网中指定组的状况

第29页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第二章 IGMP 配置指南

Ruijie# show ip igmp groups A.B.C.D detail

显示直连子网中指定组的详细信息

Ruijie# show ip igmp interface interface-type

显示直连子网中指定接口的 igmp 配置 信息

Ruijie# show ip igmp groups interface-type detail

显示直连子网中指定接口的所有组的 详细信息

Ruijie# show ip igmp groups interface-type A.B.C.D

显示直连子网中指定接口的特定组的 信息

Ruijie# show ip igmp groups interface-type A.B.C.D detail

显示直连子网中指定接口的特定组的 详细信息

2.3.4 显示 IGMP 接口的配置信息
要显示 IGMP 接口的配置信息,请在特权模式下用以下命令:
命令 Step 1 Ruijie# show ip igmp interface [interface-type interface-number] 作用 显示 IGMP 接口的配置信息

Ruijie# show ip igmp interface

显示 IGMP 所有接口的配置信息

2.3.5 显示 IGMP SSM-MAP 的配置信息
要显示 IGMP SSM-MAP 的配置信息,请在特权模式下用以下命令:
命令 作用

第30页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第二章 IGMP 配置指南

Step 1

Ruijie# show ip igmp ssm-mapping

显示 IGMP SSM-MAP 的配置信息

Ruijie# show ip igmp ssm-mapping 233.3.3.3

显示 IGMP SSM-MAP 对组 233.3.3.3 的映射信息

2.3.6 显示 IGMP 调试开关的打开情况
要显示 IGMP 调试开关的打开情况,请在特权模式用以下命令:
命令 作用

Ruijie# show debugging

显示 IGMP 调试开关的打开情况

2.3.7 打开 IGMP 调试信息开关,观察 IGMP 的行为
要打开 IGMP 调试信息开关,观察 IGMP 的行为,请在特权模式下用以下命令:
命令 Step 1 Step 2 Step 3 Ruijie# debug ip igmp all Ruijie# debug ip igmp decode Ruijie# debug ip igmp encode 作用 打开 IGMP 所有调试信息开关 打开 IGMP 调试解码信息开关 打开 IGMP 调试编码信息开关

Ruijie# debug ip igmp events

打开 IGMP 调试事件信息开关

Ruijie# debug ip igmp fsm

打开 IGMP 调试有限状态机信息开关

Ruijie# debug igmp tib

打开 IGMP 调试树信息开关

第31页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第二章 IGMP 配置指南

Ruijie# debug ip igmp warnning

打开 IGMP 调试警告开关

第32页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第三章 PIM-DM 协议配置

第三章 PIM-DM 协议配置
3.1 PIM-DM 协议简介
PIM-DM(Protocol Independent Multicast-Dense Mode)是一种密集模式的组播 路由协议,适用于网络规模比较小、组播成员相对集中的情况。因为 PIM-DM 不依 赖于任何特定的单播路由协议,所以被称作是协议无关的(Protocol Independent)组播路由协议。PIM-DM 在 RFC 3973 文档中定义。 PIM-DM 设备之间通过 Hello 消息来发现邻居。一旦 PIM-DM 设备启动,它就周期 性地在每个配置了 PIM-DM 的接口上发送 Hello 消息。 Hello 消息有一个保持时间 (Hello Hold Time)字段,这个时间参数定义了邻居等待下一个 Hello 消息的最 长时间。如果邻居在这个时间内没有收到另一个 Hello 消息,就会将这个设备从 邻居关系表中删除。 PIM-DM 使用扩散与剪枝(flood and prune)来建立组播树。PIM-DM 假定当组播 源开始发送组播数据报文时,网络中的所有系统都需要接收该报文,因此报文被 转发给每一个系统。从设备上游接口接收到的报文都要经过 RPF(Reverse Path Forwarding,反向路径转发)检查,没有通过 RPF 检查的报文将被丢弃。对于通 过了 RPF 检查的组播报文,设备根据报文的(S, G)对,即根据组播报文的源地 址和组地址计算外出接口。如果计算出的外出接口不为空,则对该(S, G)对建 立一个外出接口的表项,并且将该组播报文由外出接口转发;如果计算出的外出 接口为空,则向 RPF 邻居发送一个剪枝报文,通知上游邻居不要再向本接口转发 来自该(S, G)的组播报文。上游接口接收到剪枝报文以后,把发送该剪枝报文 的接口记为剪枝状态(Pruned),并设置一个剪枝状态计时器。这样就建立了一 棵以组播源为根的组播转发树。 PIM-DM 使用 Assert 机制来消除冗余路由。

图 11 PIM-DM 的 Assert 机制

第 33 页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第三章 PIM-DM 协议配置

如图 1 所示,组播数据报文同时到达设备 A 和设备 B 时,设备 A 和设备 B 都向设 备 C 转发,这时设备 C 就会收到同一份报文的两个拷贝,这是不允许的。因此必 须使用某种机制,在设备 A 和设备 B 中间选择一个向设备 C 转发组播数据报文, 而另一个则不向设备 C 转发,这就是 PIM-DM 中的 Assert 机制。 PIM-DM 使用状态更新消息(State Refresh Message)来更新网络的状态信息。 与组播源直接相连的设备定期向下游设备发送状态更新消息,以通告网络的拓扑 变化情况。收到状态更新消息的设备通过修改消息中的某些字段把本机的拓扑状 态信息也加入到消息中,然后发送给下游设备。到达叶子设备时,整个网络的状 态信息从上到下都得到了更新。 PIM-DM 使用嫁接(Graft)机制来重新建立与上游设备的连接。如果处于剪枝状 态的下游设备的网络拓扑状态发生了变化,需要接收来自某个(S, G)对的组播 数据报文,可以向上游设备发送嫁接消息。上游设备收到这条嫁接消息以后,回 应一条嫁接确认(Graft-Ack)消息,并重新向该设备接口转发组播数据报文。

3.2 PIM-DM 配置任务列表
PIM-DM 配置任务包括以下各项,但其中只有第一项和第二项是必须的,其他项可 根据网络的具体情况决定是否要配置。 ? ? ? ? ? ? ? ? 启动组播路由(要求) 启动 PIM-DM(要求) 配置 Hello 消息发送间隔(可选) 配置 Hello 消息 Option 中的 propagation-delay(可选) 配置 Hello 消息 Option 中的 override-interval(可选) 配置 PIM 邻居过滤(可选) 配置 PIM 状态更新功能(可选) 配置 PIM 状态更新消息发送间隔(可选)

3.2.1 启动组播路由
必须在启动了组播路由之后,才能转发组播报文,启动 PIM-DM 才有意义。 要在全局配置模式上启动或者关闭组播路由, 请在全局配置模式下执行以下命令:
命令 Ruijie(config)# ip multicast-routing Ruijie(config)# no ip multicast-routing 作用 在全局上启动组播路由 在全局上关闭组播路由

第 34 页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第三章 PIM-DM 协议配置

3.2.2 启动 PIM-DM
PIM-DM 必须在各个接口上分别启动。设备在接口上启动了 PIM-DM 以后,才可以 与其他设备进行 PIM-DM 控制消息的交互, 维持和更新组播路由表, 并进行组播报 文的转发。 要在接口上配置 PIM-DM,请在接口模式下执行以下命令:

命令 Ruijie(config-if)# ip pim dense-mode Ruijie(config-if)# no ip pim dense-mode

作用 在接口上启动 PIM-DM 协议 在接口上关闭 PIM-DM 协议

必须在全局配置模式下启动了组播路由之后,在接口上启动 PIM-DM 才会起作用。 配置该命令的时候,如果出现“Failed to enable PIM-DM on <接口名>, resource temporarily unavailable, please try again”,请再次尝试配置该命令。

a

注意

配置该命令的时候,如果出现“PIM-DM Configure failed! VIF limit exceeded in NSM!!! ”,表示当前组播接口配置的数量已经达到设备可配置的组播接口上限。如果 仍然需要在该接口下开启 PIM-DM 应用,请删除一些不必要的 PIM-DM 或 PIM-SM 或 DVMRP 接口。 不建议在同一台交换机/路由器上的不同接口配置不同的 v4 组播路由协议。

3.2.3 配置 Hello 消息发送间隔
接口启动了 PIM-DM 以后, 会周期性地向相邻设备接口发送 Hello 消息。 接口向相 邻设备接口发送 Hello 消息的时间间隔可以根据相连网络的实际情况加以修改。 要配置 Hello 消息发送间隔,请在接口模式下执行以下命令:
命令 Ruijie(config-if)# ip pim query-interval interval-seconds Ruijie(config-if)# no ip pim query-interval 作用 将接口的 Hello 消息发送间隔设置为 interval-seconds,单位为秒,范围为<1-65535> 将接口的 Hello 消息发送间隔还原为默认值

缺省情况下,接口上的 Hello 消息发送间隔是 30 秒。
每当 Hello 消息发送间隔被更新时,Hello 消息保持时间(Hello hold time)会自动更 新为 Hello 消息发送间隔的 3.5 倍。 如果 Hello 消息发送间隔 * 3.5 > 65535, 则 Hello 消息保持时间被更新为 65535。

a

注意

3.2.4 配置 Hello 消息 Option 中的 propagation-delay
接口在发送 Hello 报文时,可以填充 Option,对于 LAN Prune Delay Option,其 中的 propagation-delay 字段的默认值是 500 毫秒。
第 35 页 共 58 页 http://www.ruijie.com.cn

第八部分

组播配置指南

第三章 PIM-DM 协议配置

要配置接口的传播延迟,请在接口模式下执行以下命令:
命令 Ruijie(config-if)# ip pim propagation-delay interval-milliseconds Ruijie(config-if)# no ip pim propagation-delay 作用 将 propagation-delay 设置为 interval-milliseconds,单位为毫秒,范围为 <1-32767> 将 propagation-delay 还原为默认值

3.2.5 配置 Hello 消息 Option 中的 override-interval
接口在发送 Hello 报文时,可以填充 Option,对于 LAN Prune Delay Option,其 中的 override-interval 字段的默认值是 2500 毫秒。 要配置 override-interval 字段,请在接口模式下执行以下命令:
命令 Ruijie(config-if)# ip pim override-interval interval-milliseconds Ruijie(config-if)# no ip pim override-interval 作用 将 override-interval 设置为 interval-milliseconds,单位为毫秒,范围为 <1-65535> 将 override-interval 还原为默认值

3.2.6 配置 PIM 邻居过滤
可以在接口上设置邻居过滤功能,以提高网络的安全性。如果设置了邻居过滤, 只要某个邻居被过滤访问列表拒绝, 则 PIM-DM 不会与该邻居建立邻接关系, 或者 会中止与该邻居已经建立的邻接关系。 要配置 PIM 邻居过滤功能,请在接口模式下执行以下命令:
命令 Ruijie(config-if)# ip pim neighbor-filter access-list Ruijie(config-if)# no ip pim neighbor-filter access-list 作用 在当前接口上启动 PIM 邻居过滤功能。 在当前接口上关闭 PIM 邻居过滤功能。

缺省情况下,接口上的 PIM 邻居过滤功能是关闭的。
ip pim neighbor-filter 命令说明:

a

注意

只有符合 ACL 过滤条件的邻居地址才能够作为当前接口的 PIM 邻居,被 ACL 过滤 的邻居地址将无法作为当前接口的 PIM 邻居。

3.2.7 配置 PIM 状态更新功能
设备启动了 PIM-DM 以后, 如果组播表项的 RPF 接口与组播源直接相连的, 也就是 说,有 PIM 接口是与组播源在同一个网段的,就会周期性地向下游设备发送状态

第 36 页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第三章 PIM-DM 协议配置

更新消息,以更新整个网络的状态信息。可以在全局模式下禁止处理和转发 PIM-DM 状态更新消息。 要配置 PIM-DM 的状态更新功能,请在全局模式下执行以下命令:
命令 Ruijie(config)# ip pim state-refresh disable Ruijie(config)# no ip pim state-refresh disable 作用 禁止处理和转发 PIM-DM 状态更新消息 允许处理和转发 PIM-DM 状态更新消息

缺省情况下,状态更新功能是打开的。
关闭状态刷新功能可能会导致已经收敛的 PIM-DM 组播转发树重新收敛,造成不必 要的带宽浪费和组播路由表振荡,所以一般情况下最好都不要关闭状态刷新功能。

a

注意

3.2.8 配置 PIM 状态更新消息发送间隔
设备启动了 PIM-DM 以后, 如果有接口是与组播源直接相连的, 就会周期性地向下 游设备发送状态更新消息,以更新整个网络的状态信息。可以根据设备所在网络 的实际情况,对接口的 PIM 状态更新消息发送间隔加以修改。 要在接口上配置 PIM 状态更新消息发送间隔,请在接口模式下执行以下命令:
命令 Ruijie(config-if)#ip pim state-refresh origination-interval interval-seconds Ruijie(config-if)#no ip pim state-refresh origination-interval 作用 将当前接口的 PIM 状态更新消息发送间隔设为 interval-seconds,单位为秒,范围为<1-100> 将接口上的 PIM 状态更新消息发送间隔恢复为 默认值。

缺省情况下,接口上的 PIM 状态更新消息发送间隔为 60 秒。
只有与组播源直接相连的设备才会周期性地往下游接口发送 PIM 状态更新消息,所 以如果设备不是与组播源直接相连的,那么在它的下游接口上配置 PIM 状态更新消 息发送间隔是无效的。

说明

3.3 监控和维护 PIM-DM
PIM-DM 提供 show 命令来监视和维护 PIM-DM。使用 show 命令可以查看 PIM-DM 的 接口、组播组和组播路由表等信息。

3.3.1 查看 PIM-DM 状态信息
命令 show ip pim dense-mode interface [ interface-type interface-number ][ detail ] 作用 显示接口的 PIM-DM 信息。

第 37 页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第三章 PIM-DM 协议配置

show ip pim dense-mode neighbor [interface-type interface-number] show ip pim dense-mode nexthop show ip pim dense-mode mroute [A.B.C.D A.B.C.D] [ summary ] show ip pim dense-mode track

显示 PIM-DM 邻居信息。 显示 PIM-DM 的下一跳信息。 显示 PIM-DM 的路由表信息。 查看从统计的开始时间点到现在所发送和接收的 PIM 报文的个数。

以上各命令的详细用法,请参考《PIM-DM 命令参考》。 下面给出使用这些命令的几个例子: 1. show ip pim dense-mode interface detail 命令:
Ruijie# show ip pim dense-mode interface detail FastEthernet 0/45 (vif-id: 3): Address 10.10.10.10 Hello period 30 seconds, Next Hello in 15 seconds Over-ride interval 2500 milli-seconds Propagation-delay 500 milli-seconds Neighbors: 10.10.10.1 VLAN 4 (vif-id: 2): Address 50.50.50.50 Hello period 30 seconds, Next Hello in 2 seconds Over-ride interval 2500 milli-seconds Propagation-delay 500 milli-seconds Neighbors: 50.50.50.1

上面的例子说明接口 FastEthernet 0/45 的 IP 地址是 10.10.10.10,Hello 消息 发送间隔是 30 秒, 下一个 Hello 消息将于 15 秒后发送, 邻居地址是 10.10.10.1。 VLAN 4 的接口信息与 FastEthernet 0/45 类似。 2. show ip pim dense-mode neighbor 命令:
Ruijie# show ip pim dense-mode neighbor Neighbor-Address Interface 10.10.10.1 50.50.50.1 FastEthernet 0/45 VLAN 4 Uptime/Expires Ver 00:19:29/00:01:21 v2 00:22:09/00:01:39 v2

上面的例子说明设备有 2 个邻居。其中,邻居 10.10.10.1 与 FastEthernet 0/45 相连,已经存活了 19 分 29 秒,其邻居生存时间将于 1 分 21 秒后到期。邻居 50.50.50.1 与邻居 10.10.10.1 情况类似。 3. show ip pim dense-mode nexthop 命令:
Ruijie# show ip pim dense-mode nexthop Destination Nexthop Nexthop Nexthop Metric Pref

第 38 页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第三章 PIM-DM 协议配置

Num 1.1.1.111 1

Addr 50.50.50.1

Interface VLAN 4 0 1

上面的例子说明到达组播源 1.1.1.111 的下一跳邻居地址是 50.50.50.1, 出口是 VLAN4。 4. show ip pim dense-mode mroute 命令:
Ruijie# show ip pim dense-mode mroute PIM-DM Multicast Routing Table (1.1.1.111, 229.1.1.1) MRT lifetime expires in 205 seconds RPF Neighbor: 50.50.50.1, Nexthop: 50.50.50.1, VLAN 4 Upstream IF: VLAN 4 Upstream State: Pruned, PLT:200 Assert State: NoInfo Downstream IF List: FastEthernet 0/45: Downstream State: NoInfo Assert State: Loser, AT:170

上面的例子列出了(1.1.1.111, 229.1.1.1)的表项情况, 其中 MRT 老化时间为 205 秒。RPF 邻居为 50.50.50.1,下一跳为 50.50.50.1,到达下一跳的出口为 VLAN4。 表项的上游接口为 VLAN4,此时处于 Pruned 状态,表示表项没有下游转发出口。 下游接口有 FastEthernet 0/45,处于 NoInfo 状态,并且接口的 Assert 状态处 于 Loser,FastEthernet 0/45 不在转发出口中。 5. show ip pim dense-mode track 命令:
Ruijie# show ip pim dense-mode track PIM packet counters Elapsed time since counters cleared: 00:04:03 received Valid PIMDM packets: Hello: Join/Prune: Graft: Graft-Ack: Assert: State-Refresh: PIM-SM-Register: PIM-SM-Register-Stop: PIM-SM-BSM: PIM-SM-C-RP-ADV: Unknown Type: Errors: 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 8 8 0 0 sent

第 39 页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第三章 PIM-DM 协议配置

Malformed packets: Bad checksums: Unknown PIM version: Send errors: 0

0 0 0

3.4 删除 PIM-DM 内部信息
提供以下命令来删除本机上的 PIM-DM 状态信息:
命令 Ruijie# clear ip pim dense-mode track 作用 重新设置报文统计的开始时间点,并清除 PIM 报文的 计数器

3.5 PIM-DM 配置范例
3.5.1 配置要求
网络拓扑结构如图 2 所示。设备1与组播源处在同一个网络,设备 2 与接收者 A 处在同一个网络,设备 3 与接收者 B 处在同一个网络。假定设备与主机都正确连 接,并且已经配置好 IP 地址和单播路由。

图 12 PIM-DM 配置范例拓扑结构图

3.5.2 设备配置
下面以设备 1 为例展示如何配置 PIM-DM, 设备 2 和设备 3 的配置过程与设备 1 类 似。 步骤1:启动组播路由
Ruijie# configure terminal Ruijie(config)# ip multicast-routing

第 40 页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第三章 PIM-DM 协议配置

步骤 2:在接口 eth0 上启动 PIM-DM
Ruijie(config)# interface eth 0 Ruijie(config-if)# ip pim dense-mode Ruijie(config-if)# exit

步骤 3:在接口 eth1 上启动 PIM-DM,并返回特权用户模式。
Ruijie(config)# interface eth 1 Ruijie(config-if)# ip pim dense-mode Ruijie(config-if)# end

设备 2 和设备 3 的配置与设备 1 类似,都是先启动组播路由,再分别在各个接口 上启动 PIM-DM。

说明

在启动 PIM-DM 的同时,IGMP 在各个接口上分别自动启动,不需要手动配置。

第 41 页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第四章 PIM-SM 协议配置

第四章 PIM-SM 协议配置
4.1 理解 PIM-SM 协议
PIM(Protocol Independent Multicast)由 IDMR(域间组播路由)工作组设计, 顾名思义,PIM 不依赖于某一特定单播路由协议,它可利用各种单播路由协议建 立的单播路由表完成 RPF 检查功能,而不是维护一个分离的组播路由表实现组播 转发。由于 PIM 无需收发组播路由更新,所以与其它组播协议相比,PIM 开销降 低了许多。PIM 的设计出发点是在 Internet 范围内同时支持 SPT 和共享树,并使 两者之间灵活转换,因而集中了它们的优点提高了组播效率。PIM 定义了两种模 式:稠密模式(Dense-Mode)和稀疏模式(Sparse-Mode)。 PIM-SM(Protocol Independent Multicast Sparse Mode)是一种稀疏模式的多播 路由协议。在 PIM-SM 域中,运行 PIM-SM 协议的设备周期性地发送 Hello 消息, 用以发现邻接的 PIM-SM 设备,并且负责在多路访问网络中进行指派设备 DR 的选 举。这里,DR 负责为其直连组成员朝着组播分发树根节点方向发送“加入/剪枝” 消息,或是将直连组播源的数据发向组播分发树。

图 13 PIM-SM 显式的加入/剪枝机制

PIM-SM 通过建立组播分发树来进行组播数据包的转发。组播分发树分为两种:以 组 G 的 RP(汇聚点)为根的共享树(Shared Tree, 即 RPT)和以组播源为根的最短路
第 42 页 共 58 页 http://www.ruijie.com.cn

第八部分

组播配置指南

第四章 PIM-SM 协议配置

径树(Shortest Path Tree,即 SPT)。PIM-SM 通过显式地加入/剪枝机制来完成组 播分发树的建立与维护。如上图所示: 1) 当接收端的 DR 收到一个来自接收端的 IGMP (*,G)include report 报文; 2) 如果接收端的 DR 不是这个组 G 的 RP,接收端的 DR 就会向 RP 方向发送一个 (*.G)join 报文,收到这个(*,G)join 报文的上游路由器,又会向 RP 方向发送 (*,G)join 报文, 这样(*,G)join 报文逐跳发送, 直到组 G 的 RP 收到了(*,G)join 报文,表示加入共享树; 3) 数据源主机向组发送组播数据时,源数据被封装在注册消息内,并由数据源 端的 DR 单播至 RP,RP 再将注册报文解封,取出其中的数据报文,然后沿着共享 树转发到各个组成员; 4) RP 朝着数据源端的 DR 发送(S,G)join 报文,用以加入此源的最短路径树; 5) 这样当 RP 到数据源端的 DR 的 SPT 建好后,数据源的数据包将沿着其最短路 径树不加封装地发送到 RP; 6) 当第一个组播数据沿 SPT 到达时, RP 向源的 DR 发送注册-停止消息, 以使 DR 停止注册封装过程。当数据源端的 DR 收到注册-停止消息后,不再封装注册数据 报文,而是只沿着源的最短路径树发送到 RP,再由 RP 将其沿着共享树转发各个 组成员。 7) 当某个接收端不再需要组播数据时,接收端发送 IGMP leave 报文。 8) 接收端的 DR 向着组 G 的 RP 逐跳组播剪枝消息用以剪枝共享树,这个剪枝消 息最后会到达 RP 或是到达去 RP 路上的某个路由器且这个路由器上还有其他(*,G) 接收者。这样,数据报文就不会再往这个接收端的方向发送。 9) 若 RP 上已没有下游接收者,那么 RP 就会向数据源方向发送(S,G)剪枝报文, (S,G)剪枝报文逐条发送到数据源端的 DR,于是数据源的 DR 就会剪掉收到这个 (S,G)剪枝报文的接口;于是,数据报文在数据源端的 DR 就被过滤掉。 PIM-SM 中还涉及到根节点 RP 的选择机制。PIM-SM 域内配置了一个或多个侯选自 举设备(Candidate-BSR),应用一定的规则从中选出自举设备(BSR)。PIM-SM 域中 还配置了候选 RP 设备(Candidate-RP),这些候选 RP 将包含了它们的地址及可以 服务的组播组等信息的数据报文单播至 BSR 设备。BSR 定期生成包括一系列候选 RP 以及相应的组地址的”自举”消息。”自举”消息在整个域中逐跳发送。设备接收 并保存这些“自举”消息。若接收端 DR 从直连主机收到了某组的成员关系报告后, 如果它没有这个组的路由项,接收端 DR 将使用一个 hash 算法将组地址映射至一 个可以为该组服务的候选 RP。然后接收端 DR 将向 RP 方向逐跳组播”加入/剪枝” 消息。若数据源端 DR 从直连主机收到组播数据包,如果它没有这个组的路由项, 数据源端 DR 将使用 hash 算法将组地址映射至一个可以为该组服务的候选 RP。 然 后数据源端 DR 将组播数据封装在注册消息中单播到 RP。 PIM-SM 与基于“扩散/剪枝”模型的 PIM-DM 根本差别在于 PIM-SM 是基于显式加入 模型, 即接收者向 RP 发送加入消息, 而设备只在已加入某个组播组输出接口上转 发那个组播组的数据包。PIM-SM 采用共享树进行组播数据包转发。每一个组有一
第 43 页 共 58 页 http://www.ruijie.com.cn

第八部分

组播配置指南

第四章 PIM-SM 协议配置

个汇合点(Rendezvous Point: RP),组播源沿最短路径向 RP 发送数据,再由 RP 沿最短路径将数据发送到各个接收端。这一点类似于 CBT,但 PIM-SM 不使用 核的概念。PIM-SM 主要优势之一是它不局限于通过共享树接收组播信息,还提供 从共享树向 SPT 转换的机制。 尽管从共享树向 SPT 转换减少了网络延迟以及在 RP 上可能出现的阻塞,但这种转换耗费了相当的设备资源,所以它适用于有多对组 播数据源和网络组数目较少的环境。 PIM-SM 使用共享树和 SPT 来分发组播帧。此时,假设其他设备都不想收到这些组 播,除非有明确的加入声明。当一个主机加入了一个组,与该主机相连的设备就 要用 PIM 加入消息通知根,即 RP。这一加入消息通过设备依次传递,建立了一个 共享树的结构。于是,RP 记录这一传递路径,同时也记录从发送组播源的第一跳 设备(DR)发来的注册消息,根据这两个信息,完善共享树。枝叶信息的更新是 通过定期的查询信息实现。在使用共享树时,组播源首先发送组播到 RP,这样才 能保证所有的接收者能收到。用*.G 来表示一棵树。* 表示所有的源,G 表示特定 的组播地址。剪除信息在共享树中也被使用,即枝叶希望不再接收到组播帧时发 送。 PIMv2 BSR 是一种分发 group-to-RP 消息到所有设备的方法。它消除了为每个设 备设置 RP 的需要。BSR 使用 hop-by-hop 扩散 BSR 消息来分发映射信息。首先, BSR 是从设备中选举出来的。选举方法类似于 STP 中选举 root-bridge 的过程, 使用一个优先级值,每个 BSR 设备检查 BSR 消息,并只转发优先级比它自己高的 或相等(IP 地址比它高)的 BSR 消息。被选中的 BSR 发送 BSR 消息到 all-PIM-routers multicast group (224.0.0.13) ,TTL 为 1。邻居的 PIMv2 设备收到后,再将它组播出来,并再设置 TTL 为 1。这样,BSR 消息一跳一跳地被 所有设备收到。 由于消息中包括 BSR 的 IP 地址, 所以侯选的 BSR 能通过该消息获 知哪个设备为当前的 BSR。侯选 RP 发送候选的 RP 公告以宣称在哪些地址范围内 他们可以成为 RP,BSR 将它们保存在自己的本地候选 RP 缓存中,BSP 定期将本地 候选 RP 发送,以通知所有的 PIM 设备。这些消息同样一跳一跳地到达各设备。
S5760 支持对 SVI 口进行 RPF 检查,不支持对 Route 口进行 RPF 检查。因此,如 果 Route 口成为 RPF 接口,从非 RPF 接口到达的组播流也将根据表项被转发。

.各产品支持情况

4.2 PIM-SM 配置前的配置工作
启动一种路由协议,如 OSPF 等,用以自动发现路由。

4.3 PIM-SM 配置任务列表
PIM-SM 配置任务包括以下各项,但其中只有第一项和第二项是必须的,其他项可 根据网络的具体情况决定是否要执行。 ? ? ? 启动多播路由(要求) 启动PIM-SM(要求) 配置Hello消息发送间隔(可选)

第 44 页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第四章 PIM-SM 协议配置

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

配置Hello消息Option中的Propagation-Delay(可选) 配置Hello消息Option中的Override-interval(可选) 配置Hello消息Option中的neighbor-tracking(可选) 配置Hello消息的Triggered-Hello-Delay(可选) 配置PIM-SM邻居过滤(可选) 配置指定设备DR的优先权值(可选) 配置静态RP(可选) 配置设备候选BSR状态(可选) 配置BSR边界(可选) 配置忽略RP-SET中的RP的优先级(可选) 配置候选RP(可选) RP注册报文可达性检测(可选) 配置RP对注册报文的地址过滤(可选) 配置注册报文发送的速度限制(可选) 配置注册报文的校验和的计算方式为计算整个注册文(可选) 配置RP对 register报文解封装之后, 能够向下游口转发其中的多播数据报文 (可选) 配置对合法BSR范围的限定(可选) 配置竞选BSR对合法的C-RP地址范围及其所服务的组播组范围进行限制 (可 选) 配置注册报文的源地址 配置注册报文抑制时间(可选) 配置NULL注册报文的探测时间(可选) 配置RP KAT定时器的时间值(可选) 配置join/prune报文的发送间隔(可选) 最后一跳设备由从共享树切换到最短路径树(可选) 配置使用dense-mode的mib(可选) 配置特定源组播(可选)

4.3.1 启动多播路由
必须在启动了多播路由之后,才能转发多播报文,启动 PIM-SM 才有意义。 要在全局配置模式上启动多播路由,请在全局配置模式下执行以下命令:
命令 Step 1 Step 2 ip multicast-routing no ip multicast-routing 作用 在全局上启动多播路由 在全局上关闭多播路由

第 45 页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第四章 PIM-SM 协议配置

说明

S5760 的 trunk 口,线速情况下最多能复制 27 份报文。

4.3.2 启动 PIM-SM
PIM-SM 必须在各个接口上分别启动。设备在接口上启动了 PIM-SM 以后,才可以 与其他设备进行 PIM-SM 控制消息的交互, 维持和更新多播路由表, 并进行多播报 文的转发。 要在接口上配置 PIM-SM,请在接口模式下执行以下命令:
命令 Step 1 Step 2 ip pim sparse-mode no ip pim sparse-mode 作用 在接口上启动 PIM-SM 协议 在接口上关闭 PIM-SM 协议

必须在全局配置模式下启动了多播路由之后,在接口上启动 PIM-SM 才会起作用。 配置该命令的时候,如果会出现“Failed to enable PIM-SM on <接口名>,resource temporarily unavailable,please try again”,请再次尝试配置该命令。

a

注意

配置该命令的时候,如果会出现“PIM-SM Configure failed! VIF limit exceeded in NSM!!! ”,表示当前允许的接口配置已经超过组播接口上限,请删除一些不必要的 PIM-DM 或 DVMRP 接口。 不建议在同一台交换机/路由器上的不同接口配置不同的 v4 组播路由协议。

4.3.3 配置 Hello 消息发送间隔
如上所述, 接口启动了 PIM-SM 以后, 会周期性地向相邻设备接口发送 Hello 消息。 接口向相邻设备接口发送 Hello 消息的时间间隔可以根据相连网络的实际情况加 以修改。 要配置 Hello 消息发送间隔,请在接口模式下执行以下命令:
命令 Step 1 Step 2 ip pim query-interval interval-seconds no ip pim query-interval 作用 将接口的 Hello 消息发送间隔设置为 interval-seconds,范围为<1-65535>,单位为秒 将接口的 Hello 消息发送间隔还原为默认值

缺省情况下,接口上的 Hello 消息发送间隔是 30 秒。
每当 Hello 消息发送间隔被更新时, Hello 消息保持时间也会按照以下规则随之更新: Hello 消息保持时间被更新为 Hello 消息发送间隔的 3.5 倍;如果 Hello 消息发送间 隔 * 3.5 > 65535,则 Hello 消息保持时间被更新为 65535。

说明

第 46 页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第四章 PIM-SM 协议配置

4.3.4 配置 Hello 消息 Option 中的 Propagation-Delay
接口在发送 Hello 报文时,可以填充 Option,对于 LAN Prune Delay Option,其 中的 Propagation_Delay 字段的默认值是 500 毫秒。 要配置接口的传播延迟,请在接口模式下执行以下命令:
命令 Step 1 ip pim propagation-delay interval-milliseconds Step 2 作用 将 Propagation_Delay 设置为 interval-milliseconds,单位为毫秒,范围为 <1-32767> 将 Propagation_Delay 还原为默认值, 即 500 毫 秒

no ip pim propagation-delay

说明

修改传播延迟或是修改剪枝否决延迟,都会影响到 J/P-override-interval。而协议上 要求,J/P-override-interval 必须小于 Join-Prune 报文的 holdtime,否则将有可能造 成短暂的断流。这一点,需由网络管理者维护保证。

4.3.5 配置 Hello 消息 Option 中的 Override-interval
接口在发送 Hello 报文时,可以填充 Option,对于 LAN Prune Delay Option,其 中的 Override-interval 字段的默认值是 2500 毫秒。 要配置 override-interval 字段,请在接口模式下执行以下命令:
命令 Step 1 ip pim override-interval interval-milliseconds Step 2 作用 将 Override-interval 设置为 interval-milliseconds,单位为毫秒,范围为 <1-65535> 将 Override-interval 还原为默认值,即 2500 毫 秒

no ip pim override-interval

说明

修改传播延迟或是修改剪枝否决延迟,都会影响到 J/P-override-interval。而协议上 要求 J/P-override-interval 必须小于 Join-Prune 报文的 holdtime, 否则将有可能造成 短暂的断流。这一点,需由网络管理者维护保证。

4.3.6 配置 Hello 消息 Option 中的 neighbor-tracking
在一个接口发送 Hello 报文时,Hello 报文中的 LAN Prune Delay Option 中有个 T 位,用来指示本接口是否使能加入抑制能力。接口使能加入抑制能力时,当这 个接口要往上游邻居发送 join 报文,若收到邻居发往上游邻居的 join 报文,那 么本接口的 join 报文将被抑制即不会发往上游邻居; 但是若此接口禁止加入抑制 能力, 那么此时这个接口还是会往上游邻居发送 join 报文。 若下游接收者都禁止 了加入抑制能力, 那么上游路由器就可以根据收到的所有 join 报文来跟踪下游有 几个接收者。缺省情况下,接口是使能加入抑制能力。
第 47 页 共 58 页 http://www.ruijie.com.cn

第八部分

组播配置指南

第四章 PIM-SM 协议配置

要禁止接口的加入抑制能力,请在接口模式下执行以下命令:
命令 Step 1 Step 2 ip pim neighbor-tracking no ip pim neighbor-tracking 作用 禁止接口的加入抑制能力 使能接口的加入抑制能力

4.3.7 配置 Hello 消息的 Triggered-Hello-Delay
当本路由器刚刚启动时或是检测到有新邻居启动时,那么此时本路由器会发送 Hello 报文, 为了防止发送 Hello 报文拥塞, 会等待一个随机时间后再发送 Hello 报文。这个随机时间就是利用 Triggered-Hello-Delay 来计算的。 Triggered-Hello-Delay 默认是 5s。 要配置 Triggered-Hello-Delay 的时间值,请在接口模式下执行以下命令:
命令 Step 1 Step 2 ip pim triggered-hello-delay interval-seconds no ip pim triggered-hello-delay 作用 将 Triggered-Hello-Delay 设置为 interval-seconds,范围为<1-5>,单位为秒 将 Triggered-Hello-Delay 还原为默认值

4.3.8 配置 PIM-SM 邻居过滤
可以在接口上设置邻居过滤功能,以提高网络的安全性。如果设置了邻居过滤, 只要某个邻居被过滤访问列表拒绝,则 PIM-SM 或者不会与该邻居建立邻接关系, 或者会中止与该邻居已经建立的邻接关系。 要配置 PIM 邻居过滤功能,请在接口模式下执行以下命令:
命令 Step 1 Step 2 ip pim neighbor-filter access-list no ip pim neighbor-filter access-list 作用 在当前接口上启动 PIM 邻居过滤功能。 在当前接口上关闭 PIM 邻居过滤功能。

缺省情况下,接口上的 PIM 邻居过滤功能是关闭的。
ip pim neighbor-filter 命令说明:

说明

当关联的 ACL 规则为 permit 时,只有 ACL 列表中的邻居地址才能作为当前接口的 PIM 邻居;当关联的 ACL 规则为 deny 时,ACL 列表中的邻居地址将不能作为当前 接口的 PIM 邻居。

4.3.9 配置指定设备 DR 的优先权值
使用此命令设置指定设备的优先权值。权值越高,优先权越大。 请在接口模式下执行以下命令:

第 48 页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第四章 PIM-SM 协议配置

命令 Step 1 ip pim dr-priority priority-value no ip pim dr-priority priority-value

作用 配置优先权值,priority-value 范围为<0-4294967294> 恢复缺省值,值为 1。

Step 2

4.3.10 配置静态 RP
在网络规模比较小的情况下,可以使用配置静态 RP 来使用 PIM-SM,要求 PIM-SM 域内的所有设备静态 RP 配置必须一致,保证 PIM-SM 的组播路由没有歧义性。 请在全局配置模式下使用如下命令:
命令 Step 1 Step 2 ip pim rp-address rp-address [access-list] no ip pim rp-address rp-address [access-list] 作用 配置本设备上的静态 RP 取消静态 RP 配置。

使用此命令需注意下面几点: 1.如果通过 BSR 机制和 RP 静态配置同时有效时,优先使用动态 RP。 2.使用控制列表静态配置 RP 地址可以配置多个的多播组 (使用 ACL) 或者所有的多 播组(不使用 ACL),但是一个 RP 静态地址不能被多次配置使用。 3.如果有多个静态 RP 可以服务于同一个组,地址高的 RP 将被优先采用。

a

注意

4.只有在 ACL 中定义的允许过滤地址才是无效的多播组。 缺省的过滤 0.0.0.0/0 将被 认为是过滤所有的多播组 224/4。 5.配置完成后,静态的 RP 源地址将插入到基于组范围的静态 RP 组树结构中,每个 组范围多播静态组维持一个静态 RP 组的链表结构,该链表按 IP 地址递减排序。当 为一个组范围选择一个 RP,第一个元素,也就是 IP 地址最高的那个将首先被选上。 6.删除一个 RP 静态地址将向所有存在的组中删除这个地址, 并从现有树结构地址中 选择一个作为 RP 地址。

4.3.11 配置设备候选 BSR 状态
在一个接口上配置设备, 使之成为候选 BSR 状态。 候选 BSR 的配置可以产生 PIM-SM 域内全局唯一的 BSR,由其进行域内 RP 的收集和分发,保证域内 RP 映射的唯一 性。 请在全局模式下执行以下命令:
命令 Step 1 ip pim bsr-candidate interface-type interface-number [hash-mask-length] [priority-value] Step 2 no ip pim bsr-candidate interface-type interface-number 作用 配置本设备为候选 BSR。通过 BSM 消息学习和 竞争全局 BSR 角色。 hash-mask-length 默认是 10,范围为<0-32> priority-value 默认是 64,范围为<0-255>。 取消当前候选 BSR 的配置。

第 49 页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第四章 PIM-SM 协议配置

4.3.12 配置 BSR 边界
为了限制 BSM 的泛洪,可以在一个接口上配置 BSR 边界,那么当此接口收到 BSM 后会立即丢弃,也不会从该接口转发 BSM。 请在接口模式下执行以下命令:
命令 Step 1 Step 2 ip pim bsr-border no ip pim bsr-border 作用 配置本接口为 BSR 边界 取消本接口为 BSR 边界

4.3.13 配置忽略 RP-SET 中的 RP 的优先级
当要对一个多播地址选择一个 RP 时,如果有多个 RP 都可以服务这个多播地址, 此时在比较两个 RP 时要忽略掉 RP 的优先级,可以使用这条命令。如果不配置这 条命令,那么在比较两个 RP 时,RP 的优先级会被考虑。 请在全局配置模式下使用如下命令:
命令 Step 1 Step 2 ip pim ignore-rp-set-priority no ip pim ignore-rp-set-priority 作用 忽略 RP-SET 中 RP 的优先级 考虑 RP-SET 中 RP 的优先级

4.3.14 配置候选 RP
配置候选 RP 可以周期性地向 BSR 发送候选 RP 通告, 这些候选 RP 通告所带的信息 会扩散到域内所有 PIM-SM 设备,保证 RP 映射的唯一。 请在全局配置模式下使用如下命令:
命令 Step 1 ip pim rp-candidate interface-type interface-number [ priority priority-value ] [ interval interval-seconds ] [ group-list access-list ] 作用 配置本设备上使用候选 RP, priority 缺省时,priority-value 默认是 192, priority-value 范围为<0-255> interval 缺省时,interval-seconds 默认是 60s, interval-seconds 范围为<1-16383> group-list 缺省时,access-list 默认是允许所有 多播组即 224/4。 Step 2 no ip pim rp-candidate interface-type interface-number 取消候选 RP 配置。

说明

若需要指定接口成为特定组范围的候选 rp, 那么该命令可以带上 acl 选项。 需要注意 的是组范围的计算只基于 permit 的 ace,不会对 deny 的 ace 进行综合计算的。

第 50 页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第四章 PIM-SM 协议配置

a

注意

其中 ace 的源范围将作为特定的组范围来进行匹配。

4.3.15 RP 注册报文可达性检测
从 DR 上要往 RP 发送注册报文,如果要检验 RP 是否可达,可以配置此命令。配置 此命令之后,DR 发送注册报文之前将检验 RP 是否可达,即查询单播路由和静态 组播路由表获知是否存在到达 RP 的路由,如果不存在到达 RP 的路由则不发送注 册报文。 请在全局配置模式下使用如下命令:
命令 ip pim register-rp-reachability no ip pim register-rp-reachability 作用 注册报文是否可达目标设备进行检测 不对可达性进行检验

a

注意

如果存在一条到 RP 的静态组播路由并且该静态组播路由的下一跳在单播路由表中 也是可达的,此时即使 RP 在单播路由表中不可达,PIM-SM 也认为存在到达 RP 的 路由。

4.3.16 配置 RP 对注册报文的地址过滤
在 RP 上,要对到达的注册报文中的源地址组地址对进行过滤,可以配置此命令。 如果不配置这条命令, 那么在 RP 上允许每一个到达的注册报文。 如果配了这条命 令,那么注册报文中源地址和组地址被 ACL 允许的才被继续处理,否则注册报文 被过滤掉。 请在全局配置模式下使用如下命令:
命令 Step 1 Step 2 ip pim accept-register list access-list no ip pim accept-register 作用 配置注册报文的源地址组地址过滤 取消注册报文的源地址组地址过滤

4.3.17 配置注册报文发送的速度限制
配置 DR 发送注册报文的速度,如果使用 NO 形式,表示不限制速度。它是对每个 (S,G)状态的注册报文发送速度进行配置,并不是对整个系统的注册报文发送 速度进行配置。 请在全局配置模式下使用如下命令:

第 51 页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第四章 PIM-SM 协议配置

命令 Step 1 ip pim register-rate-limit rate no ip pim register-rate-limit

作用 定义每秒可发送的最大注册报文数据包的数 量,rate 取值为范围<1-65535> 取消配置,不限速。

Step 2

4.3.18 配置注册报文的校验和的计算方式为计算整个注册文
对注册报文进行校验和计算时,若要计算整个 pim 协议报文含其中封装的组播数 据报文,请使用这条命令。 不配置这条命令,那么注册报文中校验和的计算方式为协议规定的默认方式。 请在全局配置模式下使用如下命令:
命令 Step 1 ip pim register-checksum-wholepkt [group-list access-list] Step 2 no ip pim register-checksum-wholepkt [group-list access-list] 作用 配置注册报文中的校验和计算方式为对整个报 文计算的方式。 group-list access-list 缺省时,对所有的组播地 址,都应用这种配置。 取消配置注册报文中的校验和计算方式为对整 个报文计算的方式。 group-list access-list 缺省时,对所有的组播地 址,都取消这种配置。

有些其它产商设备在计算注册报文的校验和的时候是基于整个注册报文进行计算 的,为了兼容这些设备,锐捷引入了该功能。

说明

如果这些其它产商的设备作为 RP,锐捷的设备作为源 DR,那么可以在源 DR 设备 上使用该命令;如果其它产商的设备作为源 DR,锐捷的设备作为 RP,可以在 RP 上使用该命令。

4.3.19 配置 RP 对 register 报文解封装之后, 能够向下游口转 发其中的多播数据报文
若要对注册报文进行解封装并转发其中的组播数据报文,请配置这条命令。 不配置这条命令,那么就不会对注册报文中的组播数据报文进行解转发。 请在全局配置模式下使用如下命令:
命令 Step 1 Step 2 ip pim register-decapsulate-forward no ip pim register-decapsulate-forward 作用 对注册报文进行解封装并转发其中的组播数据 报文。 取消对注册报文进行解封装并转发其中的组播 数据报文。

第 52 页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第四章 PIM-SM 协议配置

a

注意

由于是软件对注册报文进行解封装并转发其中的组播数据报文,在需要解封装并转 发的注册报文较多的情况下,配置了该功能,会导致 cpu 处理较繁忙;因而不建议 配置该命令。

4.3.20 配置对合法 BSR 范围的限定
若要对合法 BSR 范围进行限定,请配置这条命令。不配置这条命令,那么开启了 PIMSM 功能的路由器将接收所有外部来到的 BSM 报文。 请在全局配置模式下使用如下命令:
命令 Step 1 Step 2 ip pim accept-bsr list { <1-99> | <1300-1999> | WORD } no ip pim accept-bsr list 作用 对 BSR 的 BSM 报文进行过滤。 取消对 BSR 的 BSM 报文进行过滤。

说明

该命令是对 BSM 报文中的 BSR 地址字段进行过滤,如果该地址被 ACL 拒绝,则该 BSM 报文被过滤。

4.3.21 配置竞选 BSR 对合法的 C-RP 地址范围及其所服务的 组播组范围进行限制
若要竞选 BSR 对合法的 C-RP 地址范围及其所服务的组播组范围进行限制, 请配置 这条命令。 不配置这条命令, 那么竞选 BSR 将接收所有的外部来到的候选 RP 通告 报文。 该命令的 ACL 规则中 source 参数指定 C-RP 的地址, destination 参数指定该 C-RP 所服务的组播组地址范围。 C-RP 地址和所带的组范围如果被 ACL 拒绝, 则该 C-RP 的这个组范围被过滤。 请在全局配置模式下使用如下命令:
命令 Step 1 Step 2 ip pim accept-crp list { <100-199> | <2000-2699> | WORD } no ip pim accept-crp list 作用 竞选 BSR 对候选 RP 通告进行过滤。 取消竞选 BSR 对候选 RP 通告进行过滤。

4.3.22 配置竞选BSR对合法的C-RP地址范围及其所服务的组 播组范围进行限制prefix-count为 0 的C-RP-ADV报文
若要竞选 BSR 能接收 prefix-count 为 0 的 C-RP-ADV 报文,请配置这条命令。不 配置这条命令,那么竞选 BSR 将不处理 prefix-count 为 0 的 C-RP-ADV 报文。

第 53 页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第四章 PIM-SM 协议配置

配置该命令之后, 竞选 BSR 收到 prefix-count 为 0 的 C-RP-ADV 报文会认为该 C-RP 支持所有的组。 请在全局配置模式下使用如下命令:
命令 Step 1 Step 2 ip pim accept-crp-with-null-group no ip pim accept-crp-with-null-group 作用 竞选 BSR 能接收 prefix-count 为 0 的 C-RP-ADV 报文。 竞选 BSR 不能接收 prefix-count 为 0 的 C-RP-ADV 报文。

4.3.23 配置注册报文的源地址
如果要配置 DR 发送出来的注册报文的源地址, 可以使用此命令。 不配置此命令或 是使用这条命令的 no 形式,注册报文源地址将会使用与组播源相连的 DR 接口地 址。如果使用该命令的地址参数,配置的地址必须是单播路由可达的。如果使用 该命令的接口参数,一般来说它是回环接口,但也可以是其它类型接口,这个接 口的地址必须是被单播路由公告过的。 请在全局配置模式下使用如下命令:
命令 Step 1 Step 2 ip pim register-source { local_address | Interface-type interface-number} no ip pim register-source 作用 配置注册报文中使用的源地址 用 RPF 的接口地址作为注册报文中的源地址

4.3.24 配置注册报文抑制时间
使用此命令配置注册报文抑制时间,在 DR 上配置此值将修改定义在 DR 上的注册 报文抑制时间。如果 ip pim rp-register-kat 命令没有配置,在 RP 上定义此值 将修改 RPkeepalive 的周期。 请在全局配置模式下使用如下命令:
命令 Step 1 Step 2 ip pim register-suppression seconds no ip pim register-suppression 作用 配置注册报文抑制时间,seconds 取值范围为 [11,21843],单位秒 抑制时间为 60 秒

4.3.25 配置 NULL 注册报文的探测时间
在注册抑制时间超时前的一段时间间隔,源 DR 可以向 RP 发送空注册报文即 NULL-Register 报文。这段时间间隔就是探测时间,默认的探测时间是 5s。 若要配置注册报文的探测时间,请在全局配置模式下使用如下命令:
命令 作用

第 54 页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第四章 PIM-SM 协议配置

Step 1 Step 2

ip pim probe-interval interval-seconds no ip pim probe-interval

配置注册报文探测时间,interval-seconds 取值 范围为[1,65535],单位秒 恢复探测时间为 5s

说明

配置注册报文的探测时间时,探测时间应该小于注册抑制时间的一半,否则,配置 不成功。而且 3*注册抑制时间+注册探测时间不能超过 65535,否则,会输出一个 Warning 提醒。

4.3.26 配置 RP KAT 定时器的时间值
如果要配置 RP 上注册报文所创建(S,G)状态的存活时间,可以使用此命令。 请在全局配置模式下使用如下命令:
命令 Step 1 Step 2 ip pim rp-register-kat seconds no ip pim rp-register-kat 作用 配置 KAT 定时器时间值,seconds 取值范围为 [1,65535],单位为秒 使用 KAT 的缺省值,KAT 缺省值为注册抑制时 间 * 3 + 注册探测时间

a

注意

该定时器值最好要大于源 DR 设备上的注册抑制时间 * 3 + 注册探测时间, 否则 RP 有可能在源 DR 再次发送注册报文之前把(S,G)状态超时,从而造成组播流短暂的断 流。

4.3.27 配置 join/prune 报文的发送间隔
join/prune 报文的默认发送间隔是 60s,如果要修改这个发送间隔,可以配置这 条命令。不配置这条命令,则 join/prune 的默认发送间隔为 60s。 在全局配置模式下,使用以下命令:
命令 Step 1 Step 2 ip pim jp-timer interval-seconds no ip pim jp-timer [interval-seconds] 作用 将 join/prune 报文发送间隔设置为 interval-seconds,范围为<1-65535>,单位为秒 将 join/prune 报文发送间隔还原为默认值,即 60s

说明

配置 join/prune 报文的发送间隔时,如果发送间隔 * 3.5 > 65535,会输出一个 Warning 提醒,并且发送间隔将被修改为 65535/3.5 秒。

4.3.28 最后一跳设备由从共享树切换到最短路径树
允许最后一跳设备由从共享树切换到最短路径树。
第 55 页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第四章 PIM-SM 协议配置

当配置了这条命令,接收到第一个(S,G)报文,一个 PIM 的加入信息被触发,并构 造一棵源树;如果 group-list 关键字被定义,所有的这个特定组会切换到源树; 使用这条命令的 no 形式,该设备将重新转向共享树并向源发送出一个剪枝报文。 请在全局配置模式下使用如下命令:
命令 Step 1 ip pim spt-threshold [group-list access-list] Step 2 no ip pim spt-threshold [group-list access-list] 作用 如果 group-list 被定义了,则允许这个特定组的 最后一跳设备由从共享树切换到最短路径树,如 果 group-list 没被定义,则允许所有多播组。 关闭该功能

4.3.29 配置使用 dense-mode 的 mib
当要使用 dense-mode 的 mib,配置这条命令;不配置这条命令时,是使用 sparse-mode 的 mib。 请在全局配置模式下使用如下命令:
命令 Step 1 Step 2 ip pim mib dense-mode no ip pim mib dense-mode 作用 使用 dense-mode 的 mib。 使用 sparse-mode 的 mib

4.3.30 配置特定源组播
配置特定源组播可以直接从组播源接收组播数据报文, 而不需要走 RP 树, 请在全 局配置模式下使用如下命令。
命令 Step 1 Step 2 ip pim ssm {default | range access-list} no ip pim ssm 配置特定源组播 取消配置特定源组播 作用

4.4 监控和维护 PIM-SM
PIM-SM 提供查看(show)命令来监视和维护 PIM-SM。使用 show 命令可以查看 PIM-SM 的接口、多播组和多播路由表等信息。 ? ? 查看PIM-SM状态信息(可选) 删除PIM-SM内部信息(可选)

4.4.1 查看 PIM-SM 状态信息
提供以下命令来查看本机上的 PIM-SM 状态信息:

第 56 页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第四章 PIM-SM 协议配置

命令 Step 1 Step 2 Step 3 Step 4 Step 5 Step 6 Step 7 Step 8 show debugging show ip pim sparse-mode bsr-router show ip pim sparse-mode interface [ interface-type interface-number [detail] ] show ip pim sparse-mode local-members [interface-type interface-number] show ip pim sparse-mode mroute {group_address | source_address | } show ip pim sparse-mode neighbor [detail] show ip pim sparse-mode nexthop show ip pim sparse-mode rp-hash group-address show ip pim sparse-mode rp mapping show ip pim sparse-mode track

作用 显示调试开关打开情况 使用此命令显示 BSR 的详细信息。 显示接口的 PIM-SM 信息。 显示 PIM-SM 的接口的本地 IGMP 信息 显示 PIM-SM 多播路由表信息 显示 PIM-SM 邻居信息。 显示来自 NSM 的 PIM-SM 下一跳信息。 使用此命令显示出某个组地址 group-address 对应的 RP 的信息。 使用此命令查看当前所有 RP 以及它们所服务的 组的信息。 查看从统计的开始时间点到现在,发送和接收的 PIM 报文的个数

Step 9 Step10

4.4.2 删除 PIM-SM 内部信息
提供以下命令来删除本机上的 PIM-SM 内部信息:
命令 Step 1 Step 2 Step 3 Step 4 clear ip mroute clear ip mroute statistics clear ip pim sparse-mode bsr rp-set clear ip pim sparse-mode track 删除多播路由表项 删除多播路由表项的统计信息 删除 RP-SET 重新设置统计的开始时间点, 并清除 PIM 报文的 计数器 作用

以上各命令的详细用法,请参考《配置 PIM-SM 命令》。

4.5 PIM-SM 配置范例
4.5.1 配置要求
网络拓扑结构如图 2 所示。R1 与多播源处于同一个网络,R2 将被设置为 RP,R3 与接收者 A 处于同一个网络,R4 与接收者 B 处于同一个网络。假定设备与主机都 正确连接,并且已经在各接口配置了 IP 地址,在各设备启动了 IP 单播。

第 57 页 共 58 页

http://www.ruijie.com.cn

第八部分

组播配置指南

第四章 PIM-SM 协议配置

图 14 PIM-SM 配置范例拓扑结构图

4.5.2 设备配置
步骤1:启动多播路由 以下在 R1 上启动 IP 多播路由,在 R2、R3、R4 上配置相似,配置过程略。
Ruijie# configure terminal Ruijie(config)# ip multicast-routing

步骤 2:在接口上启动 PIM-SM 以下在 R1 的接口 eth0 上启动 PIM-SM,在 R1、R2、R3、R4 上各接口配置相似, 配置过程略。
Ruijie(config)# interface eth 0 Ruijie(config-if)# ip pim sparse-mode Ruijie(config-if)# end

步骤 3:配置候选 BSR 和候选 RP 将 R2 的 loopback1 配置为 C-BSR 和 C-RP
Ruijie(config)# interface loopback 1 Ruijie(config-if)# ip address 100.1.1.1 255.255.255.0 Ruijie(config-if)# ip pim sparse-mode Ruijie(config-if)# exit Ruijie(config)# ip pim bsr-candidate loopback 1 Ruijie(config)# ip pim rp-candidate loopback 1 Ruijie(config-if)# end

接收者加入组,组播源发送组播流之后,可以使用 PIM-SM 提供的 show 命令监控 运行状态。

说明

在启动 PIM-SM 的同时,IGMP 在各个接口上分别自动启动,不需要手动配置。

第 58 页 共 58 页

http://www.ruijie.com.cn


赞助商链接
推荐相关:

S21系列和S35系列交换机的组播应用(初稿)

13 1 2 3 4 5 1 概述:本手册的目的是指导技术人员能够快速地完成组播功能...PC8 VLAN60 PC9 5 配置模型说明 5.1 VLAN 规划 VLAN ID VLAN 1 VLAN 10...

网站首页 | 网站地图
All rights reserved Powered by 酷我资料网 koorio.com
copyright ©right 2014-2019。
文档资料库内容来自网络,如有侵犯请联系客服。zhit325@126.com