PIM-SM(稀疏模式)

  1. PIM-DM的局限性

    PIM-DM适用于组播成员较为密集的园区网络,在分布较为稀疏的网络中,组播流量的周期性扩散会给网络带来较大负担

  2. SM:使用"拉模式"转发组播报文

    • 关键任务
      • 建立RPT(汇聚点树也称共享树)
      • 建立SPT(最短路径树)
    • 适用于组播成员较为稀疏的网络环境
  3. 在SM模式中,找RP(汇聚点,类似沃尔玛,其实它是一台被设置为RP的网络设备)去拉组播流量。即也就要求全网路由器事先只要知道某个组的RP地址即可。所以连接组成员的路由器会逐条的构建以RP为根的RPT树,即共享树,RPT树的根是RP。用(*,G)描述

  4. 连接组播源的路由器只需要吧组播流量分发给这个组的RP即可,构建一颗源到RP的SPT树,SPT树的根是组播源,用(S,G)描述

  5. 汇聚点RP

    • 充当RPT树的根节点
    • 共享树中的所有组播流量都经过RP转发给接收者
    • 所有PIM路由器都要知道RP的位置
  6. RPT及其建立过程

    1. 当连接组成员的DR路由器收到IGMP的报告报文,创建(,G)表项,根据G查找对应的RP地址,收到IGMP报告的接口为(,G)下游接口
    2. 根据RP的地址进行RPF检测,找到去往RP的RPF接口,并发送(,G)的join报文,该RPF接口为(,G)的上游接口
    3. 上游路由器收到(,G)的join报文后创建( ,G)的表项,收到(,G)的接口为下游接口,根据G地址查RP地址,找到RP的RPF接口作为上游接口,并继续向RPF接口发送(,G)join报文,逐条构建RPT树到RP为止
  7. 工作原理

    1. 最后一跳路由器收到成员报告报文时生成(*,G)表项,下游接口为收到的组成员报文的接口,上游接口通过RPF检测找到去往RP的接口。

    2. 如果该路由器不是RP则再次通过RPF检测寻找去往RP的接口,然后将上层路由器发送(*,G) JOIN报文,持续发送直到收到应答或抑制

    3. 上层路由器收到后将收到Join报文的为下游地址,如果该路由器为RP上游地址为NULL,如果不是则继续向上逐步构建,直到到达RP路由器为止。(此时所有RPT树的成员都存在(*,G)表项)

      (以上为建立RPT树)

    4. 组播源发送组播流量到达下一跳路由器,由于是稀疏模式,上游接口为收到组播源接口,下游接口"没有匹配的(S,G)或(*,G)出接口用于直接转发",因此源端DR路由器会将自己连接组播源的接口地址作为源地址,以RP地址作为目标地址,把组播流量通过封装在注册报文中单播的发送给RP。(携带源信息和组信息)

    5. RP将报文解封装后,收到的是一个(S,G)的组播流量,于是在RP中就会创建(S,G)表项,通过组播源地址查询上游接口,下游接口是由(,G)表项的下游接口复制到(S,G)表项的下游接口。如果存在(,G)表项则直接发送注册停止报文给源端DR,源端DR停止将组播报文封装在注册报文中

    6. 同时第一份组播流量会通过下游接口发送到下一个路由器,下一个路由器收到后也会创建(S,G)表项,上游接口通过组播源地址上游RPF检测查询到的接口,下游接口依然是(*,G)表项复制而来。然后继续向下,下一个路由器原理相同,直到到达成员。

      (以上为组播源所有Register阶段的报文处理方式,直到SPT建成)

  1. RP已经收到来自源的真实组播流量,此时RP会向去往组播源的RPF接口发送(S,G)的join报文。

  2. 下一个路由器收到后创建(S,G)表项,上游口为组播源接口,下游口为收到(S,G)的接口,然后继续向下一个路由器传输,当下一个路由器收到后,如果为连接组播源的下一个路由器,就会将收到(S,G)表项的接口设置为下游接口,此时就构建了一条源到RP的SPT树。

  3. 这个时候已经知道下游接口地址,之后就不在需要封装在注册报文中,直接通过下游接口传输组播流量。RP收到来自SPT方向的流量后,通常会向FHR发送Register-Stop消息,结束注册过程

  4. 源端DR和用户端DR

    当一条链路上有两台路由器时,使用源端DR单播注册发送组播流量给RP

    当一条链路上有两台路由器时,使用用户端DR向RP发送(*,G)的join

  1. Switchover机制(STP切换)

    组播源到组成员未必是最优的转发路径,流量经过RP集中转发,RP负担重

    • 用户端DR收到的组播报文的速率超过阈值时(默认为0),会向组播源发送(S,G)Join消息
    • 当发现去往组播源的接口和RP接口不一致时,会向去往主播源的接口发送(S,G)的Join,同时在去往RP的接口发送(S,G)的剪枝剪掉共享树的数据流,形成新的SPT

补充:(S,G)优于(*,G)

相关推荐
科技块儿1 小时前
如何高效查询海量IP归属地?大数据分析中的IP查询应用
网络·tcp/ip·数据分析
一执念2 小时前
【路由器-AP、DHCP、ARP、广播帧、交换机、信道】-初级知识串联(五)之路由器与交换机的关系
网络·智能路由器
Xxtaoaooo2 小时前
React Native 跨平台鸿蒙开发实战:网络请求与鸿蒙分布式能力集成
网络·react native·harmonyos
犀思云2 小时前
出海SaaS全球分布式部署:流量调度的六大核心挑战与破局思考
运维·网络·人工智能·系统架构·机器人
Remember_9932 小时前
网络编程套接字深度解析:从理论到实践的完整指南
网络·算法·http·https·udp·哈希算法·p2p
奇遇0.004872 小时前
tryhackme-Wireshark:基础知识
网络·测试工具·wireshark
Beuself.2 小时前
zeronews内网穿透
网络
Draina2 小时前
银河麒麟V10电脑抓包-tcpdump
网络·测试工具·tcpdump