基本概念
开放式最短路径优先 是一种IETF定义的基于链路状态的内部网关路由协议,通过hello报文发现和维护邻居关系
通过交换LSA 交互成LSDB,每个区域形成单独LSDB
LSA(链路状态公告):包含了路由器已知的接口IP地址、掩码、开销和网络类型等信息
在LSDB的基础上使用SPF算法进行运算,建立起到达每个网络的最短路径树
RIP是一种基于距离矢量的路由协议,存在收敛,易成环,可扩展性差,逐渐被OSPF所取代
OSPF将路由变化的路由向外发送,收敛快,没有路由环路
OSPF基本原理
OSPF要求每台运行OSPF的路由器都了解整个网络的链路状态信息,这样才能计算出到达目的地的最优路径。OSPF的收敛过程由链路状态公告LSA(Link State Advertisement)泛洪开始,LSA中包含了路由器已知的接口IP地址、掩码、开销和网络类型等信息。收到LSA的路由器都可以根据LSA提供的信息建立自己的链路状态数据库LSDB(Link State Database),并在LSDB的基础上使用SPF算法进行运算,建立起到达每个网络的最短路径树。最后,通过最短路径树得出到达目的网络的最优路由,并将其加入到IP路由表中。
报文
使用组播报文224.0.0.5 发送或接收
使用广播报文224.0.0.6
hello报文
最常用的一种报文,用于发现、维护邻居关系。并在广播和NBMA(None-Broadcast Multi-Access)类型的网络中选举指定路由器DR和备份指定路由器BDR
广播和PtoP网络中 hello报文10秒钟一发 死亡时间为4倍的hello时间
P to MP和NBMA hello报文30秒发一次
hello报文中,当DR/BDR为0,说明不选举
active neighbor 邻居路由器的router-id
DD报文
两台路由器进行LSDB数据库同步时,用DD报文来描述自己的LSDB。DD报文的内容包括LSDB中每一条LSA的头部(LSA的头部可以唯一标识一条LSA)。LSA头部只占一条LSA的整个数据量的一小部分,所以,这样就可以减少路由器之间的协议报文流量。
LSR报文
两台路由器互相交换过DD报文之后,知道对端的路由器有哪些LSA是本地LSDB所缺少的,这时需要发送LSR报文向对方请求缺少的LSA,LSR只包含了所需要的LSA的摘要信息。
LSU报文
用来向对端路由器发送所需要的LSA。
LSACK报文
用来对接收到的LSU报文进行确认。
路由器类型
骨干路由器BR
源和目标都在area0
域内路由AR
源和目的都在同一区域内
外部路由ASBR
源和目的不在同一协议
域间路由ABR
源和目的不在同一区域
Router-id 路由器的唯一标识符
一般配置时尽量不要和loopback一样
选举规则
第一次配置时就声明,手工配置,优先级最高
未手工配置router-id,使用loopback
没有loopback,则选择最大的活动接口的ip地址
不具备抢占性,除非重启OSPF进程,才会加上
router-id配置
ospf 1 router-id 1.1.1.1//进程下声明
router-id 1.1.1.1//全局下声明
进程下要由于全局下
reset ospf prosses重置ospf进程
OSPF区域
骨干区域必须存在,为area0
OSPF基于IP协议 协议号89
有邻居关系和邻接关系
当每个的hello报文头部一致,包含自己的router-id,成功交换hello报文之后,当两边信息一致时,则说明邻居关系建立成功
邻居不一定邻接,邻接一定邻居
建立邻居关系是构建路由表的第一步
邻居状态机
DOWN状态:未启用OSPF进程,未接收HELLO报文
ATTEMPT状态:在NBMA中出现,代表路由器正在选举DR/BDR,本地路由器正在发送hello报文,还未收到回应
INIT状态:路由器收到hello报文,但是自己Router-id与发送过来的报文之中的邻居Router-id不匹配,未建立邻居关系
2-WAY状态:建立了双向的邻居关系,但未建立邻接关系,开始选举DR/BDR,还是发送hello报文
EXSTART状态: 形成邻接关系第一步,变成此状态后,发送DD报文,选举主从关系(谁先发,谁后发)Router-id大的先发,DD报文中的初始序列号,能够正确确认后续交换的信息
EXCHANGE状态:发送LSR请求,DD报文持续发送,建立起LSA的目录,传输的所有信息都在LSA里面
LOADING状态:路由器开始发送LSR
LSU用于发送对方所需要的LSA
LSACK用于确认对方发来的LSA
Full:当两边LSDB一致,建立起FUll状态,说明OSPF网络联通
查看链路状态数据库:
dis ospf lsdb
OSPF报文
SNACK:链路断开
DR/BDR选举:
DR 制定路由器
BDR 备份路由器
为了减少邻接关系,减少邻接关系条目,减少带宽消耗
不选举时,邻接关系的数量是 n*[n-1]/2
选举规则:
1.接口为0,不选举
2.接口优先级默认为1(0-255),越大越优先
3.接口优先级一样,Router-id越大越优先
4.DR/BDR不具备抢占性
在DRouter中先选举BDR,在BDR中选举DR
建立时,只需要不同阶级之间连接即可
OSPF开销
cost默认为1,参考带宽/接口带宽=cost
参考带宽为100M
ospf cost <>
bandwidth-reference <>
一般不建议修改带宽,一个修改则全需要修改