组播密集模式路由协议

共有三种密集模式路由协议:

  • 协议无关的组播密集模式(PIM-DM)
  • 距离矢量组播路由协议(DVMRP)
  • 组播开放最短路径优先(MOSPF)

本文详细介绍了PIM-DM的操作。

使用PIM Hello消息形成PIM邻接关系

PIM路由器与其他许多路由协议一样,出于相同的一般原因和相同的通用机制,与相邻的PIM路由器形成邻接关系。PIMv2(PIM的当前版本)每30秒(默认)在配置了PIM的每个接口上发送一次Hello消息。通过在同一接口上接收到Hello,路由器可以发现邻居,建立邻接关系并维护邻接关系。

PIMv2 Hello使用IP协议号103和保留的多播目标地址224.0.0.13,称为All-PIMRouters多播地址。Hello消息包含一个Hold time值,通常是发送者的PIM hello间隔的三倍。如果接收方在保持时间内未收到发送方发出的Hello消息,则认为发送方已死。

基于源的分发树

密集模式路由协议适用于密集拓扑,在密集拓扑中,相对于网络中的主机总数,有许多多播组成员。当PIM-DM路由器接收到组播数据包时,首先执行 RPF检查。如果RPF检查成功,则路由器会将数据包的副本转发给所有PIM邻居,但接收该数据包的邻居除外。

每个PIM-DM路由器都会重复该过程,并用组流量泛洪整个网络。最终,数据包将泛洪到没有下游PIM邻居的所有分支路由器。上一段中描述的逻辑实际上描述了PIM所谓的基于源的分发树的概念。有时也称为最短路径树(SPT)或简称为源树。

该树定义了发起多播数据包的源主机与需要接收该主机发送的多播副本的所有子网之间的路径。树使用源作为根,路由器使用树中的节点,连接到路由器的子网用作树的分支和叶子。 

对于源和多播组的每种组合,PIM-DM可能具有不同的基于源的分发树,因为SPT将根据源的位置以及侦听每个多播组地址的主机的位置而有所不同。符号(S,G)指的是特定的SPT或特定SPT的单个路由器部分,其中S是源IP地址,G是多播组地址。

修剪消息

当源首先将组播数据包发送到新的组播组地址时,PIM-DM将创建一个新的SPT。SPT包括RPF接口以外的所有接口,因为PIMDM假定所有主机都需要接收每个多播数据包的副本。但是,某些子网可能不需要多播副本,因此PIM-DM定义了一个过程,路由器可以通过该过程使用PIM Prune消息从SPT删除接口。

Graft嫁接报文

对于源和多播组的每种组合,PIM-DM可能具有不同的基于源的分发树,因为SPT将根据源的位置以及侦听每个多播组地址的主机的位置而有所不同。

符号(S,G)指的是特定的SPT或特定SPT的单个路由器部分,其中S是源IP地址,G是多播组地址。当新主机加入组时,路由器可能需要更改特定(S,G)条目的当前SPT。使用PIM-DM,一种选择是等待被修剪的链接过期。

但是,等待(默认)3分钟修剪计时器到期不是很有效。为了允许路由器从SPT中“修剪”先前修剪的接口,PIM-DM包含Graft消息。路由器将Graft消息发送到上游邻居(先前已向其发送Prune消息的邻居),从而使上游路由器将链路重新设置为转发状态(针对特定(S,G)SPT)。

下图说明了显示嫁接消息用法的示例。

嫁接讯息

如果没有Graft消息,主机H2将必须等待多达3分钟才能接收到组通信。此时,R1和R2一样立即将其s0 / 0放回传出接口列表,现在H2接收到多播数据包。注意,R1还响应Graft消息将Graft Ack消息发送给R2,R2也响应R3的Graft消息发送Graft Ack。

Assert 断言报文

最终的PIM-DM消息Assert消息。当多个路由器连接到同一LAN时,使用Assert消息来防止浪费精力。PIM断言消息允许路由器进行协商,而不是将每个多播数据包的多个副本发送到LAN。获胜者有权负责将多播转发到LAN。

下图显示了需要Assert消息的示例。R2和R3都连接到同一LAN,而H1是227.7.7.7组的活动成员。R2和R3都从源10.1.1.10接收227.7.7.7的组通信。

断言消息

声明消息的目标是将转发LAN上的组流量的责任分配给最接近源的路由器。当R2和R3在其s0接口上从源接收组流量时,它们将在其e0接口上转发该流量。

断言过程根据用于找到到达源的单播地址的路由的路由协议和度量标准来选择赢家。LAN上的路由器将自己的路由协议管理距离和度量与从Assert消息中获悉的路由和管理度量进行比较。断言过程的获胜者如下:

1-通告用于获知路由的路由协议的最低管理距离的路由器。

2-如果发生平局,则以该路由的最低通告路由协议度量标准的路由器获胜。

3-如果出现平局,则该LAN上IP地址最高的路由器获胜。

PIM-DM消息摘要

下表列出了本文中介绍的关键PIM-DM消息,以及它们的用法的简要定义。

觉得文章有用?

点个广告表达一下你的爱意吧 !😁