0
点赞
收藏
分享

微信扫一扫

组播架构:

无聊到学习 2023-12-28 阅读 21

     1.源端网络     2.组播转发网络(组播路由PIM)   3.成员端网络(IGMP协议)    


PIM协议 (协议无关组播  路由协议)

   组播路由计算时,需要依赖单播路由实现防环、防次优等功能,PIM协议对于单播路由协议没    有要求,例如MOSPF协议必须要求单播协议使用OSPF协议

   实现:基于单播路由对收到组播报文进行RPF检查,检查通过后创建组播路由表项,转发组播              流量

   报文D.IP 组播地址:224.0.0.13     协议号:103


工作模式:

-----------------------------------------------------------------------------------------------

PIM-DM(密集模式):  采用“推”方式将组播流量推送到组播网络的所有设备,再由设备

                                      决定是否继续接收组播流量

PIM-DM模式主要用在组成员较少且相对密集的组播网络中,该模式建立组播分发树的基本思路是“扩散-剪枝”,即将组播流量全网扩散,然后剪枝没有组成员的路径,最终形成组播分发树



实现步骤过程:

   一、邻居发现(涉及报文:Hello报文)

          使能PIM-DM的路由器,需要通过Hello报文,发现、建立、维护邻居关系

                    邻居发现:使能PIM-DM后,从接口组播发送Hello报文,接口使能PIM,监听

                                    224.0.0.13,一定会接收到对端发送Hello报文

                    邻居建立:Hello报文会携带相关参数,互相收到Hello报文进行参数检查,协商成                                       功则代表邻居建立完成

                     邻居维护:PIM路由器会周期性30s/次发送Hello报文用于维护邻居关系

                                      邻居超时时间:105s

  二、扩散机制

           当组播源发送组播数据被第一跳路由器收到后,第一跳路由器进行RPF检查

               RPF检查: RPF路由出接口 是否与 组播数据的入接口一致

               PRF检查成功:创建组播路由表(S , G),上游接口为RPF接口,下游接口为所有连接

                                      PIM邻居的接口

               路由器按照组播路由表从所有下游接口转发组播流量  

           其它路由器收到后,进行RPF检查,再创建组播路由表(S,G),按照表项转发

           *PIM-DM路由器进行周期性扩散,周期时间180s

           *创建的组播路由表存在老化时间,默认210s

 三、剪枝机制(涉及报文:Prune消息)

         当路由器建立组播路由表中不存在下游接口(最后一跳路由器不存在IGMP路由表)

                并且路由器向上游PIM邻居发送剪枝消息(Prune消息)

         收到剪枝消息的路由器,将收到Prune消息的接口从下游接口列表中删除,并维护剪枝

                计时器(210s),当计时器超时,被剪枝的接口重新恢复成下游接口转发组播数据

         *当路由器所有下游接口都被剪枝,改路由器同样会向上游邻居发送剪枝消息

 四、状态刷新机制

          剪枝计时器210s超时之后,被剪枝的接口重新加入下游接口列表中并转发组播数据,

              导致下游接口连接设备又会接收组播数据(下游设备不需要组播数据),严重浪费

              网络带宽资源

      由第一跳路由器周期性60s/次向下游接口列表中所有接口发送状态刷新State Refresh消息

      收到状态刷新消息的下游设备,刷新剪枝计时器,目的:原被剪枝接口一直处于剪枝状态

           并且下游设备继续向下游接口转发状态刷新消息

  五、嫁接机制(涉及报文:Graft、Graft-ACK)

          原被剪枝的最后一跳路由器通过IGMP协议感知到存在组播组成员加入,最后一跳路由器

                 会向上游设备发送Graft消息

          上游设备收到Graft消息,将收到Graft消息的接口维护的剪枝计时器删除,重新加入下游

                接口列表中,并向该恢复的下游接口恢复Graft-ACK消息,且该接口可以进行组播数                 据转发

  六、断言机制(涉及报文:Assert消息)

          在同一个网段内存在多台组播路由器向该网段转发组播流量,导致下游设备收到多份重复

               的组播流量

          当路由器从下游接口收到组播流量,触发断言竞选        

                 竞选参数: 1.比较去往组播源的路由优先级

                                   2.比较去往组播源的开销

                                  3.比较下游接口IP地址,以大为优

              胜利方:正常向下游转发组播流量

              失败方:将下游接口从路由表中删除(*180s后自动恢复)


PIM-DM采用扩散/剪枝原理将组播流量扩散到整个组播网络,通过RPF检查机制在所有组播路由器创建组播路由表(S , G),建立组播分发树(SPT树)

SPT树,以组播源为根,组播组成员为叶子的组播分发树

-----------------------------------------------------------------------------------------------

PIM-SM(稀疏模式)

    PIM-DM缺陷:1.周期性进行扩散/剪枝,对组播网络造成一定冲击

                            2.所有路由器都会对组播流量进行RPF检查创建并维护组播路由表

                            3.在组成员分部散且稀疏的场景下,扩散剪枝建立SPT树的效率低

   解决:PIM-SM:采用“拉”的方式

PIM-SM(ASM)

       核心: 1.建立SPT最短路径树,以组播源为根,以RP为叶子节点的组播分发树

               2.建立RPT共享树,以RP为根,以组成员为叶子节点的组播分发树

       *RP汇聚点:作用,1.RP向组播源发起建立SPT树

                                    2.最后一跳路由器向RP发起建立RPT树

                 汇聚点RP为全网组播路由器可知且路由可达,使用Loopback接口作为RP IP地址


一、建立PIM邻居(与PIM DM一致)(涉及报文:Hello报文)

二、在网络确定汇聚点RP(涉及报文:自举报文、C-RP通告报文)

1.静态RP:手工静态指定,所有PIM路由器上指定

            [huawei-pim]static-rp 172.16.1.4

2.动态RP:通过自举协议选举RP

                   BSR自举路由器、C-BSR候选自举路由器

                   RP汇聚点、C-RP 候选RP

  1.网络中可以指定一台或多台C-BSR,每台C-BSR认为自身为BSR并向组播网络内泛洪自举报文

  2.网络中所有组播路由器可以收到所有的C-BSR发送的自举报文

        每台路由收到自举报文通过相同规则确定网络中BSR:

                   规则:1.比较优先级,以大为优      2.比较IP地址,以大为优

  3.在网络选择合适的设备作为C-RP(可以配置多台)

  4.所有C-RP单播向BSR发送C-RP通告报文,报文中携带C-RP自身的RP信息

  5.BSR可以收集到组播网络内所有C-RP信息,汇总为C-RP Set信息集,封装在自举报文中,

              通过自举报文将C-RP Set信息泛洪到整个组播网络

  6.PIM路由器根据RP-Set,使用相同的规则进行计算和比较,从多个针对特定组的C-RP中竞选                    出该组播组的RP

           规则:1.C-RP服务组播组范围,越精确越优先(掩码越长)

                     2.C-RP优先级,以小为优

                     3.哈希函数大者为优

                     4.C-RP IP地址,以大为优

  7.所有PIM路由器都可以为每个组播组确定一个唯一的RP,并记录组播组和RP的映射关系

三、DR选举(可选,涉及报文:Hello报文)

   选举参数:1.优先级    2. IP地址,以大为优

      组播源侧DR:负责向RP发送注册消息

      组播成员侧DR:负责向组成员转发组播流量;在IGMPv1版本作为查询器

四、建立SPT树(组播源到RP)(涉及报文:注册报文、注册停止报文、加入消息)

      1.活跃的组播源发送组播流量

      2.组播流量被源侧DR接收后,源侧DR将组播流量封装在注册报文中,单播发送给RP

      3.RP收到注册报文后,接封装获取组播流量(组播源信息、组播组信息)

         并查找路由向上游设备发送Join加入消息反向建立SPT树 /(S , G)路由表

         上游设备收到后,建立(S,G)路由表,并继续向上游传递Join消息,直到源侧DR

      4.源侧DR收到Join消息,代表SPT建立成功,可以按照建立(S,G)表项转发组播流量

      5.RP收到组播流量,立马向源侧DR发送注册停止消息

      6.源侧DR收到注册停止消息则不再向RP发送注册消息

五、建立RPT树(RP到组成员)(涉及报文:加入报文)

     1.组成员通过IGMP协议报告报文声明希望加入的组播组

     2.成员侧DR收到后,建立IGMP路由表

        触发向RP发送join加入消息建立(* ,G)路由表 / RPT

        沿途所有路由器都要将Join消息转发至RP,所有路由器都会建立(* ,G)路由表

     3.RP收到Join消息后,将收到Join消息的接口添加到(S , G)路由表的下游接口列表中

        并从该接口转发组播流量

     4.RP转发的组播流量沿着RPT树一直到成员侧DR

     5.成员侧DR将组播流量转发给组成员

六、SPT切换机制

    RPT树存在的问题:1.所有流量都需要经过RP中转,对于RP负担比较大

                                 2.SPT+RPT转发路基对于组成员可能存在次优路径

    SPT切换:1.初始组播流量沿着SPT+RPT转发路径进行转发

                    2.组成员侧DR收到第一份组播数据后,从组播数据获取组播源和组播组信息

                    3.成员侧向组播源发送Join加入消息,反向建立(S , G)路由表 / SPT树  

七、维护组播路由表

     组播路由表存在老化时间 210s,当长时间未接收组播流量,(S ,G)路由表会被删除

               成员侧DR又需要重新向RP发送Join消息建立RPT

     为了避免重新切换到RPT树,组成员侧DR会周期性60s/次向组播源发送Join消息维护

              组播路由表/ (S ,  G)路由表


(S , G)----->SPT树

(* , G)----->RPT树

 PIM-DM:(S , G)   SPT树

 PIM-SM(ASM):初始  (S , G)  SPT树

                                        (* , G)  RPT树

                               切换  (S , G)  SPT树

八、断言机制(与PIM-DM一致)

举报

相关推荐

0 条评论