您现在的位置是:首页 > 市场洞察

OSPF协议对接问题的定位指导——OSPF邻居震荡

加盟快讯 2025-02-18【市场洞察】81人已围观

简介常见原因故障现象OSPF接口震荡;BFD会话DOWN;设备接收Hello报文超时;设备接收到1–wayHello报文超时;邻居Down原因是KillNeighbor。常见原因上述故障现象的常见原因主要包括:设备链路故障;BFD会话故障;CPUCAR丢包;LDM丢包;SOCKET丢包;对端设备故障;C...

常见原因故障现象

OSPF接口震荡;

BFD会话DOWN;

设备接收Hello报文超时;

设备接收到1–wayHello报文超时;

邻居Down原因是KillNeighbor。

常见原因

上述故障现象的常见原因主要包括:

设备链路故障;

BFD会话故障;

CPUCAR丢包;

LDM丢包;

SOCKET丢包;

对端设备故障;

CPU利用率过高。

说明:一般情况下OSPF邻居持续震荡是由于系统叠加各种大业务导致收发报文异常。

故障诊断流程

发现OSPF邻居持续震荡无法稳定,可按照故障诊断流程图1排除故障。

图1OSPF邻居震荡故障诊断流程图

故障处理步骤

一般情况下,OSPF邻居持续震荡是由于系统叠加大业务,如果出现OSPF持续震荡无法稳定的情况,最好寻求技术人员支持,保证业务快速恢复。

操作步骤

查看OSPF邻居震荡原因。

在故障设备的任意视图执行displayospfpeerlast-nbr-down命令,显示信息的ImmediateReason字段表明邻居down的直接原因,PrimaryReason字段表明邻居down的根本原因,可以根据这两个字段确认OSPF邻居震荡的原因:

:NeighborDownDuetoKillNeighborPrimaryReason:LinkFaultorInterfaceConfigurationChange

如果ImmediateReason显示为“NeighborDownDuetoLLDown”,则表明链路可能有问题,请执行步骤2。

如果PrimaryReason显示为“BFDSessionDown”,则表明BFD会话Down,请执行步骤3。

如果ImmediateReason显示为“NeighborDownDuetoInactivity”,则表明接收Hello报文超时,请执行步骤4。

如果ImmediateReason显示为“NeighborDownDueto1-Wayhello”,则表明对端设备没有收到本端设备发送的Hello报文,请执行步骤5。

如果ImmediateReason显示为“NeighborDownDuetoKillNeighbor”,有可能是本端配置变化引起邻居Down,请执行步骤6。

如果ImmediateReason显示为其他状态,请执行步骤7。

检查发生邻居震荡的OSPF接口状态。

在任意视图执行displayospfinterface命令(多次执行观察结果),检查OSPF接口的状态。

:0.0.0.0MP

如果State字段一直不为“Down”,表明接口没有震荡,请执行步骤3。

如果State字段偶尔为“Down”,说明接口有震荡,请检查设备链路是否故障,使接口状态不再出现Down状态。如果问题没有解决,请执行步骤7。

检查BFD会话是否有震荡。

首先检查震荡的OSPF邻居是否使能了BFD功能,可以分别在发生邻居震荡的OSPF进程视图下执行displaythis命令,查看是否包含BFD使能的配置(该处统一以OSPF进程下操作为例):

[~HUAWEI]ospf1[~HUAWEI-ospf-1]displaythisreturn[~HUAWEI]interfacevlanif100[~HUAWEI-Vlanif100]displaythisreturn

如果在OSPF进程视图下没有BFD使能的命令,请在相应OSPF进程下执行命令bfdall-interfacesenable使能BFD功能。

如果在OSPF进程视图下有BFD使能的命令,请在用户视图下多次执行displayospfbfdsession命令查看BFDState字段确认BFD会话是否有震荡。(Vlanif4000)'sBFDSessionsNeighborId:10.1.1.3AreaId:0.0.0.0Interface:Vlanif4000BFDState:Unknownrx:14929tx:14929如果BFDState字段一直为“Up”,表明接口没有震荡,请执行步骤3。如果BFDState字段偶尔为“Down”或一直为“Unknown”,说明接口有震荡,请执行步骤7。

检查本端设备对接收的OSPFHello报文是否有丢弃。

在用户视图下执行displaycpu-defstatisticspacket-typepacket-typeslotslot-id命令查看当前接口板的丢包情况,如果TotalDropped计数一直在增长,可能是接口板接收报文压力比较大,接口板无法及时上送Hello报文,导致OSPF接收Hello报文超时。

HUAWEIdisplaycpu-defstatisticspacket-typeospfslot2Statistics(packets)onslot2:--------------------------------------------------------------------------------PacketTypeTotalPassedTotalDroppedLastDroppingTimeLast5MinPassedLast5MinDropped--------------------------------------------------------------------------------ospf00-00--------------------------------------------------------------------------------

可以通过执行命令carpacket-typepacket-typeppspps-value来调整上送CPU报文的速率门限值来满足业务需求。

在诊断视图下执行displayldminnerdatapacket-box-receiveslotslot-id命令查看当前系统LDM模块丢包情况,如果TotalDropNum计数一直增长很快,则表示当前系统LDM模块丢包较多,原因可能当前系统压力比较大,LDM模块从接口底层接收大量报文无法及时处理,LDM模块持续丢包,导致OSPFHello接收超时。

[~HUAWEI]diagnose[~HUAWEI-diagnose]displayldminnerdatapacket-box-receiveslot1TotalDropNum:0TotalDropBytes:0--------------------------------

等待一段时间查看系统的LDM模块是否能稳定,如果TotalDropNum计数一直增长很快,请执行步骤7。

在诊断视图下执行displayospfsocketinterfaceinterface-typeinterface-number命令,查看FromLDM与ToAPP的报文收发计数差,如果计数差一直在加大,表明SOCKET模块存在丢包情况,可能原因是在叠加各业务大压力的情况下,CPU使用率长期很高,导致SOCKET组件无法及时处理大量报文,丢弃从LDM模块收发的报文,导致OSPFHello报文接收超时。

[~HUAWEI-diagnose]displayospfsocketinterfaceVlanif200OSPF1SocketInformationPacketStatistics:FromLDM:1895Pkt129568ByteFromAPP:2106Pkt92420ByteFromIPV4Lib:1895Pkt129568ByteToLDM:2002Pkt132044ByteToAPP:1895Pkt129568ByteFlowControlToApp:8LongCongTime:0

等待一段时间查看系统的CPU是否能稳定,如果CPU无法稳定而且以上模块持续丢包情况一直存在,OSPF邻居一直无法稳定,请执行步骤7。

由于邻居一直持续震荡无法稳定可能是报文持续丢失系统进入一种恶化状态。如果在升级过程中允许操作的话可以shutdown所有接口,等CPU稳定然后分批建立OSPF邻居(每次建立20个邻居左右),直到所有邻居都建立为止,这样可以避免同时建立大邻居引起的报文量太大。

检查对端设备查看是否收到本端设备发送的Hello报文。

请排查本端设备是否将hello报文发送出去。

在本端设备用户视图下执行debuggingospfpackethellointerfaceinterface-typeinterface-number命令,打开Hello报文的调试开关,查看本端设备是否正常向对端设备发送Hello报文。

HUAWEIdebuggingospfpackethellointerfaceVlanif200HUAWEIterminalmonitorInfo:::42:37.221128_14.60%%01OSPF/6/OSPF_DEBUG(d):CID=0x808204d5;FileID:0x13Line:1012Level:0x5OSPFv21SENDPacket,Interface:Vlanif4000

有SEND信息打印,表示OSPF模块已经发送出来hello报文;如果没有hello报文发送出来,请执行步骤7。

如果OSPF模块已经将hello报文发出,打开LDM模块的debug开关确认LDM模块是否将报文发送出来。[~HUAWEI-diagnose]debuggingldmpacketsipv4protocolospfnumber1[~HUAWEI-diagnose]3201509:47:59.288PE2%%01LDM/6/LDM_PKT(d):CID=0x8078275b;LDMspkttoFE!ret=0

如果有LDMspkttoFE信息打印,表示LDM已经将报文发出;如果没有该信息打印出来,请执行步骤7。

如果本端设备正常向对端设备发送Hello报文,请登录对端设备,在用户视图下执行debuggingospfpackethellointerfaceinterface-typeinterface-number命令,打开Hello报文的调试开关,查看对端设备是否收到本端设备发送的Hello报文。HUAWEIdebuggingospfpackethellointerfaceVlanif200HUAWEIterminalmonitorInfo:::41:01.203128_14.60%%01OSPF/6/OSPF_DEBUG(d):CID=0x808204d5;FileID:0x1dLine:1085Level:0x5OSPFv21RECVPacket,Interface:Vlanif4000

有RECV信息打印,表示OSPF模块已经接收到hello报文;如果没有hello报文发送出来,请排查中间链路是否有问题。如果问题仍然不能解决,请执行步骤7。

检查本设备的OSPF配置是否发生变化。

通过执行命令displaycurrent-configuration|includeospf查看OSPF配置是否变化。

在OSPF接口视图下执行以下命会导致OSPF邻居断连:

执行ospfnetwork-typetype命令改变OSPF接口网络类型;

执行ospfauthentication-mode命令改变OSPF认证类型;

执行ospftimerhello命令将本端的hello间隔修改为与对端设备不一致;

执行ospftimerdead命令将本端的dead间隔修改为与对端设备不一致。

在OSPF进程或区域视图下配置以下命令,会导致对应的OSPF邻居断连:

进程视图下执行silent-interface命令;

进程视图下执行opaque-capability命令;

区域视图下执行stub、nssa等命令更改区域类型。

请检查OSPF邻居震荡是否因为其它用户频繁更改本端设备的OSPF配置引起。

如果问题没有解决,请执行步骤7。

请收集如下信息,并联系技术支持人员。上述步骤的执行结果。设备的配置文件、日志信息、告警信息。

很赞哦!(81)