组播Multicast 3 PIM的两种模式

session 1 PIM的denes-mode稀疏模式
PIMv2
denes-mode使用有源数模型,没有RP的概念,所有的客户端都是和源直接收发组播流量
一、(* G)和(S G)表项是如何产生的
(* G)表项规则,父表项
1、当接口有组播流时候产生,mroute中先产生(* G)表项,后产生(S G)表项,当超过holdtime时间(默认3min)后仍然没有子项时消失,有子项时候holdtime不计时的。
(S G)表项规则,子表项
1、当接口有组播流时候产生,mroute中先产生(* G)表项,后产生(S G)表项,当超过holdtime时间(默认3min)后没有收到组播流量,(S G)表项被清除,当再次收到组播流量时候又会重新产生(S G)表项
2、配置永久组播接口
interface s0/1
ip igmp static-group 224.1.1.1         手动指定接口永久成为组播流发送接口(防止用户频繁的加组离组使接口的组播路由表的(S G)表项频繁变化)不管下面有没有客户端发加入消息,永远发送query查询信息。

二、PIM的denes-mode的组播流量修剪(prune)和嫁接
1、修剪是PIM的denes-mode中的技术:用于修剪掉没有客户端的lasthop的组播流量路径(选择到源最优的路径),减少网络带宽的消耗,但是在多路访问网络MA中需要进行延迟修剪,以防止误修剪。
2、延迟修剪:用于多路访问网路中。当firsthop设备收到修剪信息后会延迟3s进行修剪,以防止其他lasthop设备下面有客户端需要加组而组播流量被自己修剪掉。
3、嫁接:当被firsthop修剪的接口下面又收到lasthop加组的流量时,通过嫁接的方式来恢复被修剪的接口继续转发组播流量。
 
三、PIM的denes-mode模式组播有源树的形成
1、在denes-mode模式中形成有源树是先有source再有客户端receive的。
2、 Dense-mode模式中当有了源以后first hop负责初始化泛红,告诉每个组播路由器源的位置,然后根据所有组播路由器的回应,发出修剪报文,选择客户端到达源最近的路径。
 
session 2 PIM的sparse-mode密集模式
PIMv2
denes-mode使用有源数模型,没有RP的概念,所有的客户端都是和源直接收发组播流量。
一、(* G)和(S G)表项是如何产生的
(* G)表项规则,父表项
1、当接口有组播流时候产生,mroute中先产生(* G)表项,后产生(S G)表项,当超过holdtime时间(默认3min)后仍然没有子项时消失,有子项时候holdtime不计时的。
(S G)表项规则,子表项
1、当接口有组播流时候产生,mroute中先产生(* G)表项,后产生(S G)表项,当超过holdtime时间(默认3min)后没有收到组播流量,(S G)表项被清除,当再次收到组播流量时候又会重新产生(S G)表项
2、配置永久组播接口
interface s0/1
ip igmp static-group 224.1.1.1         手动指定接口永久成为组播流发送接口(防止用户频繁的加组离组使接口的组播路由表的(S G)表项频繁变化)不管下面有没有客户端发加入消息,永远发送query查询信息。
 
二、DR(一般在denes-mode中没有)
RP在PIM中的dens-mode中不是很重要,但是在sparse-mode模式中非常重要,通常所有的“加组消息报文”、“源的注册消息报文”都是由RP来发送或者转发的,但是组播流量不一定由DR转发,因为牵扯到了SPT的switchover切换问题,切换到距离源最短的路径转发。
 
三、PIM的spares-mode模式组播共享树的形成
在spares-mode模式中,形成完整的组播流共享树需要2个阶段,一个是形成基本的共享树阶段,一个是形成源到RP的组播流路径,具体原理如下:
1、形成客户端recive到RP的基本共享树,树根是RP。
客户端----icmp_join报文----last-hop设备(产生(* G)表项及组播流量的in/out接口)----PIM_join----RP(产生* G),找到RP后基本的共享树形成。树内成员路由器对应的组播流量的出/入接口就确定了,放入到了Mroute表中。
2、基本的共享树(RP到客户端)形成后,只是确定了RP和客户端没有确定源,此时并没有组播流量。然后进入第二个阶段,首先由source源发送组播流到first-hop设备,由first-hop----regedit注册报文(单播包形式内封装组播,相当于与RP建立了一条单播的tunel隧道,告知RP组播source的位置,这个单播发送的底层是IGP路由)----RP----将收到的regedit单播包转发----last-hop(收到RP转发来的regedit后last-hop知道了源的位置),此时源和客户端就可以相互ping通了,但是完整的共享树并没有形成,能ping通是组播(RP到客户端)+单播(源到RP)路径而不是纯组播路由的(last-hop到RP是PIM组播流,而RP到源是单播包),直到first-hop向RP完成注册(源到RP的共享树形成),RP通过共享树(源到RP的共享树)收到源source发来的组播流量后,回应给source源一个stop-regedit停止注册的包后,first-hop停止单播注册报文的发送,确定了组播到客户端的(S G)表项的出/入接口后发送组播流量通过RP转发来确定与客户端的组播路由路径(真实情况中RP在短时间内会同时收到first-hop的单播和组播流量,因为在RP发送stop-regedit的时候first-hop也在发送单播的regedit,所以当first-hop收到stop-regedit后可能单播包已经发送出去,然后又改为发送组播流量,导致了发给RP的报文重复),最后last-hop启动SPT switch-over最优路径选择,建立了到达源的最优路由后完整的共享树就建立完成了(注意:这里只是建立的最优路径,但是最终组播流是走最优路径到达源还是走RP共享树到达源是由RPT-bit位决定的,如果RPT-bit位=1明确从最优路径去往源,那么last-hop就会向RP发送RPT-bit的修剪报文,让RP不要发送组播流last-hop了,自己有更优的路径了,否则RPT-bit位=0明确从RP共享树去往源,那么组播流量就不走最优路径而是走RP共享树路径),客户端与源之间的通信就是纯组播流量,并且确定了组播流的出/入接口。
最后:就算spares-mode组播流量选择了最优路径去往源,那么到达RP的共享树依然存在,只是没有组播流量而已。
      概念,完整的共享树:由 source源到RP的前半段共享树+RP到客户端revice的后半段共享树共同组成,如果其中一段树中的任意一台路由器没有运行PIM协议,那么将无法完成共享树的建立,如source源到RP的共享树之间的路由器没有运行PIM的话,那么source源到RP将会一直使用单播注册包来转发转播流量,因为RP没有通过共享树收到来自源的组播流量就不会向源发送regedit-stop报文,那么源就会一直以单播注册包的形式向RP发送组播流量。(整个组播也能通信,但是从原理上将这是错误的配置)
 
四、sparse-mode模式中DR的选举
DR:负责接收客户端的IGMP_join信息,并向RP发送PIM的join消息以及regedit单播报文,first-hop/last-hop多个形成冗余的网络拓扑中需要选举。
 
  五、(* G)表项的出/入接口方向:以RP流出的方向为出方向,收到RP发来的流量的接口就是入接口。
                (S G)表项的出/入接口方向:收到源发的组播流量的接口为入接口,去往客户端的接口为出接口方向。
 
debug ip mrouting       debug组播路由表产生数据
      在组播中与单播类似,都是路由器逐跳的传播组播路由条目,直至树中所有运行PIM的组播路由器都学习到组播路由条目位置:show ip mroute查看组播路由表。
 
session 3 spares-mode中RP的配置
一、静态RP的配置
R1(config)#ip pim rp-address x.x.x.x

二、动态RP
1、cisco的私有动态RP,使用组224.0.1.39/40两个组(cisco自己买的组)
cisco动态RP中的术语:
Candidate RPs                   候选RP,简称C-RP           使用224.0.1.39组发送自己的信息给MA用于让MA选举出共享树的RP,当C-RP被正式选举为RP后,将为spares-mode的共享树中RP
Mapping Agents           映射代理,简称MA            是224.0.1.39的组接收者,使用224.0.1.40组(所有PIM路由器都监听的组)的发送RP选举结果,用于从多个C-RP中选举出RP,具体选举规则是选择ip地址大的C-RP作为RP
配置方法:
1)、auto-RP结合denes-mode+spares-mode
在C-RP上配置
接口 ip pim spares-dens-mode
ip pim send-rp-announce loop0                             配置需要参与选举的C-RP
在MA上配置
接口 ip pim spares-dens-mode
ip pim send-rp-discovery loop0                               配置MA,发送RP选举信息(结果)
show ip pim rp mapping
 
2)、Auto-RP+Spares-mode
ip pim auto rp liense                                         只针对于组224.0.1.39/4组走Denes-mode,其余的走spares-mode流量
ip pim spare-mode
clear ip pim RP
 
2、工业标准动态RP
工业标准RP是通用RP,工业标准
BSR:Bootstrap Router,相当于MA的作用,使用组224.0.0.13来宣告RP选举结果,所有PIM路由器监听这个组地址。
配置方法:
在C-RP上配置
接口 ip pim spares-mode
ip pim rp-candidate loop0   [priority参数用于调整将成为RP的C-RP的选举优先级,小为优]
在BSR上配置
接口 ip pim spares-mode
ip pim bsr-candidate loop0 
 
查看命令
show ip pim rp mapping
show ip pim bsr-router
show ip mrouter
show ip igmp group x.x.x.x

你可能感兴趣的:(组播Multicast 3 PIM的两种模式)