PIM-DM简介

PIM-DM应用场景

PIM-DM ( PIM Dense Mode )是PIM的密集模式,它适用于组播接收者较为密集的紧凑型网络。

PIM-DM的工作原理

  1. 当PIM-DM开始工作后,会假定网络中的每一个分支(SPT分支)都存在组播接收者,
  2. 当源开始发送组播流量后,组播流量首先被扩散(Flood)到全网各个分支,此时PIM-DM所形成的组播分发树将覆盖全网。(PIM-DM使用的组播分发树是SPT)
  3. 当组播流量全网扩散后,存在组播接收者的分支自然会立即收到所需的组播流量,
  4. 但是网络中也很可能存在没有任何接收者的分支,它们对这些组播流量并不感兴趣,此时不需要这些组播流量的网络设备会采用一种剪枝(Prune)的方式将自己从组播分发树上剪除。
  5. 若后续网络中新出现一个接受者,那么接受者所在的网络分支会通过嫁接的方式,加入到SPT中,以便获取相应的组播流量。

PIM-DM的扩散示例

如下图所示,全网的路由器都激活了PIM-DM。

  1. 当组播源Source开始向组播组239.1.1.56发送组播流量时,R1作为第一跳路由器将率先收到组播流量,由于R1运行的是PIM-DM,因此在确定组播流量从朝向源的上游接口(RPF接口,朝向组播源的接口)收到后,它将组播流量从所有存在PIM邻居的接口(除了上游接口)转发出去。
  2. R2、R3及R4都将收到R1转发的(10.1.1.1,239.1.1.56)组播流量。这些路由器收到组播流量后,也都执行RPF检查,检查通过后继续向下游转发。
  3. 初始时PIM-DM将组播流量“粗犷”地扩散到网络中的各个角落。
  4. 但是R3并不需要这些组播流量,因此它将发起一个剪枝过程,将自己从SPT上剪除。
    在这里插入图片描述
  5. PIM-DM的另一个重要的工作机制是嫁接(Graft),在上图中,如果R3下联了一个239.1.1.56的组成员,那么它将立即发起一个嫁接过程,将自己所在的分支嫁接到SPT上,从而获得组播流量。

PIM-DM协议报文类型

PIM的协议报文直接采用IP封装,在IP报文头部中协议号字段的值为103。(PIM组播报文传输层采用的是UDP头部)
PIM-DM的协议报文类型如下所示:
在这里插入图片描述

邻居关系

  1. 当路由器的接口激活了PIM后,该接口便开始周期性地发送PIM Hello报文,报文的源IP地址为路由器的接口IP地址,而目的IP地址是组播IP地址224.0.0.13(所有PIMv2路由器组播地址)。
  2. 缺省时,Hello报文的发送间隔是30秒(通过命令可配置),
  3. 路由器通过Hello报文发现直连链路上的PIM邻居,也依赖Hello报文维持PIM邻居关系。当路由器通过Hello报文发现了一个PIM邻居后,会为该邻居启动一个计时器,该计时器的时间设置为对方的Hello报文中所携带的Holdtime(缺省为105秒,可配置),如果在计时器超时之前再次收到了该邻居发送的Hello报文,则刷新该计时器,如果一直未收到邻居的Hello报文,导致该计时器超时,则该邻居将立即被删除。
  4. PIM的DR选举也是依赖Hello报文的交互来完成的。.

邻居关系建立示例

如下图所示中,路由器都在各自的接口上激活了PIM。以R1为例,它将在GE0/0/0、GE0/0/1及GE0/0/2接口上分别发现PIM邻居R2、R3及R4。
在这里插入图片描述
可以使用display pim neighbor命令(HW)可以查看设备的PIM邻居表,以R1为例:
在这里插入图片描述

发布了17 篇原创文章 · 获赞 1 · 访问量 227

猜你喜欢

转载自blog.csdn.net/mn3321/article/details/105644072
PIM
dm