前文我们了解了组播路由协议PIM以及PIM-DM密集模式相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16084310.html;今天我们来聊一聊PIM的另外一种模式SM稀疏模式相关话题;

  PIM-SM概述

  PIM-SM(PIM Sparse Mode,协议无关组播-稀疏模式)是组播PIM的另外一种模式稀疏模式,该模式和密集模式相反,使用“拉(pull)”的方式来传输数据;适用于范围较广的大中型网络中,组成员分布相对分散的环境中;

  PIM-SM工作流程

  1、邻居发现和DR选举

  提示:PIM-SM邻居发现过程和PIM-DM相同,都是通过发送hello包相互建立起邻居;不同的是DM只会在靠近用户侧路由器选一个DR来充当IGMPv1的查询器,v2v3版本不依赖PIM来选举查询器;简单讲就是DM里只会在靠近用户侧侧的路由器上选举一个DR,其作用就仅仅是充当IGMPv1的查询器;而SM模式里DR不但要在靠近接收者侧的路由器上选举DR,在靠近组播源的路由器上也会选择DR,其作用就是作为共享网段中唯一转发组播数据的转发者;

  DR选举规则

  1、先比较优先级,优先级高者成为DR;

  2、如果优先级一样,则比较ip地址,ip地址大者成为DR;

  提示:接收者侧的DR主要负责向RP发送加入报文,组播源侧的DR主要负责向RP发送组成报文;RP就是共享点从源到RP一路建立源树,RP到接收者一路建立共享树;

  提示:连接接收者的路由器向组播组对应的RP发送加入报文,该报文被逐跳送达RP,所经过的路径就形成了RPT的分支;组播源如果要想组播组发送组播数据,首先由于组播源侧DR负责向RP进行注册,把注册报文通过单播的方式发送给RP,该报文到达RP后触发构建SPT。之后组播源把组播数据沿着SPT发向RP,但组播数据达到RP后,被复制并沿着RPT发送给接收者;

  2、用户加入过程

  提示:SM和DM不一样有扩散-剪支-嫁接的过程;SM默认会认为整个网段里没有用户存在,所以它不会一上来就扩散;而是通过接收者DR向RP发起加入消息,该消息沿着每一台路由器都创建(*,G)表项,形成以RP为根的RPT;也就是说SM模式中只有出现接收者,才会构建组播路由,才会向对应网段转发组播数据;如果有用户离开,则也是用户侧发送剪支消息;加入-剪支是随用户侧的变化而变化;

  提示:不管是靠近用户侧还是组播源侧的路由器,都是在共享网段中选举DR,不同共享网段的用户是不同的DR;

  3、组播源注册过程

  提示:首先是由DR通过组播报文中封装单播注册消息发送给RP,RP收到组播源的注册消息后,会发送加入消息,从而组播源到RP的路由器建立起SPT;随后在由RP向用户侧DR转发组播数据(通过RPT),最终组播数据送达至用户;

  注册停止过程

  提示:当RP发送加入消息后,对应SPT形成后,RP会向组播源侧DR发送注册停止消息,意思就是告诉组播源你的注册我这边已经收到了,你那边不用一直发送注册消息;你可以停了,类似一个确认消息吧;

  通过上述过程,我们不难看出从源到RP,然后再从RP到用户侧,这样一条转发路径不一定是最优的,并且如果有多个组播源,此时RP的流量是非常高的,负载也比较重;所以为了避免次优路径和RP的负载,就有了下面的RPT向SPT切换到过程;、

  4、RPT向SPT切换过程

  提示:这个切换我们可以手动配置是否要切换,这个根据个人的环境来配置,默认情况下华为的模拟器是当接收者收到第一个组播报文后,接受者侧DR发送加入消息,当组播源侧DR收到用户侧DR发送的加入消息后,会随加入消息的路径建立起源树,从而实现RPT向SPT的切换;

  提示:由用户侧DR或上游路由器向RP发送Prune消息,RP向组播源DR发送Prune消息进行多余路径剪支;

  提示:通过Prune剪支消息去把对应的源树剪掉,从而完成源树切换,最终形成源到接收者之间新的源树;

  通过上述RPT向SPT的切换,我们可以看到PIM-SM能够以比PIM-DM根经济的方式建立SPT(其原因是SM不用全网扩散,全网扩散会消耗沿路路由器的内存资源、网络带宽等);

  PIM-SM中的“Assert”断言机制和PIM-DM中的断言机制一样,没有区别;

HCNP Routing&Switching之组播技术PIM-SM 稀疏模式的更多相关文章

  1. HCNP Routing&Switching之组播技术PIM-SM RP

    前文我们了解了组播技术中,组播路由协议PIM的稀疏模式相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16142795.html:今天我们来聊一聊组播路 ...

  2. HCNP Routing&Switching之组播技术-组播路由协议PIM

    前文我们了解了组播技术中组播分发树相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16019334.html:今天我们来聊一聊组播路由协议PIM相关话题 ...

  3. HCNP Routing&Switching之组播技术-组播协议IGMP

    前文我们了解了组播地址相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15616740.html:今天我们来聊一聊组播协议中IGMP协议相关话题: 组播 ...

  4. HCNP Routing&Switching之组播技术-组播基础

    组播技术背景 随着internet网络的不断发展,网络中交互的各种数据.语音.视频信息数量突增:新型的在线直播.网络电视.视频会议等应用也在逐渐兴起:这些业务大多符合点到多点的模式,对信息安全性.传播 ...

  5. HCNP Routing&Switching之组播技术-组播地址

    前文我们聊到了组播技术背景,单播.广播在点到多点应用中的问题,以及组播对比单播.广播在点到多点的网络环境中的优势.劣势,相关回顾请参考https://www.cnblogs.com/qiuhom-18 ...

  6. HCNP Routing&Switching之组播技术-组播分发

    前文我们了解了组播技术中的igmp-snooping相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15860484.html:今天我们来聊一聊组播技术 ...

  7. HCNP Routing&Switching之组播技术-IGMP-Snooping

    前文我们了解了组播协议IGMP相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15700550.html:今天我们来聊一聊二层交换机处理组播报文所面临的 ...

  8. IP组播技术介绍及实现例子

    引 言 近年来,随着Internet的迅速普及和爆炸性发展,在Internet上产生了许多新的应用,其中不少是高带宽的多媒体应用,譬如网 络视频会议.网络音频/视频广播.AOD/VOD.股市行情发布. ...

  9. IP组播技术

      1  概述 1.1  产生背景 传统的IP通信有两种方式:一种是在源主机与目的主机之间点对点的通信,即单播:另一种是在源主机与同一网段中所有其它主机之间点对多点的通信,即广播.如果要将信息发送给多 ...

随机推荐

  1. python psutila模块

    #!/usr/bin/env python #coding:utf-8 # qianxiao996精心制作 #博客地址:https://blog.csdn.net/qq_36374896 import ...

  2. 为什么你需要在用 Vue 渲染列表数据时指定 key

    本文改写整理自一篇博文,原文链接如下: Why you should use the key directive in Vue.js with v-for Application state and ...

  3. ShellExecuteA加载exe文件指定工作目录找不到文件的问题

    使用ShellExecuteA调用exe文件时,指定工作目录需要注意 函数原型为: HINSTANCE ShellExecuteA( HWND hwnd, LPCTSTR lpOperation, L ...

  4. Spring Data Jpa 更新操作

    第一步,通过Repository对象把实体根据ID查询出来 第二部,往查出来的实体对象进行set各个字段 第三步,通过Repository接口的save方法进行保存 保存和更新方式(已知两种) 第一种 ...

  5. Oracle问题解决记录

    一.前言 oracle这么一个庞大的东西,出点问题真是太常见了.开个博客,用于记录遇到的问题吧. 持续更新. 二.问题列表 归档日志满,引起的问题. 一台服务器,用了很久了,某天,出现了磁盘空间占满的 ...

  6. SpringBoot中的日志使用:

    SpringBoot中的日志使用(一) 一:日志简介: 常用的日志接口 commons-logging/slf4j 日志框架:log4j/logback/log4j2 日志接口屏蔽了日志框架的底层实现 ...

  7. Struts2的功能扩展点有哪些?

    l Interceptor及其相关子类 l TypeConverter及其相关子类 l Validator及其相关子类 l Result及其相关子类 l ObjectFactory及其相关子类

  8. Oracle数据常用的备份与恢复?

    Oracle的备份与恢复有三种标准的模式,大致分为两大类,备份恢复(物理上的)以及导入导出(逻辑上的),而备份恢复又可以根据数据库的工作模式分为非归档模式(Nonarchivelog-style)和归 ...

  9. Oracle 关于v$之类的视图使用说明

    官方文档:https://docs.oracle.com/en/database/oracle/oracle-database/19/cncpt/data-dictionary-and-dynamic ...

  10. Oracle入门基础(十)一一数据库其他对象-视图/序列/索引/同义词

    SQL> --视图 SQL> create view empinfoview as select e.empno,e.ename,e.sal,e.sal*12 annsal,d.dname ...