
39-PIM配置.doc
14页PIM 配 置目 录第一章 PIM 配置 .................................................................................................................................31.1 PIM 简介 .....................................................................................................................................31.1.1 PIM-DM 的工作原理 ..........................................................................................................31.1.2 PIM-SM 的工作原理 .........................................................................................................41.1.3PIM-SSM 的工作原理 ..........................................................................................................51.2 PIM 的配置 .................................................................................................................................61.2.1 PIM 配置列表 ...................................................................................................................61.2.2 PIM 基础配置: ...............................................................................................................61.2.2 PIM 高级配置: ...............................................................................................................71.2.3 配置举例 ..........................................................................................................................8第一章 PIM 配置1.1 PIM 简介PIM-DM(Protocol Independent Multicast-Dense Mode)属于密集模式的组播路由协议。
PIM-DM 适用于小型网络,在这种网络环境下,组播组的成员相对比较密集1.1.1 PIM-DM 的工作原理PIM-DM 的工作过程可以概括为:邻居发现、扩散—剪枝过程、嫁接阶段1) 邻居发现PIM-DM 路由器刚开始启动时,需要使用 Hello 报文来进行邻居发现各个运行PIM-DM 的网络节点之间使用 Hello 报文保持相互之间的联系PIM-DM 的 Hello 报文是周期性发送的2) 扩散—剪枝过程(Flooding&Prune)PIM-DM 假设网络上的所有主机都准备接收组播数据当某组播源 S 开始向组播组 G 发送数据时,路由器接收到组播报文后,首先根据单播路由表进行 RPF 检查,如果检查通过,路由器创建一个(S,G )表项,然后将数据向网络上所有下游 PIM-DM 节点转发(Flooding) 如果没有通过 RPF 检查,即组播报文从错误的接口输入,则将报文丢弃经过这个过程,在 PIM-DM 组播域内,都会创建一个( S,G )表项如果下游节点没有组播组成员,则向上游节点发剪枝(Prune)消息,通知上游节点不用再向下游节点转发数据上游节点收到剪枝消息后,就将相应的接口从其组播转发表项(S,G)对应的输出接口列表中删除,这样就建立了一个以源 S 为根的 SPT(Shortest Path Tree)树。
剪枝过程最先由叶子路由器发起这个过程就称为扩散—剪枝过程各个被剪枝的节点同时提供了超时机制,当剪枝超时时,每台路由器又重新开始扩散—剪枝过程PIM-DM 的扩散—剪枝机制周期性地不断进行在这个过程中,PIM-DM 采用 RPF 检查,利用现存的单播路由表构建了一棵从数据源始发的组播转发树当一个组播包到达的时候,路由器首先判断到达路径的正确性如果到达接口是单播路由指示的通往组播源的接口,那么认为这个组播包是从正确路径而来;否则,这个组播包将作为冗余报文而被丢弃,不进行组播转发作为路径判断依据的单播路由信息可以来源于任何一种单播路由协议,如 RIP、OSPF 发现的路由信息,而不依赖于特定的单播路由协议3) Assert 机制如下图所示,如果处于一个 LAN 网段上的两台组播路由器 A 和 B,都各自有到组播源 S 的接收途径,那么它们在接收到组播源 S 发出的组播数据报文以后,都会向 LAN 上转发该组播报文,这时候下游节点组播路由器 C 就会收到两份相同的组播报文由上游节点转发的组播数据包路由器检测到这种情况发生以后,就需要通过 Assert 机制来选定一个唯一的转发者通过发送 Assert 报文,选出一个最优的路径,如果两条或两条以上路径的优先级和 metric 相同,则选择 IP 地址最大的作为该(S,G)项的上游邻居,由它负责该(S ,G)组播报文的转发。
Assert 机制示意图(4) 嫁接(Graft)当被剪枝的下游节点需要恢复到转发状态时,该节点使用嫁接报文通知上游节点要配置 IGMP 协议,必须先使能组播路由功能,然后才能够配置 IGMP 协议的各个特性5) 状态刷新机制(SRM)为了避免反复的扩散—剪枝,新的协议标准添加了此机制,由与多播源直连的路由器定时发送状态刷新报文,PIM 收到此报文后刷新剪枝状态1.1.2 PIM-SM 的工作原理PIM-SM 的工作过程主要有:邻居发现、RP 共享树(RPT )的生成、组播源注册、SPT 切换等其中,邻居发现机制与 PIM-DM 相同,这里不再介绍1) RP 共享树(RPT)的生成当主机加入一个组播组 G 时,与该主机直接相连的叶子路由器通过 IGMP 报文了解到有组播组 G 的接收者,就为组播组 G 计算出对应的汇聚点 RP,然后向朝着 RP 方向的上一级节点发送加入组播组的消息(join 消息) 从叶子路由器到 RP 之间途经的每个路由器都会在转发表中生成(*,G )表项,表示无论是哪个源发出的,发送至组播组 G 的,都适用于该表项当 RP 收到发往组播组 G 的报文后,报文就会沿着已经建立好的路径到达叶子路由器,进而到达主机。
这样就生成了以 RP 为根的 RPT2) 组播源注册当组播源 S 向组播组 G 发送了一个组播报文时,与 S 直接相连的 PIM-SM 组播路由器负责将该接收到的组播报文封装成注册报文,以单播形式发给对应的 RP如果一个网段上有多个 PIM-SM 组播路由器,将由指定路由器 DR(Designated Router)发送该组播报文1.1.3PIM-SSM 的工作原理根据协议标准,SSM 通常依托 PIM-SM 实现,它可以和 PIM-SM 共存于同一台路由器,根据数据和协议报文中的组播地址来决定使用 SSM 还是 PIM-SMIANA 为 SSM 分配了地址段 232.0.0.0-232.255.255.255,此地址段的组播组不会加入共享树,而是由 SSM 处理SSM 同样需要在设备之间通过周期性地发送 HELLO 报文来实现邻居发现和 DR 选举在路由器的主机侧,则一般是通过 IGMPv3 来实现IGMPv3 和 IGMPv2 相比增加了源过滤功能,允许主机指定其需要接收的特定组的数据,还可以指定接收这个组中特定源的数据当 SSM 接收到 IGMPv3 的 IS_IN 报文,获知接收到 IGMP 报文的接口所连接的网络上有主机想要接收发往组播组 G 来自源 S 的数据报后,根据单播路由向连接组播源的第一跳路由器逐跳朝源的方向发送 PIM(S,G)源组加入报文,从而在组播源和连接接收者的最后一跳路由器之间建立起最短路径树。
当组播源发送组播数据的时候,这些数据就沿着最短路径树到达接收者而对于仅支持 IGMPv1/IGMPv2 不支持 IGMPv3 的主机,可以在其连接的路由器上配置 ssm-mapping,将 IGMPv1/IGMPv2 发送的组加入报文映射为源组加入,从而在组网中应用 SSM1.2 PIM 的配置1.2.1 PIM 配置列表配置 PIM 需要依次进行如下操作,当路由器在 PIM-DM 协议域中运行时,建议在非边界路由器的全部接口启动 PIM-DMPIM-SM 则不需要每个接口都运行 PIM-SM.表 1-1 PIM 配置任务列表配置任务 说明 详细配置启动 EFM 必选 1.2.2PIM 基础配置配置 EFM 工作模式 必选 1.2.2配置 Hello 报文发送间隔 可选 1.2.3使能组播协议 可选 1.2.3启动 PIM-DM 协议或 PIM-SM 协议 可选 1.2.3设置 BSR 域边界 可选 1.2.3进入 PIM 模式 可选 1.2.3配置组播源(组)过滤 可选 1.2.3配置 PIM 邻居过滤 可选 1.2.3配置接口的 PIM 邻居最大数量 可选 1.2.3配置静态 RP 可选 1.2.3指定候选 BSR 可选 1.2.3指定候选 RP 可选 1.2.3配置 SPT 切换阀值 可选 1.2.3PIM 高级配置配置 SSM 组播组范围 可选 1.2.31.2.2 PIM 基础配置:表 1-1 PIM 基本配置操作 命令 备注指定接口运行 PIM-DM 协议 ip pim dense-mode -关闭接口上的 PIM-DM 协议 no ip pim dense-mode -指定接口运行 PIM-SM 协议 ip pim sparse-mode关闭接口上的 PIM-SM 协议 no ip pim sparse-mode注意:在接口开启 PIM-SM 之前,必须先使能组播协议。
1.2.2 PIM 高级配置:表 1-2 PIM 基本配置操作 命令 备注配置接口的 Hello 报文发送间隔 ip pim query-interval seconds -恢复该时间间隔的缺省值 i no ip pim query-interval -配置接口为 BSR 边界 ip pim bsr-border删除接口的 BSR 边界配置 no ip pim bsr-border进入 PIM 模式 pim退出 PIM 模式 exit对接收的组播数据报文进行源过 source-policy acl-number取消配置 no source-policy对 PIM 邻居进行过滤 ip pim neighbor-policy acl-number取消配置 no ip pim neighbor-policy配置接口的 PIM 邻居数量限制 ip pim ne。












