CCIE SP—组播 PIM SM For Join and Reg
PIM:组播协议,路由器与路由器通信,2台路由器通过PIM建立连接后,互相传送join member和register member来建立组播路由表。但是他依靠单播路由表来为它做RPF校验。
RP:源和组的汇合点,共享树和源树的聚合点(有树生成后)
Spare Mode的浓缩结论:
——————————————-
1,接收者通过join加入到RP,组到RP(最后一跳路由器发起)
2,发送者通过与RP register,源到RP(第一跳路由器发起)
3,如果是共享数,RPF Check就要检查如何到RP
4,如果是源树,RPF Check就要检查如何到源
这四点的具体说明,在后面的日志里会说明,这里要记住它。
数据流的方向是顺着共享树走的。
通告RP分静态配置和动态配置(Auto-RP或PIM v2 BSR)
对于一个特定的组,只能有一个RP,因为RP的目的是做汇聚的,如果一个组有2个RP,源和组选了不同的RP,那么就不能汇聚,这样树就不能建立,这样组播流就不能从源到组转发。
但有时候会存在多RP的时候,但它只有一个逻辑RP,可以有多个物理RP,多个RP要宣布同一个RP地址,选择RP时就近选择,当源和组选了不同的RP时,RP和RP之间通过MSDP来提供通信,使树完成。
源树:(S,G)
共享树:(*,G)
如果让路由器正常转发组播流,必须保证OIL出接口列表
加入OIL时:
1,接收join message后,把此端口加入OIL
2,有check机制,防止入接口出现在OIL中
移除OIL:
1,主机离开组时(igmp v2),会发送leave信息,此时路由器会确认是否还有成员在组中,如果没有,会向上发送prune信息,并在OIL中移除连接主机的端口
2,如果接口超时,在一定时间内没有收到join的信息,就会把此接口从OIL中移除。
组加入RP的过程:
<1>如果没有收到主机加入组的信息,但又想让网段参与这个组,就要在E1上建立“ip igmp join-group 组地址”
<2>从上图可以看出来,已经把E1加入到OIL中了,收到join message,就会把端口加入OIL中。
<3>通过rtr-b向rtr-a发送join后,E0已被加入OIL中。
<4>rtr-a向RP发送join message。
<5>此时,共享树建立完毕。
源加入RP的过程:
通过单播与RP建立,为什么是单播?
1,没有树,只能用单播,这个单播是封装了组播的。
2,组与RP生成的树是反向的,源是正向的
源必须由数据流触发,具体的过程,可以看下面的截图
假设先有组(不是必须的,也有先有源的):
<1>先有组的情况,可以看出S0和S1已经在OIL中了。
<2>当第一个组播包到达rtr-a时,OIL是空,因为没有组播表,所以要丢弃。
<3>这时,会产生单播tunnel,直接传给RP
<4>RP收到后,会把单播解开,发现他有224.1.1.1的出接口,所以生成了(171.68.37.121,224.1.1.1)这个表,以后来了组播流后就会直接根据此信息从S0和S1转发。
<5>如上所示,RP解开单播包,把组播包从共享树转发出去。
<6>关于join的方向,如果是组,他是指向RP的;如果是RP,他是指向源的。
<7>rtr-b收到join后,把S1接口加入OIL中。
<8>继续向源传送join message。
<9>把S0记录到OIL中。
<10>完成STP。
<11>当第二个包发出时,他会从两个方向走,一个是单播,一个是STP,当RP从S1收到组播时,RP会向rtr-a发出Register-Stop信息。rtr-a收到后,就不会再用单播来注册,而是直接走STP。
先有源没有组的模型:
———————————————————–
当RP收到源的ip封装的组播包时,他发现没有组地址,所以向第一跳路由器(跟源直连的路由器)发送Register-Stop信息,所以在rtr-a上没有组播地址,OIL都是空的。
这时有组加入RP,所以此组会加入(*,G)和(S,G),为什么要加入(S,G),因为RP上有源的信息,在3分钟内,RP会保存源的信息,超过3分钟后,会删掉信息。后面的就是由join信息来建立STP,跟上面讨论的是一样的。
***组播基础troubleshooting的PPT***
rst320-troubleshootingipmulticast
版权声明:
本文链接:CCIE SP—组播 PIM SM For Join and Reg
版权声明:本文为原创文章,仅代表个人观点,版权归 Frank Zhao 所有,转载时请注明本文出处及文章链接