1.概念
首先对邻居关系,和邻接关系要区分开,两台路由器互相之间的状态是2-way则表明邻居关系建立,当邻居关系为FULL是表明邻接关系建立
关系变换过程
down->init->2-way->exstart->exchange->loading->full
图解:

- down:表示还没有建立起邻接关系,没有检测到活动邻居
- init:表示从对端收到的HELLO包中,没有自己的路由器ID信息
- 2-way:表示从对端收到的HELLO包中,已经有自己的路由器ID信息了,已建立邻居关系可以共享链路状态数据
- exstart:表示正在确定主从关系,即谁先发送DBD
- exchange:在主的带领下开始交换DBD
- loading:请求更详细的信息
- full:已建立完全邻接关系 完成更新过程 其数据库与邻居完全相同
ospf基础配置在ospf简述这篇文章提过
2.实验
拓扑图

在进行ospf配置前我们现在R1和R2上输入这两条命令
debug ip ospf events // 打开调试信息页面 出现:OSPF enents debugging is on ,它能反映OSPF建立邻接关系的各个阶段,他们的协商过程。但是对于包类型反映的不是很精准。loading状态通过event过程看的不是很清楚。所以把这条命令和下条命令结合起来看
debug ip ospf pack // 单独打开此命令,只能看到何时收到了什么包,不显示发送
接着进行配置ospf,具体配置过程我在ospf简述这篇文章提到过,这里直接略过
配置完成后看调试信息
R1调试信息
2WAY状态建立

EXSTART状态建立

从R2那收到DBD包,因为R2 router ID 大
EXCHANGE状态建立

loading —> FULL

- 在loading状态,R1发送LSR(Link-State Request)包请求更新,并把DBD(DataBase Description)包发送给R2
- R2收到R1发来的LSR包后,回送一个LSU(Link-State Update)包给R1
- R1再发送一个LSAck包给R2确认收到LSU包
- FULL状态建立
R1路由表

在OSPF中所有的回环接口都被自动宣告成32位的主机路由”/32″,如果想显示回环接的实际子网掩码,可以使用下面的命令调整:
R1(config)#int lo 0
R1(config-if)#ip ospf network point-to-point
R1邻居表

R2调试信息
2WAY状态建立

EXSTART状态建立

- 收到第1个DBD包时,R2不是主动状态,因为这时候还没有进行确定主从关系
- 主从关系谈判结束,R2是主路由器,因为R2的 router ID大
- 发送DBD包给R1
EXCHANGE状态建立

loading —> FULL状态

R2邻居关系

这里我们结合R1的邻居表发现没有DR和BDR
因为这个网络类型为PPP类型(Point to Point Protocol),不会选举DR和BDR
R2路由表

本文完
敬爱与明天🌹