取消
显示结果 
搜索替代 
您的意思是: 
cancel
公告

December 2020

组播的调头路由器和proxy加入消息

3180
查看次数
30
有帮助
7
评论

在组播pim-sm拓扑中,可能出现一种情况:某台路由器一个接口下的多路访问网络同时连接了源和组成员,而另一个端口连接了RP,而RP共享树表项没有出接口,等待超时。首先需要明白的是,与源在同一多路访问网络或者上一跳和源的上一跳在同一多路访问网络时,这个组成员靠源树就收组播流,根本不需要经过RP。但虽然RP下没有了组成员,rp也不会向本地发送剪枝消息的,如果本地将RP接口剪枝,说明本地到源的spt是没有RP的,在sm模式中,除了切换到spt(另一种情况),不允许在源和RP之间的spt将RP剪枝掉而单独存在,因此规定本地在收到了非原子(*,G)加入消息时,出发(s,G)proxy加入消息向源的发送,也就是说与源同意共享网络的组成员在向RP定期发送(*,G)的周期加入消息时(除非发生切换时引起的rp置位(S,G)剪枝和共享树(*,g)定期加入加入消息在同一个消息中),本地发现他是一个(*,G)非原子性的加入消息,因此触发代理源树加入消息。同样的,RP也会触发,RP 的proxy加入时间是有限制的,超时停止发送,而调头路由器替代RP一直发送周期型的代理加入消息。但rp上(S,G)的出接口为空,因此等待超时后发送剪枝(这给调头路由器向源发送代理加入流出了足够的时间),但规定不立刻发送。本地收到后,剪枝源树中Rp接口,因此在源发送组播流的时候,本地查询源树表项不会再将数据发到RP上,而直接在共享网络传给其他组成员。当然,如果rp下还有其他接口有组成员,就不会剪枝掉RP的接口。所以组播流到达本地路由器后,调头不会发给没有了出接口的rp,所以称本地路由器叫做调头路由器。这种情况和源到RP之间有接口者类似,但接受者不与源在同一共享网络内。

在sparse模式下,RP上的(S,G)的IIF是共享树上的唯一出口,此时,就会出现调头路由器。
具体案便可参见:IP组播网络设计与开发。
现小结一下:
1,调头路由器是在proxy计时器的时间里,代替RP向源周期性地发(S,G)的JOIN消息,使得源树上相应的(S,G)条目不消失。因为RP上的(S,g)的oil为空,理论上RP应向源发(S,G)的PRUNE,但是在proxy计时器的时间里是相反的。
2,什么时侯进入proxy计时器呢?二种情况:
proxy-join计时器在下列情况下开启:
a.一个非原子的(*,G)JOIN从(S,G)的IIF收到了,IIF是指向源的;
b.在RP上,由于收到register而创建一个(S,G),并且(*,G)的OIL为非空;
//a和b都是说明接收者是在(S,G)的IIF方向;
//非原子的JOIN,是指里面只有(*,G)的join,没有(S,G)的prune。而原子的join,是指不光有(*,G)的join,还有(S,G)的prune。
3,调头路由器时,必须不能把最后一台路由器的switchover开启,结果会如何?会收到原子聚合,而使调头路由器失效。
主要特点:此种情况下,RP的(S,G)出接口为空,如果发送剪枝消息,会引起调头路由器的出接口为空,从而使直连源的第一跳路由器直接剪枝了出接口,因为与源同意共享网络的接受者发送的是共享树(*,G)的加入消息,而和源到RP之间的(S,G)无关,因此如果调头路由器不周期替rp发送代理源加入消息,那么源就会在源树的STP上被剪除。此外,RP上虽然(*,G)的出接口为空,这时因为出入接口相同造成的,因为同一接口下与源共享网络内的成员是使用共享树获得组播流的,因此他周期发送的(*,G)加入消息会刷新RP的(*,G)和(S,G)表项,即使出接口为空(也就是说,出接口为空不是因为没有成员造成的,而是出入接口相同但必须互斥造成的)不会被超时删除,


评论
Fusen Huang
Cisco Employee
谢谢楼主分享!
linchen2
Community Member
赞赞赞:lol
xupeng
Cisco Employee
太棒了,谢谢楼主分享
one-time
Expert
 
Fisheryu
Cisco Employee
lol:lol
cpmld-199
Community Member
谢谢分享。
linchen2
Community Member
赞啊
创建
认可您的同行
Content for Community-Ad