OSPF简介
开放式最短路径优先PSPF的IETF组织开发的一个基于链路状态的内部网关协议。
目前针对IPv4协议使用的是OSPF Version 2;针对IPv6协议使用OSPF Version 3.
OSPF基本特点
OSPF作为基于链路状态的协议,能够解决RIP所面临的诸多问题。此外,OSPF还有以下优点:
1.OSPF采用组播形式收发协议报文,这样可以减少对其它不运行OSPF 路由器的影响。
2.OSPF支持无类型域间选路(CIDR)。
3.OSPF支持对等价路由进行负载分担。
4.OSPF支持报文认证。
OSPF COST
1.OSPF使用cost“开销”作为路由度量值。
2.OSPF接口cost=100M/接口带宽,其中100M为OSPF的参考带宽(reference- bandwidth),可以修改。
3.每一个激活OSPF的接口都有一个cost值。
4.一条OSPF路由的cost由该路由从起源一路到达本地的所有入接口cost值的总和。
三张表
邻居表
OSPF是一种可靠的路由协议,要求在路由器之间传递链路状态通告之前,需 先建立OSPF邻居关系,hello报文用于发现直连链路上的其他OSPF路由器, 再经过一系列的OSPF消息交互最终建立起全毗邻的邻居关系,OSPF路由器的 邻居信息显示在邻居表中。
链路状态数据库(LSDB)
OSPF用LSA (link state Advertisement,链路状态通告)来描述网络拓扑信息, 然后OSPF路由器用LSDB来存储网络的这些LSA。OSPF将自己产生的以及邻 居通告的LSA搜集并存储在LSDB中。掌握LSDB的查看以及对LSA的深入分析 才能够深入理解OSPF。
OSPF路由表
基于LSDB进行SPF(Djkstra算法)计算,而得出的OSPF路由表。
报文类型
报文类型 | 报文作用 |
---|---|
Hello报文 | 周期性发送,用来发现和维持OSPF邻居关系。 |
DD报文 | 描述本地LSDB的摘要信息,用于两台设备进行数据库同步。 |
LSR报文 | 用于向对方请求所需的LSA。设备只有在OSPF邻居双方成功交换DD报文后才会向对方发出LSR报文。 |
LSU报文 | 用于向对方发送其所需要的LSA。 |
LSAck报文 | 用来对收到的LSA进行确认。 |
OSPF网络类型
OSPF支持的网络类型
1.点到点网络
2.广播型多路访问网络
3.非广播型多路访问(NBMA)网路
4.P2MP网络
5.常见链路层协议对应的默认网络类型
网络类型 | 常见链路层协议 |
---|---|
Point-to-point | PPP链路; Lapb链路;HDLC链路; |
Broadcast | 以太网链路; |
NBMA | 帧中继链路;ATM链路 |
P2MP | 需手工指定 |
七种状态机
Down:邻居会话的初始阶段,表明没有在邻居失效时间间隔内收到来自邻居路由器的Hello数据包
Init:只是OSPF路由器一方收到了另一方的Hello,但并没有双方都交换Hello,也就是对方的Hello中还没有将自己列为邻居
Two-way:双方都已经交换了Hello信息,并且从Hello中看到对方已经将自己列为邻居,此状态,就表示OSPF邻居关系已经建立,并且如果是需要选举DR和BDR的话,也已经选举出来
Exstart:确定邻居之间的主从关系(Master—Slave关系)
Exchange:交换DD报文的过程,DD报文只是LSA的简单描述,只包含LSA的一些头部信息,收到DD的路由器会和自己的链路状态数据库作对比,确定需要哪些LSA的完整信息,就会发送LSR请求给邻居。
Loading :DD报文交换完成之后的状态
Full :LSR重传列表为空,数据库状态收敛完成