开放(open)最短(short)路径(path)优先 (first) 协议
贪心思想,从起点开始每一次寻找路由器,都是往开销最少的链路,直到每个路由器都找到。
【【数据结构】dijkstra算法求最短路径】 https://www.bilibili.com/video/BV1hV41117Bd/?share_source=copy_web&vd_source=fcfa96e9d20fd59bd70a013de82cf775;
链路状态路由协议
全网泛洪LSA,全网同步LSDB根据dijkstra算法,本地计算出路由,以自己为起点(根),找到所有路由器的位置。拓扑结构(地图)
区别:RIP(距离矢量路由协议)
邻居间直接传递路由信息 目的网络,下一跳,开销,可能出现环路,无法得知邻居的邻居。
邻居关系
(8个状态机,down, linit,attmpt,2-way,exstart,exchange,loading,full)
4个包(hello,DD,LSR,LSU,LSAck)
每个包的包含的字段,确认机制。
每个状态的含义?
状态机切换条件?
为什么会卡在其中一个状态?
2-way,邻居关系建立
Exstart,主从关系选举(DR/BDR),
泛洪LSA,同步LSDB,在exchang,loading
4个接口类型(P2P,P2MP,MA,NBMA)
主要影响邻居关系的建立
1.hello,dead time 不同
2.P型(p2p和p2mp)和M型(MA)能建立邻居关系,但没有路由。
LSA结构不同,LSDB数据库无法收敛,从而不能互相发布学习路由。
Router LSA,P2P和广播网络类型虽然Link Data都是接口IP,但是Link ID中P2P是对端的RID,而广播链路的Link ID是DR的IP。
3.nbma只能和nbma用单播建立邻居关系,(其他类型网络hello包是组播)
6类LSA标识(1 router、2 network、3 network-summary、4 asbr-summary、5 ase、7 nssa)
LSA,包含路由信息(网段,掩码),拓扑信息(邻居的信息),相当于路线
疑问:OSPF如何通过LSDB生成带权有向图_hcnp吧_百度贴吧 (baidu.com)
有向带权图,相当于全网的物理拓扑(地图),还要经过dijkstra算法,计算出最短路径(以自己为起点 到达所有路由器最短的距离 的线路地图)。
四种Link type(链路类型),P2P,transit,stubnet,vlink
相当于LSA(路线),起点到目的,使用的交通方式(高铁,飞机。。。。)
至此,已了解简单的ospf的工作方式。
学习ospf,提到触发更新,周期更新,快速收敛(快速计算拓扑信息)。
当链路状态down/up,通过LSU下 序列号为3600的LSA,告诉邻居路由器,只是最新的LSA,请替换你本地LSDB的LSA, 邻居通过LSACK,确认已完成更新。
DR/BDR选举问题?
流程,当接口宣告进ospf,就开始选举过程(40s),始发者hello包说自己是DR
多台设备,和邻居关系2-way,才有候选资格的开始选举过程,
先选举BDR,升级为DR,再选BDR.
当DR宕机时,网络中的BDR,直接升级为DR,再选BDR
当BDR宕机时,网络中的DR(会初始化选举过程.以选择新的BDR)。
LSA,同步?
DRother LSU224.0.0.6 给DR和BDR,
DR LSU224.0.0.5 给其他DRother和BDR。
其他DRother通过224.0.0.6发送ACK确认,
BDR通过224.0.0.5发送确认给DR。
BDR产生的LSU通过组播224.0.0.5发送给DR、DRother。DRother通过224.0.0.6发送ACK确认,DR通过224.0.0.5发送Ack。
DR产生的LSU通过组播224.0.0.5发送给 BDR、DRother。BDR通过224.0.0.5发送ACK,DRother通过224.0.0.6发送Ack