故障排错篇之OSPF协议

一、OSPF邻居建立不成功

1、从理论上判断问题的所在

1.1、检查邻居两端的接口物理和协议状态是否UP,状态是否稳定,接口是否有丢包,两边互ping大包是否能通

若物理接口不Up或是不稳定(有振荡现象),请排查物理链路和链路层协议,确保物理和协议状态都是Up,并且接口无错误计数。可以通过ping测试,长ping测试是否存在丢包现象,ping大包(1500节以上)测试是 否存在大包不通的现象(观察OSPF的邻居状态,如果长时间处于Exstart和Exchange状态,DD报文一般会填满 MTU,如1500能填到1492)

1.2、检查链路两端OSPF进程的Router ID是否一致。

分别在链路两端的设备上执行命令display ospf [ process-id ] brief,查看OSPF进程的Router ID,RouterID尽量保证全网唯一,否则有可能邻居不能正常建立、路由信息不正确的问题。建议在设备上单独为每 个OSPF进程配置全网唯一的Router ID(如果说一样的话,请在系统视图下执行命令ospf [ process-id ] router-id router-id,修改OSPF进程的Router ID以保证不冲突,修改OSPF进程的Router ID之后,必须在用户视图下执行命令reset ospf [ process-id ] process后,新配置的Router ID才会生效)

1.3、检查链路两端OSPF区域ID是否一致。

分别在链路两端的设备上执行命令display ospf [ process-id ] brief,查看OSPF的区域ID(如果链路两 端的OSPF区域ID不一致,请在OSPF视图下执行命令area area-id,修改OSPF区域ID以保证一致)

1.4、检查链接两端OSPF接口的网络类型是否一致。

分别在链路两端的设备上执行命令display ospf [ process-id ] interface,查看OSPF接口的接口类型,一般情况下,链路两端的OSPF接口的网络类型必须一致,否则双方不能正常建立起OSPF邻居关系(如果OSPF接口的网络类型不一致,请在运行OSPF协议的接口视图下执行命令ospf network-type { broadcast | nbma | p2mp | p2p },修改OSPF接口的网络类型以保证一致)

1.5、检查链路两端OSPF接口的IP地址的掩码是否一致,

分别在链路两端的设备上执行命令display current-configuration interface interface-type interface-number,查看OSPF接口的IP地址。一般情况下,链路两端的OSPF接口的IP地址的掩码必须一致,否则双方不能正常建立OSPF邻居关系。但在P2MP网络中,可以通过在运行OSPF协议的接口视图下配置命令ospf p2mp-mask-ignore来使设备忽略对网络掩码的检查,从而正常建立OSPF邻居关系(如果OSPF接口的IP地址的掩码不一致,请在运行OSPF协议的接口视图下执行命令ip address ip-address { mask | mask-length },修改OSPF接口的IP地址以保证掩码一致)

1.6、检查链路两端OSPF接口的IP地址所在网段是否包含在区域内配置的network内,

分别在链路两端的设备上执行命令display current-configuration interface interface-type interface-number,查看OSPF接口的IP地址;执行命令display current-configuration configuration ospf,查看OSPF进程的配置

满足下面两个条件,OSPF协议才能在接口上运行:

  • 接口的IP地址掩码长度≥network命令中的掩码长度。OSPF使用反掩码,例如0.0.0.255表示掩码长度24位
  • 接口的主IP地址必须在network命令指定的网段范围之内

1.7 检查链路两端OSPF接口的DR优先级是否非零

分别在链路两端的设备上执行命令display ospf [ process-id ] interface,查看OSPF接口的DR优先级,对于广播和NBMA类型网络,链路中至少要有一个OSPF接口的DR优先级不为0,这样才能正常选举出DR。否则两边的邻居状态只能达到2-Way。如果链路两端OSPF接口的DR优先级都为0,请在运行OSPF协议的接口视图下执行命令ospf dr-priority priority,修改OSPF接口的DR优先级以保证至少有一个接口的DR优先级不为

二、从OSPF的报文分析问题

1、dis ospf cumulative(查看hello报文的接收情况)

如果说长期init状态,那基本上就是没有收发hello报文,就可以使用dis ospf cumulative查看hello报文的收发情况

2、DD报文

如果长时间处于Exstart和Exchange状态,检查ping大包能否ping通,DD报文一般会填满MTU,如1500能填到1492,导致这种问题一般可能是接口的物理状态和协议状态不稳定造成的

3、2-way

如果说长期处于2-way状态下,那么就是选举DR的问题了,因为网络类型如果是广播网络的话那么就需要选举DR,这个时候需要判断两端接口的DR的优先级是否为0,如果为0的话那就无法选举DR,无法选举DR就是一直卡在2-way状态下,不过现网的环境一般都是把接口的网络类型改成P2P,这样子减少故障的发生率,还能让OSPF快速的建立起邻居。这里可能会有人认为P2P跟广播网络建立邻居也就差那几秒没必要,但是在现网业务中,双机热备的情况下,如果说主机宕机切换到备份机,这里面因为是广播网络的网络类型,所以建立邻居的时间要比P2P的慢,在网络很严谨的公司,就比如王者荣耀,有人在线然后你就断几秒,对于客户来说肯定是无法接受的,所以这个也很重要

4、Exstart、Exchange

检查ping大包能否ping通

三、OSPF邻居振荡定位

1、邻居振荡日志,关注邻居状态下降的日志 

查找日志文件,关键字:NBR_CHG_DOWN、NBR_CHG_E(V3R2)、NBR_CHANGE_E(V3R3)

举例:

NeighborEvent=KillNbr,由于接口DOWN导致主动断开邻居

NeighborEvent=InactivityTimer,由于超时导致断开邻居

NeighborEvent=1-Way,对端断开邻居后触发重建,在未收到本端Hello前发送1-way hello,导致本端触发1-way事件

Neighbor event=SeqNumberMismatch:对端断开邻居后触发重建,在收到本端Hello后发送dd报文,导致本端触发SeqNumberMismatch事件

2、常见邻居震荡原因定位

2.1、邻居超时,OSPF在老化时间表(dead timer)内没有收到邻居发送过来的hello报文,导致OSPF邻居的老化时间超时,导致邻居断掉,造成超时的原因是网络质量差,导致Hello报文无法上送,CPU负载高,导致报文的接受和发送无法获得调度

2.2、ospf router id配置冲突有问题,导致邻居状态频繁发生变化

2.3、注意DR和DR、DR和非DR得地址冲突的问题

2.3、接口震荡,频繁的产生LSA,按照RFC2328会造成全局的路由发生计算,这样会导致CPU的负载较高,导致OSPF的邻居震荡

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/37563.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

lvs使用

1.前言 LVS(Linux Virtual Server)是一个基于 Linux 内核的负载均衡器,用于分发网络流量和将请求转发给后端服务器。LVS 提供了多种负载均衡算法和转发模式,以满足不同场景和需求的负载均衡需求,在LVS中定义虚拟服务的…

2023- itwangyang - mac mysql 终端启动命令

在mac上使用mysql终端进行操作时,需要先启动mysql服务。以下是启动mysql服务的命令: sudo /usr/local/mysql/support-files/mysql.server start执行该命令后,会出现一些提示信息,等待一段时间后mysql服务就启动成功了。 接下来&…

SSM框架最新整合保姆级教程(IDEA版)

SSM框架最新整合保姆级教程(IDEA版) 一、环境要求 ​ 环境: IDEAMySQL 5.7.19Tomcat 9Maven 3.6 要求: 需要熟练掌握MySQL数据库,Spring,JavaWeb及MyBatis知识,简单的前端知识; 完整代码:…

通信算法之177: 基于Matlab的OFDM通信系统关键基带算法设计7-流程

一. 接收算法流程 1.1 粗同步(分组检测) 1.2 载波同步(精细频偏估计) 多普勒频偏和晶振。频率偏差,会破坏子载波间的正交性,且这种频差对相位的影响还具有累加性。 1.3 精同步(OFDM起始&…

【Spring Cloud系列】Hystrix应用详解

【Spring Cloud系列】Hystrix应用详解 文章目录 【Spring Cloud系列】Hystrix应用详解一、概述二、什么是Hystix三、Hystrix作用四、Hystrix设计原则五、Hystrix实现原理5.1 隔离5.2 熔断5.3 降级服务降级主要用于什么场景呢实现服务降级需要考虑几个问题降级分类 5.4 缓存请求…

如何使用3D转换工具HOOPS Exchange与LibConverter进行流缓存导出?

如果您正在使用HOOPS Communicator,您可能想在生成流缓存模型之前利用HOOPS Exchange的高级功能和转换选项。 申请HOOPS试用 HOOPS中文网 如何使用 如您所知,LibConverter是HOOPS Communicator软件包中包含的一个简单的API,conver…

单片机第一季:零基础8——蜂鸣器

蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。 蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。 想要压电式蜂鸣器发声&…

spring AOP中pointcut表达式详解

📢📢📢📣📣📣 哈喽!大家好,我是「奇点」,江湖人称 singularity。刚工作几年,想和大家一同进步🤝🤝 一位上进心十足的【Java ToB端大厂…

从零开始理解Linux中断架构(19)--中断线程化irq_thread

前面一节讲到的中断流处理流程是在hard_irq 流程上,工作在中断堆栈上。还有一种情况是使用中断线程的情形。request_threaded_irq参数中有两个处理函数handler,thread_fn是有区别的。handler主中断处理例程,运行hard_irq 流程上。而如果驱动程序填写thre…

Java程序员需要掌握的前端知识(一)

对于前端知识,需要进一步巩固和加强,进入企业之后,要具备一定的接口调试,参数接收的能力,以及单体页面的开发,这里我学习一下前端知识巩固一下自身的技术栈和水平。本次笔记是跟学黑马的同名课程&#xff0…

Bash 有效电话号码

193 有效电话号码 给定一个包含电话号码列表(一行一个电话号码)的文本文件 file.txt,写一个单行 bash 脚本输出所有有效的电话号码。 你可以假设一个有效的电话号码必须满足以下两种格式: (xxx) xxx-xxxx 或 xxx-xxx-xxxx。&…

通识强化学习,初步了解强化学习的运行规则和估值方法

1.强化学习的发展及应用现状 1.1.强化学习的由来 目前,大家认为强化学习(Reinforcement Learning, RL)的来源与两个领域密切相关:即心理学的动物试错学习和最优控制的优化理论。 这里都是有相应的共性的,在environme…

HCIP第七天

题目 拓扑图 1.所有路由器各自创建一个环回接口,合理规划IP地址 测试 2. R1-R2-R3-R4-R6之间使用OSPF协议,R4-R5-R6之间使用RIP协议 3. R1环回重发布方式引入OSPF网络 4. R4/R6上进行双点双向重发布 将OSPF中的环回接口改成broadcast 因为华为默认环回接…

阿里云AliYun物联网平台使用-客户端API获取设备传感数据

一、前言 上一篇文章中,已经实现了虚拟数据上云,本文我们将进行上位机客户端的开发,即通过调用阿里云IOT物联网云平台的SDK,开发能获取传感器的遥感数据。 二、云平台操作 调用API需要用户的AccessKey Secret,这意味着…

KaiwuDB CTO 魏可伟:多模架构 —“化繁为简”加速器

以下为浪潮 KaiwuDB CTO 魏可伟受邀于7月4日在京举行的可信数据库发展大会发表演讲的实录,欢迎大家点赞、收藏、关注! 打造多模引擎,AIoT数据库探索之路 01 何为“繁”? 工业 4.0 时代, 物联网产业驱动数据要素市场不…

国产芯片——单片机32位mcu的应用

随着物联网与人工智能和智能制造的发展,单片机作为嵌入式系统的核心控制器,在各类行业应用中占据重要位置。其中32位MCU在芯片设计、制造工艺、封装技术上等取得显著突破,以高性能的技术条件被广泛应用在智能物联等行业的方案开发中。今天我们…

windows安装mysql8.0.23版本成功示例-免安装

windows安装mysql8.0.23版本成功示例 一.通过mysql-installer-*.msi安装包的方式1.安装准备1.1 官网下载地址1.2 选择合适的版本点击下载 2.安装mysql 二.通过mysql-8.0.23-winx64.zip压缩包免安装方式1.安装准备1.1 下载官网压缩包1.2 解压后配置文件my.ini信息1.3 配置my.ini…

java ajax

1.ajax定义:异步刷新技术 2.ajax语法 3.ajax实战 在不需要点击刷新按钮时达到局部刷新显示,如下图所示 步骤一:创建工程/包/js 步骤二:数据库/表创建 步骤三:实体类 步骤四:UserDao package cn.kgc.dao;import cn…

Linux下JDK版本与安装版本不一致问题

目录 一. 🦁 前言二. 🦁 操作流程三. 🦁 总结四. 🦁 Happy Ending 一. 🦁 前言 最近重新安装了centos7.9,针对以前遇到的Java版本不一致的情况, 提出了另一种方法,该方法简单易行,容易理解。 二. 🦁 操作…

银行安全用电监管平台可行性研究及解决方案

2017年4月26日,国务院安全生产委员会印发《国务院安全生产委员会关于开展电气火灾综合治理工作的通知》(安委〔2017〕4号),强调用三年时间综合治理电气火灾工作,提高社会单位发现和处置消防电气安全隐患能力&#xff0…