您好,参考
(1)RPF检查:接收组播数据流之前或者接收组播协议报文时(例如BSR消息)必须执行RPF检查,检查通过接收组播流或者报文,检查不通过丢弃组播流或者报文。
RPF:反向路径转发检查
○1避免组播流环路
○2 .避免重复组播流
○3 .避免组播报文环路(不建议提)
例如:
此场景下,R3能通过RPF检查,确保只接收一个方向泛洪的组播流量;
在此场景下,R3只接收一个方向的组播数据流量,不会出现R1-R2-R3或者R1-R3-R2的流量路径,所以不会出现环路。
检查过程:
组播流的入接口和相应的RPF接口是否是一致,同时检查组播流的源IP地址是否与RPF neighbor一致。
a)SPT树上的RPF检查:
收到组播流,查看组播流的S,根据S查找组播路由表,单播路由表中到达S的接口为RPF接口,对比RPF接口和组播流的入接口是否一致,一致则通过。
b)RPT树上的RPF检查:
是根据RP的地址来选择RPF的接口,对比组播流的入接口与到RP的接口是否一致?
(2) RPF接口选择的依据(详细的rpf检查规则):
相应路由协议的优先级,如果优先级一致根据以下规则选择:
○1 静态组播路由ip rpf-route-static (默认优先级为1)
○2 根据MP-BGP
○3 单播路由表(如果单播路由表到达源存在两个下一跳地址,选择下一跳ip地址大的作为RPF接口)。
注意:如果开启掩码比较,则先按最长掩码比较,再根据路由优先级比较默认情况下,根据组播路由的优先级来进行匹配RPF check条目,除单播路由MBGP路由、组播静态路由也是RPF检查的依据。当路由器收到一份组播报文后,如果这三种路由表都存在,具体检查过程如下:
a)通过报文源地址,分别从单播路由表、MBGP路由表和组播静态路由表中
各选出一条最优路由。根据以下原则从这三条最优路由中选择一条作为RPF路由。
b)如果配置了按照最长匹配选择路由,则从这三条路由中选出最长匹配的那条路由;如果这三条路由的掩码一样,则选择优先级最高的那条路由如果它们的优先级也相同,则按照组播静态路由、MBGP路由、单播路由的顺序进行选择。如果没有配置按照最长匹配选择路由,则从这三条路由中选出优先级最高的那条路由;如果它们的优先级相同,则按照组播静态路由、MBGP路由、单播路由的顺序进行选择。
最后,路由器会将报文的入接口与RPF路由的RPF接口进行比较。
(4) 针对BSR消息的RPF check
○1 当一个接口收到BSR消息,会根据BSR消息中BSR的地址执行RPF check。当发现收到BSR消息的接口不是RPF check的接口,发送BSR消息的不是自己的pim邻居,会将BSR消息丢掉。
○2 BSR消息进行RPF check的作用:防止环路
扩展问题2:组播中哪些报文需要进行RPF?
组播流(分为从SPT树流下来的组播流和RPT树流下来的组播流)、BSR报文(检查RPF接口以及RPF邻居)
(0)
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论