MSDP报文格式
MSDP(Multicast Source Discovery Protocol)称为组播源发现协议,是基于多个PIM-SM(Protocol Independent Multicast Sparse Mode)域互连而开发的一种域间组播解决方案。适用条件:域内组播路由协议必须是PIM-SM。MSDP仅对ASM(Any-Source Multicast)模型有意义。
协议栈结构
MSDP消息封装结构
+--------------+--------+----------+--------------+
| TCP header | Type | Length | Value .... |
+--------------+--------+----------+--------------+
|<-------------MSDP TLV----------->|
| 字段 | 长度 | 说明 |
|---|---|---|
| Type | 8比特 |
消息类型: 1: Source-Active 2: Source-Active Request 3: Source-Active Response 4: KeepAlive 5: Reserved 6: MSDP traceroute in progress 7: MSDP traceroute reply |
| Length | 16比特 | 消息长度,包含Type、Length和Value字段的长度,字节为计数单位。除了Keepalive消息外,其他消息要求最小长度为4字节。最大长度为9192字节。 |
| Value | Variable length | 消息内容,因消息类型而异。 |
MSDP Source-Active
MSDP Source-Active消息用于携带多组(S,G)信息,在多个RP之间传递,或者封装PIM-SM组播数据。
MSDP Source-Active消息的格式
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+---------------+-------------------------------+---------------+
| Type | Length | Entry Count |
+---------------+-------------------------------+---------------+
| RP Address |
+---------------------------------------------------------------+
| (S, G) Entry [1] |
+---------------------------------------------------------------+
| .... |
+---------------------------------------------------------------+
| (S, G) Entry [n] |
+---------------------------------------------------------------+
MSDP Source-Active消息字段解释
| 字段 | 长度 | 说明 |
|---|---|---|
| Type | 1字节 | 消息类型,值为1。 |
| Length | 2字节 | 整个TLV的长度。 |
| Entry Count | 1字节 | 消息中包含的(S,G)项总数。如果是数据消息,则Entry Count值为1。 |
| RP Address | 4字节 | 源RP地址。 |
| (S,G)Entry [1]...[N] | 变长 | (源,组)信息,参见。 |
(S,G)Entry的格式
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-----------------------------------------------+---------------+
| Reserved | Sprefix Len |
+-----------------------------------------------+---------------+
| Group Address |
+---------------------------------------------------------------+
| Source Address |
+---------------------------------------------------------------+
(S,G)Entry的字段解释
| 字段 | 长度 | 含义 |
|---|---|---|
| Reserved | 3B | 保留字段,发送报文时置0;接收到报文时,对该字段不做任何处理。 |
| Sprefix Len | 1B | 源地址掩码长度,以32位传输。 |
| Group Address | 4B | 组地址。 |
| Source Address | 4B | 组播源地址。 |
MSDP Source-Active Request
MSDP Source-Active消息用于携带多组(S,G)信息,在多个RP之间传递,或者封装PIM-SM组播数据。
MSDP Source-Active消息的格式
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+---------------+-------------------------------+---------------+
| Type | Length | Entry Count |
+---------------+-------------------------------+---------------+
| RP Address |
+---------------------------------------------------------------+
| (S, G) Entry [1] |
+---------------------------------------------------------------+
| .... |
+---------------------------------------------------------------+
| (S, G) Entry [n] |
+---------------------------------------------------------------+
MSDP Source-Active消息字段解释
| 字段 | 长度 | 说明 |
|---|---|---|
| Type | 1字节 | 消息类型,值为2。 |
| Length | 2字节 | 整个TLV的长度。 |
| Entry Count | 1字节 | 消息中包含的(S,G)项总数。如果是数据消息,则Entry Count值为1。 |
| RP Address | 4字节 | 源RP地址。 |
| (S,G)Entry [1]...[N] | 变长 | (源,组)信息,参见。 |
MSDP Source-Active Response
MSDP Source-Active Response消息用于对Source-Active Request消息的响应。
MSDP Source-Active Response消息的格式
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+---------------+-------------------------------+---------------+
| Type | Length | Entry Count |
+---------------+-------------------------------+---------------+
| RP Address |
+---------------------------------------------------------------+
| (S, G) Entry [1] |
+---------------------------------------------------------------+
| .... |
+---------------------------------------------------------------+
| (S, G) Entry [n] |
+---------------------------------------------------------------+
MSDP Source-Active Response消息字段解释
| 字段 | 长度 | 说明 |
|---|---|---|
| Type | 1字节 | 消息类型,值为3。 |
| Length | 2字节 | 消息长度,整个TLV的长度。 |
| Entry Count | 1字节 | 消息中包含的(S,G)项总数。 |
| RP Address | 4字节 | 源RP地址。 |
| (S,G)Entry [1]...[N] | 变长 | (源,组)信息,参见。 |
MSDP KeepAlive
MSDP KeepAlive消息用于保持MSDP对等体的连接关系。
MSDP KeepAlive消息格式
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+---------------+-------------------------------+---------------+
| Type | Length |
+---------------+-------------------------------+
| 字段 | 长度 | 说明 |
|---|---|---|
| Type | 8比特 | 消息类型,值为4。 |
| Length | 16比特 | 消息长度,值为3。 |
参考标准
| 标准 | 描述 |
|---|---|
| Multicast Source Discovery Protocol (MSDP) |
No comments to display
No comments to display