计算机网络(二十七)OSPF介绍

  • 1.OSPF是链路状态型路由协议
  • 2.OSPF基础知识
  • 3.OSPF工作原理概述
  • 4.将区域分层化进行细分管理


OSPF(Open Shortest Path First)是根据OSI的IS-IS协议而提出的一种链路状态型路由协议。
OSPF支持子网掩码。
OSPF可以针对IP首部中的区分服务(TOS)字段,生成多个路由控制表。

1.OSPF是链路状态型路由协议

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

ospf技术介绍 ospf详解_互联网


OSPF 可以给每条链路赋予一个权重(也可以叫做代价),并始终选择一个权重最小的路径作为最终路由。

ospf技术介绍 ospf详解_TCP/IP_02

2.OSPF基础知识

相邻路由器:在OSPF中,连接到同一个链路的路由器。

在一个相对简单的网络结构,相邻路由器之间可以交换路由信息。

在一个比较复杂的网络中,确定一个指定路由器(Designated Router),并以它为中心交换路由信息即可。

RIP中包的类型只有一种。它利用路由控制信息,一边确认是否连接了网络,一边传送网络信息。

在OSPF中,根据作用的不同可以分为5种类型的包:

ospf技术介绍 ospf详解_计算机网络_03


通过发送问候包确认是否连接。

路由器为了同步路由控制信息,利用数据库描述包相互发送路由摘要信息和版本信息。

如果版本较老:

首先发出一个链路状态请求包请求路由控制信息

然后由链路状态更新包接收路由状态信息

最后再通过链路状态确认包通知大家本地已经接收到路由控制信息。

3.OSPF工作原理概述

OSPF中进行连接确认的协议叫做HELLO协议。

ospf技术介绍 ospf详解_链路_04


LAN中每10秒发送一个HELLO包。如果没有HELLO包到达,则进行连接是否断开的判断。

允许空等3次,直到第4次(40秒后)仍无任何反馈就认为连接已经断开。

之后在进行连接断开或恢复连接操作时,路由器会发送一个链路状态更新包(Link State Update Packet)通知其他路由器网络状态的变化。

链路状态更新包所要传达的消息:

1.网络LSA,网络链路状态通告,是以网络为中心生成的信息,表示这个网络都与哪些路由器相连接。

2.路由器LSA,路由器链路状态通告,是以路由器为中心生成的信息,表示这个路由器与哪些网络相连接。

如果这两种信息主要采用OSPF发送,每个路由器就都可以生成一个可以表示网络结构的链路状态数据库。

根据这个数据库、采用 Dijkstra算法(最短路径优先算法)生成相应的路由控制表。

当网络规模逐渐越大时,最短路径优先算法的处理时间就会变得越长,对CPU和内存的消耗也就越大。

4.将区域分层化进行细分管理

链路状态型路由协议的潜在问题在于,当网络规模越来越大时,表示链路状态的拓扑数据库就变得越来越大,路由控制信息的计算也就越困难。

区域:将连接在一起的网络和主机划分成小组,使一个自治系统(AS)内可以拥有多个区域。

具有多个区域的自治系统必须要有一个主干区域(Backbone Area),并且所有其他区域必须都与这个主干区域相连接。

边界路由器:连接区域与主干区域的路由器

内部路由器:区域内部的路由器

主干路由器:只与主干区域内连接的路由器

AS边界路由器:与外部相连接的路由器

ospf技术介绍 ospf详解_ospf技术介绍_05


每个区域内的路由器都持有本区域网络拓扑的数据库。

区域之外的路径信息,只能从区域边界路由器那里获知它们的距离。

区域边界路由器只会发送自已到达这些路由器的距离信息,内部路由器所持有的网络拓扑数据库就会明显变小。

ospf技术介绍 ospf详解_TCP/IP_06


内部路由器只了解区域内部的链路状态信息,并在该信息的基础上计算出路由控制表。

可以有效地减少路由控制信息,还能减轻处理的负担。

ospf技术介绍 ospf详解_TCP/IP_07


作为区域出口的区域边界路由器若只有一个的话叫做末端区域

末端区域内不需要发送区域外的路由信息。它的区域边界路由器将成为默认路径传送路由信息即可。

要想在OSPF中构造一个稳定的网络,物理设计区域设计同样重要。