前言:
此时你们对“组播异常请检查网络”大体比较关心,朋友们都需要知道一些“组播异常请检查网络”的相关资讯。那么小编也在网摘上网罗了一些关于“组播异常请检查网络””的相关知识,希望我们能喜欢,我们快快来学习一下吧!该网络接入了 Internet,并在路由器配置 PIM-SM 协议,为网络中的用户主机提供 ASM 服务,使得加入 同一组组播的所有用户主机能够接收任意源发往该组的组播数据信息。
第一问:配置好组播网络之后,组播源发送组播数据,发现 RP 没有生成表项,直连源的 DR 也没有向 RP 发送注册报文,该如何排查问题?
解答:在 PIM-SM 中由源端 DR 根据直连路由对(S,G)流量的源地址进行 RPF 检测,RPF 检测成功之后向 RP 单播发送注册消息。
1、首先应在第一跳路由器上查看路由表,是否存在去往组播源地址的路由,若不存在则需要排查接口 IP 地址是否正常配置(组播源地址是否在接口的子网范围内),链路层协议是否 UP,接口是否被人为 Shutdown。
2、若以上检测都没有问题则需要在第一跳路由器上执行 display pim interface 查看用于连接组播源的接 口是否被选举为 DR(连接组播源的接口需要开启 PIM 协议),若没有被选择为 DR,则需要在该接口下 执行 pim hello-option dr priority XXX 修改 DR 优先级,使设备成为成为源端 DR。
3、当第一跳路由器接受(S,G)流量接口的子网范围包含组播源地址,并且该接口为 PIM DR 则会向 RP 发 送注册消息,若执行以上步骤未能排查出故障,则需要排查组播应用、到达 RP 的路由、以及 RP 配置等问 题。
第二问:通过第一步的操作后,问题得到了解决,但是发现新的问题是源 DR 向 RP 发送了注册报文之后, 注册接口一直存在,请问该如何排查?
解答:如果源 DR 没有收到 RP 发来的注册停止报文,源 DR 上相应组播表项的注册出接口就不会删除。导致这类问题的最常见原因就是源 DR 与 RP 之间单播路由异常。
排查步骤如下:
1、 确认源 DR 和 RP 之间单播路由正确,且能够 ping 通。
如果源 DR 到 RP 的单播路由不存在或者存在但 ping 不通,那么会导致 RP 收不到注册报文,所以也就不 会向源 DR 发送注册停止报文;如果 RP 到源 DR 的单播路由不存在或者存在但 ping 不通,会导致 RP 发 送给源 DR 的注册停止报文丢失。 49
2、 如果单播能够 ping 通,再检查 RP 是否完成了到源方向的 SPT 切换,从而建立了一条到源 DR 的组播 转发路径。
如果 RP 到源方向的 SPT 切换不完成,RP 也不会发送注册停止报文。所以需要保证 RP 到源端 DR 之间所 有设备的接口上都配置了一致的 PIM 协议。在 RP 上执行命令 display pim routing-table source-address 查看有无对应(S,G)表项。如有必要,还可在用户视图下执行 debugging pim register 和 debugging mfib register 命令,打开注册报文相关的调试开关,检查 RP 是否发送了注册停止报文。
第三问:为了增加组播可控性,要求 BSR 只为该 PIM-SM 域服务,该如何实现?
解答:在所有连接外部 PIM-SM 域的接口上配置 pim bsr-boundary 使其不会发送/接受任何 BSR 消息
第一问:在 PIM-SM 网络中,SPT 建立不正常,导致用户主机不能接收到组播数据,请排查原因?
解答: SPT 的建立过程为:源端 DR 向 RP 单播发送注册消息,RP 收到注册消息后创建(S,G)表项。若 RP 的 (*,G)表项存在下游接口或者存在 IGMP 接受者,组播接收者路由器则对组播源地址进行 RPF 检查,并 从 RPF 接口向 RPF 邻居发送 (S,G)Join 消息。上游设备收到(S,G)Join 消息触发建立(S,G)表 项,并对组播源地址执行 RPF 检测 从 RPF 接口向 RPF 邻居发送注册消息,如此往复直到第一跳路由器, 从而建立一条从组播源到 RP 的 SPT。
若发现 SPT 没有正常建立,则需要对以下几点进行排查:
1、检查 PIM 路由表中是否存在正确的(S,G)表项
2、检查下游接口是否收到 Join 信息(如果当前设备是组成员端 DR,请跳过此步骤。)
3、检查接口是否使能 PIM-SM,到达组播源的 RPF 接口没有使能 PIM-SM 是常见的故障原因。
4、检查是否存在到达组播源的 RPF 路由
5、检查转发组播数据的接口是否为组成员端 DR,若在成员端 DR 配置组播边界,将导致组播报文转发异常。
6、检查接口是否配置组播边界
7、检查是否配置了 source-policy,该配置不正确将会导致组播报文转发异常
第二问:为什么最后一跳路由器与接收者之间需要开启 PIM 协议?
解答:连接组成员的接口本身只需要启用 IGMP 协议即可,此时当启用 IGMP 协议的端口收到成员关系报 告报文时, 接口在没有启用 PIM-SM 协议时,触发创建对应的(*,G)表项并形成 IGMP 的路由表。但 此时创建的(*,G)表没 有出接口信息,还是可以触发构建 RPT 树。如果有组播流量通过 RPT 树到达最 后一跳路由器,虽然(*,G)表项没有出接口信息,但可以通过 IGMP 路由表将组播流量下发到成员网段。 所以最后一跳路由器连接组成员的接口不必须开启 PIM 协议,但是依然建议开启 PIM 协议,理由如下:
理由 1:当连接组成员的接口存在其他 PIM-SM 路由器,此时就应该启用 PIM 协议,方便组播网络的扩展, 用于实现 DR 的选举,并由 DR 发送(*,G)Join 报文构建 RPT 树解决潜在重复组播报文发送的问题, 如果出现组播源,DR 负责发送注册报文。
理由 2:当连接组成员的接口启用 PIM-SM 协议后,此时(*,G)表项才会有出接口信息,并代替掉 IGMP 协议 产生的 IGMP 路由表(产品手册有理论依据),统一使用 PIM-SM 协议表项,方便管理员进行运维 管理。
第三问:为了保证安全性需要限制非法组播源,该如何实现?
答:可以在 PIM 视图下,使用命令 source-policy { acl-number | acl-name acl-name }来配置路由器对 接收的组 播数据报文根据源或源组进行过滤,从而达到限制非法组播源的目的。
标签: #组播异常请检查网络