一.基本概念
OSPF(openning shortest path protocol)协议称为开放式最短路径协议,它是基于迪杰斯特拉算法生成最短路径的,因此没有环路的问题,是一种链路状态路由协议。
二.OSPF报文格式
三.OSPF五种类型的数据包
这五种数据包对应OSPF数据包种的type字段的值。
1.hello包——周期10s
编号为1的数据包
功能:用于发现,和维持邻接关系,以及DR/BDR的选举(2way)
Hello包在邻居关系之间扮演着keeplive的角色
40秒如果没有收到对方的hello报文,则把对方拉黑
2.链路状态数据库描述数据包——DBD
编号为2的数据包。
DBD报文分为两个阶段,首先路由器发送DBD报文(不携带LSDB,带route-id 和序列号)选出主从路由器,然后再发送带LSDB的DBD报文。
功能:1.选举交换链路状态数据库过程中的主从关系
2.确定交换链路状态数据库过程中的初始序列号
3.交换所有的LSA数据包头部
3.链路状态请求数据包——LSR
编号为3
用于请求在DBD交换过程中发现的本路由器没有的或者过时了的LSA细节
4.链路状态更新数据包——LSU
编号为4
用于更新请求的LSA包细节
5.链路状态确认数据包——LSAack
编号为5
用于确认LSU
(4)OSPF的七种状态机
1.down 初始状态,没有从邻居接受任何信息。
2.init 互相发送hello报文,如果路由器A发送报文给B,B收到后发现没有自己的router-id,这时候B就会回复一个hello包。
3.two-way 当A收到这个包后发现有自己的router-id,于是邻居关系便建立好了,此时,根据router-id,会选举出BDR和DR,优先级为0表示不参与选举。如果优先级相同,ip地址大的优先。另外注意的是:DR和BDR不一定是router-id最大的,因为如果DR和BDR一旦选举好了,新加进来更大的优先级不会参与选举,这是为了维持OSPF的稳定。
注:选举DR和DBR知识点
1.什么情况下会选举DR和DBR:MA网络(multiple-access)
(1) BMA(brodcast multiple-access )---当链路层协议为Ethernet,FDDI时,OSPF缺省默认网络类型为广播型
(2) NBMA(no-broadcast multiple-access)---当链路层协议为帧中继,ATM或者X.25时,OSPF默认为NBMA网络。此时OSPF的邻居需要网络管理员手工指定。在该类型的网络中,以单播的方式发送协议报文。
2.DR 指定路由器,虽然说是指定路由器,但是是选举出来的
BDR 备份指定路由器
Drother:既不是DR也不是BDR
3.DR选举的原则(选举出来后即为稳定状态)
1.接口优先级(大):默认为1,范围为0-255.
2.router-id(大)
3.如果接口优先级设置为0,则不参与选举,只能称为DRother
4.DR/BDR之间为full状态的邻接关系
DRother和所有的DR/BDR之间为full状态的邻接关系
DRother和DRother之间的关系为two-way的关系。
4.exstart 当DR和DBR选举完了后,进入了exstart,路由器开始发送DBD报文,做两件事,第一件,根据router-id确定主从关系,这一个master是可以抢占的,如果后来加入的router-id更加大,就会抢占称为master,这跟DR和BDR是不一样的。
5.exchange 第二件:当主从关系确定好了后,maser会率先发送自己的DBD报文,里边携带了它的链路状态数据库,然后另外一个路由器也会发送自己的DBD报文。
6.lading 加载DBD,发送LSR,更新LSU,交换缺少的LSA报文,完成LSDB的同步。
7.full 同步完成后,建立邻接关系。
(5)划分多区域
一个OSPF的AS中的网络拓扑是十分庞大的,SPF的反复计算,庞大的路由表和拓扑表会用掉大量的路由器资源,降调路由器的运行效率。
当划分了区域后,路由器只需要计算本区域内的路由表和拓扑表就行了,并不需要了解整个网络的拓扑,降低了SPF算法的开销。
OSPF区域的种类:
1.标准区域:标准区域可以接受任何路由汇总信息和链路更新信息。
2.主干区域:主干区域一般设置为area0,其他区域通过主干区域交换信息,每一个区域都会设置区域边界路由器。
3.存根区域:不接受本地自治系统外的路由信息,对自治系统以外的目标采用默认路由0.0.0.0。
4.完全存根区域:不接受自治系统以外的路由信息,也不接受自治系统内其他区域的路由汇总信息,发送区域外的报文使用默认路由0.0.0.0。
5.不完全存根区域:类似存根区域,但是允许接受类型7的链路状态公告发送的外部路由信息。
(6)OSPF的优势
1.收敛速度快
2.无环路
3.划分区域
4.范围大
5.支持验证:支持基于接口的报文认证,以保证报文交互和路由计算机的安全性。