• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 关于我们

07-IP组播配置指导

目录

08-MSDP配置

本章节下载 08-MSDP配置  (821.27 KB)

08-MSDP配置


1 MSDP

说明

本文中所提到的DR(Designated Router,指定路由器)、BSR(Bootstrap Router,自举路由器)、C-BSR(Candidate-BSR,候选BSR)、RP(Rendezvous Point,汇集点)、C-RP(Candidate-RP,候选RP)、SPT(Shortest Path Tree,最短路径树)和RPT(Rendezvous Point Tree,共享树)等概念的详细介绍,请参见“IP组播配置指导”中的“PIM”。

 

1.1  MSDP简介

MSDP(Multicast Source Discovery Protocol,组播源发现协议)是为了解决多个PIM-SM(Protocol Independent Multicast-Sparse Mode,协议无关组播—稀疏模式)域之间的互连而开发的一种域间组播解决方案,用来发现其它PIM-SM域内的组播源信息。

在基本的PIM-SM模式下,组播源只向本PIM-SM域内的RP注册,且各域的组播源信息是相互隔离的,因此RP仅知道本域内的组播源信息,只能在本域内建立组播分发树,将本域内组播源发出的组播数据分发给本地用户。如果能够有一种机制,将其它域内的组播源信息传递给本域内的RP,则本域内的RP就可以向其它域内的组播源发起加入过程并建立组播分发树,从而实现组播数据的跨域传输。

基于这一设想,MSDP通过在网络中选取适当的设备建立MSDP对等体关系,以连通各PIM-SM域的RP。通过在各MSDP对等体之间交互SA(Source Active,信源有效)报文来共享组播源信息。

·     MSDP的适用前提:域内组播路由协议必须是PIM-SM。

·     MSDP仅对ASM(Any-Source Multicast,任意信源组播)模型有意义。

 

1.1.1  MSDP原理

1. MSDP对等体

通过在网络中配置一对或多对MSDP对等体,形成彼此相连的一张“MSDP连通图”,以连通各个PIM-SM域的RP。通过这些MSDP对等体之间的接力,可以把某RP发出的SA报文传递给其它所有的RP。

图1-1 MSDP对等体的位置

 

图1-1所示,MSDP对等体可以创建在任意的PIM-SM路由器上,在不同角色的PIM-SM路由器上所创建的MSDP对等体的功能有所不同:

(1)     在RP上创建的MSDP对等体

·     源端MSDP对等体:即离组播源(Source)最近的MSDP对等体(通常也就是源端RP,如RP 1)。源端RP创建SA报文并发送给远端MSDP对等体,通告在本RP上注册的组播源信息。源端MSDP对等体必须配置在RP上,否则将无法向外发布组播源信息。

·     接收者端MSDP对等体:即离接收者(Receiver)最近的MSDP对等体(如RP 3)。接收者端MSDP对等体在收到SA报文后,根据该报文中所包含的组播源信息,跨域加入以该组播源为根的SPT;当来自该组播源的组播数据到达后,再沿RPT向本地接收者转发。

·     中间MSDP对等体:即拥有多个远端MSDP对等体的MSDP对等体(如RP 2)。中间MSDP对等体把从一个远端MSDP对等体收到的SA报文转发给其它远端MSDP对等体,其作用相当于传输组播源信息的中转站。

(2)     在普通的PIM-SM路由器(非RP)上创建的MSDP对等体

如Router A和Router B,其作用仅限于将收到的SA报文转发出去。

说明

对于通过BSR机制动态选举RP的PIM-SM网络来说,RP是由C-RP选举产生的。为了增强其网络的健壮性,一个PIM-SM域内往往存在不止一个C-RP。由于无法预计RP选举的结果,为了保证选举获胜的C-RP能始终位于“MSDP连通图”上,需要在所有的C-RP之间建立MSDP对等体关系。而选举落败的C-RP在“MSDP连通图”上所担当的角色相当于普通的PIM-SM路由器。

 

2. MSDP实现域间组播

图1-2所示,PIM-SM 1域内存在激活的组播源(Source),RP 1通过组播源注册过程了解到了该组播源的存在。如果PIM-SM 2和PIM-SM 3域也希望知道该组播源的具体位置,进而能够从该组播源获取组播数据,则需要在RP 1与RP 3、RP 2与RP 3之间分别建立MSDP对等体关系。

图1-2 MSDP实现域间组播示意图

 

借助MSDP对等体进行PIM-SM域间组播的工作过程如下:

(1)     当PIM-SM 1域内的组播源向组播组G发送第一个组播数据包时,DR 1将该组播数据封装在注册报文(Register Message)中,并发给RP 1。RP 1因此获知了该组播源的相关信息。

(2)     RP 1作为源端RP,创建SA报文,并周期性地向其它MSDP对等体发送。SA报文中包含组播源的地址S、组播组的地址G以及创建该SA报文的源端RP(即RP 1)的地址。

(3)     MSDP对等体对收到的SA报文进行RPF(Reverse Path Forwarding,逆向路径转发)检查,以及各种转发策略的过滤,从而只接受和转发来自正确路径并通过过滤的SA报文,以避免SA报文传递环路;另外,可以在MSDP对等体之间配置MSDP全连接组(Mesh Group),以避免SA报文在MSDP对等体之间的泛滥。

(4)     SA报文在MSDP对等体之间转发,最终该组播源的相关信息将传遍所有建立了MSDP对等体关系的PIM-SM域(即PIM-SM 2和PIM-SM 3)。

(5)     PIM-SM 2中的RP 2在收到该SA报文后,检查本域内是否有组播组G的接收者(Receiver)存在:

·     如果有接收者,RP 2与接收者之间维护组播组G的RPT。RP 2创建(S,G)表项,向组播源方向逐跳发送(S,G)加入报文(Join Message),从而跨越各PIM-SM域在沿途形成SPT。组播数据沿SPT到达RP 2后,再沿RPT向接收者转发。当接收者侧的DR 2收到来自组播源的组播数据后,可根据配置来决定是否发起SPT切换;

·     如果没有接收者,RP 2不会创建(S,G)表项,也不会向组播源方向发送加入报文。

说明

·     MSDP全连接组:要求所有组成员之间两两建立MSDP对等体关系,且所有组成员均使用相同的组名称。

·     在使用MSDP进行域间组播时,RP在收到组播源的信息后就不再需要依赖其它PIM-SM域内的RP,此时接收者可以跨越各PIM-SM域内的RP,而直接加入基于组播源的SPT。

 

3. SA报文的RPF检查规则

图1-3所示,网络中有五个自治系统AS 1~AS 5,AS内部使用IGP互联,AS之间使用BGP或MBGP互联。每个AS中包含至少一个PIM-SM域,且每个PIM-SM域中包含至少一个RP。各RP之间建立起MSDP对等体关系,其中RP 3、RP 4和RP 5之间建立MSDP全连接组,并在RP 7上将RP 6配置为其静态RPF对等体。

说明

设备对于来自静态RPF对等体的SA报文不进行RPF检查,直接接受并向其它对等体转发。

 

图1-3 SA报文的RPF检查规则

 

对照图1-3,这些MSDP对等体将按照如下RPF检查规则处理收到的SA报文:

(1)     当RP 2收到RP 1发来的SA报文时:由于SA报文中所携带的源端RP的地址与MSDP对等体的地址相同,说明发出SA报文的MSDP对等体就是创建该SA报文的RP,于是RP 2接受该SA报文并向其它对等体(RP 3)转发。

(2)     当RP 3收到RP 2发来的SA报文时:由于SA报文来自同一个AS的MSDP对等体(RP 2),且该对等体是到源端RP最佳路径上的下一跳,于是RP 3接受该SA报文并向其它对等体(RP 4和RP 5)转发。

(3)     当RP 4和RP 5分别收到RP 3发来的SA报文时:由于SA报文来自同一个全连接组的MSDP对等体(RP 3),于是RP 4和RP 5均接受该SA报文并不再向本组其它成员转发,而只向本组之外的其它MSDP对等体(RP 6)转发。

(4)     当RP 6收到RP 4和RP 5(假设RP 5的IP地址较大)发来的SA报文时:尽管同处AS 3的RP 4和RP 5都与RP 6建立了MSDP对等体关系,但RP 6只接受IP地址较高的MSDP对等体(RP 5)发来的SA报文。

(5)     当RP 7收到RP 6发来的SA报文时:由于SA报文来自其静态RPF对等体(RP 6),于是RP 7接受该SA报文并向其它对等体(RP 8)转发。

(6)     当RP 8收到RP 7发来的SA报文时:属于不同AS的MSDP对等体之间存在BGP或MBGP路由。由于SA报文来自不同AS的MSDP对等体(RP 7),且该对等体是到源端RP的BGP或MBGP路由的下一跳,于是RP 8接受该SA报文并向其它对等体(RP 9)转发。

(7)     当RP 9收到RP 8发来的SA报文时:由于只有一个MSDP对等体(RP 8),于是RP 9接受该SA报文。

对于由其它路径到来的SA报文,MSDP对等体将不接受也不转发。

4. 基于MSDP实现Anycast-RP

PIM-SM要求每个组播组只能有一个激活的RP,因此当某RP失效时,可能导致其对应组播组的流量中断。Anycast-RP机制通过为同一组播组设置具有相同地址的多个RP,组播源和接收者各自就近选择RP进行注册或加入,这些RP之间则进行组播源信息的同步,从而实现了RP间的冗余备份。Anycast-RP具有以下优点:

·     RP路径最优:组播源向距离最近的RP进行注册,建立路径最优的SPT;接收者向距离最近的RP发起加入,建立路径最优的RPT。

·     RP冗余备份:当某RP失效后,原先在该RP上注册或加入的组播源或接收者会自动选择就近的RP进行注册或加入,从而实现了RP间的冗余备份。

Anycast-RP可以通过以下两种方式实现:

·     基于PIM-SM实现:通过对RP进行一定的扩展来实现,不需要依赖MSDP。详细介绍请参见“IP组播配置指导”中的“PIM”。

·     基于MSDP实现:通过为同一组播组设置具有相同地址的多个RP,并在这些RP之间建立MSDP对等体关系来实现。本文主要介绍这种实现方式。

基于MSDP的实现如图1-4所示。在一个PIM-SM域内,组播源(Source)向组播组G发送组播数据,接收者(Receiver)是组播组G的成员。分别在Router A和Router B上配置相同的IP地址(即Anycast-RP地址,通常使用私有地址),将这些接口配置为C-RP,并在Router A和Router B之间建立MSDP对等体关系。

提示

·     通常在设备的逻辑接口(如LoopBack接口)上配置Anycast-RP地址。

·     充当Anycast-RP的接口地址必须为主机地址(即子网掩码为255.255.255.255)。

·     MSDP对等体的地址不能与Anycast-RP地址相同。

 

图1-4 基于MSDP实现Anycast-RP示意图

 

基于MSDP实现Anycast-RP的工作过程如下:

(1)     当组播源测DR收到来自组播源的组播数据时,选择距离最近的RP(本例中为RP 1)进行注册。

(2)     当接收者侧DR收到接收者的加入请求时,向距离最近的RP(本例中为RP 2)发送加入报文,从而形成以该RP为根的RPT。

(3)     各RP之间通过交互SA报文,共享组播源信息。当RP 2获得组播源信息后,向组播源方向发送加入报文,从而在沿途形成SPT。

(4)     当组播数据沿SPT到达RP 2后,再沿RPT向接收者转发;接收者侧DR收到组播数据后,可根据配置来决定是否发起SPT切换。

1.1.2  多实例的MSDP

属于同一实例的组播路由器各接口之间可以建立MSDP对等体。通过在MSDP对等体之间交互SA报文,可以实现跨域的VPN组播。

应用多实例的组播路由器,为其所支持的每一个实例都独立维护了一套MSDP机制,包括:SA缓存、对等体连接、定时器、发送缓存和PIM交互的缓冲区。同时,保证不同实例之间信息隔离。所以,只有属于同一实例的MSDP和PIM-SM信息才可以交互。

1.1.3  协议规范

与MSDP相关的协议规范有:

·     RFC 3618:Multicast Source Discovery Protocol (MSDP)

·     RFC 3446:Anycast Rendevous Point (RP) mechanism using Protocol Independent Multicast (PIM) and Multicast Source Discovery Protocol (MSDP)

1.2  MSDP配置任务简介

表1-1 MSDP配置任务简介

配置任务

说明

详细配置

配置MSDP基本功能

使能MSDP

必选

1.3.2 

创建MSDP对等体

必选

1.3.3 

配置静态RPF对等体

可选

1.3.4 

配置MSDP对等体连接

配置MSDP对等体描述信息

可选

1.4.2 

配置MSDP全连接组

可选

1.4.3 

配置MSDP对等体连接控制

可选

1.4.4 

配置SA报文

使能在SA报文中封装组播数据报文

可选

1.5.2 

配置创建SA报文的生成RP

可选

1.5.3 

配置SA请求报文

可选

1.5.4 

配置SA报文过滤规则

可选

1.5.5 

配置SA报文缓存

可选

1.5.6 

配置MSDP NSR功能

可选

1.6 

配置设备发送的MSDP协议报文的DSCP优先级

可选

1.7 

 

1.3  配置MSDP基本功能

说明

本节的所有配置都是在PIM-SM域内的RP上进行的,这些RP将成为MSDP对等体的一端。

 

1.3.1  配置准备

在配置MSDP基本功能之前,需完成以下任务:

·     配置任一单播路由协议,实现域内网络层互通

·     配置PIM-SM,实现域内组播

1.3.2  使能MSDP

在配置MSDP各功能之前,必须先使能MSDP。

表1-2 使能MSDP

操作

命令

说明

进入系统视图

system-view

-

使能IP组播路由,并进入MRIB视图

multicast routing [ vpn-instance vpn-instance-name ]

缺省情况下,IP组播路由处于关闭状态

本命令的详细介绍请参见“IP组播命令参考”中的“组播路由与转发”

退回系统视图

quit

-

使能MSDP,并进入MSDP视图

msdp [ vpn-instance vpn-instance-name ]

MSDP处于关闭状态

 

1.3.3  创建MSDP对等体

MSDP对等体使用地址对来标识,即本端MSDP对等体地址和远端MSDP对等体地址。需要在互为对等体的两端都创建MSDP对等体。

说明

如果某接口同时作为MSDP对等体和BGP/MBGP对等体中的一端,则建议为MSDP对等体配置与BGP或MBGP对等体相同的IP地址。

 

表1-3 创建MSDP对等体

操作

命令

说明

进入系统视图

system-view

-

进入MSDP视图

msdp [ vpn-instance vpn-instance-name ]

-

创建MSDP对等体

peer peer-address connect-interface interface-type interface-number

缺省情况下,不存在MSDP对等体

 

1.3.4  配置静态RPF对等体

通过配置静态RPF对等体可以免除对收到的SA报文进行RPF检查。

说明

如果在一台设备上只配置了一个MSDP对等体,则该MSDP对等体将被当作静态RPF对等体。

 

表1-4 配置静态RPF对等体

操作

命令

说明

进入系统视图

system-view

-

进入MSDP视图

msdp [ vpn-instance vpn-instance-name ]

-

配置静态RPF对等体

static-rpf-peer peer-address [ rp-policy ip-prefix-name ]

缺省情况下,不存在静态RPF对等体

 

1.4  配置MSDP对等体连接

1.4.1  配置准备

在配置MSDP对等体连接之前,需完成以下任务:

·     配置任一单播路由协议,实现域内网络层互通

·     配置MSDP基本功能

1.4.2  配置MSDP对等体描述信息

管理员可以通过MSDP对等体的描述信息方便地区分不同的MSDP对等体,从而更好地管理MSDP对等体。

表1-5 配置MSDP对等体描述信息

操作

命令

说明

进入系统视图

system-view

-

进入MSDP视图

msdp [ vpn-instance vpn-instance-name ]

-

配置MSDP对等体的描述信息

peer peer-address description text

缺省情况下,MSDP对等体不存在描述信息

 

1.4.3  配置MSDP全连接组

一个自治系统内可能包含多个MSDP对等体,为了避免这些MSDP对等体之间泛滥SA报文,可以使用MSDP全连接组来优化数据流量。

构成全连接组的MSDP对等体,一方面将来自组外并通过了RPF检查的SA报文转发给组内的其它成员;另一方面,对来自组内成员的SA报文不经RPF检查就接受,也不在组内进行重复转发。这种操作既避免了SA报文的泛滥,同时还由于不需要在MSDP对等体之间运行BGP或MBGP,所以也就简化了对等体RPF检查机制。

通过为多个MSDP对等体配置相同的全连接组名称,可以建立MSDP全连接组。

·     在配置MSDP全连接组之前,应使各设备之间保持两两互连。

·     如果在同一MSDP对等体上多次配置加入全连接组,最后一个配置有效。

 

表1-6 配置MSDP全连接组

操作

命令

说明

进入系统视图

system-view

-

进入MSDP视图

msdp [ vpn-instance vpn-instance-name ]

-

把MSDP对等体加入全连接组

peer peer-address mesh-group name

缺省情况下,MSDP对等体不属于全连接组

 

1.4.4  配置MSDP对等体连接控制

MSDP对等体之间使用TCP进行连接(端口号为639),用户可以手工关闭或重建MSDP对等体连接,灵活控制MSDP对等体之间的会话。当关闭了MSDP对等体连接后,MSDP对等体之间不再传递SA报文,TCP连接关闭,并不再重试建立连接,但配置信息会被保留。

当MSDP对等体之间建立会话后,会定时互发Keepalive报文(其发送间隔被称为保活时间),以免对端认为会话已中断。如果一端在保持时间内未收到对端的Keepalive报文或其它报文,便断开此会话。由于MSDP对等体之间没有保活时间和保持时间的协商机制,因此必须为两端配置相同的保活时间和保持时间,且保活时间必须小于保持时间。

当新创建了MSDP对等体、或重新启动了被关闭的MSDP对等体连接、或发生故障的MSDP对等体尝试恢复工作时,需要在MSDP对等体之间建立TCP连接。用户可以灵活地调整建立MSDP对等体连接的重试周期。

为了提高MSDP的安全性,可以配置MSDP对等体在建立TCP连接时进行MD5认证。该认证并不能对MSDP报文进行认证,它只是为TCP连接设置MD5认证密钥,并由TCP完成认证。如果认证失败,则无法建立TCP连接。

参与MD5认证的两端MSDP对等体必须配置相同的认证方式和密钥,否则将由于不能通过认证而无法建立TCP连接。

 

表1-7 配置MSDP对等体连接控制

操作

命令

说明

进入系统视图

system-view

-

进入MSDP视图

msdp [ vpn-instance vpn-instance-name ]

-

关闭MSDP对等体连接

shutdown peer-address

缺省情况下,MSDP对等体的连接处于开启状态

配置MSDP对等体会话的保活时间和保持时间

timer keepalive keepalive holdtime

缺省情况下,MSDP会话的保活时间为60秒,保持时间为75秒

本命令会对已建立的MSDP会话立即生效

配置建立MSDP对等体连接的重试周期

timer retry interval

缺省情况下,建立MSDP对等体连接的重试周期为30秒

配置MSDP对等体建立TCP连接时进行MD5认证

peer peer-address password { cipher | simple } password

缺省情况下,MSDP对等体建立TCP连接时不进行MD5认证

 

1.5  配置SA报文

1.5.1  配置准备

在配置SA报文之前,需完成以下任务:

·     配置任一单播路由协议,实现域内网络层互通

·     配置MSDP基本功能

1.5.2  使能在SA报文中封装组播数据报文

某些组播源发送组播数据的时间间隔较长,超出了(S,G)表项的超时时间。在这种情况下,源端DR只能将组播数据逐个封装在注册报文中,发送给源端RP。源端RP使用SA报文将(S,G)信息传输给远端RP。然后,远端RP向源端DR发起加入过程,并创建SPT。由于(S,G)表项已超时,远端用户将永远无法收到该组播源发出的组播数据。

当在源端RP上使能了在SA报文中封装组播数据报文的功能后,源端RP会将组播数据报文封装在SA报文中发送出去。远端RP收到该SA报文后解封装,并将组播数据报文沿RPT传输给本域内的用户。

表1-8 使能在SA报文中封装组播数据报文

操作

命令

说明

进入系统视图

system-view

-

进入MSDP视图

msdp [ vpn-instance vpn-instance-name ]

-

使能在SA报文中封装组播数据报文

encap-data-enable

缺省情况下,在SA报文中只包含(S,G)表项,不封装组播数据报文

 

1.5.3  配置创建SA报文的生成RP

SA报文缺省由实际RP创建。当MSDP对等体对收到的SA报文进行RPF检查时,如果发现其携带的RP地址与本端RP的地址相同,就会丢弃该报文。但在Anycast-RP应用中,恰恰要求在不同设备上配置IP地址相同的RP,并在这些RP之间建立MSDP对等体关系,这将导致在这些MSDP对等体之间传递的SA报文无法通过对方的RPF检查。为了解决这个问题,就不能使用实际RP来创建SA报文,而必须使用一个虚拟的RP来创建SA报文(我们称之为生成RP),并将MSDP对等体建立在生成RP之间。

表1-9 配置SA报文的生成RP

操作

命令

说明

进入系统视图

system-view

-

进入MSDP视图

msdp [ vpn-instance vpn-instance-name ]

-

将接口配置为创建SA报文的生成RP

originating-rp interface-type interface-number

缺省情况下,创建SA报文的RP为实际RP

 

1.5.4  配置SA请求报文

缺省情况下,当一个新接收者加入时,设备不会主动向其MSDP对等体发送SA请求报文,而是等待其MSDP对等体在下一个周期发来的SA报文,这将延迟接收者获取组播源信息的时间。为了尽快让新接收者了解到当前活跃的组播源信息,需要主动向MSDP对等体发送SA请求报文。

提示

在使能发送SA请求报文功能之前,必须首先关闭SA报文缓存机制,否则设备不会向外发送SA请求报文。

 

表1-10 配置SA请求报文

操作

命令

说明

进入系统视图

system-view

-

进入MSDP视图

msdp [ vpn-instance vpn-instance-name ]

-

使能发送SA请求报文

peer peer-address request-sa-enable

缺省情况下,设备收到新的组加入报文时,不向其MSDP对等体发送SA请求报文,而是等待下一周期SA报文的到来

配置SA请求报文的过滤规则

peer peer-address sa-request-policy [ acl ipv4-acl-number ]

缺省情况下,不对SA请求报文进行过滤

 

1.5.5  配置SA报文过滤规则

通过配置SA报文的创建规则,设备可以在创建SA报文时,对其通告的(S,G)表项进行过滤,从而实现在创建SA报文时对组播源消息传播的控制。

通过配置接收或转发SA报文的过滤规则,设备可以在接收或转发SA报文时,对其通告的(S,G)转发项进行过滤,从而实现在接收和转发SA报文时,对组播源消息传播的控制。

通过配置封装在SA报文中组播数据报文的TTL阈值,可以对组播数据报文在SA报文中的封装以及传输范围进行限制:

·     设备在创建封装有组播数据报文的SA报文之前,先检查该组播数据报文IP头的TTL值:如果小于阈值,则不创建该SA报文;如果大于或等于阈值,则将组播数据报文封装在SA报文中并转发出去。

·     设备在收到封装有组播数据报文的SA报文之后,先将该组播数据报文IP头的TTL值减1,再检查此时的TTL值:如果小于阈值,则不再向其指定的MSDP对等体转发;如果大于或等于阈值,则重新将组播数据报文封装在SA报文中并转发出去。

表1-11 配置SA报文过滤规则

操作

命令

说明

进入系统视图

system-view

-

进入MSDP视图

msdp [ vpn-instance vpn-instance-name ]

-

配置SA报文的创建规则

import-source [ acl ipv4-acl-number ]

缺省情况下,在创建SA报文时,对其通告的(S,G)表项不作限制

配置接收或转发SA报文的过滤规则

peer peer-address sa-policy { export | import } [ acl ipv4-acl-number ]

缺省情况下,不对接收或转发的SA报文进行过滤

配置封装在SA报文中组播数据报文的最小TTL值

peer peer-address minimum-ttl ttl-value

缺省情况下,封装在SA报文中组播数据报文的最小TTL值为0

 

1.5.6  配置SA报文缓存

为了减少获取组播信息的延迟时间,可以在设备上使能SA报文缓存机制,即在本地缓存SA报文中所包含的(S,G)表项。缓存的(S,G)表项越多,所占用的内存空间越大。

在使能了SA报文缓存机制后,当收到一个新的组加入报文(*,G)时,设备首先查找SA缓存:

·     如果缓存中没有对应的(S,G),便等候其MSDP对等体在下一个周期发来的SA报文;

·     如果缓存中有对应的(S,G),则直接加入以S为根的SPT。

为了有效防止设备受到DoS(Denial of Service,拒绝服务)攻击,可以在设备上配置可缓存(S,G)表项的最大数量。

表1-12 配置SA报文缓存

操作

命令

说明

进入系统视图

system-view

-

进入MSDP视图

msdp [ vpn-instance vpn-instance-name ]

-

使能SA报文缓存机制

cache-sa-enable

在缺省情况下,SA报文缓存机制处于使能状态,即在设备收到SA报文后缓存其中包含的(S,G)表项

配置缓存指定MSDP对等体(S,G)表项的最大值

peer peer-address sa-cache-maximum sa-limit

缺省情况下,可缓存从任一MSDP对等体学到的(S,G)表项的最大数量为4294967295

 

1.6  配置MSDP NSR功能

MSDP NSR(Nonstop Routing,不间断路由)通过将MSDP协议的必要协议状态和数据(如MSDP对等体信息和远端源信息)从主进程备份到备进程。使得MSDP协议的主进程中断时,备份进程能够无缝地接管主进程的工作,从而确保邻接设备感知不到MSDP协议中断,保持路由信息,并保证组播转发不会中断。

表1-13 配置MSDP NSR功能

操作

命令

说明

进入系统视图

system-view

-

开启MSDP NSR功能

msdp non-stop-routing

缺省情况下,MSDP NSR功能处于关闭状态

 

1.7  配置设备发送的MSDP协议报文的DSCP优先级

1. 功能简介

DSCP优先级用来体现报文自身的优先等级,决定报文传输的优先程度。通过本配置可以指定设备发送的MSDP协议报文的DSCP优先级。

2. 配置步骤

表1-14 配置设备发送的MSDP协议报文的DSCP优先级

操作

命令

说明

进入系统视图

system-view

-

进入MSDP视图

msdp [ vpn-instance vpn-instance-name ]

-

配置设备发送的MSDP协议报文的DSCP优先级

dscp dscp-value

缺省情况下,设备发送的MSDP协议报文的DSCP优先级为48

 

1.8  MSDP显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示配置后MSDP的运行情况,通过查看显示信息验证配置的效果。

在用户视图下执行reset命令可以清除MSDP的统计信息。

表1-15 MSDP显示和维护

操作

命令

显示MSDP对等体的简要信息

display msdp [ vpn-instance vpn-instance-name ] brief [ state { connect | disabled | established | listen | shutdown } ]

显示MSDP NSR状态信息

display msdp non-stop-routing status

显示MSDP对等体的详细状态信息

display msdp [ vpn-instance vpn-instance-name ] peer-status [ peer-address ]

显示SA缓存中的(S,G)表项信息

display msdp [ vpn-instance vpn-instance-name ] sa-cache [ group-address | source-address | as-number ] *

显示SA缓存中(S,G)表项的数量

display msdp [ vpn-instance vpn-instance-name ] sa-count [ as-number ]

重置与MSDP对等体的TCP连接,并清除MSDP对等体的所有统计信息

reset msdp [ vpn-instance vpn-instance-name ] peer [ peer-address ]

清除SA缓存中的(S,G)表项

reset msdp [ vpn-instance vpn-instance-name ] sa-cache [ group-address ]

在不重置MSDP对等体的情况下,清除MSDP对等体的统计信息

reset msdp [ vpn-instance vpn-instance-name ] statistics [ peer-address ]

 

1.9  MSDP典型配置举例

1.9.1  PIM-SM域间组播配置举例

1. 组网需求

·     网络中存在两个自治系统:AS 100和AS 200,各AS内部采用OSPF协议、AS之间则采用BGP协议以保证单播路由的畅通;

·     PIM-SM 1属于AS 100,PIM-SM 2和PIM-SM 3属于AS 200,每个PIM-SM域分别拥有至少一个组播源(Source)或接收者(Receiver);

·     将Switch B、Switch C和Switch E各自的LoopBack0接口分别配置为各自PIM-SM域的C-BSR和C-RP;

·     通过在各PIM-SM域的RP之间建立MSDP对等体,从而实现各PIM-SM域之间组播源信息的共享。

2. 组网图

图1-5 PIM-SM域间组播配置组网图

 

设备

接口

IP地址

设备

接口

IP地址

Switch A

Vlan-int103

10.110.1.2/24

Switch D

Vlan-int104

10.110.4.2/24

 

Vlan-int100

10.110.2.1/24

 

Vlan-int300

10.110.5.1/24

 

Vlan-int200

10.110.3.1/24

Switch E

Vlan-int105

10.110.6.1/24

Switch B

Vlan-int103

10.110.1.1/24

 

Vlan-int102

192.168.3.2/24

 

Vlan-int101

192.168.1.1/24

 

Loop0

3.3.3.3/32

 

Loop0

1.1.1.1/32

Switch F

Vlan-int105

10.110.6.2/24

Switch C

Vlan-int104

10.110.4.1/24

 

Vlan-int400

10.110.7.1/24

 

Vlan-int102

192.168.3.1/24

Source 1

-

10.110.2.100/24

 

Vlan-int101

192.168.1.2/24

Source 2

-

10.110.5.100/24

 

Loop0

2.2.2.2/32

 

 

 

 

3. 配置准备

按照组网图配置各接口的IP地址和子网掩码,并在AS内的各交换机上配置OSPF协议。

4. 配置步骤

(1)     使能IP组播路由,使能PIM-SM和IGMP,并配置BSR的服务边界

# 在Switch A上使能IP组播路由,在主机侧接口Vlan-interface200上使能IGMP,并在其它接口上使能PIM-SM。

<SwitchA> system-view

[SwitchA] multicast routing

[SwitchA-mrib] quit

[SwitchA] interface vlan-interface 103

[SwitchA-Vlan-interface103] pim sm

[SwitchA-Vlan-interface103] quit

[SwitchA] interface vlan-interface 100

[SwitchA-Vlan-interface100] pim sm

[SwitchA-Vlan-interface100] quit

[SwitchA] interface vlan-interface 200

[SwitchA-Vlan-interface200] igmp enable

[SwitchA-Vlan-interface200] quit

Switch B、Switch C、Switch D、Switch E和Switch F上的配置与Switch A相似,配置过程略。

# 在Switch B上配置BSR的服务边界。

[SwitchB] interface vlan-interface 101

[SwitchB-Vlan-interface101] pim bsr-boundary

[SwitchB-Vlan-interface101] quit

Switch C和Switch E上的配置与Switch B相似,配置过程略。

(2)     配置C-BSR和C-RP的位置

# 在Switch B上将LoopBack0接口配置为C-BSR和C-RP。

[SwitchB] pim

[SwitchB-pim] c-bsr 1.1.1.1

[SwitchB-pim] c-rp 1.1.1.1

[SwitchB-pim] quit

Switch C和Switch E上的配置与Switch B相似,配置过程略。

(3)     配置BGP协议,将BGP与OSPF互相引入

# 在Switch B上配置EBGP对等体,并引入OSPF路由。

[SwitchB] bgp 100

[SwitchB-bgp] router-id 1.1.1.1

[SwitchB-bgp] peer 192.168.1.2 as-number 200

[SwitchB-bgp] address-family ipv4 unicast

[SwitchB-bgp-ipv4] import-route ospf 1

[SwitchB-bgp-ipv4] peer 192.168.1.2 enable

[SwitchB-bgp-ipv4] quit

# 在Switch C上配置EBGP对等体,并引入OSPF路由。

[SwitchC] bgp 200

[SwitchC-bgp] router-id 2.2.2.2

[SwitchC-bgp] peer 192.168.1.1 as-number 100

[SwitchC-bgp] address-family ipv4 unicast

[SwitchC-bgp-ipv4] import-route ospf 1

[SwitchC-bgp-ipv4] peer 192.168.1.1 enable

[SwitchC-bgp-ipv4] quit

# 在Switch B的OSPF中引入BGP。

[SwitchB] ospf 1

[SwitchB-ospf-1] import-route bgp

[SwitchB-ospf-1] quit

# 在Switch C的OSPF中引入BGP。

[SwitchC] ospf 1

[SwitchC-ospf-1] import-route bgp

[SwitchC-ospf-1] quit

(4)     配置MSDP对等体

# 在Switch B上配置MSDP对等体。

[SwitchB] msdp

[SwitchB-msdp] peer 192.168.1.2 connect-interface vlan-interface 101

[SwitchB-msdp] quit

# 在Switch C上配置MSDP对等体。

[SwitchC] msdp

[SwitchC-msdp] peer 192.168.1.1 connect-interface vlan-interface 101

[SwitchC-msdp] peer 192.168.3.2 connect-interface vlan-interface 102

[SwitchC-msdp] quit

# 在Switch E上配置MSDP对等体。

[SwitchE] msdp

[SwitchE-msdp] peer 192.168.3.1 connect-interface vlan-interface 102

[SwitchE-msdp] quit

5. 验证配置

# 显示Switch B上BGP IPv4单播对等体或对等体组的信息。

[SwitchB] display bgp peer ipv4

 

 BGP local router ID: 1.1.1.1

 Local AS number: 100

 Total number of peers: 1                  Peers in established state: 1

 

  Peer                    AS  MsgRcvd  MsgSent OutQ PrefRcv Up/Down  State

 

  192.168.1.2             200 24       21      0    6       00:20:07 Established

# 显示Switch C上BGP IPv4单播对等体或对等体组的信息。

[SwitchC] display bgp peer ipv4

 

 BGP local router ID: 2.2.2.2

 Local AS number: 1

 Total number of peers: 1                  Peers in established state: 1

 

  Peer                    AS  MsgRcvd  MsgSent OutQ PrefRcv Up/Down  State

 

  192.168.1.1             100 18       16      0    1       00:20:07 Established

# 显示Switch C上BGP IPv4单播路由的信息。

[SwitchC] display bgp routing-table ipv4

 

 Total number of routes: 5

 

 BGP local router ID is 2.2.2.2

 Status codes: * - valid, > - best, d - dampened, h - history,

               s - suppressed, S - stale, i - internal, e - external

               Origin: i - IGP, e - EGP, ? - incomplete

 

     Network            NextHop         MED        LocPrf     PrefVal Path/Ogn

 

* >  1.1.1.1/32         192.168.1.1     0                     0       100?

* >i 2.2.2.2/32         0.0.0.0         0                     0       ?

* >  192.168.1.0        0.0.0.0         0                     0       ?

* >  192.168.1.1/32     0.0.0.0         0                     0       ?

* >  192.168.1.2/32     0.0.0.0         0                     0       ?

当PIM-SM 1和PIM-SM 2域内的组播源Source 1和Source 2发送组播信息时,PIM-SM 1和PIM-SM 3域内的接收者能收到该组播信息。

# 显示Switch B上MSDP对等体的简要信息。

[SwitchB] display msdp brief

Configured   Established  Listen       Connect      Shutdown     Disabled

1            1            0            0            0            0

 

Peer address    State       Up/Down time    AS         SA count   Reset count

192.168.1.2     Established 00:12:57        200        13         0

# 显示Switch C上MSDP对等体的简要信息。

[SwitchC] display msdp brief

Configured   Established  Listen       Connect      Shutdown     Disabled

1            1            0            0            0            0

 

Peer address    State       Up/Down time    AS         SA count   Reset count

192.168.3.2     Established 01:43:57        ?          8          0

192.168.1.1     Established 01:43:57        ?          13         0

# 显示Switch E上MSDP对等体的简要信息。

[SwitchE] display msdp brief

Configured   Established  Listen       Connect      Shutdown     Disabled

1            1            0            0            0            0

 

Peer address    State       Up/Down time    AS         SA count   Reset count

192.168.3.1     Established 01:07:57        200        8          0

# 显示Switch B上MSDP对等体的详细状态信息。

[SwitchB] display msdp peer-status

MSDP Peer 192.168.1.2; AS 200

 Description:

 Information about connection status:

   State: Established

   Up/down time: 00:15:47

   Resets: 0

   Connection interface: Vlan-interface101 (192.168.1.1)

   Received/sent messages: 16/16

   Discarded input messages: 0

   Discarded output messages: 0

   Elapsed time since last connection or counters clear: 00:17:40

   Mesh group peer joined: momo

   Last disconnect reason: Hold timer expired with truncated message

   Truncated packet: 5 bytes in buffer, type: 1, length: 20, without packet time: 75s

 Information about (Source, Group)-based SA filtering policy:

   Import policy: None

   Export policy: None

 Information about SA-Requests:

   Policy to accept SA-Requests: None

   Sending SA-Requests status: Disable

 Minimum TTL to forward SA with encapsulated data: 0

 SAs learned from this peer: 0, SA cache maximum for the peer: 4294967295

 Input queue size: 0, Output queue size: 0

 Counters for MSDP messages:

   RPF check failure: 0

   Incoming/outgoing SA: 0/0

   Incoming/outgoing SA-Request: 0/0

   Incoming/outgoing SA-Response: 0/0

   Incoming/outgoing Keepalive: 867/867

   Incoming/outgoing Notification: 0/0

   Incoming/outgoing Traceroutes in progress: 0/0

   Incoming/outgoing Traceroute reply: 0/0

   Incoming/outgoing Unknown: 0/0

   Incoming/outgoing data packet: 0/0

1.9.2  借助静态RPF对等体的AS间组播配置举例

1. 组网需求

·     网络中存在两个自治系统:AS 100和AS 200,各AS内部采用OSPF协议、AS之间则采用BGP协议以保证单播路由的畅通;

·     PIM-SM 1属于AS 100,PIM-SM 2和PIM-SM 3属于AS 200,每个PIM-SM域分别拥有至少一个组播源(Source)或接收者(Receiver);

·     将Switch A、Switch D和Switch G各自的LoopBack0接口分别配置为各自PIM-SM域的C-BSR和C-RP;

·     根据RPF规则,设备接受来自其静态RPF对等体且被过滤策略所允许的SA报文。通过在各PIM-SM域的RP之间建立MSDP对等体,并在各MSDP对等体之间建立静态RPF对等体,从而在不改变单播拓扑的基础上实现各PIM-SM域之间组播源信息的共享。

2. 组网图

图1-6 借助静态RPF对等体的AS间组播配置组网图

 

设备

接口

IP地址

设备

接口

IP地址

Source 1

-

192.168.1.100/24

Switch D

Vlan-int105

10.110.5.1/24

Source 2

-

192.168.3.100/24

 

Vlan-int103

10.110.3.2/24

Switch A

Vlan-int101

10.110.1.1/24

 

Loop0

2.2.2.2/32

 

Vlan-int102

10.110.2.1/24

Switch E

Vlan-int105

10.110.5.2/24

 

Loop0

1.1.1.1/32

 

Vlan-int300

192.168.3.1/24

Switch B

Vlan-int101

10.110.1.2/24

Switch F

Vlan-int106

10.110.6.1/24

 

Vlan-int100

192.168.1.1/24

 

Vlan-int104

10.110.4.2/24

 

Vlan-int103

10.110.3.1/24

Switch G

Vlan-int106

10.110.6.2/24

Switch C

Vlan-int102

10.110.2.2/24

 

Vlan-int400

192.168.4.1/24

 

Vlan-int200

192.168.2.1/24

 

Loop0

3.3.3.3/32

 

Vlan-int104

10.110.4.1/24

 

 

 

 

3. 配置准备

按照组网图配置各接口的IP地址和掩码,并在AS内的各交换机上配置OSPF协议。

4. 配置步骤

(1)     使能IP组播路由,使能PIM-SM和IGMP,并配置BSR的服务边界

# 在Switch C上使能IP组播路由,在主机侧接口Vlan-interface200上使能IGMP,并在其它接口上使能PIM-SM。

<SwitchC> system-view

[SwitchC] multicast routing

[SwitchC-mrib] quit

[SwitchC] interface vlan-interface 102

[SwitchC-Vlan-interface102] pim sm

[SwitchC-Vlan-interface102] quit

[SwitchC] interface vlan-interface 200

[SwitchC-Vlan-interface200] igmp enable

[SwitchC-Vlan-interface200] quit

[SwitchC] interface vlan-interface 104

[SwitchC-Vlan-interface104] pim sm

[SwitchC-Vlan-interface104] quit

Switch A、Switch B、Switch D、Switch E、Switch F和Switch G上的配置与Switch C相似,配置过程略。

# 在Switch B上配置BSR的服务边界。

[SwitchB] interface vlan-interface 103

[SwitchB-Vlan-interface103] pim bsr-boundary

[SwitchB-Vlan-interface103] quit

Switch C、Switch D和Switch F上的配置与Switch B相似,配置过程略。

(2)     配置C-BSR和C-RP的位置

# 在Switch A上将LoopBack0接口配置为C-BSR和C-RP。

[SwitchA] pim

[SwitchA-pim] c-bsr 1.1.1.1

[SwitchA-pim] c-rp 1.1.1.1

[SwitchA-pim] quit

Switch D和Switch G上的配置与Switch A相似,配置过程略。

(3)     配置BGP协议,将BGP与OSPF互相引入

# 在Switch B上配置EBGP对等体,并引入OSPF路由。

[SwitchB] bgp 100

[SwitchB-bgp] router-id 1.1.1.2

[SwitchB-bgp] peer 10.110.3.2 as-number 200

[SwitchB-bgp] address-family ipv4 unicast

[SwitchB-bgp-ipv4] peer 10.110.3.2 enable

[SwitchB-bgp-ipv4] import-route ospf 1

[SwitchB-bgp-ipv4]quit

[SwitchB-bgp] quit

# 在Switch D上配置EBGP对等体,并引入OSPF路由。

[SwitchD] bgp 200

[SwitchD-bgp] router-id 2.2.2.2

[SwitchD-bgp] peer 10.110.3.1 as-number 100

[SwitchD-bgp] address-family ipv4 unicast

[SwitchD-bgp-ipv4] peer 10.110.3.1 enable

[SwitchD-bgp-ipv4] import-route ospf 1

[SwitchD-bgp-ipv4]quit

[SwitchD-bgp] quit

# 在Switch C上配置EBGP对等体,并引入OSPF路由。

[SwitchC] bgp 100

[SwitchC-bgp] router-id 1.1.1.3

[SwitchC-bgp] peer 10.110.4.2 as-number 200

[SwitchC-bgp] address-family ipv4 unicast

[SwitchC-bgp-ipv4] peer 10.110.4.2 enable

[SwitchC-bgp-ipv4] import-route ospf 1

[SwitchC-bgp-ipv4]quit

[SwitchC-bgp] quit

# 在Switch F上配置EBGP对等体,并引入OSPF路由。

[SwitchF] bgp 200

[SwitchF-bgp] router-id 3.3.3.1

[SwitchF-bgp] peer 10.110.4.1 as-number 100

[SwitchF-bgp] address-family ipv4 unicast

[SwitchF-bgp-ipv4] peer 10.110.4.1 enable

[SwitchF-bgp-ipv4] import-route ospf 1

[SwitchF-bgp-ipv4]quit

[SwitchF-bgp] quit

# 在Switch B的OSPF中引入BGP。

[SwitchB] ospf 1

[SwitchB-ospf-1] import-route bgp

[SwitchB-ospf-1] quit

# 在Switch D的OSPF中引入BGP。

[SwitchD] ospf 1

[SwitchD-ospf-1] import-route bgp

[SwitchD-ospf-1] quit

# 在Switch C的OSPF中引入BGP。

[SwitchC] ospf 1

[SwitchC-ospf-1] import-route bgp

[SwitchC-ospf-1] quit

# 在Switch F的OSPF中引入BGP。

[SwitchF] ospf 1

[SwitchF-ospf-1] import-route bgp

[SwitchF-ospf-1] quit

(4)     配置MSDP对等体及静态RPF对等体

# 配置Switch D和Switch G作为Switch A的MSDP对等体及静态RPF对等体。

[SwitchA] ip prefix-list list-dg permit 10.110.0.0 16 greater-equal 16 less-equal 32

[SwitchA] msdp

[SwitchA-msdp] peer 10.110.3.2 connect-interface vlan-interface 101

[SwitchA-msdp] peer 10.110.6.2 connect-interface vlan-interface 102

[SwitchA-msdp] static-rpf-peer 10.110.3.2 rp-policy list-dg

[SwitchA-msdp] static-rpf-peer 10.110.6.2 rp-policy list-dg

[SwitchA-msdp] quit

# 配置Switch A作为Switch D的MSDP对等体及静态RPF对等体。

[SwitchD] ip prefix-list list-a permit 10.110.0.0 16 greater-equal 16 less-equal 32

[SwitchD] msdp

[SwitchD-msdp] peer 10.110.1.1 connect-interface vlan-interface 103

[SwitchD-msdp] static-rpf-peer 10.110.1.1 rp-policy list-a

[SwitchD-msdp] quit

# 配置Switch A作为Switch G的MSDP对等体及静态RPF对等体。

[SwitchG] ip prefix-list list-a permit 10.110.0.0 16 greater-equal 16 less-equal 32

[SwitchG] msdp

[SwitchG-msdp] peer 10.110.2.1 connect-interface vlan-interface 106

[SwitchG-msdp] static-rpf-peer 10.110.2.1 rp-policy list-a

[SwitchG-msdp] quit

5. 验证配置

# 显示Switch A上BGP对等体的信息。

[SwitchA] display bgp peer ipv4

没有显示信息输出,说明Switch A与Switch D、Switch A与Switch G之间均未建立BGP对等体关系。

当PIM-SM 1和PIM-SM 2域内的组播源Source 1和Source 2发送组播信息时,PIM-SM 1和PIM-SM 3域内的接收者能收到该组播信息。

# 显示Switch A上MSDP对等体的简要信息。

[SwitchA] display msdp brief

Configured   Established  Listen       Connect      Shutdown     Disabled

2            2            0            0            0            0

 

Peer address    State       Up/Down time    AS         SA count   Reset count

10.110.3.2      Established 01:07:08        ?          8          0

10.110.6.2      Established 00:16:39        ?          13         0

# 显示Switch D上MSDP对等体的简要信息。

[SwitchD] display msdp brief

Configured   Established  Listen       Connect      Shutdown     Disabled

1            1            0            0            0            0

 

Peer address    State       Up/Down time    AS         SA count   Reset count

10.110.1.1      Established 01:07:09        ?          8          0

# 显示Switch G上MSDP对等体的简要信息。

[SwitchG] display msdp brief

Configured   Established  Listen       Connect      Shutdown     Disabled

1            1            0            0            0            0

 

Peer address    State       Up/Down time    AS         SA count   Reset count

10.110.2.1      Established 00:16:40        ?          13         0

1.9.3  Anycast-RP应用配置举例

1. 组网需求

·     PIM-SM域内拥有多个组播源(Source)和接收者(Receiver),并在域内运行OSPF协议以提供单播路由;

·     通过配置Anycast-RP,使接收者侧DR能够向拓扑距离最近的RP发起加入,组播源侧DR也向拓扑距离最近的RP发起注册;

·     将Switch B和Switch D各自的LoopBack10接口配置为C-BSR、LoopBack20接口配置为C-RP;

·     Switch B的Router ID为1.1.1.1,Switch D的Router ID为2.2.2.2,在Switch B和Switch D之间建立MSDP对等体关系。

2. 组网图

图1-7 Anycast-RP应用配置组网图

 

设备

接口

IP地址

设备

接口

IP地址

Source 1

-

10.110.5.100/24

Switch C

Vlan-int101

192.168.1.2/24

Source 2

-

10.110.6.100/24

 

Vlan-int102

192.168.2.2/24

Switch A

Vlan-int300

10.110.5.1/24

Switch D

Vlan-int200

10.110.3.1/24

 

Vlan-int103

10.110.2.2/24

 

Vlan-int104

10.110.4.1/24

Switch B

Vlan-int100

10.110.1.1/24

 

Vlan-int102

192.168.2.1/24

 

Vlan-int103

10.110.2.1/24

 

Loop0

2.2.2.2/32

 

Vlan-int101

192.168.1.1/24

 

Loop10

4.4.4.4/32

 

Loop0

1.1.1.1/32

 

Loop20

10.1.1.1/32

 

Loop10

3.3.3.3/32

Switch E

Vlan-int400

10.110.6.1/24

 

Loop20

10.1.1.1/32

 

Vlan-int104

10.110.4.2/24

 

3. 配置准备

按照组网图配置各接口的IP地址和子网掩码,并在PIM-SM域内的各交换机上配置OSPF协议。

4. 配置步骤

(1)     使能IP组播路由,并使能PIM-SM和IGMP

# 在Switch B上使能IP组播路由,在主机侧接口Vlan-interface100上使能IGMP,并在其它接口上使能PIM-SM。

<SwitchB> system-view

[SwitchB] multicast routing

[SwitchB-mrib] quit

[SwitchB] interface vlan-interface 100

[SwitchB-Vlan-interface100] igmp enable

[SwitchB-Vlan-interface100] quit

[SwitchB] interface vlan-interface 103

[SwitchB-Vlan-interface103] pim sm

[SwitchB-Vlan-interface103] quit

[SwitchB] interface Vlan-interface 101

[SwitchB-Vlan-interface101] pim sm

[SwitchB-Vlan-interface101] quit

[SwitchB] interface loopback 0

[SwitchB-LoopBack0] pim sm

[SwitchB-LoopBack0] quit

[SwitchB] interface loopback 10

[SwitchB-LoopBack10] pim sm

[SwitchB-LoopBack10] quit

[SwitchB] interface loopback 20

[SwitchB-LoopBack20] pim sm

[SwitchB-LoopBack20] quit

Switch A、Switch C、Switch D和Switch E上的配置与Switch B相似,配置过程略。

(2)     配置C-BSR和C-RP的位置

# 在Switch B上将LoopBack10配置为C-BSR,将LoopBack20配置为C-RP。

[SwitchB] pim

[SwitchB-pim] c-bsr 3.3.3.3

[SwitchB-pim] c-rp 10.1.1.1

[SwitchB-pim] quit

Switch D上的配置与Switch B相似,配置过程略。

(3)     配置MSDP对等体

# 在Switch B的LoopBack0接口上配置MSDP对等体。

[SwitchB] msdp

[SwitchB-msdp] originating-rp loopback 0

[SwitchB-msdp] peer 2.2.2.2 connect-interface loopback 0

[SwitchB-msdp] quit

# 在Switch D的LoopBack0接口上配置MSDP对等体。

[SwitchD] msdp

[SwitchD-msdp] originating-rp loopback 0

[SwitchD-msdp] peer 1.1.1.1 connect-interface loopback 0

[SwitchD-msdp] quit

5. 验证配置

# 显示Switch B上MSDP对等体的简要信息。

[SwitchB] display msdp brief

Configured   Established  Listen       Connect      Shutdown     Disabled

1            1            0            0            0            0

 

Peer address    State       Up/Down time    AS         SA count   Reset count

2.2.2.2         Established 00:10:57        ?          0          0

# 显示Switch D上MSDP对等体的简要信息。

[SwitchD] display msdp brief

Configured   Established  Listen       Connect      Shutdown     Disabled

1            1            0            0            0            0

 

Peer address    State       Up/Down time    AS         SA count   Reset count

1.1.1.1         Established 00:10:57        ?          0          0

当Source 1(10.110.5.100/24)开始向组播组G(225.1.1.1)发送组播信息时,Host A加入组播组G。通过比较Switch B与Switch D上PIM路由表的内容,可知当前的有效RP为Switch B:Source 1向Switch B注册,Host A向Switch B加入。

# 显示Switch B上PIM路由表的内容。

[SwitchB] display pim routing-table

 Total 1 (*, G) entry; 1 (S, G) entry

 

 (*, 225.1.1.1)

     RP: 10.1.1.1 (local)

     Protocol: pim-sm, Flag: WC

     UpTime: 00:15:04

     Upstream interface: Register-Tunnel0

         Upstream neighbor: NULL

         RPF prime neighbor: NULL

     Downstream interface(s) information:

     Total number of downstream interfaces: 1

         1: Vlan-interface100

             Protocol: igmp, UpTime: 00:15:04, Expires: -

 

 (10.110.5.100, 225.1.1.1)

     RP: 10.1.1.1 (local)

     Protocol: pim-sm, Flag: SPT 2MSDP ACT

     UpTime: 00:46:28

     Upstream interface: Vlan-interface103

         Upstream neighbor: 10.110.2.2

         RPF prime neighbor: 10.110.2.2

     Downstream interface(s) information:

     Total number of downstream interfaces: 1

         1: Vlan-interface100

             Protocol: pim-sm, UpTime:  - , Expires:  -

# 显示Switch D上PIM路由表的内容。

[SwitchD] display pim routing-table

Switch D上没有信息输出。

Host A离开组播组G,Source 1也停止向组播组G发送组播数据。当Source 2(10.110.6.100/24)开始向组播组G发送组播信息时,Host B加入组播组G。通过比较Switch B与Switch D上PIM路由的显示信息,可知当前的有效RP为Switch D:Source 2向Switch D注册,Host B向Switch D加入。

# 显示Switch B上PIM路由表的内容。

[SwitchB] display pim routing-table

Switch B上没有信息输出。

# 显示Switch D上PIM路由表的内容。

[SwitchD] display pim routing-table

 Total 1 (*, G) entry; 1 (S, G) entry

 

 (*, 225.1.1.1)

     RP: 10.1.1.1 (local)

     Protocol: pim-sm, Flag: WC

     UpTime: 00:12:07

     Upstream interface: Register-Tunnel0

         Upstream neighbor: NULL

         RPF prime neighbor: NULL

     Downstream interface(s) information:

     Total number of downstream interfaces: 1

         1: Vlan-interface200

             Protocol: igmp, UpTime: 00:12:07, Expires: -

 

 (10.110.6.100, 225.1.1.1)

     RP: 10.1.1.1 (local)

     Protocol: pim-sm, Flag: SPT 2MSDP ACT

     UpTime: 00:40:22

     Upstream interface: Vlan-interface104

         Upstream neighbor: 10.110.4.2

         RPF prime neighbor: 10.110.4.2

     Downstream interface(s) information:

     Total number of downstream interfaces: 1

         1: Vlan-interface200

             Protocol: pim-sm, UpTime:  - , Expires:  -

1.9.4  SA报文过滤机制配置举例

1. 组网需求

·     网络中存在三个PIM-SM域,各域内部以及域之间均运行OSPF协议以提供单播路由;

·     将Switch A、Switch C和Switch D各自的LoopBack0接口分别配置为各自PIM-SM域的C-BSR和C-RP;

·     分别在Switch A与Switch C、Switch C与Switch D之间建立MSDP对等体关系;

·     组播源Source 1向组播组225.1.1.0/30和226.1.1.0/30发送组播数据,组播源Source 2向组播组227.1.1.0/30发送组播数据;

·     通过配置SA报文过滤规则,使接收者Host A和Host B只能接收发往组播组225.1.1.0/30和226.1.1.0/30的组播数据,而Host C则只能接收发往组播组226.1.1.0/30和227.1.1.0/30的组播数据。

2. 组网图

图1-8 SA报文过滤机制配置组网图

 

设备

接口

IP地址

设备

接口

IP地址

Source 1

-

10.110.3.100/24

Switch C

Vlan-int300

10.110.4.1/24

Source 2

-

10.110.6.100/24

 

Vlan-int104

10.110.5.1/24

Switch A

Vlan-int100

10.110.1.1/24

 

Vlan-int101

192.168.1.2/24

 

Vlan-int102

10.110.2.1/24

 

Vlan-int103

192.168.2.2/24

 

Vlan-int101

192.168.1.1/24

 

Loop0

2.2.2.2/32

 

Loop0

1.1.1.1/32

Switch D

Vlan-int400

10.110.6.1/24

Switch B

Vlan-int200

10.110.3.1/24

 

Vlan-int500

10.110.7.1/24

 

Vlan-int102

10.110.2.2/24

 

Vlan-int104

10.110.5.2/24

 

Vlan-int103

192.168.2.1/24

 

Loop0

3.3.3.3/32

 

3. 配置准备

按照组网图配置各接口的IP地址和掩码,并在各交换机上配置OSPF协议。

4. 配置步骤

(1)     使能IP组播路由,使能PIM-SM和IGMP,并配置BSR的服务边界

# 在Switch A上使能IP组播路由,在主机侧接口Vlan-interface100上使能IGMP,并在其它接口上使能PIM-SM。

<SwitchA> system-view

[SwitchA] multicast routing

[SwitchA-mrib] quit

[SwitchA] interface vlan-interface 100

[SwitchA-Vlan-interface100] igmp enable

[SwitchA-Vlan-interface100] quit

[SwitchA] interface vlan-interface 101

[SwitchA-Vlan-interface101] pim sm

[SwitchA-Vlan-interface101] quit

[SwitchA] interface vlan-interface 102

[SwitchA-Vlan-interface102] pim sm

[SwitchA-Vlan-interface102] quit

[SwitchA] interface loopback 0

[SwitchA-LoopBack0] pim sm

[SwitchA-LoopBack0] quit

Switch B、Switch C和Switch D上的配置与Switch A相似,配置过程略。

# 在Switch C上配置BSR的服务边界。

[SwitchC] interface vlan-interface 101

[SwitchC-Vlan-interface101] pim bsr-boundary

[SwitchC-Vlan-interface101] quit

[SwitchC] interface vlan-interface 103

[SwitchC-Vlan-interface103] pim bsr-boundary

[SwitchC-Vlan-interface103] quit

[SwitchC] interface vlan-interface 104

[SwitchC-Vlan-interface104] pim bsr-boundary

[SwitchC-Vlan-interface104] quit

Switch A、Switch B和Switch D上的配置与Switch C相似,配置过程略。

(2)     配置C-BSR和C-RP的位置

# 在Switch A上将LoopBack0接口配置为C-BSR和C-RP。

[SwitchA] pim

[SwitchA-pim] c-bsr 1.1.1.1

[SwitchA-pim] c-rp 1.1.1.1

[SwitchA-pim] quit

Switch C和Switch D上的配置与Switch A相似,配置过程略。

(3)     配置MSDP对等体

# 在Switch A上配置MSDP对等体。

[SwitchA] msdp

[SwitchA-msdp] peer 192.168.1.2 connect-interface vlan-interface 101

[SwitchA-msdp] quit

# 在Switch C上配置MSDP对等体。

[SwitchC] msdp

[SwitchC-msdp] peer 192.168.1.1 connect-interface vlan-interface 101

[SwitchC-msdp] peer 10.110.5.2 connect-interface vlan-interface 104

[SwitchC-msdp] quit

# 在Switch D上配置MSDP对等体。

[SwitchD] msdp

[SwitchD-msdp] peer 10.110.5.1 connect-interface vlan-interface 104

[SwitchD-msdp] quit

(4)     配置SA报文过滤规则

# 在Switch C上配置不向Switch D转发有关(Source 1,225.1.1.0/30)的SA报文。

[SwitchC] acl advanced 3001

[SwitchC-acl-ipv4-adv-3001] rule deny ip source 10.110.3.100 0 destination 225.1.1.0 0.0.0.3

[SwitchC-acl-ipv4-adv-3001] rule permit ip source any destination any

[SwitchC-acl-ipv4-adv-3001] quit

[SwitchC] msdp

[SwitchC-msdp] peer 10.110.5.2 sa-policy export acl 3001

[SwitchC-msdp] quit

# 在Switch D上配置不创建有关Source 2的SA报文。

[SwitchD] acl basic 2001

[SwitchD-acl-ipv4-basic-2001] rule deny source 10.110.6.100 0

[SwitchD-acl-ipv4-basic-2001] quit

[SwitchD] msdp

[SwitchD-msdp] import-source acl 2001

[SwitchD-msdp] quit

5. 验证配置

通过使用display msdp sa-cache命令可以查看交换机上SA缓存中的(S,G)表项信息。例如:

# 显示Switch C上SA缓存中的(S,G)表项信息。

[SwitchC] display msdp sa-cache

Total Source-Active Cache - 8 entries

Matched 8 entries

 

Source        Group          Origin RP       Pro  AS     Uptime   Expires

10.110.3.100  225.1.1.0      1.1.1.1         ?    ?      02:03:30 00:05:31

10.110.3.100  225.1.1.1      1.1.1.1         ?    ?      02:03:30 00:05:31

10.110.3.100  225.1.1.2      1.1.1.1         ?    ?      02:03:30 00:05:31

10.110.3.100  225.1.1.3      1.1.1.1         ?    ?      02:03:30 00:05:31

10.110.3.100  226.1.1.0      1.1.1.1         ?    ?      02:03:30 00:05:31

10.110.3.100  226.1.1.1      1.1.1.1         ?    ?      02:03:30 00:05:31

10.110.3.100  226.1.1.2      1.1.1.1         ?    ?      02:03:30 00:05:31

10.110.3.100  226.1.1.3      1.1.1.1         ?    ?      02:03:30 00:05:31

# 显示Switch D上SA缓存中的(S,G)表项信息。

[SwitchD] display msdp sa-cache

Total Source-Active Cache - 4 entries

Matched 4 entries

 

Source        Group          Origin RP       Pro  AS     Uptime   Expires

10.110.3.100  226.1.1.0      1.1.1.1         ?    ?      00:32:53 00:05:07

10.110.3.100  226.1.1.1      1.1.1.1         ?    ?      00:32:53 00:05:07

10.110.3.100  226.1.1.2      1.1.1.1         ?    ?      00:32:53 00:05:07

10.110.3.100  226.1.1.3      1.1.1.1         ?    ?      00:32:53 00:05:07

1.10  MSDP常见故障处理

1.10.1  MSDP对等体一直处于disabled状态

1. 故障现象

配置了MSDP对等体,但其状态一直显示为disabled。

2. 分析

·     所配置的本地接口地址与MSDP对等体地址之间,建立起基于TCP连接的MSDP对等体关系;

·     如果本地接口地址与对端设备上所配置的MSDP对等体地址不一致,TCP连接就不会建立起来;

·     如果两个MSDP对等体之间没有路由,TCP连接也不会建立起来。

3. 处理过程

(1)     检查各设备之间的路由是否通达。通过命令display ip routing-table查看各设备之间单播路由是否正确。

(2)     检查将成为MSDP对等体的两个设备间是否存在到达对方的单播路由。

(3)     检查MSDP对等体之间的接口地址是否匹配。通过命令display current-configuration查看本地接口地址是否与对端MSDP对等体地址一致,应确保一致。

1.10.2  设备SA缓存中没有SA表项

1. 故障现象

MSDP没有将(S,G)转发项通过SA报文发送出去。

2. 分析

·     命令import-source用于控制将本域的(S,G)表项通过SA报文发送给MSDP对等体。如果没有指定参数ipv4-acl-number则表示默认过滤掉所有的(S,G)表项,即不通告本域的所有(S,G)表项;

·     未配置import-source命令时,系统将发送本域的所有(S,G)信息。如果MSDP没有将本域的(S,G)表项通过SA报文发送出去,应检查import-source命令的配置是否正确。

3. 处理过程

(1)     检查各设备之间的路由是否通达。通过命令display ip routing-table查看各设备之间单播路由是否正确。

(2)     检查将成为MSDP对等体的两个设备间是否存在到达对方的单播路由。

(3)     检查命令import-source及其参数ipv4-acl-number的配置情况,确保ACL规则能够过滤合适的(S,G)信息。

1.10.3  Anycast-RP应用中RP间互通信息异常

1. 故障现象

在Anycast-RP的应用中,各RP之间没有互相交换其本地注册的(S,G)信息。

2. 分析

·     在Anycast-RP应用中,通过将同一PIM-SM域内的RP配置为MSDP对等体,可以实现RP间的冗余备份;

·     MSDP对等体地址不能与Anycast-RP地址相同,且C-BSR和C-RP必须配置在不同的设备或接口上;

·     在使用originating-rp命令进行配置后,MSDP将利用该命令所指定的接口地址替换SA报文中的RP地址;

·     当MSDP对等体对收到的SA报文进行RPF检查时,如果发现RP地址为本地地址,将拒绝接收SA报文。

3. 处理过程

(1)     检查各设备之间的路由是否通达。通过命令display ip routing-table查看各设备之间单播路由是否正确。

(2)     检查将成为MSDP对等体的两个设备间是否存在到达对方的单播路由。

(3)     检查originating-rp命令的配置情况。在Anycast-RP的应用环境中,一定要配置originating-rp命令,而且originating-rp命令所指定的接口地址要与建立MSDP对等体连接的本地接口地址相同。

(4)     检查所配置的C-BSR地址是否与Anycast-RP的地址不同,应确保两个地址不同。

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们