**组播PIM-SM详解****

组播PIM-SM详解**
PIM_SM:采用PULL的模式。
特点:需要建立SPT(源树)和RPT(共享树)两种树。
涉及设备:BSR、RP、DR、源端、组成员(接收者)。
设计pim的路由表项:(S,G)表项、(,G)表项以及RPF检查。
组播ip地址:224.0.0.0~239.255.255.255
特殊组播ip地址:224.0.0.1(本地子网的所有路由器和主机)\224.0.0.2(本地子网的所有路由器)\224.0.0.13(所有使用pim组播路由协议的路由器侦听地址)
1、RPF(reverse path forwoarding):反向路径转发
(1)RPF检查机制:
组播路由协议是依赖于单播路由、MBGP和静态组播路由的,组播路由协议利用RPF检查机制来创建组播路由表项,以确保数据传输正确性和避免环路。
(2)RPF检查过程:
当组播数据进入pim路由器的时候,路由器会以“组播报文源”的IP地址作为目的地址查找单播路由表项,选择最优路由。表项中,路由条目的出接口即为RPF接口,吓一跳为RPF接口的邻居。Pim路由器认为,来自RPF邻居且有该RPF接口接收的组播报文的路径为最短路径。
(3)SPT和RPT的RPF检查机制有所不同:
SPT的组播报文源ip地址为组播源的ip地址;RPT的“组播报文源”ip地址为RP的ip地址。(4)RPF检查在组播转发中的应用:
第一种情况:路由器内没有存在相应的(S,G)表项,则进行RPF检查。
组播数据入接口RPF检查成功,则其他接口转发组播数据,并生成组播路由表和转发表。RPF检查失败则在入接口丢弃组播数据。
第二种情况:路由器内存在相应的(S,G)表项,则查询(S,G)表项进行转发。
组播数据入接口和(S,G)表项的RPF接口一致,则其他接口正常转发(无需进行RPF检查,节省网络资源)。
组播数据入接口和(S,G)表项的RPF接口不一致,则需要重新进行RPF检测过程。
2、BSR、RP、DR的建立:
在这里插入图片描述
(1)每隔30s所有运行pim协议的接口会向224.0.0.13的组播侦听地址发送hello信息,老化时间为105s。
(2)可以指定多个C_BSR,通过优先级(越大越好,默认0)和ip地址(越大越好)选举出一台BSR,选举出来BSR会将自己的信息(ip地址等)发送到224.0.0.13,让所有pim路由器知道BSR的位置。
(确定BSR后每隔60s所有运行PIM协议的路由器接口地址会向224.0.0.13的组播地址发送含有BSR信息,老化时间为150s)
在这里插入图片描述
(3)BSR负责收集C_RP的消息(C_RP单播发送自己的选举消息给BSR),BSR将收集的信息封装为BSR报文发至224.0.0.13组播地址,最终由C_RP自己选举出RP(选举规则是优先级越小越好、hash越大越好、ip地址越大越好)。
(4)每隔60sBSR会监听到RP\c_RP的RP activertisment信息(单播包,地址是C_PR\RP接口地址—BSR接口地址),老化时间150s,在老化时间之后,如果没有收到新的RP activertisment,BSR认为RP\C_RP down掉。
在这里插入图片描述
版权声明:以下大部分内容借鉴CSDN博主「KI0323」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/KI0323/article/details/82386119
2、PIM-SM工作过程:
(1)DR的作用和选举:
DR的作用:在RPT(共享树)上连接组成员(接收者)的路由器接口叫做成员端DR,负责向RP发送JOIN加入报文。在SPT(源树)上连接源端的路由器接口叫做源端DR,负责向RP发送注册Register消息。
DR的选举:在源端和组成员(接收者)所在网段有可能存在多台PIM路由器,这时候需要选举出DR为源端和组成员服务,选举过程在PIM邻居发现的时候完成,此后PIM路由器邻居之间发送的hello报文会携带DR的相关信息。选举规则为优先级越大越好,ip地址越大越好。
(2)PIM-SM的工作过程就是SPT和RPT建立的过程。RPT可以切换成SPT,一般会在用户端DR设置一个阀值,当组播流超过阀值的时候,就会切换成SPT。默认阀值为0,也就是一有组播流就从RPT切换成SPT。
在这里插入图片描述
(1)主机加入某个组播组时,发送IGMP成员通告。
(2)最后一跳路由器向RP发送(
,G)Join消息。
在这里插入图片描述
(3)(,G)Join消息到达RP的过程中,沿途各路由器都会生成相应的(,G)组播转发条目。
在这里插入图片描述
在这里插入图片描述
(1)组播源向组播组发送第一个组播报文。
(2)源端DR将该组播报文封装成Register报文并以单播方式发送给相应的RP。(源端DR和RP中间的路由器不会出现(S,G)表象,但是DR和RP会出现(S,G)表项)
(3)RP收到注册消息后,一方面从Register消息中提取出组播报文,并将该组播报文沿RPT转发给接收者,接收者收到组播报文后通过RPF检测,向源端发送JOIN加入(S,G)表项,如果存在次优路径(接收者不通过RP路由器的最优路径),join加入消息通过单播路由表寻找最短路径,建立源端至接收者组成员的最短路径,形成SPT树,同时接收者组成员会逐条发送剪枝prune报文。(解决次有路径的过程叫做switchover机制)
(4)另一方面,RP向源端DR发送(S,G)Join消息,沿途路由器上都会生成相应(S,G)表项,从而建立了一颗由RP至组播源SPT树。(源端—RP的SPT树建立成功)
(5)SPT树建立后,组播源发出的组播报文沿该SPT转发至RP。
(6)RP沿SPT收到该组播报文后,向源端DR单播发送Register-stop消息,停止发送注册信息。

3、Assert断言机制
在这里插入图片描述
在组播数据转发路径中的一个网段内有多台pim路由器时(如routeB和routeC),通过Assert机制只允许一个pim路由器转发组播数据,具体工作过程如下:
(1)B下游接口向C发送组播数据,C下游接口通过RPF检测后丢弃组播数据,C下游接口向B发送组播数据时,B也丢弃组播数据,这时候会B和C都会向该网段发送assert报文。
(2)B和C会根据Assert报文消息互相比较选举出assertwier和asserloser,如果B为assertwiner,那么会继续发送组播数据,C则禁止下游接口向该网段发送组播数据,从(S,G)表中下游端口删除。

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值