RPF机制在PIM中应用

上传人:ji****72 文档编号:37523542 上传时间:2018-04-17 格式:DOC 页数:10 大小:526.50KB
返回 下载 相关 举报
RPF机制在PIM中应用_第1页
第1页 / 共10页
RPF机制在PIM中应用_第2页
第2页 / 共10页
RPF机制在PIM中应用_第3页
第3页 / 共10页
RPF机制在PIM中应用_第4页
第4页 / 共10页
RPF机制在PIM中应用_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《RPF机制在PIM中应用》由会员分享,可在线阅读,更多相关《RPF机制在PIM中应用(10页珍藏版)》请在金锄头文库上搜索。

1、RPF 机制,机制,PIM-DM 工作机制,工作机制,PIM-SM 工作机制工作机制本文通过介绍本文通过介绍 RPF 反向路径转发的工作机制,结合反向路径转发的工作机制,结合 IP 组播路由协议组播路由协议 PIM-DM 预计预计 PIM-SM 说明说明 RPF 在在 IP 组播路由中所起的关键作用。本文可以作组播路由中所起的关键作用。本文可以作为计算机网络专业技术人员学习和工作的参考。为计算机网络专业技术人员学习和工作的参考。一、组播的一、组播的 RPF 机制机制路由器在接收到由源 S 向组播组 G 发送的组播报文后,首先查找组播转发表。如果存在对应(S,G)表项,且该组播报文实际到达接口与

2、 Incoming interface 一致,则向所有的 outgoing interfaces 执行转发; 如果存在对应(S,G)表项,但是报文实际到达接口与 Incoming interface 不一致,则对此报文执行 RPF 检查。如果检查通过,则将Incoming interface 修改为报文实际到达接口,然后向所有的outgoing interfaces 执行转发。 如果不存在对应(S,G)表项,则对此报文执行 RPF 检查。如果检查通过,则根据相关路由信息,创建对应路由表项,然后向所有的outgoing interfaces 执行转发。 (可能是指 PIM-DM 环境)RPF 检

3、查执行过程如下:在单播路由表中查找 RPF 接口。单播路由表中汇集了到达各个目的地址的最短路径。如果当前组播路径沿袭从组播源 S 到客户端的 SPT 或组播源 S 到 RP的源树,则路由器以源 S 的 IP 地址为目的地址查找单播路由表,对应表项中的出接口为 RPF 接口。路由器认为由该 RPF 接口接收到的组播报文所经历的路径是从源 S 到本地的最短路径。 如果当前组播路径沿袭从 RP 到客户端的 RPT,则路由器以 RP 的 IP 地址为目的地址查找单播路由表,对应表项中的出接口为 RPF 接口。路由器认为由该 RPF 接口接收到的组播报文所经历的路径是从 RP 到本地的最短路径。 将 R

4、PF 接口与组播报文的实际到达接口相比较,判断到达路径的正确性,从而决定是否进行转发。 如果两接口相一致,那么就认为这个组播包是从正确路径而来,RPF 检查成功。 如果两接口不一致,将该组播报文丢弃。作为路径判断依据的单播路由信息可以来源于任何一种单播路由协议、组播静态路由或者 MBGP 路由协议。 当组播路径沿袭从组播源到客户端的 SPT 时,RPF 检查过程如图 13-1 所示。RouterC 从接口 POS1/0/0 接收到来自 Source192.168.0.1/24 的组播报文,组播转发表中没有相应转发表项。执行 RPF 检查,发现单播路由表中到达网段 192.168.0.0/24

5、对应的最短路径出接口是POS2/0/0,则判断该报文实际到达接口非 RPF 接口。RPF 检查失败,报文被丢弃。 RouterC 从接口 POS2/0/0 接收到来自 Source192.168.0.1/24 的组播报文,播转发表中没有相应转发表项。执行 RPF 检查,发现单播路由表中到达网段 192.168.0.0/24 对应的最短路径出接口正是该报文实际到达接口。RPF 检查通过,对该报文进行转发。 RPF 的作用除了可以正确地按照组播路由的配置转发报文外,还能避免由于各种原因造成的环路。 二、二、PIM-DM 工作机制工作机制PIM-DM 的工作过程可以概括为:邻居发现、构建 SPT 树

6、、嫁接阶段、Assert 机制。邻居发现:邻居发现: 在 PIM-DM 网络中,组播路由器需要使用 Hello 消息来发现邻居,并维护邻居关系。通过比较 Hello 消息上携带的优先级和 IP 地址,各路由器各路由器为多路由器网段选举指定路由器为多路由器网段选举指定路由器 DR,充当,充当 IGMPv1 的查询器的查询器。通过各路由器之间周期性地使用 Hello 消息保持联系,从而构建和维护了 SPT 树。构建构建 SPT 树:树: 构建 SPT 树的过程也就是扩散/剪枝过程(Flooding&Prune)。 PIM-DM 假设网络上的所有主机都准备接收组播数据,当某组播源 S 开始向组播组

7、G 发送数据时,路由器接收到组播报文后,首先根据单播路由表进行 RPF 检查,如果检查通过则创建一个(S,G)表项,然后将数据向网络上所有下游PIM-DM 节点转发,这个过程称为扩散(扩散(Flooding) 如果没有通过 RPF 检查,则将报文丢弃。经过这个过程,PIM-DM 组播域内每个路由器上都会创建(S,G)表项 如果下游节点没有组播组成员,则向上游节点发 Prune 剪枝消息,通知上游节点不用再转发数据到该分支 上游节点收到 Prune 剪枝消息后,就将相应的接口从其组播转发表项(S,G)对应的输出接口列表中删除 剪枝过程继续直到 PIM-DM 中仅剩下了必要的分支,这就建立了一个以

8、组播源 S 为根的 SPT(一种组播转发树,被称为:源分布树或最短路径树)。 剪剪枝过程最先由叶子路由器发起,枝过程最先由叶子路由器发起,如图 10-1 所示,没有接收者的路由器(例如和 UserA 相连的路由器)主动发起剪枝过程。 上述过程就称为扩散剪枝过程。各个被剪枝的节点提供超时机制,当剪枝超时时重新开始扩散剪枝过程。PIM-DM 的扩散剪枝机制周期性进行。 嫁接(嫁接(Graft):): 当被剪枝的下游节点需要恢复到转发状态时,该节点使用Graft 嫁接消息通知上游节点。例如若图 10-1 中的用户 A 恢复接收组播数据,则 Graft 嫁接消息逐跳向组播源 S 传递,中间节点接收到

9、Graft 嫁接消息后回应确认,从而先前被剪掉的分支恢复信息传输。 Assert 机制:机制: 在共享网络(如 Ethernet)中会出现相同报文的重复发送。例如 LAN 网段上包含多台组播路由器 A、B、C 和 D,各自都有到组播源 S 的接收途径。如图 10-2 所示。 当路由器 A、B 和 C 都从上游接收到组播源 S 发出的组播数据报文后,都会向 Ethernet 网络上转发该组播报文,这时下游节点组播路由器 D 就会收到三份完全相同的组播报文。为了避免这种情况,就需要通过 Assert 机制来选定一个唯一的转发者。网络中的各路由器通过发送 Assert 报文选出一条最优的路径,如果两

10、条或两条以上路径的优先级和到组播源的开销相同,则 IP 地址最大的路由器获胜成为该(S,G)项的上游邻居,由它负责该(S,G)组播报文的转发,而其他落选路由器则剪掉对应的接口以禁止转发信息。 三、三、PIM-SM 工作机制工作机制邻居发现:邻居发现: 邻居发现机制与 PIM-DM 中的描述相同,也是通过各路由器之间彼此发送 Hello 消息实现的,这里不再介绍。 DR 选举:选举: 借助 Hello 消息可以为共享网络(如 Ethernet)选举DR(Designated Router),DR 将作为本网段中组播信息的唯一转发者。无论是和组播源 S 连接的网络,还是和接收者连接的网络,只要网络

11、为共享媒只要网络为共享媒介则需要选举介则需要选举 DR,接收者侧 DR 向 RP 发送 Join 加入消息;组播源侧 DR 向 RP 发送 Register 注册消息。DR 选举如图 10-3 所示。共享媒介网络上的各路由器相互之间发送 Hello 消息(携带 DR 优先级选项),拥有最高 DR 优先级路由器将被选举为本网络中的 DR。假如优先级相同或网络中至少有一台路由器不支持在 Hello 报文中携带优先级,则拥有最大 IP 地址的路由器被选举为 DR。当 DR 出现故障时,接收 Hello 消息将会超时,邻居路由器之间会触发新的 DR 选举过程。说明:选举出的说明:选举出的 DR 对于对

12、于 PIM-SM 网络有意义;在网络有意义;在 PIM-DM 网络中,网络中,DR 主要是充当主要是充当 IGMPv1 的查询器。的查询器。IGMPv1 自身没有自身没有 Querier(查询器)(查询器) 的选举过程,因此的选举过程,因此 PIM 选择出来的选择出来的 DR 就作为就作为 IGMP 的查询器。而的查询器。而IGMPv2 可以自身选举可以自身选举 Querier(查询器),因此无需(查询器),因此无需 DR 充当充当.RP 发现:发现: RP 是 PIM-SM 域中的核心路由器,在小型并且简单的网络中,组播信息量少,全网络仅依靠一个 RP 进行信息转发即可,此时可以在 SM 域

13、中各路由器上静态指定 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 网络,从而网络内的所有路由器(

14、包括 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 的接收者信息,然后朝着

15、RP 方向往上游节点发送加入组播组的 Join 消息。如图 10-5 所示。从叶子路由器到 RP 之间途经的每个路由器都会在转发表中生成(*,G)表项,这些沿途经过的路由器就形成了这些沿途经过的路由器就形成了 RP 共享树(共享树(RPT)的一个分支)的一个分支。其中(*,G)表示从任意源来的信息去往组播组 G。RPT 共享树以共享树以 RP 为根,以为根,以接收者为叶子接收者为叶子。当从组播源 S 来的发往组播组 G 的报文流经 RP 时,报文就会沿着已经建立好的 RPT 共享树路径到达叶子路由器,进而到达接收者。当某接收者退出组播组 G 时,接收者侧 DR 会逆着 RPT 树朝 RP 方向

16、逐跳发送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 共享树进行

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号