RIP:运行距离矢量路由协议,周期性的泛洪自己的路由表,通过路由的交互,每台路由器都从相邻(直连)的路由器学习到路由,并且加载进自己的路由表中,而对于这个网络中的所有路由器而言,他们并不清楚网络的拓扑,他们只是简单的知道要去往某个目的应该从哪里走,距离有多远。
OSPF:运行链路状态路由协议,路由器之间交互的是LSA(Link State Advertisement链路状态通告:用来描述网络链路状况如邻居、开销等),而非路由信息。路由器将网络中泛洪的LSA 搜集到自己的LSDB(Link State DataBase链路状态数据库)中,这有助于OSPF 理解整张网络拓扑,并在此基础上通过SPF 最短路径算法计算出以自己为根的、到达网络各个角落的、无环的树,最终,路由器将计算出来的路由装载进路由表中。
泛洪(Flooding)是交换机和网桥使用的一种数据流传递技术,将从某个接口收到的数据流向除该接口之外的所有接口发送出去。
1.邻居表(Neighbor table):列出了所有和本路由器直接相连的OSPF邻居,经历了一系列的消息交互、关系状态最终建立。
2. 拓扑表(Topology table):含有链路状态数据库(LSDB),列举了所有自己产生及邻居那得到的LSA(Flooding/泛洪),在同一个OSPF区域中的路由器,都有完全一致的OSPF Database,即OSPF数据库。一个OSPF区域,就对应着一个OSPF Database。
3. 路由表(Routing table):在OSPF的数据库中,通过SPF算法,计算得到了最优路由,也称为Forwarding Database。
因为是基于IP 开发的,所以协议号为89,同时也是意味着其也是不可靠的。
根据OSPF数据包type 字段数值的不同,OSPF 数据包类型分为5 种,不同的type,其后面的内容也不同。
路由表的形成与这5 种数据包的交互息息相关。
1.Down(停止):各路由器未与任何邻居交换信息,开始从运行OSPF 的接口以组播地址224.0.0.5发送Hello 包。
2. Init(初始):各路由器收到第一个Hello 数据包后,把该路由器添加到自己的邻居Neighbor 列表中。
3. Two-Way (双向状态属于邻居关系):收到的Hello 包中有自己的Router ID,将该路由器加入自己邻居列表中,进入2-Way 状态。在这个过程中同时选举出DR 和BDR。若不形成邻接关系则一直停留在该状态。
4. Exstart(准启动):DROther与DR/BDR 发送DBD 包确定Master/Slave 关系,RID 大的的成为Master(不一定是DR)。
5. Exchange(交换):Master 与Slave 之间相互单播发送一个或多个DBD 数据库描述数据包(Slave沿用Master 的序列号先发送),进行DBD 的同步。DBD 有序号,由Master 决定DBD的序号。相互收到DBD 后,通过序列号进行隐式确认已收到DBD。Exchange 状态结束的最后一个DBD 包是Slave 发送的。
6. Loading (加载):将收到的信息同LSDB 中的信息进行比较。如果DBD 中有更新的链路状态条目,则向对方发送一个LSR,用于请求新的LSA,对方回复相应的LSU,当所有LSR都得到LSU 答复后向对方回应LSAck进行显示确认。
7. Full (完全状态,属于邻接关系):相邻的路由器在Loading 完成同步后进入Full 状态,开始正常转发数据。此时区域内的每个链路应该都有相同的数据链路状态数据库。后续只有Hello包、LSU 包、LSAck包。
OSPF协议工作过程主要有四个阶段:
寻找邻居----建立邻接关系----链路状态信息传递----计算路由
路由计算步骤:
开销=100/带宽(Mps),取整,默认最小是1
建立邻接关系后,当网络中出现了网络变化,其他路由器只发送更新报文LSU给指定路由器和备用路由器,再由指定路由器发给洪泛全网。
指定路由器(DR) 、备用指定路由器(BDR)
DR 和BDR 是由同一网段中所有的路由器根据路由器优先级、Router ID 通过Hello 报文选举出来的,只有优先级大于0 的路由器才具有选取资格,优先级为0 不参与选举。
进行DR/BDR 选举时每台路由器将自己选出的DR 写入Hello 报文中,发给网段上的每台运行OSPF 协议的路由器。当处于同一网段的多台路由器同时宣布自己是DR 时,接口优先级最高者胜出;如果优先级相等(默认为1),Router-ID 最高者胜出。
DR 具有非抢占性,也就是说如果该MA 网络(多路访问网络,MA的网络一般分为两种:广播式多路访问网络和非广播式多路访问网络。)中,已经选举完成、并且选举出了一个DR,那么后续即使有新的、更高优先级的设备加入,也不会影响DR 的选举,除非DR 挂掉。
原文:https://www.cnblogs.com/ananing/p/12634546.html