0103 MSDP故障处理.docx
《0103 MSDP故障处理.docx》由会员分享,可在线阅读,更多相关《0103 MSDP故障处理.docx(26页珍藏版)》请在冰豆网上搜索。
0103MSDP故障处理
目录
3MSDP故障处理3-1
3.1MSDP简介3-2
3.2MSDP故障处理3-2
3.2.1典型组网环境3-2
3.2.2配置注意事项3-3
3.2.3故障诊断流程3-5
3.2.4故障处理步骤3-6
3.3故障处理案例3-8
3.4FAQ3-10
3.5故障诊断工具3-14
3.5.1display命令3-14
3.5.2debugging命令3-19
3.5.3告警3-20
3.5.4日志3-20
插图目录
图3-1MSDP典型配置组网图3-3
图3-2MSDP故障诊断流程图3-6
图3-3MSDP典型案例组网图3-9
表格目录
表3-1MSDP中的RPF规则3-11
表3-2与MSDP相关的display命令3-14
表3-3displaymsdpbrief命令输出信息描述3-15
表3-4displaymsdppeer-status命令输出信息描述3-16
表3-5displaymsdpsa-cache命令输出信息描述3-18
表3-6displaymsdpsa-count命令输出信息描述3-19
表3-7与MSDP相关的debugging命令3-19
3MSDP故障处理
关于本章
本章描述内容如下表所示。
标题
内容
3.1MSDP简介
介绍了进行MSDP故障处理时用户所需的知识要点。
3.2MSDP故障处理
针对典型的MSDP组网环境,介绍配置MSDP时要注意的事项,故障处理的流程和详细的故障处理步骤。
3.3故障处理案例
介绍了若干实际的故障处理案例。
3.4FAQ
列出了用户常问的问题,并给出了相应的解答。
3.5故障诊断工具
介绍了进行故障处理所需的故障诊断工具,包括使用display命令和debugging命令、告警信息、日志信息等。
3.1MSDP简介
MSDP(MulticastSourceDiscoveryProtocol,组播源发现协议)用来在多个RP(RendezvousPoint)之间传播信源信息,不受PIM-SM域的限制。
配置了MSDP对等体的RP将本地注册的活动组播源信息通过SA(SourceActive)消息通告给远端MSDP对等体。
SA消息在MSDP对等体之间转发,从而实现组播源信息在多个RP之间共享。
MSDP对等体之间使用TCP连接。
推荐将MSDP对等体配置在RP或ASBR上。
●建立在不同域之间的MSDP对等体用来实现域间信源信息传播。
接收者所在域的RP在获得其他域的信源信息后,将直接加入该信源的SPT,将组播数据引下来。
接收者沿RPT收到组播数据后,可以自行决定是否发起SPT切换。
●建立在同一域内的多个RP上的MSDP对等体(AnycastRP)用来实现域内RP负载分担。
在同一域内的存在多个RP(静态RP或C-RP皆可)为相同的组服务。
这些RP使用相同的IP地址,位于不同的路由器接口(Loopback)上。
在这些路由器之间建立MSDP对等体。
单播路由收敛后,组播源选择最近的RP注册,接收者选择最近的RP加入RPT。
RP之间通过SA消息共享注册源信息,最终,每个RP上的接收者就可以接收到整个域内的所有组播源发出的组播数据。
MSDP通过RPF检查机制,只接受从正确路径上到达的SA消息,避免接受冗余的SA消息。
通常MSDP与MBGP配合使用。
通过配置MeshGroup可以避免SA消息在MSDP对等体之间泛滥。
3.2MSDP故障处理
本节介绍如下的内容:
●典型组网环境
●配置注意事项
●故障诊断流程
●故障处理步骤
3.2.1典型组网环境
MSDP的典型组网如图3-1所示。
MSDP的故障处理将基于该网络。
图3-1MSDP典型配置组网图
在上述组网图中,采用了如下的方案:
●ISP维护两个自治系统分别为AS100和AS200,各AS内部采用OSPF进行互联,AS之间采用EBGP交换路由信息。
●每个自治系统包含至少一个PIM-SM域,采用单BSR域方式,拥有0个或1个组播源S和接收者。
●在PIM-SM2域内配置AnycastRP。
●在各个PIM-SM域的RP之间建立MSDP对等体关系。
AS200内的所有MSDP对等体加入同一个MeshGroup,AS间的MSDP对等体与EBGP对等体使用相同的接口地址。
3.2.2配置注意事项
配置项
子项
注意事项
MSDPPeer
PIM-SM
域内组播路由协议必须是PIM-SM。
RP
产生SA报文的MSDPPeer必须是源注册的RP。
建议在且仅在网络中的所有RP(包括静态RP和C-RP)上配置MSDPPeer。
AnycastRP
在PIM-SM域内准备多个路由器接口(Loopback),配置相同的IP地址。
配置此接口(地址)为RP,为相同的组播组服务。
在这些路由器之间建立MSDP对等体。
不能将MSDP对等体与RP配置在相同的接口上。
不能将BSR与RP配置在相同的接口上。
必须为SA消息指定逻辑RP地址,推荐使用MSDP对等体接口地址。
MeshGroup
属于同一个MeshGroup的路由器之间必须两两建立MSDP对等体。
建议将属于同一个AS的所有MSDPPeer加入同一个MeshGroup。
BGPPeer
或MBGPPeer
跨越AS的MSDP对等体之间必须存在EBGP路由,否则SA消息无法通过RPF检查。
建议在跨AS的MSDP对等体上建立MBGP对等体,且MSDP对等体地址与MBGP对等体的地址相同。
StaticRPFPeer
从静态RPF对等体发来的SA消息可以免除RPF检查。
如果一对跨AS的MSDP对等体相互指定对方为StaticRPFPeer,则两者之间可以不必建立BGP或MBGP对等体。
import策略
在本地MSDPPeer上配置peersa-policyimport,控制SA消息的接收。
配置不当,可能导致到达的SA报文被忽略。
export策略
在对端MSDPPeer上配置peersa-policyexport,控制SA消息的转发。
配置不当,可能导致SA报文不能被发出。
创建SA消息策略
在源MSDPPeer上配置import-source,控制SA消息的创建。
配置不当,可能导致某些(S,G)项无法被通告。
下面以RP21的配置为例说明配置MSDP时需要注意的事项。
以下所列的配置命令只包含“配置MSDP”相关的命令。
详细的配置请参见《VRP配置指南IP组播》。
配置AnycastRP
#在PIM-SM2域中,在RP21和RP22上各准备一个loopback0接口,配置相同的IP地址。
指定loopback0接口为C-RP。
将C-BSR配置在与C-RP不同的接口上。
[RP21]interfaceloopback0
[RP21-LoopBack0]ipaddress2.2.2.2255.255.255.255
[RP21-LoopBack0]pimsm
[RP21-LoopBack0]quit
[RP21]pim
[RP21-pim]c-rploopback0
[RP21-pim]c-bsrpos2/0/0
[RP21-pim]quit
#使用单播路由发布loopback0接口地址。
(略)
#在RP21和RP22的POS2/0/0接口之间配置MSDP对等体,指定SA消息的逻辑RP地址。
同一AS内的MSDP对等体承认彼此为MeshGroup成员。
[RP21]msdp
[RP21-msdp]peer11.1.2.1connect-interfacepos2/0/0
[RP21-msdp]originating-rppos2/0/0
[RP21-msdp]peer11.1.2.1mesh-groupaaa
配置域间MSDP对等体
#在RP21和RP1的POS1/0/0接口之间配置MSDP对等体。
跨AS的MSDP对等体接口地址与EBGP对等体接口地址相同。
[RP21-msdp]peer11.1.1.1connect-interfacepos1/0/0
#在RP21和RP3的POS3/0/0接口之间配置MSDP对等体。
同一AS内的MSDP对等体承认彼此为MeshGroup成员。
[RP21-msdp]peer11.1.3.1connect-interfacepos3/0/0
[RP21-msdp]peer11.1.3.1mesh-groupaaa
3.2.3故障诊断流程
针对图3-1所示的网络,在配置了MSDPPeer路由器上执行命令displaymsdpsa-cache后,发现SA缓存中没有(S,G)项。
请使用下面的故障诊断流程,如图3-2所示。
图3-1MSDP故障诊断流程图
3.2.4故障处理步骤
在定位MSDP故障之前,请务必先排除PIM-SM故障。
检查方法请参见《VRP故障处理IP组播篇PIM故障处理》。
进行MSDP故障检查,请务必从SA缓存中没有(S,G)项的MSDPPeer路由器开始,沿到达组播源S的RPF路径逐个检查MSDPPeer,重复以下1~4步骤,直到离组播源最近的MSDPPeer路由器为止。
如果被检路由器为离组播源最近的MSDPPeer路由器,进行5~6步骤的检查。
步骤1检查配置的所有MSDPPeer状态是否已经UP。
在配置了MSDPPeer的路由器上执行命令displaymsdpbrief,查看MSDPPeer状态是否为UP。
如果显示信息表明MSDPPeer状态为Down,建议检查:
●MSDPPeer接口配置是否正确
●MSDPPeer之间能否单播ping通
步骤2检查是否使能SA缓存。
在配置了MSDPPeer路由器上执行命令displaycurrent-configurationconfigurationmsdp,查看MSDP视图下的当前配置。
如果显示信息中出现命令undocache-sa-enable,表明MSDP关闭了SA缓存。
建议在MSDP视图下配置cache-sa-enable使能SA缓存。
步骤3检查是否有Peer发出的SA信息到达。
打开debuggingmsdpall命令,查看MSDP调试信息,是否显示有Peer发出的SA信息到达。
1.如果调试信息显示有从MSDPPeer发出的SA信息到达,但因为RPF检查不通过而拒绝接收,则调整MBGP、BGP,组播静态路由,或配置静态MSDPPeer使得RPF检查通过。
2.如果调试信息显示有从MSDPPeer发出的SA信息到达,但因为本地配置了import策略而拒绝接收SA信息,则执行命令displaycurrent-configurationconfigurationmsdp,查看MSDP视图下的当前配置。
●如果显示信息中出现不带参数的peerpeer-addresssa-policyimport命令,则表明该MSDPPeer不接收任何组播源信息。
●如果显示信息中出现带ACL参数的peerpeer-addresssa-policyimportaclacl-number命令,则表明只有ACL允许的(S,G)信息才能被接收。
建议查看路由器上是否配置了相应的ACL命令,且(S,G)项能否通过相应的ACL规则的过滤。
建议删除peersa-policyimport命令或者调整该命令中指定的ACL规则。
关于peersa-policyimport命令的更多信息请参见《VRP命令参考IP组播命令》。
步骤4检查对端MSDPPeer是否配置了export策略。
如果MSDP调试信息显示没有从MSDPPeer接收到SA消息,则在对端路由器上执行命令displaycurrent-configurationconfigurationmsdp,查看对端MSDP视图下的当前配置。
●如果显示信息中出现不带参数的peerpeer-addresssa-policyexport命令,则表明该MSDPPeer不向外转发任何组播源信息。
●如果显示信息中出现带ACL参数的peerpeer-addresssa-policyexportaclacl-number命令,则表明只有ACL允许的(S,G)信息才能被通告。
建议查看路由器上是否配置了相应的ACL命令,且(S,G)项能否通过相应的ACL规则的过滤。
建议删除peersa-policyexport命令或者调整该命令中指定的ACL规则。
关于peersa-policyexport命令的更多信息请参见《VRP命令参考IP组播命令》。
步骤5检查源MSDPPeer是否配置为RP。
在离组播源最近的MSDPPeer路由器上执行命令displaypimrouting-table,查看路由表信息。
如果(S,G)项上没有2MSDP标志,则表明该MSDPPeer不是RP。
建议调整PIM-SM网络RP或者MSDP配置,确保源MSDPPeer为RP。
步骤6检查源MSDPPeer是否配置了import-source命令。
通过配置import-source[aclacl-number]命令,MSDP可以在创建SA消息时,对其通告的(S,G)项进行组播源过滤,从而实现在创建SA消息时对组播源消息传播的控制。
缺省情况下,SA消息通告所有已知源信息。
在离组播源最近的MSDPPeer路由器上执行命令displaycurrent-configurationconfigurationmsdp,查看MSDP视图下的当前配置。
●如果显示信息中出现不带参数的import-source命令,则表明该MSDPPeer不向外通告任何组播源信息。
●如果显示信息中出现带ACL参数的import-sourceaclacl-number命令,则表明只有ACL允许的(S,G)信息才能被通广告。
建议查看路由器上是否配置了相应的ACL命令,且(S,G)项能否通过相应的ACL规则的过滤。
建议删除import-source命令或者调整该命令中指定的ACL规则。
关于import-source命令的更多信息请参见《VRP命令参考IP组播命令》。
如果检查结束,故障仍然无法排除,请联系华为的技术支持工程师。
----结束
3.3故障处理案例
网络环境
用户通过组播方式接收跨域视频点播信息,组网图如图3-3。
图3-1MSDP典型案例组网图
故障现象:
PIM-SM3中的Receiver可以正常接收S2的数据,但无法收到S1的数据。
故障分析
由于Receiver可以正常接收S2的数据,排除点播应用软件出现故障的可能性。
怀疑问题出在路由上。
1.在RTF上使用displaypimrouting-table命令来查看路由表项,发现只有(S2,G),但不存在(S1,G)。
怀疑上游路由器没有建立组播路由。
2.在RTE上使用displaypimrouting-table命令来查看路由表项,发现只有(S2,G),但不存在(S1,G)。
3.在RTE上执行命令displaymsdpsa-cachegroup-addresssource-address,在命令中指定源地址和组地址。
发现SA缓存中不存在(S1,G)项,怀疑域间MSDPPeer没有将(S1,G)信息发送过来。
4.在RTC上使用命令displaymsdpsa-cachegroup-addresssource-address,发现也没有(S1,G)项。
5.在RTC上使用displaymsdpbrief命令发现与RTB的MSDPPeer状态是UP的。
怀疑RTC是否收到了包含(S1,G)项的SA消息,或是过滤掉了(S1,G)项。
6.在RTC上使用debuggingmsdpall命令打开MSDP调试开关,检查路由器能否正常接收SA消息。
发现RTC上只有一些保持MSDP会话连接的消息而没有收到需要的SA消息。
怀疑对端路由器RTB没有发出所需要的SA消息。
7.在RTB上使用displaycurrent-configurationconfigurationmsdp命令查看MSDP的配置信息,发现除一条MSDPPeer配置以外没有任何其它配置,即并没有配置import-source过滤。
故障原因不在这里。
8.在RTB上使用displaypimrp-info命令发现RTB是所需要的(S,G)项的RP。
故障原因不在这里。
9.在RTB上使用displaypimrouting-table命令,发现(S1,G)项没有2MSDP标志。
观察组网图可知,RTB与源直连。
怀疑RTB连接直连源的接口不是该网段DR。
10.在RTB上使用displaypiminterface命令,发现直连源的网段上的DR是RTA,而不是RTB。
RTB接口POS2/0/0的DR优先级为1。
故障定位。
处理步骤
步骤1在RTA上执行命令displaypiminterface,发现接口POS2/0/0的DR优先级为3。
步骤2在RTB上执行命令system-view,进入系统视图。
步骤3在RTB上执行命令interfacepos2/0/0,进入接口视图。
步骤4在RTB上执行命令pimhello-optiondr-prioritypriority,修改路由器竞选成为DR的优先级为5,大于RTA。
步骤5在RTB上执行命令displaypiminterface命令查看,发现该接口已成为DR。
步骤6在RTB上退回用户视图,执行命令save,保存对配置的修改。
----结束
完成上述操作稍后,发现Receiver已能正常播放S2的视频。
故障被排除。
案例总结
当RP从注册接口收到报文并且创建(S,G)项时,要打上2MSDP标志,说明需要向其它MSDPpeer发送。
在RP直连源的情况下,RP必须同时作为直连源的网段上的DR,系统才会为(S,G)项标志2MSDP,并向其它MSDPpeer发送。
3.4FAQ
●问:
配置MSDPPeer时,需要注意什么?
答:
本地Connect-Interface接口地址必须与对端配置的Peer地址一致。
通过使用peerpeer-addressconnect-interfaceinterface-typeinterface-number命令,可以在本地接口Connect-Interface与对端地址peerpeer-address之间,建立MSDP对等体关系。
同时,在对端路由器上也要进行相应的配置。
如果本地Connect-Interface接口地址与对端路由器上配置的Peer地址不匹配,TCP连接就不能建立。
此外,如果MSDPPeer之间没有路由,TCP连接也不能建立。
●问:
为什么MSDPPeer无法接收SA报文?
答:
MSDP从Peer接收到SA报文时,需要进行RPF检查。
如果RPF检查失败,路由器将拒绝接收该报文,从而不会缓存该SA报文中包含的(S,G)项。
通过执行debuggingmsdpall命令可以观察MSDP是否收到了SA报文。
MSDP按照如表3-1中的顺序进行RPF检查,直到找到一条规则匹配为止。
表3-1MSDP中的RPF规则
序号
匹配规则
1
只有一个Peer,检查通过。
2
Peer就是产生SA报文的源RP,检查通过。
3
Peer属于全连接组,检查通过。
4
Peer是静态RPFPeer,检查通过。
5
如果配置了MBGP:
●如果MSDPPeer是E-MBGPPeer,并且Peer的AS号是到RP的下一个AS,检查通过。
●如果MSDPPeer是I-MBGPPeer,并且Peer的地址是到RP的下一跳,检查通过。
●如果MSDPPeer既不是E-MBGPPeer又不是I-MBGPPeer,如果Peer的AS号是到RP的下一个AS,检查通过。
6
如果配置了BGP:
●如果MSDPPeer是E-BGPPeer,并且Peer的AS号是到RP的下一个AS,检查通过。
●如果是MSDPPeer是I-BGPPeer,并且Peer的地址是到RP的下一跳,检查通过。
●如果MSDPPeer既不是E-BGPPeer又不是I-BGPPeer,如果Peer的AS号是到RP的下一个AS,检查通过。
7
如果既没有配置MBGP又没有配置BGP:
如果到达Peer的路由是从IGP学到的,且Peer的地址是到RP的下一跳,检查通过。
●问:
MSDP调试信息显示从Peer接收到SA报文,为什么SA缓存中没有(S,G)项?
答:
可能的原因是:
配置了peerpeer-addresssa-policyimport[acl-number]命令,导致到达的SA被忽略。
MSDP从Peer接收到SA报文后,首先用SA报文中的(S,G)项去匹配sa-policyimport中配置的ACL号,如果过滤通过,才会对(S,G)信息进行缓存和转发。
所以如果调试信息显示接收到SA报文,但SA缓存中没有(S,G)项,检查ACL参数配置是否正确。
●问:
MSDP调试信息显示从Peer接收到SA报文,为什么没有将SA转发出去?
答:
可能的原因是:
配置了peerpeer-addresssa-policyexport[acl-number]命令,导致没有将接收到的SA转发出去。
MSDP从Peer接收到SA报文后,要将SA报文转发给除发送者外的所有Peer。
在转发SA报文之前,会用(S,G)项去匹配每个Peer配置的sa-policyexport,如果(S,G)项无法通过某个Peer的SA-Policy,该(S,G)项就不会转发给这个Peer。
●问:
为什么路由器没有将本域内的(S,G)信息发送给远端MSDPPeer。
答:
可能的原因是:
−将MSDPPeer配置在了非RP的路由器上。
必须将MSDPPeer配置在RP上,MSDP才会将本域的(S,G)信息发送给其他MSDPPeer。
−配置了import-source命令,导致源MSDPPeer没有产生SA报文。
import-source用于控制将哪些(S,G)项通过SA报文发布出去。
其所带的ACL参数是可选的,如果没有配置ACL参数,是默认过滤掉所有的(S,G)项,即不发布任何(S,G)项。
当不配置import-source命令时,是发布所有(S,G)信息。
因此当MSDP没有将本域的(S,G)项通过SA发送出去时,检查是否配置了不合理的import-source命令。
●问:
配置AnycastRP时,需要注意什么?
答:
注意事项如下:
−在同一个PIM-SM域中的多个路由器接口(Loopback)上配置相同的IP地址,并指定该接口地址为RP。
−在这些路由器之间建立MSDP对等体关系,MSDP对等体地址不能与RP地址相同,否则将导致MSDPPeer之间的TCP连接建立不起来。