OSPF邻居关系故障-现象与排除

一、OSPF邻居关系故障-现象与排除

1、OSPF建立邻居关系时,将检验hello报文中的Area ID 、Autype、Authentication、network mask、hello interval、router dead interval字段以及可选项的值是否和接收接口上配置的对应值匹配,如果它们不匹配,那么该数据包将被丢弃,而且邻接关系也无法建立。

2、OSPF邻居关系故障的常见现象为:

1)、OSPF邻居表为空

2)、OSPF邻居停滞于INIT状态

3)、OSPF邻居停滞于2-way状态

4)、OSPF邻居停滞于EXstart/Exchange状态。

3、邻居关系故障的排障思路

如果一个邻居停滞于以下某个状态并且持续很长时间,就代表着OSPF的邻居关系可能出现了故障,那么各个状态正是的排障思路如下:

3.1、down:

这是邻居的初始状态,表示路由器还没有从邻居收到任何信息,停滞于此状态表明路由器没有从邻居收到hello报文

3.2、atttempt

此状态只在NBMA网络上存在,表示路由器没有收到邻居的任何信息,但是已经周期性地向邻居发送了hello报文;如果在route dead interval 的时间间隔内未收到邻居的hello报文,则转为down状态

3.3、init

表示路由器已经从邻居收到了hello报文,但是自己不在所收到的hello报文的邻居列表中,这说明自己尚未与邻居建立双向通信关系,停滞于此状态表明路由器收到了邻居的hello报文,但hello报文中没有包含接收路由器的OSPF RID(route ID)

3.4、2-way

表示路由器与邻居的双向通信关系已经建立,(即已经建立起了邻居关系)。但尚未建立起邻接关系。停滞于此状态表明路由器彼此都收到了对方的hello报文,并且都从hello报文中发现了自己的OSPF RID。对于以太网链路上的非DR/BDR路由器来说,这种状态是可以接受的。

3.5、Exstart

邻居状态变成此状态后,路由器开始向邻居发送DD报文,Master/Slave关系是在此状态下形成的,初始DD序列号也是在此状态下确定的,在此状态下发送的DD报文不包含链路状态描述。停滞于些状态表明邻居路由之间的MTU不匹配或OSPF RID重复

3.6、exchange

在此状态下,路由器与邻居之间相互包含链路状态信息摘要的DD报文,停滞于此状态表明邻居路由器之间的MTU不匹配

3.7、loading

在此状态下,路由器与邻居之间相互发送LSR报文,LSU报文,LSACK报文停滞于此状态表明可能存在硬件故障或MTU不匹配

3.8、full

表示LSDB同步过程完成,路由器与邻居之间形成了完全的邻接关系

4、OSPF邻居关系故障-排障流程

if 【 OSPPF邻接关系异常 】;then

  查看当前邻居状态,display ospf peer brief

    if [ 能显示邻居状态 display ospf brief display ospf interface 】;then

        case $邻居状态 in

        "停滞在down")

            执行display interface 命令查看接口物理层状态

            如果接口物理状态是UP,执行display ospf interface 查看接口在ospf协议状态下状态是否为UP;;

        "停滞在init")

             如果OSPF下使能的接口配置的dr-priority是0且state为DRother,则说明他们都不是DR或BDR,两者之间不需要交换LSA,-way为正常状态,无需处理

        "停滞在Exstart")

              如果查看邻居状态一直是Exstart,表示设备一直在进行协商,但无法进行DD同步出现该情况有两种可能性;;

              超大报文包无法正常收发,可以通过执行命令ping -s  neighbor-address 查看超大报文收发情况,如果无法Ping 通,需先解决链路问题

              OSPF MTU 值配置不同,如果OSPF接口下配置了OSPF mtu-enable,检查两端的ospf mtu 值是否相等,如果不相等则修改接口下mtu值;;

        "停滞在exchange")

              如果查看邻居状态一直是exchange,表示设备在进行DD交换,通过单播交换DD报文,此时需要排查链路和对端设备是否故障;;

        *)

              如果故障无法排除,收集如下信息,联系上级支持工程师;;
        esac else   无法显示ospf邻居状态   执行display interface 命令查看接口物理层状态,检查设备链路是否故障(包括传输设备故障)
  
  如果接口连接的是广播网络或NBMA网络,检查两端IP地址是否在同一个网段   如果在接口上使能了ospf mtu-enable,则要求接口的mtu一致,否则ospf邻居无法协商成功。在接口视图下执行 mtu mtu命令,修改链路两端的mtu值为一致   对于broadcast和NBMAS类型的网段,各接口的优先级,至少有一个是非零的,以确保能够正确的选举出DR ,否则两边的邻居状态只能达到2-way,查看接口优先级   检查OSPF的配置是否有错误:   如果故障仍然无法排除,寻求上级技术支持 fi

IEEP部署企业级网络工程-OSPF邻居关系故障排除的更多相关文章

  1. IEEP部署企业级网络工程-网络故障-环路故障

    网络故障 1.环路故障 概念 1).以太网是一个支持广播的网络, 在没有环路的环境中,广播报文在网络中以泛洪的形式被送达到网络的第一个角落,以保证每个设备都能够接受到它.每台二层设备在接收到广播报文以 ...

  2. OSPF的特征、术语、包类型、邻居关系的建立、RID的选择、DR和BDR的选举、度量值的计算、默认路由、验证

    链路状态路由协议OSPF的特征.术语.包类型.邻居关系的建立.RID的选择.DR和BDR的选举.度量值的计算.默认路由.验证等. 文章目录 [*1*].链路状态路由协议概述 工作过程 优缺点 [*2* ...

  3. 网络:OSPF理解

    OSPF(开放最短路径优先)协议使用Dijkstra算法,常见的版本有:OSPFv2.OSPFv3等.以下主要介绍OSPFv2,OSPFv3是面向IPv6的且不兼容IPv4. 1.工作过程: 1)每台 ...

  4. OSPF邻居状态机

    当OSPF邻居建立的过程之中,路由器在和邻居达到完全邻接关系之前,要经过几个状态.这些状态在OSPF RFC2328有相关的定义,这些状态分别是Down, Attempt, Init, 2-Way, ...

  5. 路由软件quagga和bird日志配置打印ospf邻居变化

    背景: 网络侧反馈偶尔会出现ospf邻居状态变化:full-> other status -> full.历史原因,线上运行的路由软件有quagga和bird两种.两种路由软件的日志级别配 ...

  6. ospf邻居建立过程

    1. hello报文的作用 邻居发现:自动发现邻居路由器. 邻居建立:完成Hello报文中的参数协商,建立邻居关系. 邻居保持:通过Keepalive机制,检测邻居运行状态. hello报文的发送时间 ...

  7. 在 FR 网络配置 OSPF

    一.环境准备 1. 软件:GNS3 2. 路由:c7200 二.实验操作 实验要求: 1.掌握配置帧中继的基本方法. 2.掌握在路由器中模拟帧中继交换机的方法. 3.掌握 NBMA 网络中 OSPF  ...

  8. 部署React+webpack工程的步骤

    # 部署React+webpack工程的步骤ps:以Mac os系统做开发环境.因为npm现在使用灰常的慢,所以我使用淘宝境像cnpm. 1,准备工作: 先确保存已经安装了node.js: 2,文件部 ...

  9. Linux shell编写脚本部署pxe网络装机

    Linux shell编写脚本部署pxe网络装机 人工安装配置,Linux PXE无人值守网络装机  https://www.cnblogs.com/yuzly/p/10582254.html 脚本实 ...

随机推荐

  1. GridView控件详解

    一.介绍 GridView控件一表格形式显示数据源中的数据.提供对列进行排序.分页以及编辑.删除单个记录的功能. 二.绑定数据源 第一种使用DataSourceID属性.可以直接把GridView控件 ...

  2. (转)CentOS7 LVM添加硬盘及扩容

    原文:http://blog.51cto.com/qicheng0211/1620171 9818人阅读   一.LVM简介 LVM是 Logical Volume Manager(逻辑卷管理)的简写 ...

  3. less变量插值

    在使用less的过程中,我在background的中引用图片路径,希望先确定一个baseurl,然后再在url中使用拼接字符串的方式拼接,尝试多次,失败. 实际上less的变量插值是有自己的一套规则的 ...

  4. Js正则Replace方法

    JS正则的创建有两种方式: new RegExp() 和 直接字面量. //使用RegExp对象创建 var regObj = new RegExp("(^\s+)|(\s+$)" ...

  5. 判断弹出框存在(alert_is_ present)

    系统弹窗这个是很常见的场景,有时候它不弹出来去操作的话,会抛异常.那么又不知道它啥时候会出来,那么久需要去判断弹窗是否弹出了 判断 alert 源码分析 class alert_is_present( ...

  6. 案例25-servlet的抽取

    1 product模块的抽取版本一 1 ProductServlet代码 抽取之后,原来对应的IndexServlet,ProductListByCidServlet等都可以删除.对应的web.xml ...

  7. c++ 网络编程(三) LINUX/windows 进程间的通信原理与实现代码 基于多进程的服务端实现

    原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/9613027.html 锲子:进程与线程是什么,他们的区别在哪里: 1 进程概念 进程是程序的一 ...

  8. pointer-events属性值详解

    其实早知道这个属性,但是一直没有去研究过.今天正好在twitter看到这个词,就去研究了下,正好解决了目前遇到的一个小难题,所以分享下.嗯,其实这是个比较简单的CSS3属性. 在某个项目中,很多元素需 ...

  9. Java Hashtable 源码(JDK8)

    记录了HashMap也来看看Hashtable吧,最近打算换份实习,所以想看看书回顾一下,不然就快记不得了.....囧啊囧啊,记性太差怎么破??? Hashtable里面的一些变量: Entry< ...

  10. codeforces 638B—— Making Genome in Berland——————【类似拓扑排序】

    Making Genome in Berland time limit per test 1 second memory limit per test 256 megabytes input stan ...