路由选择协议(二) OSPF协议

路由选择协议(一) RIP协议

从上一篇文章中我们学习RIP协议,并得知RIP协议有许多的缺点,而今天我们就来看看OSPF协议它是怎么更好的维护路由选择信息。


一、OSPF 简 介

  1. 开放式最短路优先OSPF(Open Shortest Path First) 是一种基于IP协议路由协议
  2. 它是一种根据链路状态来维护最优路由的协议,在单一自治系统(AS)内部工作   

补充“链路状态”是什么?

  1. 所谓链路状态就是说明本路由器和那些路由器相邻
  2. 以及该链路的衡量的一个指标,可以想到我们可以利用费用、距离、时延等来“度量”我们的链路

二、OSPF 基本特点

  1. 向本自治系统内的所有路由器发送信息。这里使用的方法是洪泛法,这就是当前路由器通过所有输出端口向所有相邻的路由器发送信息,而每一个相邻路由器又再将此信息发放其它路由器。这样最终所有路由器都能都能得到这个信息副本了
  2. 发送的信息是本路由器与其相邻的路由器之间的链路状态。通常使用费用、距离、时延等来衡量链路的状态,其实我们可以简单的理解为是经过某条链路时的一个花费、代价。
  3. 只有在链路状态发生变化的时候,当路由器才向所有的路由器洪泛发送变化后的链路状态信息,注意并不是像RIP协议那样把所有的路由表项信息都发送一遍,是只发送改变的那些状态信息

三、OSPF 工作过程 

1. 发现邻居

  1. 通过发送组播hellow数据包,去找自己的邻居

  2. 所有的邻居都可能跟自己交换链路状态信息  

2. 建立临接关系

  1. 只有建立邻接关系的邻居才会交换链路状态信息
  2. 不是跟所有的邻居都建立邻接关系
  3. 在网络中选举两个路由器为指定路由DR(designated router)和备份指定路由BDR(Backup Designated Router),网络中的所有路由器只与DR和BDR建立邻接关系,进而只与DR、BDR交换数据信息
  4. BDR是用来保证当指定路由DR出现问题的时候,BDR还能继续工作,防止网络出现中断错误,影响用户使用
  5. 注意我们的DR与BDR是每个一个广播域都要进行这个选举的过程

注意我们选举DR与BDR是为了减少建立邻接关系的数量,避免在网络中的任意两台路由器都交换数据的这种情况,减少链路状态信息交换所占用带宽。

3. 传递链路状态信息

  1. 每台设备都有一个链路状态数据库LSDN(Link State Database)
  2. LSDB中的每一条信息就是链路状态公告LSA(Link State Advertisement) ,它描述了某条链路的状态信息,例如:网络中某台路由器的编号是什么,直连网段是什么,开销是什么

信息更新过程 

  • 触发更新或每隔30分钟更新一次。触发更新是指如果网络发生变化,不需要等到30分钟更新周期,就立刻向邻居发送信息
  • 增量更新机制。每次只对方需要的/发送变化的LSA
  • 收敛以后,路由区域内所有的路由器具有相同的LSDB,这个LSDN能体现全网的链路状态,具体指的是该网络中有哪些路由器,各自的编号是什么,每台路由器的直连网段是什么,开销是多少

4. 路由计算 

 当网络收敛后,每台路由器都有一个完整的LSDB,根据这个LSDB路由器可以构建一个带权值的网络拓扑图拓扑结构,根据这个拓扑结构路由器就可以根据Dijkstra算法算出从当前路由器到其他网络的一个最短路径了。

 

 四、OSPF分区域管理

当一个我们一个网络特别庞大的时候,我们可以对这个我们进行分区域管理,这样减少我们路由器存储表项压力。

在分区域后 ,路由器被分为两类:

  • 区域内部路由器:只维护本区域的LSDB
  • 区域边界路由器:可以认为区域边界路由器同时在多个区域内,所有他应该维护所在多个区域的LSDB

总结:

  1. 同一个区域内路由器CIA会建立邻居关系,交换LSA,收敛后同一个区域内的所有设备拥有相同的LSDN,这个LSDB反映了区域内的链路状态,有了它我们就可以计算区域内的路由。
  2. 不同区域之间,有区域边界路由器ABR直接转发路由 


版权声明:本文为qq_34261446原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。