目录
开放最短路径优先(Open Shortest Path First)
链路状态算法
链路状态算法
链路状态数据库(link-state database)
OSPF的分组类型
类型1:问候(Hello)分组
类型2:数据库描述(Database Description)分组
类型3:链路状态请求(Link State Request)分组
类型4:链路状态更新(Link State Update)分组
类型5:链路状态确认(Link State Acknowledgment) 分组
OSPF的可靠洪泛
层次OSPF
OSPF 的要点
开放最短路径优先(Open Shortest Path First)
OSPF与RIP一样都是互联网中被广泛应用的内部网关协议
但与RIP使用的是距离向量路由选择算法不同, OSPF使用的是链路状态(Link State, LS)路由选择算法
链路状态算法
基本思想
如果一个路由器能获得整个网络的完整拓扑,则很容易 计算出到每个网络的最短路径,并生成路由表
链路状态算法
每个路由器感知其直接连接的链路的链路状态
当直接连接的链路状态发生变化时,向所有路由器广播该链路状态
路由器根据获取的全网拓扑计算到每个网络的最短路径(最短路径树)
基于最短路径树生成路由表
链路状态数据库(link-state database)
每个路由器都维护了一个链路状态数据库。数 据库实际上存储的就是全网拓扑结构图
链路状态数据库的同步(实现全网一致)
初始数据从邻居获得
状态变化时广播状态更新报文
为增强健壮性,也会周期性广播,例如每30 分钟
OSPF的分组类型
类型1:问候(Hello)分组
用来发现和维持邻站的可达性。
每两个相邻路由器每隔10秒钟要交换一次问候分组,若有40秒 钟没有收到某个相邻路由器发来的问候分组,则认为该相邻路由 器不可达,并修改相应的链路状态。
类型2:数据库描述(Database Description)分组
初始时,路由器用数据库描述分组和相邻路由器交换本数据库中已有的链路状态摘要信息。
类型3:链路状态请求(Link State Request)分组
路由器可以主动使用链路状态请求分组向相邻路由器请求发送自己所缺少的某些链路状态项目的详细信息。
类型4:链路状态更新(Link State Update)分组
作为链路状态请求的应答 ,用洪泛法对全网更新链路状态(当链路状态发生改变时,或周期性)
类型5:链路状态确认(Link State Acknowledgment) 分组
实现可靠洪泛,对链路状态更新分组进行确认
OSPF的可靠洪泛
编辑
收到状态更新分组,要发回确认分组,并向其他接口转发更新分组
状态更新分组有序号,路由器不会转发重复分组
仅向上游路由器发回确认,但不会转发确认分组
对于大规模的网络,大 量更新分组的洪泛导致 网络严重拥塞!
层次OSPF
层次OSPF中分有:AS边界路由器、主干路由器、区域边界路由器、以及主干区域、各个小分区
更新分组仅在本区域内广播:每个内部路由器维护本区域完 整拓扑但仅知道到其他区域网 络的概括信息
区域边界路由器: 负责为发 送到该区域以外的分组选路,概括区域路由信息
主干路由器: 维护主干区域 完整拓扑,以及到其他区域 网络的路由概括信息
边界路由器: 连接到其他AS
由于链路状态更新分组的洪泛被限制在小范围的区域内 ,通过层次路由OSPF能用 于规模很大的网络。
OSPF 的要点
基于链路状态路由选择算法
网络管理员可以根据流量、距离、时延、带宽等为链路设置度量
支持分区域层次路由,将链路状态信息的洪泛限制在小范围的区域 内部,可用于大规模网络
OSPF的分组直接使用 IP 数据报进行传输,并采用可靠洪泛