2021.12.6 偷心贼十恶不赦,那就判TA永远忘不掉失心之人
6.4 Switchover
1.
发起者一定是叶路由器
,
发起的原因是因为组播数据的速率
(
占用的带宽
)
超过了叶路由器规定的阀值
,
对应的设置命令
ip pim spt
threshold [value | infinity].
默认值为
0,
意味着当叶路由器收到第一
个组播数据包以后就会开始进行路径切换
.
2.
切换的发起依赖于
(S, G) Join Message,
当叶路由器收到组播数据后
,
便可获知源的信息
,
因此便可以产生
(S, G)
表项
,
并且利用
incoming interface
向上游产生
(S, G)Join Message.
直到该消息到达
第一跳路由器
.
3.
当第一跳路由器收到该消息后
,
则会在对应的
(S, G)
表项中添加对应出口
,
同时意味着从组播源到组成员建立了一条最短路径
,
因
为该路径是针对源地址进行
RPF
检测完成的
.
4.
组播源沿着新的路径转发组播数据到达组成员
,
并且沿途节点需要修剪原有路径
.
5.
发起修剪的设备一定在共享树上并且满足该条件
,
即
(*, G)
incoming
与对应的
(S,G)incoming
不一致
.
发起
Prune
的原因是因
为在新的路径上收到了组播数据包
.
6.
产生的修剪消息是
RP bit (S, G) Prune Message,
因为该消息是
(S,G) Prune,
但是却会通过
(*, G) incoming
接口向上游发送
,
因此
RP
bit
置位
.
7.
该消息沿途向
RP
发送
,
但是只删除对应的
(S, G)
表项中的
OIL,
不修改
(*, G)
表项
.
8.RP
收到后
,
也会沿着自己
(S, G) incoming
继续向上游发送
(S, G)Prune Message,
完成对原有
SPT
的修剪
.
9.RP
上的
(S, G)
表项不会删除
,
因为只要组播源存在
,
就会不间断的向
RP
发起
Register Message,
从而刷新
RP
上的
(S, G)
表项
.
如果
将来有新的组成员出现
, RP
可以立刻向源发起
(S, G) Join
消息来
建立
SPT.