OSPF - 开放最短路径优先协议
最主要特征
- 使用分布式的链路状态协议
特点:
- 使用洪泛法向自治系统内所有路由器发送信息,即路由器通过输出端口向所有相邻的路由器发送信息,而每一个相邻路由器再将此信息发往其所有的相邻路由器。(广播)
- 发送的信息是与本路由器相邻的所有路由器的链路状态
- 本路由器和哪些路由器相邻,链路的度量/费用等
- 只有当链路状态发生变化时,路由器才向所有路由器洪泛发送此信息
最终所有路由器都能建立一个链路状态数据库,即全网拓扑图
算法
- 每个路由器发现它的邻居结点【Hello问候文组】,并了解邻居结点的网络地址
- 设置到它的每个邻居的成本度量metric
- 构造【DD数据库描述分组】,向邻站给出自己的链路状态数据库中的所有链路状态项目的摘要信息
- 如果摘要信息自己都有,邻站不做处理;如果有更新或有新增,发送【LSR链路状态请求分组】,请求更新或者确实的信息。
- 收到邻站LSR后,发送【LSU链路状态更新分组】进行更新
- 更新完毕后,邻站返回【LSAck】进行确认
如果一个路由器的链路状态发生变化
- 洪泛发送LSU更新
- 更新完毕后,其他站返回一个LSAck
- 使用Dijkstra算法根据链路状态数据库构造到其他节点的最短路径
可以认为是传输层、也可以认为是应用层协议
其他特点
- 每隔30min,刷新一次数据库中的链路状态
- 由于一个路由器的链路状态只涉及到与相邻路由器的连通状态,因而与整个互联网的规模并无直接关系。因此当互联网规模很大时,OSPF协议要比RIP协议好很多
- 收敛速度很快,不存在坏消息传的慢的问题