PIM-SM工作机制【转载】为了学习。工作。

PIM-SM工作机制
邻居发现: 邻居发现机制与PIM-DM 中的描述相同,也是通过各路由器之间彼此发送Hello 消息实现的,这里不再介绍。

DR 选举: 借助Hello 消息可以为共享网络(如Ethernet)选举DR(Designated Router),DR 将作为本网段中组播信息的唯一转发者。无论是和组播源S 连接的网络,还是和接收者连接的网络,只要网络为共享媒介则需要选举DR,接收者侧DR 向RP 发送Join 加入消息;组播源侧DR 向RP 发送Register 注册消息。DR 选举如图10-3 所示。

 

共享媒介网络上的各路由器相互之间发送Hello 消息(携带DR 优先级选项),拥有最高DR 优先级路由器将被选举为本网络中的DR。假如优先级相同或网络中至少有一台路由器不支持在Hello 报文中携带优先级,则拥有最大IP 地址的路由器被选举为DR。当DR 出现故障时,接收Hello 消息将会超时,邻居路由器之间会触发新的DR 选举过程。

说明:选举出的DR 对于PIM-SM 网络有意义;在PIM-DM 网络中,DR 主要是充当IGMPv1 的查询器。

RP 发现: RP 是PIM-SM 域中的核心路由器,在小型并且简单的网络中,组播信息量少,全网络仅依靠一个RP 进行信息转发即可,此时可以在SM 域中各路由器上静态指定RP 位置。但是更多的情况下,PIM-SM 网络规模都很大,通过RP 转发的组播信息量巨大,为了缓解RP 的负担同时优化共享树的拓扑结构,不同组播组应该对应不同的RP,此时就需要自举机制来动态选举RP,此时需要配置自举路由器BSR(BootStrap  Router)。 BSR 是PIM-SM 网络里的管理核心,负责收集网络中Candidate-RP(C-RP)发来的Advertisement 宣告信息,然后将为每个组播组选择部分C-RP 信息以组成RP-Set 集(即组播组和RP 的映射数据库),并发布到整个PIM-SM 网络,从而网络内的所有路由器(包括DR)都会知道RP 的位置。RP 和BSR 在网络中的位置如图10-4 所示。

 

一 个网络(或某管理域)内部只能选举出一个BSR,但可以配置多个Candidate-BSR(C-BSR)。这样,一旦BSR 发生故障后,其余C-BSR 能够通过自动选举产生新的BSR,从而确保业务免受中断。同样,一个PIM-SM 域内也可以配置多个C-RP,由BSR 机制计算出和每个组播组对应的RP。

RPT 生成: 例如接收者为用户B、D 和E。当接收者加入一个组播组G 时,通过IGMP 报文知会与该主机直接相连的叶子路由器,叶子路由器掌握组播组G的接收者信息,然后朝着RP 方向往上游节点发送加入组播组的Join 消息。如图10-5 所示。

 

从叶子路由器到RP 之间途经的每个路由器都会在转发表中生成(*,G)表项,这些沿途经过的路由器就形成了RP 共享树(RPT)的一个分支。其中(*,G)表示从任意源来的信息去往组播组G。RPT 共享树以RP 为根,以接收者为叶子。当从组播源S 来的发往组播组G 的报文流经RP 时,报文就会沿着已经建立好的RPT 共享树路径到达叶子路由器,进而到达接收者。当某接收者退出组播组G 时,接收者侧DR 会逆着RPT 树朝RP 方向逐跳发送Prune剪枝消息。第一个上游路由器接收到该剪枝消息,在其出接口列表中删除连接此下游路由器的接口,并检查下游是否还存在组播组G 成员,如果没有则继续向上游转发该剪枝消息。

组播源注册: 为了向RP 通知组播源S 的存在,当组播源S 向组播组G 发送了一个组播报文时,与组播源S 直接相连的路由器接收到该组播报文后,就将该报文封装成Register 注册报文,并单播发送给对应的RP。如图10-6 所示。

 

当RP 接收到来自组播源S 的注册消息后,一方面解封装注册消息并将组播信息沿着RPT 树转发到接收者,另一方面朝组播源S 逐跳发送(S,G)加入消息,从而让RP和组播源S 之间的所有路由器上都生成了(S,G)表项,这些沿途经过的路由器就形成了SPT 树的一个分支。SPT 源树以组播源S 为根,以RP为目的地。组播源S 发出的组播信息沿着已经建立好的SPT 树到达RP,然后由RP 将信息沿着RPT 共享树进行转发。当RP 收到沿着SPT 树转发的组播流量后,向与组播源S 直连的路由器单播发送注册停止报文。组播源注册过程结束。

RPT 向SPT 切换: 针对特定的源,PIM-SM 通过指定一个利用带宽的SPT 阈值可以实现将最后一跳路由器(即离接收者最近的DR)从RPT 切换到SPT。当 最后一跳路由器发现从RP 发往组播组G 的组播报文速率超过了该阈值时,就向单播路由表中到组播源S 的下一跳路由器发送(S,G)加入消息,加入消息经过一个个路由器后到达第一跳路由器(即离组播源最近的DR),沿途经过的所有路由器都拥有了(S,G) 表项,从而建立了SPT 树分支。随后,最后一跳路由器向RP 逐跳发送包含RP 位的Prune 剪枝消息,RP 收到消息后会向组播源反向转发Prune 剪枝消息,从而最终实现组播信息流从RPT 树切换到SPT 树。切换到SPT 树后,组播信息将直接从组播源S 发送到接收者。通过RPT 树到SPT 树的切换,PIM-SM 能够以比PIM-DM 更经济的方式建立SPT 转发树。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/threewells_14/archive/2008/07/09/2629167.aspx

你可能感兴趣的:(职场,休闲,pim,组播,稀疏)