介绍:OSPF是基于动态所制作的路由协议,可以自主的学习路由,避免配置量过大以及无法自足收敛网络所带来的问题
OSPF是一种内部网关和链路状态路由协议
链路状态:顾名思义:链路状态所通告的就是链路状态,互为邻居之后,会发送LSA报文也就是链路状态报文,LSA描述了路由器接口的状态信息,例如接口的开销、连接的对象等。
而将所有LSA放在一起的东西就是LSDB,链路状态数据库,数据库里记载了不同的LSA
OSPF有二种类型一种是支持IPV4的v2,一种是支持IPV6的V3、
OSPF是使用的SPF的计算方法,所有的路由器都会根据自己的链路状态数据库,来选择一条以自己为根的、无环的、对目标来说最短的路径
最后将记载出来的数据放到设备的路由表中
OSPF支持VLSM和CIDR
OSPF的区域类型
OSPF Area用于标识一个OSPF的区域,区域是从逻辑上将设备划分为不同的组,每个组用区域号(Area ID)来标识
Router-ID(Router Identifier,路由器标识符),用于在一个OSPF域中唯一地标识一台路由器。 Router-ID的设定可以通过手工配置的方式,或使用系统自动配置的方式,确保每台路由器的Router-ID的唯一性,相当于路由器的名字不能乱
OSPF基础术语:Router ID OSPF的标识符
用于在一个OSPF域中标识一台路由器,相当于OSPF的路由器的名字
可以手工进行配置,也可以让系统来进行自动配置(环回口大于接口)
ospf将Cost作为开销,每一个激活了OSPF的接口都会维护一个接口Cost值,缺省时接口Cost值=100 Mbit/s /接口带宽。其中100 Mbit/s为OSPF指定的缺省参考值,该值是可配置的
一条OSPF路由的Cost值可以理解为是从目的网段到本路由器沿途所有入接口的Cost值累加
OSPF的报文类型
OSPF的三种表项:邻居、LSDB、路由表,可以让我们更加显著的看到一些特殊状态
![](https://img-blog.csdnimg.cn/direct/33e17db0e9094f828d82411efa3a6b4a.png)
OSPF的关系建立过程
一:首先就是3次HALLO包 从Init--2-way 建立邻居关系
二:互相发送DD,发4次,前二次 确定主从关系,Ex-start (谁大谁是主),后二次发送大致的LSDB信息 EXchang
三:然后就是LSR请求,LSU回复,LSAck确定,Loading---Full的过程 邻接关系
OSPF的有四种网络类型,Broadcast、NBMA、P2MP和P2P
链路两端的OSPF接口网络类型必须一致,否则双方无法建立邻居关系
OSPF的链路类型可以手动进行更改
OSPF的DR和BDR 减少邻接关系
为优化MA网络中OSPF邻接关系,OSPF指定了三种OSPF路由器身份,DR(Designated Router,指定路由器)、BDR(Backup Designated Router,备用指定路由器)和DRother路由器。 只允许DR、BDR与其他OSPF路由器建立邻接关系。DRother之间不会建立全毗邻的OSPF邻接关系,双方停滞在2-way状态。
BDR会监控DR的状态,并在当前DR发生故障时接替其角色。
OSPF域与单区域、多区域
OSPF域就是一系列使用相同策略的连续OSPF设备组成的网络
单区域的问题:
LSDB越来越庞大,导致OSPF的路由表规模增大,设备性能下降,影响数据转发。
基于庞大的LSDB会让路由计算困难
OSPF多区域的设计可以减少LSA的泛洪,达到优化网络的目的,可以在区域边界做路由汇总,多区域也提高了网络的可扩展性
OSPF配置实验:
OSPF多区域
AR2 OSPF配置:
ospf 1 router-id 2.2.2.2
area 0.0.0.0
network 10.1.12.2 0.0.0.0
area 0.0.0.1
network 10.1.23.2 0.0.0.0
查看报文 OSPF状态变迁过程
查看OSPF的LSDB表