zoukankan      html  css  js  c++  java
  • IP组播-PIM协议


    PIM协议

    • PIM(Protocol Independent Multicast)协议无关组播,PIM直接利用单播路由表的路由的路由信息进行组播报文RPF检查,创建组播路由表项,转发组播报文

    PIM—DM

    PIM-DM基本概述

    • DM密集模式
    • 采用“推(Push)模式”转发组播报文
    • PIM-DM的关键任务:
      • 建立SPT(Shortest Path Tree)
    • 组播地址:224.0.0.13
    • 推(Push)模式:无论是否有主机需要该组播报文,都将转发

    PIM-DM邻居发现

    • 使用Hello机制发现邻居
    • 选举DR
      • 优先级高的成为DR
      • IP地址大的成为DR

    PIM-DM构建SPT

    • 扩散
    • RPF检查
    • 剪枝
    1. 组播源向组播组发送数据报文,组播组内的所有设备都会继续向下转发数据报文(扩散)
    2. 当有路径不需要该组播的数据,最后一跳路由器会向上发送Prune
    3. 上游设备收到后,将不会再向这条下游设备转发该组的数据(剪枝)
    4. RPF检查:当设备从多个接口收到同一份组播数据以后,会根据RIB(本地路由表)检查到达这份数据的源怎么走,从而选择相应接口的数据报文

    剪枝计时器210s,剪枝已知计时器3s

    状态刷新(SR)

    • 周期性的刷新剪枝端口状态(60s)

    嫁接(Graft机制)

    • 新的组成员加入组播组后,快速得到组播报文

    断言(Assert机制)

    • 避免重复组报文
    1. 当多台设备同时向一个设备发送相同的组播报文时,多台设备都会发送断言报文
    2. 通过比较RIB中学习的路由条目,选择单播路由协议优先级高的
    3. 各设备到组播源的开销,开销小的优先
    4. 下游接口IP地址最大的优先

    没有被选为转发数据的设备,180s会重新转发一次数据

    PIM-DM配置

    • 运行了IGMP后,直接在接口下使用pim dm配置
    [R1]int g0/0/1
    [R1-GigabitEthernet0/0/1]pim dm
    
    • dis pim neighbor查看pim邻居建立
    • dis multicast routing-table查看组播路由表
    • PIM-DM适用于组播成员分布较为密集的园区网络
    • PIM-DM在组播成员分布较为稀疏的网络中,组播流量的周期性扩散会给网络带来较大负担

    【PIM-DM实验】

    PIM—SM

    PIM-SM基本概述

    • SM稀疏模式
    • 使用“拉(Pull)模式”转发组播报文
    • PIM-SM的关键任务:
      • 建立RPT(Rendezvous Point Tree,汇聚点树,也叫共享树)
      • 建立SPT(Shortest Path Tree,最短路径树)
    • 适用于组播成员分布较为稀疏的网络环境

    汇聚点RP(Rendezvous Point)

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

    RPT建立

    • 主机加入某个组播时,发送IGMP成员关系报告
    • 最后一跳路由器向RP发送(*,G)Join
    • ,G)Join报文到达RP的过程中,沿途各路由器都会生成响应的(,G)组播转发条目

    RPT实现了组播数据按需转发的目的,减少了数据泛洪对网络带宽的占用

    接收者侧DR和组播源侧DR

    • 运行PIM-SM的网络,都会进行DR的选举
    • 组播接收者侧DR:与组播组成员相连的DR,负责向RP发送(*,G)的Join加入消息
    • 组播源侧DR:与组播源相连的DR,负责向RP发送单播的Register报文

    PIM-SM中DR的选举原则与PIM-DM相同

    SPT建立

    • 组播源向组播组发送第一个组播报文
    • 源端DR将该组播报文封装成Register报文,并以单播方式发送给响应的RP
    • RP接收到Register报文后,从Register报文中提取出组播报文,将该组播报文沿RPT分支发送给接收者
    • SPT树建立后,组播源发出的组播报文沿着SPT转发至RP
    • RP沿SPT收到该组播报文后,向源端DR单播发送Register-Stop报文,停止注册
    模式 类型 使用场景
    PIM-DM (S,G) 第一跳路由器到最后一跳路由器的SPT
    PIM-SM (*,G) RP到最后一跳路由器的RPT
    (S,G) 源端DR到RP的SPT
    (S,G) Switchover之后,从第一跳路由器到最后一跳路由器的SPT

    PIM-SM转发树

    • 组播源发出的组播报文沿着SPT到达RP,从RP沿RPT到达接收者
    • 从组播源到接收者的路径不一定最优,且RP的工作负担大

    Switchover机制

    • 切树
    • 用户端DR周期性检测组播报文的转发速率,当速率超过阈值(默认为0),则会触发SPT切换
      • 用户端DR逐跳向源DR发送(S,G)Join报文,并创建(S,G)表项,建立源端DR到用户端DR的SPT
      • SPT建立后,用户端DR沿RPT逐跳向RP发送剪枝报文,收到剪枝报文的路由器将(*,G)复制成相应的(S,G),并将相应的下游接口置为剪枝状态。剪枝结束后,RP不再沿RPT转发组播报文到组成员
      • 如果SPT不经过RP,RP会继续向源端DR逐跳发送剪枝报文,删除(S,G)表项中相应的下游接口。剪枝结束后,源端DR不再向RP转发组播报文

    【组播综合实验】

    以上内容均属原创,如有不详或错误,敬请指出。
    
  • 相关阅读:
    Docker学习总结(一)--Docker简介
    Liunx软件安装之Zabbix监控软件
    Liunx软件安装之Nginx
    Liunx软件安装之Redis
    Liunx软件安装之Tomcat
    Liunx软件安装之JDK
    Liunx软件安装之MySQL
    Liunx学习总结(九)--防火墙
    tensorflow 错误
    anaconda安装失败
  • 原文地址:https://www.cnblogs.com/bad5/p/13232815.html
Copyright © 2011-2022 走看看