设为首页 收藏本站
查看: 1119|回复: 0

[经验分享] CISCO 组播RPF 逆向路径转发 实验原理

[复制链接]

尚未签到

发表于 2018-7-11 06:54:01 | 显示全部楼层 |阅读模式
Technorati 标签: CISCO,组播,multicast,RPF,CCIE  RPF,reverse path forwarding.
  是组播转发的一个重要基础。只有当RPF检测成功以后,组播流量才能正确的在网络中进行转发。
  当在baidu或者google里面查询关键字 "CISCO RPF检测机制和工作原理",我们会轻易得到下面的原理:
  RPF检查的原理:路由器在单播路由表中查找源地址以确定数据包到达的接口是否位于返回信源的的反向路径上,如果是则RPF检查成功,如果不是则标记“RPF失败丢弃”并丢弃数据包。简单来说就是根据去的数据路由表项来检查回来的包,确定去回在一线上。
  作用:对于多播,能防止环路(多播RPF检查是默认开启且不能关闭的);对于单播,能防止IP欺骗***(需要手工配置RPF检查)
  就这么简单的一句话,其实我看了很多次都没有真正理解其中的意义在于哪里。cisco也有一个专门的ppt来讲解这个问题,但是最后我还是很模糊。不知所云,但是我记住了一个概念,组播流量来的方向或者接口,在本台路由器上面show ip route x.x.x.x回去的单播路由表必须也要一致,否则的话就是RPF失败,然后把组播流量丢弃。
  今天从同事那里找了一个实验,做完以后,我发现RPF也不是那么神秘,下面就是实验过程,我们可以一起来验证一下是不是上面我理解的:
   DSC0000.jpg
  在该拓扑图中,R1-R4分别按照拓扑图中的标示,配置接口IP地址,并且在每一台路由器上面使能ip multicast-routing,然后在每个接口下面配置ip pim sparse-mode.
  R2的F0/0作为rp 候选和bsr 候选。
  这个时候,整个网络的单播和组播部分就已经齐活了。
  组播的配置很简单,就几条命令,该拓扑图的配置如果有疑问可以参考附件,这里就不用多的篇幅去说如何配置组播了。
  这个时候,在R4上面起一个loopback接口作为模拟连接组播客户端(接收方)的接口,在接口下面使能命令ip igmp join 224.1.1.1.
   DSC0001.jpg
  然后R4的loopback0接口就会向RP发送(*,G)的join报文进行加入.
  然后再从R1路由器上面ping 224.1.1.1,来模拟R1作为组播源在发送224.1.1.1的组播数据。
   DSC0002.jpg
  这里可以看到。R1去ping224.1.1.1是通的,因为R1是组播源,会发送(S,G)注册到RP,然后R4是组播客户端,会发(*,G)到rp,然后rp把S回应给R4,最后建立SPT(最短路径树),R4从R1那里获得组播流量。
  好了,重点在于RPF是如何工作的。前面看了网上查的原理。这里用实验来证明。
  在拓扑图中,从R1到R4其实是又两条工作路径的。
  R2和R3之间,以太口相互连接,串口也相互连接。
  整网启用ospf,这个时候根据ospf最短路径优先,肯定是走的cost小的,所以从R4到R1,走的都是以太接口。
   DSC0003.jpg
  实验这里就开始了,假如在R3f1/0接口下面,no ip pim sparse-mode,那么组播流量会从棕色的路径发送给R3,但是在R3上面回去的路由是红色的线路,这个时候RPF检测就失败了,因为接收组播流量的接口和回去的单播路由的接口不是同一个接口。
  在R3上面,我们可以看到:
  本来以前在R3上面没有再接口f1/0删除命令ip pim sparse-mode之前:
  R3#show ip rpf 1.1.1.1
  RPF information for ? (1.1.1.1)
  RPF interface: FastEthernet1/0
  RPF neighbor: ? (3.1.1.1)
  RPF route/mask: 1.1.1.0/24
  RPF type: unicast (ospf 1)
  RPF recursion count: 0
  Doing distance-preferred lookups across tables
  当删除以后,再去看看rpf的检测:
  R3#show ip rpf 1.1.1.1
  RPF information for ? (1.1.1.1) failed, no route exists
  原因在于,因为R3在f1/0移除了pim协议,所以和对端f1/0建立不起来邻居,自然组播流量不会经过以太口进行转发,R3只有从s2/0收到组播流量,但是,在R3上面的路由表由于是ospf会选择最短的路径,所以回去的时候走的是以太口,路径不匹配,丢包...
  R3#show ip route 1.1.1.1
  Routing entry for 1.1.1.0/24
  Known via "ospf 1", distance 110, metric 2, type intra area
  Last update from 3.1.1.1 on FastEthernet1/0, 00:04:10 ago
  Routing Descriptor Blocks:
  * 3.1.1.1, from 3.1.1.1, 00:04:10 ago, via FastEthernet1/0
  Route metric is 2, traffic share count is 1
  在RPF的源检测标准中,只能有一个输入接口,选举方法如下:
  lower AD>longest match>lower metric>higher ip

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-535955-1-1.html 上篇帖子: Cisco ASA8.4.2 nat配置---基于network object 下篇帖子: Cisco UCS环境中CentOS带Vlan ID的网络配置指南
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表