MSDP(Multicast Source Discovery Protocol)的实现方式是在各个PIM-SM域的RP(Rendezvous Point)之间建立MSDP对等体关系,MSDP对等体之间通过交互SA(Source Active)消息来传递(S,G)信息,从而共享组播源,主机可以接收其他PIM-SM域的组播源数据。
在基本的PIM-SM网络中,组播源只向本域内的RP注册,且域间组播源信息隔离。因此RP仅知道本域内的组播源,只能在本域内建立组播分发树,将本域内的组播源发出的数据分发给本域内的用户。
如果有一种机制能够将其它域内的组播源信息传递给本域内的RP,则本域内的RP就可以向其他域内的组播源发起加入过程、建立组播分发树、实现组播数据跨域传输,从而使本域内的组成员主机接收到其他域的组播源发出的数据。
MSDP是能够解决上述问题的一种机制,成为基于多个PIM-SM域互连而开发的一种域间组播解决方案。MSDP的实现方式是:在各个PIM-SM域的RP之间建立MSDP对等体关系,MSDP对等体之间通过交互SA消息,将(S,G)信息从“组播源注册的RP”传递给其他的PIM-SM域的“组成员主机加入的RP”。
MSDP对等体之间使用TCP连接,对接收到的SA消息执行RPF(Reverse Path Forwarding)检查。
MSDP只适用于PIM-SM,仅对ASM(Any-Source Multicast)模型有意义。
MSDP配置注意事项
特性限制
特性限制 | 系列 | 涉及产品 |
---|---|---|
在本地RP上配置“发送SA请求消息”命令前,必须去使能本地RP的SA Cache功能,并且保证在peer-address指定的MSDP对等体上使能了SA Cache,否则配置失败。 | NetEngine 8000E M | NetEngine 8000E M14/NetEngine 8000E M8 |
密码需要符合密码复杂度规则:大写、小写、数字、特殊字符中至少有2种,并且长度不能小于8。否则,配置失败。 | NetEngine 8000E M | NetEngine 8000E M14/NetEngine 8000E M8 |
MSDP MD5认证与MSDP Keychain认证互斥 | NetEngine 8000E M | NetEngine 8000E M14/NetEngine 8000E M8 |
MSDP只适用于PIM-SM,仅对ASM(Any-Source Multicast)模型有意义 | NetEngine 8000E M | NetEngine 8000E M14/NetEngine 8000E M8 |
配置PIM-SM域间组播
当一个大的组播网络被划分成多个PIM-SM域时,需要使用MSDP沟通各个域内的RP(Rendezvous Point),共享组播源信息,最终使一个域内的用户接收到其它域内组播源发送的组播数据。
应用环境
为了保证网络中所有RP都能参与源信息共享,且尽量缩小“MSDP连通图”的规模,建议在且仅在网络中所有RP(包括静态RP和C-RP(Candidate-Rendezvous Point))上配置MSDP对等体。
为了保证MSDP对等体之间传递的SA(Source Active)消息不被RPF(Reverse Path Forwarding)规则阻断,且尽量减少冗余流量,推荐采用如下配置方案。
-
将属于同一个AS(Autonomous System)的所有MSDP对等体加入同一个Mesh Group。
-
在跨AS的MSDP对等体之间:(在以下三种方法中选择其一)
-
通过BGP发布路由,使路由的下一跳是MSDP对等体,且发布的BGP路由是被组播优选的。
-
相互指定对方为静态RPF对等体。
-
将跨AS的所有MSDP对等体加入同一Mesh Group。(推荐采用此方案)
-
前置任务
在配置PIM-SM域间组播之前,需完成以下任务:
-
配置单播路由协议,保证网络中单播路由正常
-
使能所有路由器的组播路由,并在所有接口上使能PIM-SM
-
划分PIM-SM域,配置RP
配置AS内的MSDP对等体
AS内存在多个PIM-SM域,或PIM-SM域中存在多个为不同组播组服务的RP时,推荐在所有RP(Rendezvous Point)(包括静态RP和C-RP(Candidate-Rendezvous Point))之间配置MSDP对等体,并将所有MSDP对等体加入同一个Mesh Group。
操作步骤
执行命令system-view,进入系统视图。
执行命令msdp [ vpn-instance vpn-instance-name ],进入MSDP视图。
执行命令peer peer-address connect-interface interface-type interface-number,配置MSDP对等体连接。
peer-address为远端MSDP对等体地址。
interface-type interface-number为连接远端MSDP对等体的本地接口。
(可选)执行命令peer peer-address description text,为远端MSDP对等体添加描述信息。
此项配置有助于区分远端MSDP对等体,管理与远端MSDP对等体之间的连接。
peer-address为远端MSDP对等体的地址。
text为描述性文本,最长为80个字符。
执行命令peer peer-address mesh-group name,配置远端MSDP对等体加入Mesh Group,即承认远端MSDP对等体为Mesh Group成员。
peer-address为远端MSDP对等体地址。
name为Mesh Group的名称。同一Mesh Group的组成员使用相同的Mesh Group名称。
配置注意事项:
Mesh Group所有成员之间必须两两建立MSDP对等体连接。
Mesh Group所有成员之间必须两两承认对方为Mesh Group成员。
一个MSDP对等体只能属于一个Mesh Group。如果多次配置同一MSDP对等体加入不同的Mesh Group,最后一个配置有效。
执行命令commit,提交配置。
在BGP对等体上配置跨AS的MSDP对等体
可以通过在建立了BGP对等体关系的不同AS的RP(Rendezvous Point)之间配置MSDP对等体,实现不同AS的PIM-SM域之间共享组播源信息。
背景信息
在位于不同AS的两个RP上建立BGP对等体关系。然后再进行如下配置。
操作步骤
执行命令system-view,进入系统视图。
执行命令msdp [ vpn-instance vpn-instance-name ],进入MSDP视图。
执行命令peer peer-address connect-interface interface-type interface-number,配置MSDP对等体连接。
peer-address为远端MSDP对等体地址,与远端BGP对等体地址相同。
interface-type interface-number为连接远端MSDP对等体的本地接口,即BGP对等体本地接口。
(可选)执行命令peer peer-address description text,为MSDP对等体添加描述信息。
此项配置有助于区分远端MSDP对等体,管理与远端MSDP对等体之间的连接。
peer-address为远端MSDP对等体的地址。
text为描述性文本,最长为80个字符。
执行命令commit,提交配置。
配置跨AS的静态RPF对等体
可以通过在不同AS的RP(Rendezvous Point)之间配置静态RPF(Reverse Path Forwarding)对等体,实现不同AS的PIM-SM域之间共享组播源信息。
背景信息
如果已经执行了“在BGP对等体上配置跨AS的MSDP对等体”,请跳过此项配置。
操作步骤
执行命令system-view,进入系统视图。
执行命令msdp [ vpn-instance vpn-instance-name ],进入MSDP视图。
执行命令peer peer-address connect-interface interface-type interface-number,配置MSDP对等体连接。
peer-address为远端MSDP对等体地址。
interface-type interface-number为连接远端MSDP对等体的本地接口。
(可选)执行命令peer peer-address description text,为远端MSDP对等体添加描述信息。
此项配置有助于区分远端MSDP对等体,管理与远端MSDP对等体之间的连接。
peer-address为远端MSDP对等体的地址。
text为描述性文本,最长为80个字符。
执行命令static-rpf-peer peer-address [ rp-policy ip-prefix-name ],指定远端MSDP对等体为静态RPF对等体。
peer-address为远端MSDP对等体地址。
rp-policy ip-prefix-name为SA(Source Active)消息中的源RP地址的过滤策略。
当为同一路由器配置多个静态RPF对等体时,必须遵守如下两种配置方法:
都使用rp-policy参数
从多个处于激活状态的静态RPF对等体发来的SA消息到达后,分别按照各自指定的rp-policy进行过滤,路由器只接受通过过滤的SA消息。
都不使用rp-policy参数
从多个处于激活状态的静态RPF对等体收到的SA消息都会被路由器接收。
执行命令commit,提交配置。
配置跨AS的MSDP对等体并加入Mesh Group
跨AS的MSDP对等体配置完成后,为了保证跨AS的MSDP对等体之间的SA消息RPF检查通过,推荐将跨AS的所有MSDP对等体加入到同一个Mesh Group。
操作步骤
执行命令system-view,进入系统视图。
执行命令msdp [ vpn-instance vpn-instance-name ],进入MSDP视图。
执行命令peer peer-address connect-interface interface-type interface-number,配置MSDP对等体连接。
peer-address为远端MSDP对等体地址。
interface-type interface-number为连接远端MSDP对等体的本地接口。
(可选)执行命令peer peer-address description text,为远端MSDP对等体添加描述信息。
此项配置有助于区分远端MSDP对等体,管理与远端MSDP对等体之间的连接。
peer-address为远端MSDP对等体的地址。
text为描述性文本,最长为80个字符。
执行命令peer peer-address mesh-group name,配置远端MSDP对等体加入Mesh Group,即承认远端MSDP对等体为Mesh Group成员。
peer-address为远端MSDP对等体地址。
name为Mesh Group的名称。同一Mesh Group的组成员使用相同的Mesh Group名称。
配置注意事项:
Mesh Group所有成员之间必须两两建立MSDP对等体连接。
Mesh Group所有成员之间必须两两承认对方为Mesh Group成员。
一个MSDP对等体只能属于一个Mesh Group。如果多次配置同一MSDP对等体加入不同的Mesh Group,最后一个配置有效。
执行命令commit,提交配置。