09-OSPF故障排查总结
我们都知道OSPF邻居建立过程一般有7个步骤(当然这里忽略了down的状态),每一步在邻居协商的时候都在做不同的事情。如果在邻居建立过程,卡在中间某一步不往下面继续协商,那一定说明了有问题存在。下面就是总结了停滞在每一步可能遇到的问题。
首先来看看OSPF问题处理的流程和思路:
关于OSPF邻居的各个状态要处理的事情,这里还是再来做一个澄清:
Down:这是OSPF建立交互关系的初始化状态,表示在一定时间之内没有接收到从某一相邻路由器发送来的信息。在非广播性的网络环境内,OSPF路由器还可能对处于Down状态的路由器发送Hello数据包。
Attempt:该状态仅在NBMA环境,例如帧中继、X.25或ATM环境中有效,表示在一定时间内没有接收到某一相邻路由器的信息,但是OSPF路由器仍必须通过以一个较低的频率向该相邻路由器发送Hello数据包来保持联系。
Init:在该状态时,OSPF路由器已经接收到相邻路由器发送来的Hello数据包,但自身的IP地址并没有出现在该Hello数据包内,也就是说,双方的双向通信还没有建立起来。
2-Way:这个状态可以说是建立交互方式真正的开始步骤。在这个状态,路由器看到自身已经处于相邻路由器的Hello数据包内,双向通信已经建立。指定路由器及备份指定路由器的选择正是在这个状态完成的。在这个状态,OSPF路由器还可以根据其中的一个路由器是否指定路由器或是根据链路是否点对点或虚拟链路来决定是否建立交互关系。
Exstart:这个状态是建立交互状态的第一个步骤。在这个状态,路由器要决定用于数据交换的初始的数据库描述数据包的序列号,以保证路由器得到的永远是最新的链路状态信息。同时,在这个状态路由器还必须决定路由器之间的主备关系,处于主控地位的路由器会向处于备份地位的路由器请求链路状态信息。
Exchange:在这个状态,路由器向相邻的OSPF路由器发送数据库描述数据包来交换链路状态信息,每一个数据包都有一个数据包序列号。在这个状态,路由器还有可能向相邻路由器发送链路状态请求数据包来请求其相应数据。从这个状态开始,我们说OSPF处于Flood状态。
Loading:在loading状态,OSPF路由器会就其发现的相邻路由器的新的链路状态数据及自身的已经过期的数据向相邻路由器提出请求,并等待相邻路由器的回答。
Full:这是两个OSPF路由器建立交互关系的最后一个状态,在这时,建立起交互关系的路由器之间已经完成了数据库同步的工作,它们的链路状态数据库已经一致。
前面是说明OSPF邻居在各种不同的状态所要处理的事情,那么如果当邻居的状态老是停留在某一个状态而一直不能转换到下一个状态的时候,那么这个时候就有必要进行一次故障排查了。
OSPF邻居状态停滞在INIT阶段:
○可能是其中的某一段用ACL访问列表阻止了OSPF hello 分组.
○组播功能在某一边不能正常传输。
○邻居验证通不过。
在broadcast network不论是DR,BDR,DRother,大家发送hello packet的时候目标地址都是AllSPFRouter(224.0.0.5),这也就是为什么需要查看hello报文是否能双向传输的关键是组播。或者是否是ACL将224.0.0.5的组播地址给deny掉了。
OSPF邻居状态停滞在2-Way阶段:
○查看是否两边的路由器接口下面都配置了命令:Router(config-if-fastethernet0)#ip ospf priority 0
这里涉及到一个知识点,我们都知道,在广播网络中,需要进行选举DR或者BDR,那么选举的原则就是:
当选举DR/BDR的时候要比较hello包中的优先级(priority:设置命令 route(config-if)#ip ospf cost {priority} 0~255),优先级最高的为DR,次高的为BDR.不作修改默认端口上的优先级都为1,在优先级相同的情况下比较Router ID,RID最高者为DR,次高者为BDR,当你把相应端口优先级设为0时,OSPF路由器将不能再成为DR/BDR,只能为DROTHER.
而关键的问题就在于在广播网络中,必须要选举DR和BDR.如果DR和BDR产生不了,自然就会停留在该阶段.
下面有一些关于debug时候得到的信息可以作为参考:
*Sep 6 20:07:20.755: OSPF: Neighbor change Event on interface FastEthernet0/0
*Sep 6 20:07:20.759: OSPF: DR/BDR election on FastEthernet0/0
*Sep 6 20:07:20.759: OSPF: Elect BDR 0.0.0.0
*Sep 6 20:07:20.759: OSPF: Elect DR 0.0.0.0
*Sep 6 20:07:20.763: DR: none BDR: none
*Sep 6 20:07:20.791: OSPF: Interface FastEthernet0/0 going Up
*Sep 6 20:07:20.791: OSPF: Send hello to 224.0.0.5 area 0 on FastEthernet0/0 from 12.1.1.1
*Sep 6 20:07:21.251: OSPF: Build router LSA for area 0, router ID 12.1.1.1, seq 0x80000001
*Sep 6 20:07:22.307: OSPF: Rcv hello from 23.1.1.2 area 0 from FastEthernet0/0 12.1.1.2
*Sep 6 20:07:22.311: OSPF: 2 Way Communication to 23.1.1.2 on FastEthernet0/0, state 2WAY
*Sep 6 20:07:22.311: OSPF: End of hello processing
OSPF邻居停滞在Exstart或者是Exchange状态:
○不匹配的接口MTU.
这个问题很多时候都会爆发出来,两边接口的MTU不匹配会造成邻居不能full起来。因为在这两个阶段,RFC定义的有一项必要的工作就是比较两边的MTU是否匹配。如果不匹配就不能进入到下面的环节.
要解决这个问题,可以在两边都设置一样的接口MTU,或者在两边的接口下面配置忽略接口MTU:
Router(config-if-fastethernet0)#ip ospf mtu-ignore
○ 在邻居路由器上有重复的Router-ID.
○ 不能用超过一定大小的MTU去ping通对端.------该问题多出现在链路上面。
○单播不能双向通讯。
○在PRI/BRI拨号接口之间的网络类型为P2P网络类型.
OSPF邻居停滞在Loading状态:
○还是MTU的问题,同上.
本文转自 hny2000 51CTO博客,原文链接:http://blog.51cto.com/361531/700070
09-OSPF故障排查总结相关推荐
- kuberntes集群不能解析service ip故障排查记录
一.故障描述 涉及kubernetes版本: 1.20 kuberntes集群发布服务后,不能正常解析service ip,无法使用telnet测试服务ip 在kubernetes命名空间里部署red ...
- 简单局域网网络故障排查和处置
简单局域网网络故障排查和处置 一.了解基本网络构成 1. IP传输通信图 2.有线网络 (一)物理层面 (1)网线 (2)网线的制作 (3)网卡接口 (4)光纤 (5)光纤接口 (6)收发器 (7)集 ...
- java基础巩固-宇宙第一AiYWM:为了维持生计,做项目经验之~SSM项目错误集锦Part3(项目蹦+pg数据库坏+100%-->线上故障排查经验【业务bug第一步一定是先看日志,写好日志】)~整起
项目中遇到的一个问题:项目忽然蹦了,用我们的域名登陆不上去了. 根据之前的经验,一般比如我们项目登不上去了或者数据库不上数据了(数据不更新),直接在Xshell上远程reboot一下,再重启一下tom ...
- MPLS *** 故障排查详解—Yeslab 彭Sir笔记
Technorati 标签: CCIE,MPLS ×××,故障排查,troubleshooting,MPLS Troubleshooting主要从两个层面来进行: 1, 控制层面---路由(和LDP, ...
- JVM 线上故障排查
JVM 线上故障排查 Linux 1.1 CPU 1.2 内存 1.3 存储 1.4 网络 一.CPU 飚高 寻找原因 二.内存问题排查 三.一般排查问题的方法 四.应用场景举例 4.1 怎么查看某个 ...
- cloudstack java_CloudStack 故障排查汇总-不定期更新
工作中经常用到CloudStack,过程中发现的一些故障排查分享出来,希望可以帮到大家. 一.添加主机失败 现象1:[root@mgmt ~]# tail -f /var/log/cloudstack ...
- MySQL性能优化、故障排查及最佳实践秘籍,阿里云数据库专家玄惭的“武功”全记录...
为什么80%的码农都做不了架构师?>>> 文章简介 玄惭,真名罗龙九,阿里云DBA专家,负责阿里云RDS线上稳定以及专家服务团队.他经历过阿里历年双11实战考验,积累了7年对阿 ...
- 桌面虚拟化XenDesktop常见故障排查宝典
XD故障排查宝典(1) XenServer安装时注意一定配置正确的时区和时间. 建议使用NTP来同步时间. 如果时区不对,或者时间有问题,会使虚机时间不对,影响VDA注册等一系列问题. 使用XenSe ...
- 线上应用故障排查之二:高内存占用
为什么80%的码农都做不了架构师?>>> 搞Java开发的,经常会碰到下面两种异常: 1.java.lang.OutOfMemoryError: PermGen space 2 ...
最新文章
- C++回声服务器_5-多进程版本
- linux命令学习-1-less
- 【WinForm-无边框窗体】实现Panel移动窗体,没有边框的窗体
- which 命令
- 高效神器!小目标检测迎来曙光!SSPNet金字塔网络!川大出品
- camera android 版本,Camera for Android
- 美国计算机科学公司的全球化发展历程,计算机科学导论第1章 概述.ppt
- 节点类型与功能_WKD3874多功能振动测试系统
- 杂记 什么是ABC记谱法
- 设计模式(2) 生成器模式(BUILDER)
- 2022保密教育线上培训考试 01
- 任正非:一江春水向东流
- 计算机怎么看事件管理,win7系统事件查看器怎么打开
- bzoj 2827: 千山鸟飞绝
- 手机内存不够用,蒲公英X1让U盘秒变私有云
- 进制转换的算法及进制在线转换器
- 中国总部经济园市场发展策略分析及市场十四五前景展望报告2022-2028年版
- 微信公众平台学习笔记
- java生成word排版_java生成word(文字和图片)
- Error parsing HTTP request header...java.lang.IllegalArgumentException: Invalid character found in m