HCIP-20.6 PIM SM

数通

一、PIM-DM的局限性

PIM-DM适用于组播成员分布较为秘籍的园区网络

在组播成员分布较为稀疏的网络中,组播零流量的周期性扩展会给网络带来较大的负担。

  • PIM-DM适用于组播成员分布较为密集的园区网络
  • 在组播成员分布相对较为稀疏的大规模网络中(Internet),组播流量的周期性扩散/剪枝将给网络带来较大的负担
  • 对于PIM-DM的局限性,PIM-SM可以提供相对更加有效的解决方案

二、PIM-SM基本概述

(1)使用“拉(Pull)模式”转发组播报文

(2)PIM-SM的关键任务

  • 建立RPT(Rendezvous Point Tree,汇聚点树也称共享树)
  • 建立SPT(Shortest Path Tree,最短路径树)

(3)适用于组播成员分散比较稀疏的网络环境

(4)相对于PIM-DM的“推(Push)模式”,PIM-SM使用“拉(Pull)模式”转发组播报文。

  • PIM-SM假设网络中的组成员分布非常稀疏,几乎所有网段均不存在组成员,知道某网段出现组成员时,才构建组播路由,向该网段转发组播数据,一般应用于组播组成员规模相对较大,相对稀疏的网络。

(5)基于这一种稀疏的网络模型,它的实现方法是:

  • 在网络中维护一台重要的PIM路由器:汇聚点(Rendezvous Point)可以为随时出现的组成员或组播源服务,网络中所有的PIM路由器都知道RP的位置。
  • 当网络中出现组成员(用户主机通过IGMP加入某组播组G)时,最后一跳路由器向RP发送Join报文,逐跳创建 ( * , G )表项,生成一棵以RP为根的RPT。
  • 当网络中出现活跃的组播源(信源向某组播组G发送第一个组播数据)时,第一跳路由器将组播数据封装在Register报文中,单播发往RP,在RP上创建( S , G )表项,注册源信息。

三、汇聚点RP(Rendezvous Point)

  • 充当RPT树的跟节点
  • 共享树中的所有组播组流量都经过RP转发给接收者
  • 所有PIM路由器都要知道RP的位置

RP可以静态指定,也可以动态选举

(1)静态指定是指由管理员在每台PIM-SM路由器上进行配置,是的每台路由器获知RP的位置。

(2)动态选举是指通过专用协议在若干台C-RP(Candidate-RP)中选举产生,管理员需要开启选举协议并配置若干台PIM-SM路由器称为C-RP。

RP配置方式建议:

  • 中小型网络: 建议选择静态RP方式,对设备要求低,也比较稳定。
  • 如果网络中只有一个组播源,建议选择直连组播源的设备作为静态RP,这样可以省略源端DR向RP注册的过程。
  • 采用静态RP方式要确保域内所有路由器(包括RP本身)的RP信息以及服务的组播组范围全网一致。
  • 大型网络: 可以采用动态RP方式,可靠性高,可维护性强。
  • 如果网络中存在多个组播源,且分布密集,建议选择与组播源比较近的核心设备作为C-RP;如果网络中存在多个用户,且分布密集,建议选择与用户比较近的核心设备作为C-RP。

配置示例

7.4-101 (1)

R1:

multicast routing-enable
int g0/0/1
 pim sm
int g0/0/0
 pim sm
int g0/0/2
 pim sm

R3:

multicast routing-table
int g0/0/1
 pim sm
int g0/0/2
 pim sm
int g0/0/0
 pim sm

其他路由器配置类似,略

R5:

multicast routing-enable
int g0/0/1
 pim sm
int g0/0/2
 pim sm

int g0/0/0
 igmp enable

R6:

multicast routing-enable
int g0/0/0
 pim sm
 #
int g0/0/1
 igmp enable

————– 此时没有RP,组播流量无法下发 ————–

在所有路由器上指定4.4.4.4 为静态RP,R4自己也要指定

pim
 static-rp 4.4.4.4  # R4 loopback 接口地址
dis pim routing-table

四、RPT建立过程

7.4-101 (2)

RPT建立过程:

(1)主机加入某个组播组时,发送IGMP成员通告

(2)最后一跳路由器向RP发送 (*,G)Join消息

(3)(*,G)Join消息到达RP过程中,沿途各个路由器都会生成相应的(*,G)组播转发条目

RPT实现了组播数据按需转发的目的,减少了数据泛洪对网络带宽的占用。

五、组播接收者侧DR与组播源侧DR

image-20241028141944205

(1)运行PIM-SM的网络,都会进行DR(Designated Router)的选举。其中有两种DR分别称为接收者侧DR和组播源侧DR

  • 组播接收者侧DR:与组播组成员相连的DR,负责向RP发送( * , G )的Join消息
  • 组播源侧DR:与组播源相连的DR,负责向RP发送单播Register消息

(2)PIM-SM中DR选举原则与PIM-DM相同

7.4-101 (4)

六、SPT建立过程

7.4-101 (5)

如图所示,在PIM-SM网络中,任何一个新出现的组播源都必须在RP处“注册”,继而才能将组播报文传输到组成员

(1)组播源向组播组发送第一个组播报文

(2)源端DR将组播报文封装成Register报文,并以单播方式发给相应的RP

(3)RP收到注册消息后,一方面从Register报文中提取出组播报文,并将该组播报文沿RPT转发给接收者

(4)另一方面,RP向源端DR发送(S,G)Join消息,沿途路由器都会生成相应(S,G)表项,从而建立了一棵由组播源至RP的SPT树

(5)SPT树建立后,组播源发出侧组播报文沿该SPT转发至RP

(6)RP沿SPT收到该组播报文后,向源端DR单播发送Register-stop消息

七、PIM-SM的转发树

image-20241028144137352

PIM-SM同时包含了SPT和RPT,通常情况下,组播源发出的组播报文会沿SPT到达RP,然后从RP沿RPT到达接收者。

在这种情况下,从组播源到接收者的路径不一定是最优的,并且RP的工作负担非常大,为此我们可以启用RPT向SPT进行切换的机制。

八、Switchover机制

image-20241028144706059

(1)PIM-SM通过指定一个利用带宽SPT阈值可以实现RPT切换到SPT。

(2)用户端DR周期性检测组播报文的转发速率,一旦发现从RP发往组播组G的报文速率超过阈值,则触发SPT切换。

( * , G )与( S , G )条目关系

7.4-101 (8)

R6:

int loo 0
 igmp enable
 igmp static-group 239.5.5.5

R6连接重要用户网络,当用户加入到组播组239.5.5.5后,马上就能收到组播数据。

可在静态接口或环回口下配置静态加入到239.5.5.5

7.4-103

IGMP-Snooping配置:

igmp-snooping enable
vlan 10
 igmp-snooping en