一、Down——Init——2-way(邻居状态)

  • Hello消息--通过hello消息交互,发现,建立,维护邻居关系
  • Init-----------收到 OSPF hello消息,但该消息不存在Active NBR
  • 2-way-------收到的OSPF hello消息,该消息的Actice NBR是自身的Router-id则进入2-way

(2-way状态在broadcast 中就是已经选举完成了DR/BDR)

OSPF建立邻居关系是full还是 ospf建立邻居的状态_运维

Init :收到第一份Hello报文后立即进入Init状态

2-way:收到了包含自己Router id的hello报文

1.1、报文类型

  1. Hello——发现和维护邻居关系 Hello报文都是224.0.0.5组播发送
  2. Database Description——交互链路状态数据库摘要
  3. Link State Request——请求特定的链路状态信息
  4. Link State Update——发送详细的链路状态信息
  5. Link State Ack——发送确认报文

1.2、DR /BDR选举规则 DR/BDR的选举是基于接口的

1.接口的DR优先级越大越优先 默认是1

如果将优先级直接配置为0 则表示退出选举

存在不抢占原则,如果拓扑中存在一个DR,不会被进行抢占(也就是如果哪台路由器提前启动,那这一台也会是DR)

2.接口的DR优先级相等时,Router ID越大越优先,router id 大为DR,次大为BDR

3.不抢占原则,ospf已经起来不会抢占DR BDR

默认情况下所有设备都是DRother,如果当前网络中发现没有BDR则会选举出BDR,然后在发现网络中没有DR,BDR会变成DR,其余在选举出一个BDR补位

1.3、配置

OSPF建立邻居关系是full还是 ospf建立邻居的状态_网络协议_02

dis ospf peer 查看路由邻居信息 dis ospf peer brief 查看路由邻居信息摘要 查看OSPF建立的过程日志 <R2>debuggin ospf event //可以看到ospf邻居建立的过程 <R2>terminal debugging //开启调试信息 [R2]info-center enable

OSPF建立邻居关系是full还是 ospf建立邻居的状态_运维_03

1.4、Hello报文:

OSPF建立邻居关系是full还是 ospf建立邻居的状态_网络_04

二、Exstart——Exchange——loading——Full(完全邻接状态)

  • Exstart---------通过空的DBD数据库描述信息进行主从关系协商(master /slave主从)
  • Exchange-----交互有内容DBD,包含LSA Header摘要信息,进行LSDB对比
  • Loading--------通过LS Request请求,LS Update更新,LS Ack确认进行完整链路状态数据库明细信息的同步
  • Full--------------交互有内容DBD,包含LSA Header摘要信息,进行LSDB对比

OSPF建立邻居关系是full还是 ospf建立邻居的状态_OSPF建立邻居关系是full还是_05

华为接口默认不开启MTU检测,如果修改MTU并开启MTU检测会导致邻居关系停留在Exstart

interface GigabitEthernet0/0/0 mtu 1200-------修改接口MTU ospf mtu-enable-----开启MTU检查

OSPF建立邻居关系是full还是 ospf建立邻居的状态_运维_06

LSA链路状态通告

LSDB链路状态数据库 --------前两个交互报文为空,后续会更新LSA摘要

LSR链路状态请求报文 -------以列表的形式请求需要LSA链路状态通告明细信息

LSU链路状态更新(LSA包含在LSU里面) -----通过Update报文同步数据库明细LSA

LSACK链路状态确认------LSA的头部信息(概要信息进行确认),如果没有收到确认会超时重发,超时时间5s,一直没收到会一直发

OSPF建立邻居关系是full还是 ospf建立邻居的状态_网络协议_07

dis ospf lsdb 查看ospf链路数据库

OSPF建立邻居关系是full还是 ospf建立邻居的状态_运维_08

三、补充 Option字段

OSPF建立邻居关系是full还是 ospf建立邻居的状态_华为_09

Option字段解释:

DN用来避免在MPLS VPN中出现环路。当PE向CE发送3类、5类和7类LSA时需要设置DN位,其他PE路由器从CE接收到该LSA时,不能够在它的OSPF路由计算中使用该LSA。

O:该字段指出始发路由器支持Opaque LSA(类型9、类型10和类型11)。

DC位:当始发路由器支持按需链路上的OSPF的能力时,该位将被设置。

EA:当始发路由器具有接收和转发External-Attributes-LSA(type8 LSA)的能力时,该位被置位。

N:只用在Hello数据包中。N=1表明路由器支持7类LSA。N=0表明该路由器将不接收和发送NSSA LSA。

P位:只用在NSSA LSA。该位将告诉NSSA区域的ABR路由器将7类LSA转换为5类LSA。

MC位:当始发路由器支持转发组播数据包的能力时,该位将被置位。

E位:当始发路由器具有接收AS-external-LSA(type5 LSA)的能力时,该位被置位。在所有5类LSA和始发于骨干区域以及非末节区域的LSA中,该位置为1。而始发于末节区域的LSA中,该位置为0。如果Hello报文中该位被置位则表明该接口具有接收和发送5类LSA的能力。

MT位:表示始发路由器支持多拓扑OSPF。