组播反向路径转发RPF

什么是RPF?

路由器收到组播数据报文后,只有确认这个数据报文是从自身连接到组播源的接口上收到的,才进行转发,否则丢弃。

RPF检查

在单播路由表中查找到组播报文源地址的路由

如果该路由的出接口就是组播报文的入接口,RPF检查成功否则RPF检查失败,报文丢弃。

补充说明

RPF执行过程中会用到原有的单播路由表以确定上游和下游的邻接结点。只有当报文是从上游邻接结点对应的接口(称作 RPF接口)到达时,才向下游转发。

RPF的作用除了可以正确地按照组播路由的配置转发报文外,还能避免由于各种原因造成的环路,环路避免在组播路由中是一个非常重要的问题。(环路问题可以参考RPF举例的拓扑图)

RPF的主体是RPF检查,路由器收到组播报文后,先对报文进行 RPF 检查,只有检查通过才转发,否则丢弃。RPF检查过程如下:

  • 1)路由器在单播路由表中查找组播源或 RP 对应的 RPF 接口(当使用信源树时,查找组播源对应的 RPF接口,使用共享树时查找RP对应的RPF 接口),某个地址对应的RPF接口是指从路由器向该地址发送报文时的出接口;

  • 2)如果组播报文是从RPF接口接收下来的,则 RPF 检查通过,报文向下游接口转发;

  • 3)否则,丢弃该报文。

RPF检查在组播数据转发中的应用

组播路由协议通过已有的单播路由、MBGP路由或组播静态路由信息来确定上、下游邻居设备,创建组播路由表项。运用RPF检查机制,来确保组播数据流能够沿组播分发树(路径)正确的传输,同时可以避免转发路径上环路的产生。

在实际组播数据转发过程中,如果对每一份接收到的组播数据报文都通过单播路由表进行RPF检查,会给路由器带来很大负担。因此,路由器在收到一份来自源S发往组G的组播数据报文之后,首先会在组播转发表中查找有无相应的(S,G)组播转发表项:

  • 如果不存在(S,G)转发表项,则对该报文执行RPF检查,将检查到的RPF接口作为入接口,创建组播路由表项,下发到组播转发表中。其中,对RPF检查结果的处理方式为:如果检查通过,表明接收接口为RPF接口,向转发表项的所有出接口转发;如果检查失败,表明报文来源路径错误,丢弃该报文。

  • 如果存在(S,G)转发表项,并且接收该报文的接口与转发表项的入接口一致,则向所有的出接口转发该报文。

  • 如果存在(S,G)转发表项,但是接收该报文的接口与转发表项的入接口不一致,则对此报文进行RPF检查。对RPF检查结果的处理方式为:

  • 若RPF检查选取出的RPF接口与转发表项的入接口一致,则说明(S,G)表项正确,报文来源路径错误,将其丢弃。

  • 若RPF检查选取出的RPF接口与转发表项的入接口不符,则说明(S,G)表项已过时,于是把表项中的入接口更新为RPF接口。然后再根据RPF检查规则进行判断:如果接收该报文的接口正是其RPF接口,则向转发表项的所有出接口转发该报文,否则将其丢弃。

ip rpf-route-static x.x.x.x x x.x.x.x //通过手工静态方式修改下一跳

displaypim rp-info //查看组播RP设备详细信息

display multicast rpf-info x.x.x.x //查看RPF接口和RPF邻居信息

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

A_Puter

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值