PIM协议简介

PIM是什么 PIM(Protocol Independent Multicast,协议无关组播)协议的主要作用是构建组播分发树。 在IP组播和IGMP基础中提到,组播网络中的组播路由器需要根据组播分发树将组播数据转发到组播组成员,而组播路由协议中最常用的PIM协议的主要作用就是来构建这棵分发树。相比于其他组播路由协议,PIM更为具体的作用是生成AS域内的组播分发树 MDT(组播分发树)特点:无论网络中有多少组成员,每条链路上相同的组播数据最多只有一份。被传递的组播数据在距离组播源尽可能远的分叉路口才开始复制和分发。 PIM的协议无关指的是与单播路由协议无关,PIM不需要维护专门的单播路由信息,它直接利用单播路由表的路由信息,对组播信息执行[RPF检查](../ip组播基础 #组播转发) PIM直接封装在IP报文中,协议号为103,PIM常用版本为PIMv2,组播地址为224.0.0.13 PIM协议有两种模式: PIM-DM(PIM-Dense Mode,PIM密集模式),主要用于组成员较少且相对密集的组播网络中,构建MDT的思路是将组播流量在全网扩散,然后剪枝没有组成员的路径。PIM-DM只有ASM模型。 PIM-SM(PIM-Sparse Mode,PIM稀疏模式),其中还能分为PIM-SM(ASM)和PIM-SM(SSM),主要用于组成员较多且较稀疏的组播网络中,构建MDT的思路是先收集组成员信息,然后再形成MDT。 MDT分类 MDT分为SPT和RPT,其中SPT以组播源为根,组播组成员为叶子,而RTP以RP(Rendezvous Point)为根,组播组成员为叶子。 SPT又称为源树,在PIM-DM和PIM-SM中均有使用;RPT称为共享树,主要在PIM-SM中使用。 工作原理 前面提到PIM有两种模式,分别是PIM-DM和PIM-SM,下面将分别介绍两种模式的工作机制。 介绍之前,首先要知道PIM网络中的PIM路由表。PIM路由表是通过PIM协议建立的组播协议路由表,存在两种表项: (S,G)主要用于建立SPT,对PIM-DM和PIM-SM适用 (* ,G)主要用于建立RPT,对PIM-SM适用 PIM路由器上可能同时存在两种表项,当收到源地址为S,组地址为G的组播报文,且RPF检查通过的情况下,先检查是否存在(S,G)表项,如果存在则直接由(S,G)路由表项指导转发,否则则先依照(* ,G)路由表项创建(S,G)表项,然后再根据(S,G)表项指导转发。 不同的组播路由器的组播路由表由不同的表项汇总合成。在最后一跳路由器上组播路由表项主要基于PIM路由表项、IGMP组表项和IGMP路由表项汇总形成;其余的则基于PIM路由表项生成。 注意 组播路由表项只能基于PIM(S,G)生成,PIM(* ,G)缺少入接口信息无法形成组播路由表项。 PIM-DM PIM-DM通过“扩散-剪枝”的方式形成SPT,除了扩散剪枝,还会设计邻居发现、嫁接、断言和状态刷新机制。 邻居发现 组播转发路径只能在PIM邻居之间建立,邻居发现主要通过 PIM Hello 包完成。 当路由器接口激活PIM后,接口便周期性发送PIM Hello数据包,目的地址为224.0.0.13。邻居关系同样使用Hello报文维持,邻居超时时间默认为10s,超时时间内收不到邻居发来的Hello报文,则删除邻居关系。 Hello报文中携带多项PIM协议报文参数,主要用于PIM邻居之间PIM协议报文的控制: DR_Priority:表示各路由器接口竞选DR的优先级,优先级越高越容易获胜。...

更新: 2022-04-02 · 创建: 2022-04-02 · 1 分钟 · McLsk888