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

  我们知道在RPT里,所有组播数据流都会通过RP转发到接收者;对于一个RP来说,它可以同时服务于多个组播组,但一个组播组只能对应一个唯一的RP;所谓RP就是RPT(Rendezvous Point Tree)里的RP(Rendezvous Point),即汇合点;所有的组播源和接收者都是以该点为树根所形成的数据转发路径(RPT)来转发报文,组播源先向树根发送数据报文,之后的报文再向下转发到达所有接收者;

  RP发现

  RP发现有两种方式,一种是静态RP,即通过人工手动指定静态RP的ip地址,在所有PIM路由器上配置;另一种就是动态RP,所谓动态RP就是通过几台PIM路由器配置C-RP(Candidate-RP,候选RP),最后从C-RP中竞选产生RP;在竞选RP之前,首先要配置C-BSR(Candidate-BootStrap Router,候选自举RP),从C-BSR中先选出BSR;BSR负责收集C-RP的通告信息,并发布到整个PIM-SM网络,让所有路由器知道RP的位置;简单讲动态RP是在众多C-BSR中先选举BSR,然后有选举的BSR收集C-RP的通告信息,然后再从多个C-RP中竞选出RP,然后再由BSR通告给PIM-SM整个网络路由器让其知道RP的位置;静态和动态是可以同时配置的,默认情况下静态比动态优先级更低,但是静态可以配置更高;

  提示:首先在PIM-SM网络中通过多个C-BSR中竞选出BSR,然后由BSR收集C-RP发出的通告信息,再从多个C-RP中竞选出RP;然后再由BSR将其竞选出RP的结果通告给整个PIM-SM网络中的所有路由器,让所有路由器知道RP的位置;

  BSR选举规则

  1、在多个C-BSR中先比较其优先级,优先级数字越大,优先级越高,即优先级越大越有限成为BSR;

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

  RP选举规则

  1、如果只有一个C-RP,那么该节点就是域里的RP;如果有多个C-RP,首先比较C-RP的优先级,优先级较高(数字越小)者称为RP;

  2、如果优先级相同,者使用哈希(hash)函数计算哈希值,该值较大者称为RP;

  3、如果优先级和哈希值都相同,则比较C-RP接口ip地址,ip地址大者成为RP;

  实验:如下拓扑,配置PIM-SM

  pc1、pc2、msc1的配置

  各路由器配置

  R1的配置

sys
sys R1
int g0/0/0
ip add 192.168.21.1 24
int g0/0/1
ip add 192.168.11.1 24
q ospf 1234 router-id 1.1.1.1
area 0
net 192.168.21.1 0.0.0.0
net 192.168.11.1 0.0.0.0
q
q multicast routing-enable
int g0/0/0
pim sm
int g0/0/1
pim sm

  R2的配置

sys
sys R2
int g0/0/0
ip add 192.168.32.2 24
int g0/0/1
ip add 192.168.42.2 24
int g0/0/2
ip add 192.168.21.2 24
q ospf 1234 router-id 2.2.2.2
area 0
net 192.168.32.2 0.0.0.0
net 192.168.42.2 0.0.0.0
net 192.168.21.2 0.0.0.0
q
q multicast routing-enable
int g0/0/0
pim sm
int g0/0/1
pim sm
int g0/0/2
pim sm

  R3的配置

sys
sys R3
int g0/0/0
ip add 192.168.13.254 24
int g0/0/1
ip add 192.168.32.3 24
q ospf 1234 router-id 3.3.3.3
area 0
net 192.168.13.254 0.0.0.0
net 192.168.32.3 0.0.0.0
q
q multicast routing-enable
int g0/0/0
pim sm
igmp en
int g0/0/1
pim sm

  R4的配置

sys
sys R4
int g0/0/0
ip add 192.168.24.254 24
int g0/0/1
ip add 192.168.42.4 24
q ospf 1234 router-id 4.4.4.4
area 0
net 192.168.24.254 0.0.0.0
net 192.168.42.4 0.0.0.0
q
q multicast routing-enable
int g0/0/0
pim sm
igmp en
int g0/0/1
pim sm

  在R2上验证pim邻居

  提示:可以看到R2有三个邻居,分别是R1、R3和R4;和我们的拓扑是符合的;

  在R2的g0/0/2口抓包,让组播源发送数据,看看对应是否会生成组播路由?会不会像dm那样先扩散呢?

  提示:通过抓包,并没有发现有组播udp,只有pim的hello包;

  验证,看看R2上是否有组播路由产生呢?

  提示:可以看到R2上并没有组播路由产生;

  在R1上验证是否有组播路由产生呢?

  提示:可以看到R1上有组播路由产生,并且是(s,g)的形式;但是该路由信息只有上游接口,并没有下游接口;这是因为该路由器直连组播源,对应并没有接收者,所以只会有上游接口;通过上述截图我们也可以看到对应RP也是空;

  手动配置静态RP为2.2.2.2

  提示:在其他路由器上也需要配置同样的RP;同时其他路由器单播网络必须能够到达对应RP;

  提示:我们这里选择R2为RP,所以在R2上必须有一个接口的ip地址为RP的ip地址,并且该ip需要在ospf中宣告,便于其他路由器学习到到达RP的路由;

  在任意路由器上验证RP信息

  提示:验证RP信息,后面需要更对应组播地址,表示查看对应组播组里RP信息;默认情况下我们配置的静态RP信息是匹配所有组播组;

  提示:当然我们需要给某个组播组配置一个单独的RP,我们可以对应RP地址后面加ACL,表示ACL匹配到的地址都是对应的RP;prefered这个参数是配置静态RP信息优于动态RP,即当同时配置静态RP和动态RP后,静态RP上加上prefered这个参数后,对应静态RP的优先级就高于动态RP;

  在pc2上加入对应组播组,在R4上抓包看看对应过程

  提示:可以看到PC2 点加入对应组播组的时候,首先R4会发送igmp 查询,pc2报告有成员加入;

  提示:可以看到随后R4会发送加入消息给整个pim网络;

  查看R4的路由表,看看对应路由是否生成?

  提示:可以看到对应组播路由已经产生,并且是以(*,G)的形式,并不是(S,G);对应路由的下游接口也产生了;

  在R1上抓包,然后组播源发送数据

  提示:可以看到在R1上抓包能够抓到组播源向RP的注册包,这个包是通过在udp里封装了一个Pim包头来携带组播源的注册信息;

  在RP上查看对应组播路由

  提示:可以看到RP上的路由有源树和共享树两种形式,这是因为RP到组播源走SPT,RP到接收者走RPT;

  提示:同时我们在R2上也能抓到R4向R2发送到加入消息,对应是发送给RP所配置的地址;

  配置动态RP

  在R1和R2上新建lo接口,并配置c-bsr ,看看对应bsr的竞选过程

  将lo1接口宣告在ospf里

  提示:将lo1接口宣告在ospf里,是让其他路由器学习到相应接口的路由;

  提示:对应接口注意要先开启pim sm 然后才能配置对应角色;

  提示:可以看到在默认优先级的情况下,在R1配置成C-bsr以后,对应抓包会看到R1会周期性的发送bootstrap消息告诉其他路由自己是bsr;当R2配置c-bsr以后,对应R1看自己和R2的优先级一样,且R2的ip地址比自己大,此后R1就被抑制,取而代之的是R2成为BSR周期性的发送bootstrap消息告诉其他路由器自己是bsr;当然我们可以修改R1的优先级来来影响竞选结果;

  修改R1c-bsr的优先级为5

  再次查看bsr,看看谁是bsr?

  提示:可以看到当R1更改优先级以后,对应bsr就成为了R1;这是因为R1的优先级大于R2;

  配置R1和R2对应lo接口为c-rp接口

  抓包查看交互过程

  提示:从抓包的信息可以看到R2在向R1通告,R1向其他路由器发送bootstrap消息,说明BSR是R1;但RP是谁还不知道;

  验证:查看RP信息,看看谁竞选为RP了?

  提示:可以看到R2成为了RP;

  修改R2的C-RP的优先级为10,看看对应RP会不会被R1竞选?

  查看RP信息

  提示:可以看到把R2的c-RP的优先级加大以后,对应RP就变成了R1,这是因为RP选举首先看优先级,优先级数字越小则成为RP ;

  播放组播源,然后查看R4的路由表,看看对应是否发生了RPT向SPT切换了呢?

  提示:可以看到R4上也有了SPT,说明发生了RPT向SPT切换;

  在R4上修改永不向SPT切换

  再次查看R4的路由表,看看对应是否还会有SPT呢?

  提示:可以看到此时R4的路由表中就只有RPT,并没有SPT;说明RPT没有向SPT切换;

  PIM-DM和PIM-SM比较

  PIM-DM适用于规模较小、组成员相对比较密集的网络中,工作机制是通过周期性“扩散-剪枝”维护一棵连接组播源和组播成员的单向无环SPT;

  PIM-SM适用于组成员相对比较稀疏,分布广泛的大型网络中;工作机制采用接收者主动加入的方式建立组播分发树,需要维护RP、构建RPT、注册组播源;

HCNP Routing&Switching之组播技术PIM-SM RP的更多相关文章

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

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

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

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

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

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

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

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

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

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

  6. HCNP Routing&Switching之组播技术PIM-SM 稀疏模式

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

  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. 有限差分法(Finite Difference Method)解方程:边界和内部结点的控制方程

    FDM解常微分方程 问题描述 \[\frac{d^2\phi}{dx^2}=S_{\phi} \tag{1} \] 这是二阶常微分方程(second-order Ordinary Differenti ...

  2. sqlserver下载地址及密匙

    SqlServer 2017 下载地址及密钥 下载地址: ed2k://|file|cn_sql_server_2017_developer_x64_dvd_11296175.iso|17697771 ...

  3. Spring bean 和单例bean的线程安全

    Bean的作用域 Spring 3中为Bean定义了5中作用域,分别为singleton(单例).prototype(原型).request.session和global session,5种作用域说 ...

  4. PWA全称Progressive Web App,即渐进式WEB应用?

    一个 PWA 应用首先是一个网页, 可以通过 Web 技术编写出一个网页应用. 随后添加上 App Manifest 和 Service Worker 来实现 PWA 的安装和离线等功能解决了哪些问题 ...

  5. Spring Boot 中的监视器是什么?

    Spring boot actuator 是 spring 启动框架中的重要功能之一.Spring boot 监视器可帮助您访问生产环境中正在运行的应用程序的当前状态.有几个指标必须在生产环境中进行检 ...

  6. 启动Tomcat,Idea控制台输出乱码 淇℃伅

      解决:修改 tomcat 下的conf目录下 logging.properties这个文件ava.util.logging.ConsoleHandler.encoding修改为 为 GBK 就好了 ...

  7. memcached 是原子的吗?

    所有的被发送到 memcached 的单个命令是完全原子的.如果您针对同一份数据 同时发送了一个 set 命令和一个 get 命令,它们不会影响对方.它们将被串行化. 先后执行.即使在多线程模式,所有 ...

  8. WebSQL是什么?

    WebSQL是客户浏览器端的结构化的关系数据库.这是浏览器内部的本地RDBMS,你可以在这个本地RDBMS上执行SQL查询.

  9. 学习GlusterFS(一)

    一.概述 1.GlusterFS是集群式NAS存储系统,分布式文件系统(POSIX兼容),Tcp/Ip方式互联的一个并行的网络文件系统,通过原生 GlusterFS 协议访问数据,也可以通过 NFS/ ...

  10. three模型高亮外发光效果

    页面效果如下: vue3+three完整代码如下: <template> </template> <script setup> import * as THREE ...