组播PIM报文详解
- PIM报文种类和用途
- DM模式报文
- SM模式报文
- PIM报文细节
- Hello报文
- Join/Prune报文
- Graft报文
- Bootstrap报文
- Assert报文
组播PIM报文详解
一、PIM报文种类和用途
1.DM模式报文
PIM-DM模式的主要报文有以下5种
(1)hello报文
主要用于PIM邻居的发现、保活,同时也会协商PIM的相关参数。
进行快速失效检测机制 ①缩短接口发送hello消息的时间间隔 ②网段邻居间建立PIM BFD会话
(2)Join/Prune(加入/剪枝)报文
John报文用于加入组播分发树,Prune报文用于告诉上游端口不用给自己发送组播流量,相当于修剪组播分发树。
(3)Graft(嫁接)报文
用于通告上游路由器加入组播分发树。
在修剪成功后在此嫁接到组播树中。因为某些网络没有组播组成员,因此这些分支会被pruned掉,但如果突然有新的组播组成员要求加入组播组,这时组播组成员会主动发送一个report报文给DR,DR收到后不是发送join报文来加入树,而是改为发送graft报文来嫁接到组播树,该DR发送graft报文到上一跳PIM路由器,上一跳PIM路由器在转发给上上跳路由器,直到转发到源所在的DR,这样被修剪的分支就可以加入源树(即把输出接口列表中被标为pruning的接口改为forwording状态),开始转发组播数据了。
(4)Graft-ACK报文
一个设备在收到Graft报文后,需要给对方回送Graft-ACK报文,以便告知对方收到Graft报文。
(5)Assert(断言)报文
用于断言机制,当一个网络中有多个PIM路由器可以发送组播流量时,断言机制可以使得所有组播路由器选举出一个路由器发送组播流量,这样可以减少网络内重复的组播流量。
2.SM模式
SM模式部分报文和DM模式一样:
(1)Hello报文
(2)Join/Prune报文
(3)Assert报文
上述三种报文,在SM模式中与DM模式中起相同的作用。此外PIM-SM模式还有其他特殊的报文
(4)Register(注册)报文
该报文是与组播源直接相连的第一跳路由器发送给RP的,主要是通知RP,组播源已经上线,可以开始组播流量的分发。
(5)Register-Stop(注册停止)报文
该报文是RP发往组播源端路由器,用于告诉组播源端路由器停止发送组播流量。在一下三种情况下会发送该报文
- 已经没有下游接收者
- RP本身不在提供组播服务
- 组播路径已经由RPT切换到SPT
(6)Bootstrap(自举)报文
该报文是想要竞选BSR的路由器发送的,也用来向全网通告C-RP的信息。
(7)Candidate-RP-Advertisement(候选RP通告)报文
该报文用于获选RP向BSR发送选举信息,包括IP地址、优先级等。
二、PIM报文细节
(1)hello报文
运行PIM的路由器之间通过hello报文发现并维护PIM邻居关系。无论是PIM-DM还是PIM-SM模式,其Hello报文完全一致。
Hello报文源地址是本接口的IP地址,目的IP地址是224.0.0.13,TTL为1。
(2)Register报文
Register报文只在PIM-SM模式中使用。
报文源地址是与组播源直接相连的第一跳路由器(如果有多个,就选择DR路由器)IP地址,目的地址为RP的IP地址。
(3)Join/Prune报文
一条该报文可以同时包含Join和Prune信息,也可以只包含Join或只包含Prune信息。该消息在DM和SM模式中使用,格式完全相同。
该报文的源地址是本地接口的IP地址,目的地址为224.0.0.13,TTL为1。
(4)Graft报文
Graft报文源地址为本地接口IP地址,是以单播形式发送,目的地址为上游路由器的IP地址。
* Graft-ACK报文与Graft报文非常相似,甚至复制了Graft报文的大部分信息,Graft报文与Join/Prune报文也相似,只在部分字段有差异。
(5)Bootstrap报文
当网络使用动态RP时,所有配置了C-BSR的路由器都会发送Bootstrap报文,用于参加BSR竞选,竞选结束后,获胜者会持续发送该报文。
该报文的目的地址是224.0.0.13,TTL为1,但是接收到该报文的路由器会继续发送给它的PIM邻居,最终达到全网泛洪。
(6)Assert报文
Assert报文的源地址为本地接口IP地址,目的地址是224.0.0.13,TTL为1,使用组播方式发送。
发表评论