OSPF

OSPF(Open Shortest Path First)是根据OSI的IS-IS(Intermediate System to Intermediate System
Intra-Domain routing information exchange protocol,中间系统到中间系统的路由选择协议。) 协议
而提出的一种链路状态型路由协议。🌈由于采用链路状态类型,所以即使网络中有环路,也能够进行稳定的路
由控制

OSPF 支持子网掩码,所以 RIP 中无法实现的可变长度子网构造的网络由控制成为现实。

为了减少网络流量,OSPF 引入了“区域”之一概念。区域是将一个自治网络划分为若干个更小的范围。由此,可以减少路由协议之间不必要的交换。

OSPF可以针对IP首部中的区分服务(TOS)字段,生成多个路由控制表。不过,也会出现已经实现了
OSPF功能的路由器无法支持这个TOS的情况。

OSPF 是链路状态型路由协议

OSPF为链路状态型路由器。路由器之间交换链路状态生成网络拓扑信息,然后再根据这个拓扑信息生
成路由控制表。

  • 与哪个网络或路由器相连的信息要通过接力的方式进行发送
  • OSPF 中掌握着完整的网路拓扑结构,可以从中选择最短的路径用来决定最终的路由选择。

ospf 路由策略 ospf的路由控制技术_路由协议

RIP的路由选择,要求途中所经过的路由器个数越少越好。与之相比,OSPF可以给每条链路(实际上,
可以为连到该数据链路(子网)的网卡设置一个代价。而这个代价只用于发送端,接收端不需要考虑。)
赋予一个权重(也可以叫做代价),并始终选择一个权重最小的路径作为最终路由。也就是说OSPF以每个
链路上的代价为度量标准,始终选择一个总的代价最小的一条路径。如图7.14对比所示,RIP是选择路由器
个数最少的路径,而OSPF是选择总的代价较小的路径。

ospf 路由策略 ospf的路由控制技术_OSPF_02

OSPF 基础知识

在 OSPF 中交换路由信息的方式:

  • 如果只是简单的端到端的连接,则在相邻路由器之间交换路由信息。
  • 在较为复杂的网络结构中,不会在所有的相邻路由器之间交换路由信息,而是确定一个指定的路由器作为中心交换路由信息。

RIP中包的类型只有一种。它利用路由控制信息,一边确认是否连接了网络,一边传送网络信息。但是
这种方式,有一个严重的缺点。那就是,网络的个数越多,每次所要交换的路由控制信息就越大。而且当网
络已经处于比较稳定的、没有什么变化的状态时,还是要定期交换相同的路由控制信息,这在一定程度上浪
费了网络带宽。

OSPF 中的五种包:

ospf 路由策略 ospf的路由控制技术_ospf 路由策略_03

LAN中每10秒发送一个HELLO包。如果没有HELLO包到达,则进行连接是否断开的判断(管理员可以
自定义HELLO包的发送间隔和判断连接断开的时间。只是在同一个链路中的设备必须配置相同的值。) 。具
体为,允许空等3次,直到第4次(40秒后)仍无任何反馈就认为连接已经断开。之后在进行连接断开或恢复
连接操作时,由于链路状态发生了变化,路由器会发送一个链路状态更新包(Link State Update Packet)通
知其他路由器网络状态的变化。

链路状态更新包所要传达的消息大致分为两类:

  • 网络 LSA (Link State Advertisemen)
  • 路由器 LSA

如果这两种信息(网络LSA,路由器 LSA)主要采用OSPF,每个路由器就都可以生成一个可以表示网络结构的链路状态
数据库。可以根据这个数据库、采用Dijkstra算法(Dijkstra算法由提出结构化编程的E.W.Dijkstra发明。
该算法用来获取最短路径。) (最短路径优先算法)生成相应的路由控制表。

相比距离向量,由上述过程所生成的路由控制表更加清晰不容易混淆,还可以有效地降低无线循环问题
的发生。不过,当网络规模逐渐越大时,最短路径优先算法的处理时间就会变得越长,对CPU和内存的消耗
也就越大。