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. 006-动态生成验证码Servlet代码模板

    package checking; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java ...

  2. SeaJS结合javascript面向对象使用笔记(一)

    Sea.JS Seajs结合javascript面向对象 所需页面 /app/index.html /lib/factory.js /lib/sea.js /lib/constructor.js /j ...

  3. 【随笔】 Win7下安装Git

    Git GGit是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理.[2] Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源 ...

  4. orcale 之PL/SQL 控制语句

    控制语句是PL/SQL 的关键所在.只有学好这些控制语句才能在工作中更好的实现各种的功能. 选择结构 1. IF 语句 和其他的编程语言很类似.它的具体机构如下: IF(条件)THEN {语句} EL ...

  5. oracle中斜杠(/)的含义

    斜杠就是让服务器执行前面所写的sql脚本.如果是普通的select语句,一个分号,就可以执行了.但是如果是存储过程,那么遇到分号,就不能马上执行了.这个时候,就需要通过斜杠(/)来执行. 1 2 3 ...

  6. xmanager连接redhat(centos)

    1.以连接Centos6.5为例,先关闭防火墙 service iptables stop chkconfig --level 345 iptables off 2.安装XDM,通过 XDMCP 支持 ...

  7. C#把大写英文变成小写英文,把小写英文变成大写英文

    static void Main(string[] args) { string s;  // 声明一个变量,来接受用户输入的值. Console.WriteLine("请输入一个字符串:& ...

  8. 总结—angularjs项目

    我毕业了-------有点期待生活,又点害怕生活. 总结下最近一个月做的这个项目,项目的开发形式也比较新颖,采用的是前后端分离的形式.我负责前端的管理系统开发,另一个哥们负责利用ABP创建接口,整合后 ...

  9. logstash结合es,日志收集

    1.下载好logstash后,解压目录 2.进入bin目录,新建文件 logstash_default.conf input { tcp { port => 4560 codec => & ...

  10. java 错误: 未报告的异常错误Exception; 必须对其进行捕获或声明以便抛出

    import java.io.FileInputStream; import java.util.Properties; import java.sql.Connection; import java ...