OSPF协议详情详情震荡处理地地总结

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

【强烈推荐】OSPF协议震荡处理总结

1.1 协议简要介绍

Ospf:

协议号:89,组播地址发包:224.0.0.5,TTL=1,只有一跳,不会被转发。Router ID,路由器的唯一标志(自治系统内唯一)。

Router ID选取规则:

如果通过命令行router id进行了配置,则按照配置结果设置;

如果没有通过命令行router id进行配置,并且已经存在配置有IP地址的loopback接口,则选择loopback接口地址中最大的作为router id;如果没有通过命令行router id进行配置,并且不存在配置有IP地址的loopback 接口,则从其他接口的IP地址中选择最大的一个作为router id(不考虑接口的UP/DOWN状态);

邻居建立后,还需要通过HELLO报文进行邻居关系的维持,有两个定时器来进行这项工作:HELLO TIME:缺省为10秒)

DEAD TIME:缺省为4倍的HELLO TIME

通过Hello报文来进行邻居发现。

Hello报文中描述所有该接口上的邻居。

Hello以HelloInterval(10s)为间隔向外发送。

若间隔DeadInterval(40s)还没有收到邻居的Hello报文,则邻居Down。

1.2 协议状态机及交互

1.3 协议抓包

论坛中前边发过

1.4 常用调试手段

如何方便的了解OSPF出了什么问题,调试开关是需要打开的,其中最有效,最常用的就是debugging ospf event(IOS对应命令为debug ip ospf event)!它能让你对OSPF的大部分问题看的一目了然。当然它也不是万能的,它是在正确接收OSPF报文的基础上才能有相应的错误事件。如果没有看到任何动静,建议打开OSPF的所有报文调试开关debugging ospf packet,看看报文的收发是否正常。

打开OSPF event调试开关举例:

debugging ospf event

打开OSPF packet调试开关举例:

debugging ospf packet

命令

描述

display ospf peer

显示OSPF邻居信息

display ospf error

显示OSPF错误信息。

display ospf interface

显示使能OSPF的接口信息

display ospf brief

显示OSPF摘要信息。

display ospf cumulative

显示OSPF统计信息。

display ospf lsdb

显示OSPF的LSDB数据库

display ospf routing

显示OSPF路由信息

display ospf error packet

显示OSPF错误报文信息。

debugging ospf packet

调试OSPF收发报文信息。

debugging ospf event

调试OSPF的事件触发。

1.5 日志信息及定位方法

Dec 13 2011 14:29:35+04:00 fol2-c1 %%01OSPF/4/NBR_DOWN_REASON(l)[296037]:Neighbor state leaves full or changed to Down. (ProcessId=1

, NeighborRouterId=87.250.228.201, NeighborAreaId=0, NeighborInterface=Vlanif801,NeighborDownImmediate reason=Neighbor Down Due to I nactivity, NeighborDownPrimeReason=Hello Not Seen, NeighborChangeTime=[2011/12/13] 14:29:35)

相关错误警告信息见附件。

概要的故障处理步骤如下:

1

检查接口网段是否一致

2

检查各接口的优先级是否有非零

3

检查各路由器的route id互不相同

4

接口的timer等参数保持一致

5

接口的认证信息保持一致

6

检查是否ospf报文能正确接收

详细的故障处理步骤如下:

1. 检查接口网段是否一致

建立ospf邻居时,Broadcast和NBMA接口应该在在同一网段,保持两端可以ping通。同时接口所属区域的区域id应保持一致,同时区域的类型也要相同,包括nssa,stub,normal area等。

2. 检查各接口的优先级是否有非零

Broadcast和NBMA类型的网段,各接口的优先级至少有一个是非零的,已确保能够正确的选举出DR。否则各邻居只能达到2-way的邻居状态。可以通过display ospf interface等命令查看接口的优先级。

3. 检查各路由器的route id互不相同

同一网段上所有路由器的route id应该互不相同,否则会产生无法预料的路由振荡。可以通过display ospf brief等命令查看路由器的route id。

4. 接口的timer等参数保持一致

ospf timer hello命令用来设置接口发送Hello报文的时间间隔。缺省情况下,point-to-point、broadcast、point-to-multipoint类型接口发送Hello报文的时间间隔的值为10秒;NBMA类型接口发送Hello报文的时间间隔的值为30秒。

ospf timer dead命令用来设置OSPF的邻居失效时间,缺省情况下,point-to-point、point-to-multipoint、broadcast类型接口的OSPF邻居失效时间为40秒,NBMA类型接口的OSPF邻居失效时间为120秒。

创建邻居时,对应接口时间间隔参数必须保持一致,否则无法建立邻居。可以通过display ospf interface等命令查看。

5. 接口的认证信息保持一致

ospf在area下和接口下分别有认证信息的配置。

ospf认证的基本原则是:

如果接口下配置了认证,则使用接口下的认证,如果接口下配置为null,则该接口不进行认证;如果接口下没有配置认证(配置为null不是没有配置认证),则采用area下配置的认证,如果area也没有配置认证,则不认证。

创建邻居时,只有两端的认证配置完全一致时才能达到Full状态。

6. 检查是否ospf报文能正确接收

有时ospf的报文无法正确接收,原因有很多,先检查链路层是否畅通。可以打开ospf的debug开关查看报文的收发情况。Debug命令有debug ospf packet,debug ospf event等,还可以通过display ospf error命令查看各种ospf的错误计数。

如果ospf 的报文一切正常,再打开ip报文的debug信息来确认ip层是否转发成功。命令是debug ip packet,可以增加acl filter对debug信息过滤。

附件:NeighborDownPrimeReason.xlsx ( 21.12 KB ,18 下载)

标签:Ospf,接口,报文

petyourface

威望:500

积分:2465

金币:2000

头衔:中级工程师

发消息

2 楼发表于2012-11-26 23:3

3 | 只看该作者

等待审核中。。。。

monkeybrother

相关文档
最新文档