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

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

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

OSPF为链路状态型路由器。路由器之间交换链路状态生成网络拓扑信息,然后再根据这个拓扑信息生成路由控制表。
由链路状态确定路由
OSPF 可以给每条链路赋予一个权重(也可以叫做代价),并始终选择一个权重最小的路径作为最终路由。
网络权重与路由选择

2.OSPF基础知识

相邻路由器:在OSPF中,连接到同一个链路的路由器。
在一个相对简单的网络结构,相邻路由器之间可以交换路由信息。
在一个比较复杂的网络中,确定一个指定路由器(Designated Router),并以它为中心交换路由信息即可。
RIP中包的类型只有一种。它利用路由控制信息,一边确认是否连接了网络,一边传送网络信息。
在OSPF中,根据作用的不同可以分为5种类型的包:
OSPF包类型
通过发送问候包确认是否连接。
路由器为了同步路由控制信息,利用数据库描述包相互发送路由摘要信息和版本信息。
如果版本较老:
首先发出一个链路状态请求包请求路由控制信息
然后由链路状态更新包接收路由状态信息
最后再通过链路状态确认包通知大家本地已经接收到路由控制信息。

3.OSPF工作原理概述

OSPF中进行连接确认的协议叫做HELLO协议。
OSPF中根据链路状态生成路由控制表
LAN中每10秒发送一个HELLO包。如果没有HELLO包到达,则进行连接是否断开的判断。
允许空等3次,直到第4次(40秒后)仍无任何反馈就认为连接已经断开。
之后在进行连接断开或恢复连接操作时,路由器会发送一个链路状态更新包(Link State Update Packet)通知其他路由器网络状态的变化。
链路状态更新包所要传达的消息:
1.网络LSA,网络链路状态通告,是以网络为中心生成的信息,表示这个网络都与哪些路由器相连接。
2.路由器LSA,路由器链路状态通告,是以路由器为中心生成的信息,表示这个路由器与哪些网络相连接。
如果这两种信息主要采用OSPF发送,每个路由器就都可以生成一个可以表示网络结构的链路状态数据库。
根据这个数据库、采用 Dijkstra算法(最短路径优先算法)生成相应的路由控制表。
当网络规模逐渐越大时,最短路径优先算法的处理时间就会变得越长,对CPU和内存的消耗也就越大。

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

链路状态型路由协议的潜在问题在于,当网络规模越来越大时,表示链路状态的拓扑数据库就变得越来越大,路由控制信息的计算也就越困难。
区域:将连接在一起的网络和主机划分成小组,使一个自治系统(AS)内可以拥有多个区域。
具有多个区域的自治系统必须要有一个主干区域(Backbone Area),并且所有其他区域必须都与这个主干区域相连接。
边界路由器:连接区域与主干区域的路由器
内部路由器:区域内部的路由器
主干路由器:只与主干区域内连接的路由器
AS边界路由器:与外部相连接的路由器
AS与区域
每个区域内的路由器都持有本区域网络拓扑的数据库。
区域之外的路径信息,只能从区域边界路由器那里获知它们的距离。
区域边界路由器只会发送自已到达这些路由器的距离信息,内部路由器所持有的网络拓扑数据库就会明显变小。
OSPF的路由器种类
内部路由器只了解区域内部的链路状态信息,并在该信息的基础上计算出路由控制表。
可以有效地减少路由控制信息,还能减轻处理的负担。
区域内的路由控制和区域之间的路由控制
作为区域出口的区域边界路由器若只有一个的话叫做末端区域
末端区域内不需要发送区域外的路由信息。它的区域边界路由器将成为默认路径传送路由信息即可。
要想在OSPF中构造一个稳定的网络,物理设计区域设计同样重要。

猜你喜欢

转载自blog.csdn.net/NEUChords/article/details/91956180