HCNP Routing&Switching之组播技术PIM-SM 稀疏模式
前文我们了解了组播路由协议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 稀疏模式的更多相关文章
- HCNP Routing&Switching之组播技术PIM-SM RP
前文我们了解了组播技术中,组播路由协议PIM的稀疏模式相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16142795.html:今天我们来聊一聊组播路 ...
- HCNP Routing&Switching之组播技术-组播路由协议PIM
前文我们了解了组播技术中组播分发树相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16019334.html:今天我们来聊一聊组播路由协议PIM相关话题 ...
- HCNP Routing&Switching之组播技术-组播协议IGMP
前文我们了解了组播地址相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15616740.html:今天我们来聊一聊组播协议中IGMP协议相关话题: 组播 ...
- HCNP Routing&Switching之组播技术-组播基础
组播技术背景 随着internet网络的不断发展,网络中交互的各种数据.语音.视频信息数量突增:新型的在线直播.网络电视.视频会议等应用也在逐渐兴起:这些业务大多符合点到多点的模式,对信息安全性.传播 ...
- HCNP Routing&Switching之组播技术-组播地址
前文我们聊到了组播技术背景,单播.广播在点到多点应用中的问题,以及组播对比单播.广播在点到多点的网络环境中的优势.劣势,相关回顾请参考https://www.cnblogs.com/qiuhom-18 ...
- HCNP Routing&Switching之组播技术-组播分发
前文我们了解了组播技术中的igmp-snooping相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15860484.html:今天我们来聊一聊组播技术 ...
- HCNP Routing&Switching之组播技术-IGMP-Snooping
前文我们了解了组播协议IGMP相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15700550.html:今天我们来聊一聊二层交换机处理组播报文所面临的 ...
- IP组播技术介绍及实现例子
引 言 近年来,随着Internet的迅速普及和爆炸性发展,在Internet上产生了许多新的应用,其中不少是高带宽的多媒体应用,譬如网 络视频会议.网络音频/视频广播.AOD/VOD.股市行情发布. ...
- IP组播技术
1 概述 1.1 产生背景 传统的IP通信有两种方式:一种是在源主机与目的主机之间点对点的通信,即单播:另一种是在源主机与同一网段中所有其它主机之间点对多点的通信,即广播.如果要将信息发送给多 ...
随机推荐
- ArcMap连接oracle、oracle配置
服务器:Oracle 11g 客户端:arcgis desktop 10.4.1.oracle 11g 32位客户端 客户端:arcgis server 10.4.1.oracle 11g 64位客户 ...
- python Apache和php错误日志邮件报警
# qianxiao996精心制作 #博客地址:https://blog.csdn.net/qq_36374896 #!/usr/bin/python #-*- coding: utf-8 -* im ...
- Spring---Spring专题(二)
1.Spring配置数据源 1.1 数据源(连接池)的作用 数据源(连接池)是提高程序性能而出现的 事先实例化数据源,初始化部分链接资源 使用连接资源时从数据源中获取 使用完毕后将连接资源归还给数据源 ...
- IDEA 配置Tomcat乱码解决方法
问题:页面没有乱码,但是通过http请求的js文件会乱码,原因是由于 CharacterEncodingFilter 只会处理Servlet请求,不会处理静态文件的响应编码,所以这里需要进一步的配置. ...
- Elasticsearch 是如何实现 Master 选举的?
1.Elasticsearch 的选主是 ZenDiscovery 模块负责的,主要包含 Ping(节点之 间通过这个 RPC 来发现彼此)和 Unicast(单播模块包含一个主机列表以控制哪 些节点 ...
- 区分构造函数注入和 setter 注入?
构造函数注入 setter 注入 没有部分注入 有部分注入 不会覆盖 setter 属性 会覆盖 setter 属性 任意修改都会创建一个新实例 任意修改不会创建一个新实例 适用于设置很多属性 适用于 ...
- 学习Apache(三)
对某个目录开启验证登录 <Directory /var/www/html/admin > AllowOverride All Order allow,deny Allow from all ...
- 学习RabbitMQ(二)
MOM(message oriented middleware) 消息中间件(是在消息的传递过程中保存消息的容器,消息中间件再将消息从它的源中继到它的目标时,充当中间人的作用,队列的主要目的是提供路由 ...
- 学习 Haproxy (二)
1. Haproxy介绍 Haproxy是一个开源的高性能的反向代理或者说是负载均衡服务软件之一,它支持双机热备.虚拟主机.基于TCP和HTTP应用代理等功能.其配置简单,而且拥有很好的对服务器节点的 ...
- SpringCloud个人笔记-03-Config初体验
sb-cloud-config 配置中心 <?xml version="1.0" encoding="UTF-8"?> <project xm ...