MSDP(Multicast Source Discovery Protocol)称为组播源发现协议,是基于多个PIM-SM(Protocol Independent Multicast Sparse Mode)域互连而开发的一种域间组播解决方案。
适用条件:域内组播路由协议必须是PIM-SM。MSDP仅对ASM(Any-Source Multicast)模型有意义。
报文格式MSDP支持四种消息,都符合标准的TLV(Type-Length-Value)消息格式,通过TCP连接交互信息。
字段 | 长度 | 说明 |
Type | 8比特 | 消息类型 - 1: Source-Active,携带多组(S,G)信息,在多个RP之间传递,或者封装PIM-SM组播数据。
- 2: Source-Active Request,请求指定组G的(S,G)列表,减少源加入延迟
- 3: Source-Active Response,对Source-Active Request消息的响应
- 4: KeepAlive,保持MSDP对等体的连接关系
- 5: Reserved
- 6: MSDP traceroute in progress
- 7: MSDP traceroute reply
|
Length | 16比特 | 消息长度,包含Type、Length和Value字段的长度,字节为计数单位。除了Keepalive消息外,其他消息要求最小长度为4字节。最大长度为9192字节。 |
Value | Variable length | 消息内容,因消息类型而异。 |
图1 MSDP SA控制消息的格式
图2 (S,G)Entry字段格式
The maximum size SA message that can be sent is 9192 octets. The 9192 octet size does not include the TCP, IP, layer-2 headers.
字段 | 长度 | 说明 |
Type | 1字节 | 消息类型,值为1。 |
Length | 2字节 | 整个TLV的长度。 |
Entry Count | 1字节 | 消息中包含的(S,G)项总数。 |
RP Address | 4字节 | 源RP地址。 |
(S,G)Entry [1]...[N] | 变长 | (源,组)信息。 |
Resv | 3字节 | 保留字段,发送报文时置0;接收到报文时,对该字段不做任何处理。 |
Sprefix Len | 1字节 | 源地址掩码长度,以32位传输。 |
Group Address | 4字节 | 组地址。 |
Source Address | 4字节 | 组播源地址。 |
图3 MSDP SA数据消息的格式
MSDP SA数据消息的Entry Count值为1。
图4 MSDP KeepAlive消息的格式
参考标准
标准 | 描述 |
RFC 3618 | Multicast Source Discovery Protocol (MSDP) |