OSPF分为OSPFv2和OSPFv3两个版本,其中OSPFv2用在网络,OSPFv3用在网络
思科OSPF的协议(AD)是110,华为OSPF的协议管理距离是10
通告网络接口的状态来建立链路状态数据库,生成树,每个OSPF路由器使用这些最短路径构造
- Down:此状态还没有与其他 交换信息。首先从其ospf接口向外发送hello分组,还并不知道DR(若为广播网络)和任何其他路由器。发送hello分组使用 224.0.0.5。
- Attempt: 只适于NBMA网络,在NBMA网络中邻居是手动指定的,在该状态下, 将使用 取代PollInterval来发送Hello包。
- Init: 表明在DeadInterval里收到了Hello包,但是2-Way通信仍然没有建立起来。
- two-way: 双向会话建立,而RID彼此出现在对方的邻居列表中。(若为广播网络:例如:以太网。在这个时候应该选举DR,BDR。)
- ExStart: 信息交换初始状态,在这个状态下,本地 和邻居将建立Master/Slave关系,并确定DD Sequence Number,路由器ID大的的成为Master。
- Exchange: 信息交换状态,本地路由器和邻居交换一个或多个DBD分组(也叫DDP),DBD包含有关LSDB中LSA条目的摘要信息。
- Loading: 信息加载状态:收到DBD后,将收到的信息同LSDB中的信息进行比较。如果DBD中有更新的链路状态条目,则向对方发送一个LSR,用于请求新的LSA。
- Full: 完全邻接状态,邻接间的链路状态数据库同步完成,通过邻居链路状态请求列表为空且邻居状态为Loading判断
SPF的八种状态机:
1.down
刚启动OSPF进程,还未收到邻居的任何信息。
2.attempt
只发生NBMA网络中,使用单播更新,发送HELLO分组,但从邻居没有收到任何信息。
3.init
只有一方收到的另一方的HELLO数据包,并且在邻居字段中收到对方的route-id.
4.two-way
本路由器收到对方的HELLO数据包,并且在邻居字段中看到自己的route-id.
5.exstart
在交换DBD之前阶段选出主/从路由器。
6.exchange
完成协商交换DBD.
7.loading
向对方发送LSA请求分组确定自己少哪些LSA,发送LSU告诉对方自己详细的LSA信息。并用LSA ACK确认。
8.full
数据同步,完成邻接关系。
OSPF邻居关系停在各状有态的原因:
一.OSPF邻居表为空
1.接口上没有启动OSPF2.访问列表阻止了HELLO包分组。
3.hello间隔与DEAD时间不匹配。
4.区域ID不匹配。
5.PASSWD不对。
6.一个OSPF邻接体存在第二个IP地址。
7.frame-relay map中缺少broadbast关键字。
二.OSPF邻居关系停在ATTEMPT状态:
1.错误配置了neighbor语句。
2.ACL阻止了HELLO分组。
3.NBMA中单播中断。
三.OSFP邻居关系停在INIT状态:
1.hello在某一边丢失。
2.验证某一边启用。
四.OSPF邻居在TWO-WAY:
1.二边的优先级都为0
五.OSPF邻居停滞exstart/EXCHANGE状态
1.不匹配接口的MTU(可以使用ip ospf mtu-ingore忽略,在MTU小的一方打)
2.在邻居上有重复的ROUTE-ID.
(120/1)代表120是最大管理距离,1是当前的跳数,也是就说这是个,静态路由。 各路由协议的优先级排名(从高到低) DIRECT | 0 STATIC | 1 EIGRP Summary | 5 eBGP | 20 内部 EIGRP | 90 IGRP | 100 OSPF | 110 IS-IS | 115 RIP | 120 EGP | 140 外部EIGRP | 170 iBGP | 200 未知 | 255