PIM技术介绍
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
IP组播目录
目录
PIM (1)
PIM简介 (1)
PIM-DM简介 (1)
PIM-DM工作机制 (2)
PIM-SM简介 (4)
PIM-SM工作机制 (5)
PIM-SM管理域机制介绍 (10)
SSM模型在PIM中的实现 (12)
多实例的PIM (13)
PIM
PIM简介
PIM是Protocol Independent Multicast(协议无关组播)的简称,表示可以利用静
态路由或者任意单播路由协议(包括RIP、OSPF、IS-IS、BGP等)所生成的单播
路由表为IP组播提供路由。组播路由与所采用的单播路由协议无关,只要能够通过
单播路由协议产生相应的组播路由表项即可。PIM借助RPF(Reverse Path
Forwarding,逆向路径转发)机制实现对组播报文的转发。当组播报文到达本地设
备时,首先对其进行RPF检查:若RPF检查通过,则创建相应的组播路由表项,
从而进行组播报文的转发;若RPF检查失败,则丢弃该报文。
根据实现机制的不同,PIM分为以下两种模式:
z PIM-DM(Protocol Independent Multicast-Dense Mode,协议无关组播—密集模式)
z PIM-SM(Protocol Independent Multicast-Sparse Mode,协议无关组播—稀疏模式)
说明:
为了描述的方便,本文中把由支持PIM协议的组播路由器所组成的网络简称为“PIM
域”。
PIM-DM简介
PIM-DM属于密集模式的组播路由协议,使用“推(Push)模式”传送组播数据,
通常适用于组播组成员相对比较密集的小型网络。
PIM-DM的基本原理如下:
z PIM-DM假设网络中的每个子网都存在至少一个组播组成员,因此组播数据将被扩散(Flooding)到网络中的所有节点。然后,PIM-DM对没有组播数据转
发的分支进行剪枝(Prune),只保留包含接收者的分支。这种“扩散—剪枝”
现象周期性地发生,被剪枝的分支也可以周期性地恢复成转发状态。
z当被剪枝分支的节点上出现了组播组的成员时,为了减少该节点恢复成转发状态所需的时间,PIM-DM使用嫁接(Graft)机制主动恢复其对组播数据的转发。
一般说来,密集模式下数据包的转发路径是有源树(Source Tree,即以组播源为
“根”、组播组成员为“枝叶”的一棵转发树)。由于有源树使用的是从组播源到
接收者的最短路径,因此也称为最短路径树(Shortest Path Tree,SPT)。
PIM-DM工作机制
1. 邻居发现
在PIM域中,路由器通过周期性地的向所有PIM路由器(224.0.0.13)以组播方式
发送PIM Hello报文(以下简称Hello报文),以发现PIM邻居,维护各路由器之
间的PIM邻居关系,从而构建和维护SPT。
说明:
路由器每个运行了PIM协议的接口都会周期性地发送Hello报文,从而了解与该接
口相关的PIM邻居信息。
2. 构建SPT
构建SPT的过程也就是“扩散—剪枝”的过程:
(1) 在PIM-DM域中,组播源S向组播组G发送组播报文时,首先对组播报文进
行扩散:路由器对该报文的RPF检查通过后,便创建一个(S,G)表项,并
将该报文向网络中的所有下游节点转发。经过扩散,PIM-DM域内的每个路由
器上都会创建(S,G)表项。
(2) 然后对那些下游没有接收者的节点进行剪枝:由没有接收者的下游节点向上游
节点发剪枝报文(Prune Message),以通知上游节点将相应的接口从其组播
转发表项(S,G)所对应的出接口列表中删除,并不再转发该组播组的报文
至该节点。
说明:
z(S,G)表项包括组播源的地址S、组播组的地址G、出接口列表和入接口等。
z路由器上收到组播数据的接口称为“上游”,转发组播数据的接口称为“下游”。
剪枝过程最先由叶子路由器发起,如图1所示,没有接收者(Receiver)的路由器
(如与Host A直连的路由器)主动发起剪枝,并一直持续到PIM-DM域中只剩下必要
的分支,这些分支共同构成了SPT。
图1PIM-DM中构建SPT示意图
“扩散—剪枝”的过程是周期性发生的。各个被剪枝的节点提供超时机制,当剪枝超时后便重新开始这一过程。
说明:
剪枝在PIM-SM中有着相似的应用。
3. 嫁接
当被剪枝的节点上出现了组播组的成员时,为了减少该节点恢复成转发状态所需的
时间,PIM-DM使用嫁接机制主动恢复其对组播数据的转发,过程如下:
(1) 需要恢复接收组播数据的节点向其上游节点发送嫁接报文(Graft Message)
以申请重新加入到SPT中;
(2) 当上游节点收到该报文后恢复该下游节点的转发状态,并向其回应一个嫁接应
答报文(Graft-Ack Message)以进行确认;
(3) 如果发送嫁接报文的下游节点没有收到来自其上游节点的嫁接应答报文,将重
新发送嫁接报文直到被确认为止。
4. 断言
在一个网段内如果存在多台组播路由器,则相同的组播报文可能会被重复发送到该网段。为了避免出现这种情况,就需要通过断言(Assert)机制来选定唯一的组播数据转发者。