Graft/Graft-Ack消息在PIM-DM网络中,路由器上出现组成员时,如果本身不在SPT上,则从对应的(S,G)表项的上游接口发送Graft消息。上游邻居立即恢复下游接口的转发,同时从该下游接口发出Graft-Ack消息,表示已经接受嫁接请求。如果上游邻居不在SPT上,则继续向上游发送Graft消息。
封装Graft-Ack消息的IP报文源地址为下游接口地址,目的地址为Graft消息的发出者。使用单播方式发送。
Graft消息格式与Join/Prune消息相同,仅部分字段取值存在差异。
Graft-Ack消息与Graft消息格式相同,并复制了Graft消息的内容。其中不同的是,Upstream Neighbor Address字段,在Graft-Ack消息中填为Graft消息的发出者地址。
图1 Join/Prune消息格式
图2 Group J/P Record字段格式
字段 | 长度 | 说明 |
Version | 4比特 | PIM版本,值为2。 |
Type | 4比特 | 消息类型,Graft值为6,Graft-Ack值为7。 |
Upstream Neighbor Address | 32比特 | 在Graft消息中填上游邻居地址。也就是收到嫁接消息的路由器上,进行嫁接操作的下游接口地址。 在Graft-Ack消息中填为Graft消息的发出者地址。 |
Number of Groups | 8比特 | 消息中包含的组播组数目。 |
Holdtime | 16比特 | 该字段为0。 |
Group Address | 32比特 | 组播组地址。 |
Number of Joined Sources | 16比特 | 针对该组播组,请求加入的组播源总数。 |
Number of Pruned Sources | 16比特 | 该字段为0。 |
Joined Source Address | 32比特 | 待嫁接的(S,G)的源地址。 |
报文示例图3 PIM Graft消息
参考标准
标准 | 描述 |
RFC 4601 | Protocol Independent Multicast - Sparse Mode (PIM-SM): Protocol Specification (Revised) |
RFC 3973 | Protocol Independent Multicast - Dense Mode (PIM-DM): Protocol Specification (Revised) |
RFC 4607 | Source-Specific Multicast for IP |