热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PIM介绍

(1)PIM(协议无关组播路由协议)是什么协议?作用是什么?作用:用于组播路由器与

(1)PIM(协议无关组播路由协议)是什么协议?作用是什么?
作用:用于组播路由器与组播路由器之间构建组播路由表协议无关组播:与网络层运行哪一种单播路由协议无关,但是网络层必须要运行一种单播路由协议,用于组播数据转发时进行RPF检查。
特点: 

1 工作在一个AS内组播路由协议
2PIM分为两种模式,PIM-SM,PIM-DM

使用PIM的位置:
1 连接组播源的接口
2 需要转发组播路径经过的接口
3 连接接收者的接口(可选,运行IGMPV1的接口必须要配置PIM)
PIM协议的角色:
1第一跳路由器:连接组播源的路由器(DR)
2最后一跳路由器:连接接收者的路由器(DR)
3 中间路由器:负责转发组播数据流
4 叶子路由器:与用户主机相连的PIM路由器,但连接的用户主机不一定为组成员
5 MDT:组播分发树,组播数据流所经过的路径形成的一颗无环的树
DR主要作用如下:
1 在连接组播源的共享网段,由DR负责向RP发送Register注册报文。 

2 在连接组成员的共享网段,由DR负责向RP发送Join加入报文。 注1:在DM模式中也选DR,但不发挥作用
注2:每个中间网段也会选举DR,SM模式中,DR只在头一条和最后一跳发挥作用。

1、PIM 的作用,为什么称为协议无关组播;分哪几种模式
PIM 运行在路由器之间,生成组播的路由表项,指导组播流量的转发。
协议无关组播:组播路由器通过 RPF 检查来确定 RPF 接口,而 RPF 检查是通过 IGP路由表进行,并不关心 IGP 路由表中的路由如果生成。
DM 密集模式 :适用于接收者密集,小型网络的情况,SPT 树越多,很多网段都有接受者,就认为接收者越多,也就越密集。
SM 稀疏模式 :适用于接受者少,大型网络。

2、PIM SM 的工作机制
1、RPT 树的形成
2、SPT 树的形成
3、注册消息的作用,及什么时候会发送注册停止。
4、切换的过程,切换后的剪枝


4、PIM SSM mapping
运行在 IGMPV1 IGMPV2 中,由于 V1 和 V2加组的时候没有指定一个源的信息,也就只能建立 RPT 是,无法建立 SPT 树启动了 mapping 后,要手动绑定一个源信息,让 路由器知道源的信息,从而建成 SPT 树。


5、PIM 的报文(10种,哪些是单播哪些是组播)

6、RPF 的作用及使用场景
RPF 的作用:可以解决次优路径,防环,确定建树的出接口。

如何判断网络中使用PIM-DM还是PIM-SM作为组播路由协议?
通过网络管理员对网络中接收者的分布情况与组播路由器上(*,G)条目的数量而决定的。
 

如果接收者的数量很多,是不是一定会使用PIM-DM模式?
不是,主要是通过组播路由器上(*,G)条目的数量而决定的,如果出现一个组播路由器下挂着100多个接收者。
那么基于整体考虑,还是使用PIM-SM模式会比较节省组播网络中组播路由器的设备开销。
注意:组播路由协议的选择主要是看接收者分布的密集程度
 

有两台路由器在同一网段,哪台路由器负责向组播接收者发送组播数据流?如果是在组播源处,谁负责接收组播流?在PIM-DM中,由AssertWinner负责转发组播流,组播源处都会接受组播流, 转不转发组播流需要的组播转发表
&#xff08;看或者<*&#xff0c;G>的下游接口是否为空&#xff0c;如果为空&#xff0c;不转发&#xff0c;如果不是空的&#xff0c;朝下游接口转发&#xff09;在PIM-SM中&#xff0c;由DR负责转发组播流&#xff0c;在组播源处都会接收组播源&#xff0c;只由DR负责向RP发送注册消息&#xff0c;RP朝着源的发送join消息&#xff0c;根据&#xff08;S&#xff0c;G&#xff09;条 目来进行组播流转发

PIM-SM&#xff08;稀疏模式&#xff09;
想象网络的接收者分布比较稀疏&#xff0c;接收者需要流量需要向RP&#xff08;汇聚点&#xff09;进行请求&#xff0c;当组播源活跃需要向RP注册&#xff0c;发现是否存在接收者&#xff0c;如果存在才会发送组播流量。
特点&#xff1a;
1 .使用“拉&#xff08;Pull&#xff09;模式”转发组播报文
2 .存在RP
3 .存在SPT以及RPT树&#xff0c;流量根据SPT以及RPT树转发
4.适用于大型组播网络
工作机制&#xff1a;
&#xff08;1&#xff09;邻居发现建立邻居的过程同PIM-DM一致&#xff0c;协商参数、报文格式类型也完全一致。DR竞选规则也一致。
DR作用&#xff1a;
1 .在最后一跳路由器给IGMPV1充当查询器&#xff1b;
2 .在最后一跳路由器只有DR路由器才会向RP建立RPT树&#xff08;避免收到重复组播流&#xff09;&#xff1b;
3 .在最后一跳路由器由DR发出RPT树向SPT树切换&#xff1b;
4 .在第一跳路由器由DR向RP发出注册&#xff1b;
&#xff08;2&#xff09;RP发现
注意问题&#xff1a;
1 每一个组播组只能存在一个RP&#xff1b;
2 .RP的地址必须要全网可达能通过IGP协议实现访问&#xff08;建立rpt树&#xff09;&#xff1b;
3 .RP所在的接口地址必须要运行PIMSM。
成为RP的方式&#xff1a;
手工指定 

a)每台组播路由器都需要配置 

b&#xff09;没有冗余备份&#xff08;对于一个组播组&#xff09;基于msdp协议&#xff0c;静态RP可以实现备份。 

动态发现 

a&#xff09;不需要每台组播路由器配置RP&#xff0c;可以自动学习到RP 

b&#xff09;有冗余备份&#xff0c;一个组播组可以配置多个C-RP&#xff0c;一个 主多个备份
实现&#xff1a; 

BSR&#xff1a;负责收集以及通告RP的信息,网络中可以存在多台C-BSR 

RP&#xff1a;为一个或者多个组提供RP服务。网络中可以存在多台C-RP
工作流程 

1 网络中所有的C-BSR都会以自己为BSR向所有的PIM邻居发出BSR报文&#xff08;组播发送&#xff09;;
2 PIM路由器收到C-BSR消息之后会选出最优的一台作为BSR:
选举规则&#xff1a;
a&#xff09;比较BSR的优先级&#xff08;默认为0&#xff0c;越大越优先&#xff09;&#xff1b; 

b&#xff09;比较BSR的IP地址&#xff0c;越大越优&#xff1b; 

3 .网络中选出最优的BSR之后&#xff0c;BSR会周期性每60s泛洪BSR消 息。所有的C-RP会向BSR单播发送RP的通告报文。RP通告包含&#xff08;RP服务的组范围&#xff0c;RP的优先级&#xff0c;RP的IP地址&#xff09;;
4 .当BSR收到所有RP的通告报文之后&#xff0c;汇总成RP-set发送给所 有的PIM邻居&#xff1b;
5 .PIM路由器根据收到的BSR报文中的RP-SET信息&#xff0c;选出最优的RP, 选举规则如下&#xff1a;
a).RP服务组范围的精确度&#xff0c;范围越精确越优&#xff1b; 

b)RP的优先级&#xff0c;越小越优,RP优先级默认为0&#xff1b;

c)如果优先级相同&#xff0c;则执行Hash函数&#xff0c;计算结果较大 者获胜&#xff1b;
d).如果以上都相同&#xff0c;则C-RP地址较大者获胜。

Bsr消息报文格式如下&#xff1a;

注意&#xff1a;在报文中没有体现hash值&#xff0c;但是实际上会携带。

&#xff08;3&#xff09;RPT构建:
1 .由最后一跳DR路由器发起&#xff0c;当收到IGMP的报告消息&#xff0c;会产生相应的&#xff08;*,G&#xff09;条目&#xff0c;然后向去往RP的上游路由发出&#xff08;*,G&#xff09;的jion消息 

2.上游路由器收到&#xff08;*,G&#xff09;的jion消息之后&#xff0c;会检查&#xff08;*,G&#xff09;的jion消息的上游邻居接口和接收报文的接口IP地址是否是一致&#xff0c;如果一致创建&#xff08;*,G&#xff09;的路由条目&#xff0c;并且继续往指向RP的上游路由器发送&#xff08;*,G&#xff09;的jion消息

上游接口&#xff1a;指向RP的接口 

下游接口&#xff1a;收到&#xff08;*,G&#xff09;的jion消息接口

3 .上游路由逐跳往RP发送&#xff08;*,G&#xff09;的jion消息构建RPT树&#xff0c;直达RP路由器 为止

上游接口&#xff1a;NULL
下游接口&#xff1a;收到&#xff08;*,G&#xff09;的jion消息接口
&#xff08;4&#xff09;组播源注册
1.当第一跳路由器DR收到来自组播源的流量&#xff0c;在第一跳路由器生成(S,G),并且会向RP发出单播的注册报文&#xff0c;单播的注册报文包含组播的流量
2.当RP收到注册报文&#xff0c;会检查注册报文中的(S,G)是否在RP上存在相应&#xff08;*&#xff0c;G&#xff09;&#xff1b;
a) 如果不存在&#xff0c;向组播源发送注册停止报文&#xff0c;组播 源收到注册停止消息&#xff0c;停止发送注册报文60S
b)如果存在&#xff0c;RP会将组播报文沿着RPT树发送给接 收者&#xff0c;并且在RPT树上会生成相应的&#xff08;S,G&#xff09;条目
3.RP会向组播源的方向发送&#xff08;S,G&#xff09;的jion报文&#xff0c;上游的路由器收到 &#xff08;S,G&#xff09;的jion报文也会创建&#xff08;S,G&#xff09;的路由条目&#xff0c;并且继续向组播 源的方向发送&#xff08;S,G&#xff09;的jion报文&#xff0c;直至组播源的第一跳路由器为止&#xff1b; ○4 .RP从SPT树收到组播流之后&#xff0c;会单播向第一跳DR路由器发送注册停止报文。

&#xff08;5&#xff09;SPT切换
1 好处:
a)组播源到接收者走为最优的路径 

b&#xff09;.减轻RP的负担
2 切换条件&#xff1a;由最后一跳路由器的DR发起&#xff0c;当接收的组播流达到一定的阈值&#xff08;默认为0&#xff09;
3 切换的过程&#xff1a;
a)当最后一跳路由器的DR组播流达到一定的阈值&#xff0c;会向组播 源的方向发出&#xff08;S,G&#xff09;的jion消息&#xff1b; 

b).当上游路由器收到&#xff08;S,G&#xff09;的jion消息&#xff0c;会将&#xff08;S,G&#xff09;的flag 位切换为SPT置位&#xff0c;上游接口为离组播源最近的接口&#xff0c;下游接口为接收&#xff08;S,G&#xff09;的jion消息接口&#xff0c;并且继续往组播源的方 向发&#xff08;S,G&#xff09;的jion消息&#xff0c;建立SPT树&#xff1b; 

c).当分叉点的组播路由器收到两份组播流&#xff0c;会触发&#xff08;S,G&#xff09;rpt 置位的剪枝报文&#xff0c;朝RP的方向进行发送&#xff0c;作用是为了删除掉RPT树上&#xff08;S,G&#xff09;的下游接口。

静态RP与动态RP的优缺点分别是什么&#xff1f;
静态RP的优点&#xff1a;配置简单、快捷&#xff0c;无周期性发送报文机制&#xff0c;设备开销小&#xff1b;
缺点&#xff1a;无备份机制、负载均衡机制&#xff1b;
动态RP的优点&#xff1a;能实现备份&#xff0c;能根据网络拓扑的变化&#xff0c;进行收敛&#xff1b;
缺点&#xff1a;会额外地消耗设备的开销&#xff0c;存在报文的周期性发送&#xff0c;收敛慢
 

动态RP的C-BSR的收敛时间是多少&#xff1f;RP的呢&#xff1f;
c-bsr的收敛时间为180s&#xff0c;c-rp的收敛时间为150s。
 

如果网络中的RP设备发生故障&#xff0c;其他的路由器需要多久才能得知RP发生故障&#xff1f;
180s&#xff0c;因为bsr需要150s确定RP发生故障&#xff0c;但是要通知其他路由器&#xff0c;需要第 三份BSR消息才能通知全网的路由器。
 

在PIM-SM中&#xff0c;存在断言场景吗&#xff1f;
在一般情况下&#xff0c;PIM-SM不存在断言场景&#xff0c;因为RPF树的构建&#xff0c;发送的join报 文是只能发送给一个上游邻居的&#xff0c;所以无法触发断言。

注册报文是不间断发送的吗&#xff1f;为什么&#xff1f;
答&#xff1a;因为当组播源活跃时&#xff0c;注册报文已经会携带组播流量发送给RP&#xff0c;RP一旦收到之后就立刻沿着RPT树泛洪&#xff0c;所以需要保证组播流量的泛洪&#xff0c;需要不间断地发送注册报文。
 

RP什么时候会发送注册停止报文&#xff1f;
<1>收到SPT树过来的组播流之后&#xff1b;
<2>收到的注册报文中包含的&#xff08;S&#xff0c;G&#xff09;与RP上建立的RPT树不相符&#xff0c;说明RP不需要接收此组播流&#xff0c;触发注册停止报文&#xff1b;
 

RP如何判断收到的组播流量是从SPT树流过来的&#xff1f;
通过组播流量中的flag位去进行判断。 扩展问题8&#xff1a;注册消息是单播发送的吗&#xff1f;
是的&#xff0c;因为注册报文前面封装PIM报文&#xff0c;在PIM报文前面在封装单播IP报文&#xff0c;路由器收到后将注册报文当成普通的单播报文进行转发。
 

SPT切换的作用是什么&#xff1f;
&#xff08;1&#xff09;防止次优路径---使得源到接收者的组播流量走最优的路径&#xff1b;
&#xff08;2&#xff09;RP负荷过重&#xff0c;减轻RP的负担
 

何时发生Switchover&#xff1f;
在最后一跳路由器上收到第一份组播报文时&#xff0c;会检查组播报文是否超过接口设置的阈值&#xff0c;如果超过阈值&#xff0c;就会发生SPT切换&#xff08;默认开启&#xff09;
 

pim-sm中&#xff0c;生成RPT树后&#xff0c;成员如何离组&#xff1f; 成员侧DR确定底下没有加入相应组的成员时&#xff0c;删除对应的&#xff08;*&#xff0c;G&#xff09;表项&#xff0c;并向上游发送prune报文&#xff0c;上游邻居收到prune报文后&#xff0c;直接删除&#xff08;*&#xff0c;G&#xff09;表项&#xff0c;然 后继续向上游发送prune报文&#xff1b; 

&#xff08;*&#xff0c;G&#xff09;join报文和&#xff08;S,G&#xff09;join报文的区别是什么&#xff1f;
&#xff08;*&#xff0c;G&#xff09;join报文中的ip address为RP &#xff08;S,G&#xff09;join报文中ip address为组播源


&#xff08;*&#xff0c;G&#xff09;prune报文和&#xff08;S,G&#xff09;prune报文的区别&#xff1f;
&#xff08;*&#xff0c;G&#xff09;join报文中ip address为RP &#xff08;S,G&#xff09;join报文中ip address为组播源


推荐阅读
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • MySQL初级篇——字符串、日期时间、流程控制函数的相关应用
    文章目录:1.字符串函数2.日期时间函数2.1获取日期时间2.2日期与时间戳的转换2.3获取年月日、时分秒、星期数、天数等函数2.4时间和秒钟的转换2. ... [详细]
  • 本文节选自《NLTK基础教程——用NLTK和Python库构建机器学习应用》一书的第1章第1.2节,作者Nitin Hardeniya。本文将带领读者快速了解Python的基础知识,为后续的机器学习应用打下坚实的基础。 ... [详细]
  • 小王详解:内部网络中最易理解的NAT原理剖析,挑战你的认知极限
    小王详解:内部网络中最易理解的NAT原理剖析,挑战你的认知极限 ... [详细]
  • 第二章:Kafka基础入门与核心概念解析
    本章节主要介绍了Kafka的基本概念及其核心特性。Kafka是一种分布式消息发布和订阅系统,以其卓越的性能和高吞吐量而著称。最初,Kafka被设计用于LinkedIn的活动流和运营数据处理,旨在高效地管理和传输大规模的数据流。这些数据主要包括用户活动记录、系统日志和其他实时信息。通过深入解析Kafka的设计原理和应用场景,读者将能够更好地理解其在现代大数据架构中的重要地位。 ... [详细]
  • 本文首先介绍了BGP的基本概念和基础知识,详细解析了BGP的不同邻居类型及其作用。接着,文章对BGP的报文格式、状态机以及路由宣告原则进行了深入探讨,包括本地宣告、引入宣告和缺省路由的处理方法。通过这些内容,读者可以全面了解BGP路由协议的核心机制及其在实际网络中的应用。 ... [详细]
  • Eclipse JFace Text框架中IDocument接口的getNumberOfLines方法详解与编程实例 ... [详细]
  • 如果应用程序经常播放密集、急促而又短暂的音效(如游戏音效)那么使用MediaPlayer显得有些不太适合了。因为MediaPlayer存在如下缺点:1)延时时间较长,且资源占用率高 ... [详细]
  • 本文介绍了几种常用的图像相似度对比方法,包括直方图方法、图像模板匹配、PSNR峰值信噪比、SSIM结构相似性和感知哈希算法。每种方法都有其优缺点,适用于不同的应用场景。 ... [详细]
  • Ihavetwomethodsofgeneratingmdistinctrandomnumbersintherange[0..n-1]我有两种方法在范围[0.n-1]中生 ... [详细]
  • 本文是Java并发编程系列的开篇之作,将详细解析Java 1.5及以上版本中提供的并发工具。文章假设读者已经具备同步和易失性关键字的基本知识,重点介绍信号量机制的内部工作原理及其在实际开发中的应用。 ... [详细]
  • 在使用 Cacti 进行监控时,发现已运行的转码机未产生流量,导致 Cacti 监控界面显示该转码机处于宕机状态。进一步检查 Cacti 日志,发现数据库中存在 SQL 查询失败的问题,错误代码为 145。此问题可能是由于数据库表损坏或索引失效所致,建议对相关表进行修复操作以恢复监控功能。 ... [详细]
  • 在分析和解决 Keepalived VIP 漂移故障的过程中,我们发现主备节点配置如下:主节点 IP 为 172.16.30.31,备份节点 IP 为 172.16.30.32,虚拟 IP 为 172.16.30.10。故障表现为监控系统显示 Keepalived 主节点状态异常,导致 VIP 漂移到备份节点。通过详细检查配置文件和日志,我们发现主节点上的 Keepalived 进程未能正常运行,最终通过优化配置和重启服务解决了该问题。此外,我们还增加了健康检查机制,以提高系统的稳定性和可靠性。 ... [详细]
  • 在交换机链路聚合中,负载均衡算法通过哈希表实现。每当创建一个新的聚合组时,交换机的底层硬件会生成一个对应的哈希表,该表存储在交换芯片上。哈希表的结构包括索引(Index)和相应的条目,这些索引由硬件支持,用于确定数据包的传输路径。通过这种方式,负载均衡算法能够高效地分配网络流量,提高链路利用率和系统性能。 ... [详细]
  • 解读中台架构:微服务与分布式技术的区别及应用
    中心化与去中心化是长期讨论的话题。中心化架构的优势在于部署和维护相对简单,尤其在服务负载较为稳定的情况下,能够提供高效稳定的性能。然而,随着业务规模的扩大和技术需求的多样化,中心化架构的局限性逐渐显现,如扩展性和故障恢复能力较差。相比之下,微服务和分布式技术通过解耦系统组件,提高了系统的灵活性和可扩展性,更适合处理复杂多变的业务场景。本文将深入探讨中台架构中微服务与分布式技术的区别及其应用场景,帮助读者更好地理解和选择适合自身业务的技术方案。 ... [详细]
author-avatar
天使骨头_799
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有