• (王道考研计算机网络)第四章网络层-第五节2:OSPF协议与链路状态算法


    一:开放最短路径优先协议(OSPF)

    开放最短路径优先协议(OSPF):“ 开放”标明OSPF协议不是受某一家厂 商控制,而是公开发表的;“ 最短路径优先”是因为使用了Dijkstra提出的最短路径算法SPF。该协议最主要特征就是使用分布式的链路状态协议。是网络层协议,不使用UDP或TCP,直接用IP数据报传送

    (1)OSPF特点

    主要特点

    • 和谁交换:使用洪泛法向自治系统内所有路由器发送信息,即路由器通过输出端口向所有相邻的路由器发送信息,而每一个相邻路由器又再次将此信息发往其所有的相邻路由器(最终整个区域内所有路由器都得到了这个信息的一个副本
    • 交换什么:发送的信息就是与本路由器相邻的所有路由器的链路状态(本路由器和哪些路由器相邻,以及该链路的度量/代价一费用、距离、时延、带宽等)
    • 多久交换只有当链路状态发生变化时,路由器才向所有路由器洪泛发送此信息

    其他特点

    • OSPF对不同的链路可根据IP分组的不同服务类型(TOS)而设置成不同的代价。因此,OSPF对于不同类型的业务可计算出不同的路由,十分灵活

    • 如果到同一个目的网络有多条相同代价的路径,那么可以将通信量分配给这几条路径。这称为多路径间的负载平衡

    • 所有在OSPF路由器之间交换的分组都具有鉴别功能,因而保证了仅在可信赖的路由器之间交换链路状态信息

    • 支持可变长度的子网划分和无分类编址CIDR

    • 每个链路状态都带上一个32位的序号,序号越大,状态就越新

    • 每隔30min,要刷新一次数据库中的链路状态

    • 由于一个路由器的链路状态只涉及到与相邻路由器的连通状态,因而与整个互联网的规模并无直接关系。因此当互联网规模很大时,OSPF 协议要比距离向量协议RIP好得多

    • OSPF不存在坏消息传的慢的问题,它的收敛速度很快

    (2)OSPF区域

    为了使OSPF能够用于规模很大的网络,OSPF将一个自治系统再划分为若干个更小的范围,叫做区域

    • 每一个区域都有一个32位的区域标识符(用点分十进制表示)
    • 区域也不能太大,在一个区域内的路由器最好不超过200个

    在这里插入图片描述

    (3)OSPF分组

    在这里插入图片描述

    二:链路状态路由算法

    算法流程如下

    • 每个路由器发现它的邻居结点【HELLO问候分组】,并了解邻居节点的网络地址。
    • 设置到它的每个邻居的成本度量metric
    • 构造【DD数据库描述分组】,向邻站给出自己的链路状态数据库中的所有链路状态项目的摘要信息
    • 如果DD分组中的摘要自己都有,则邻站不做处理;如果有没有的或者是更新的,则发送 【LSR链路状态请求分组】 请求自己没有的和比自己更新的信息。
    • 收到邻站的LSR分组后,发送 【LSU链路状态更新分组]进行更新】
    • 更新完毕后,邻站返回一个 【LSAck链路状态确认分组】 进行确认

    只要一个路由器的链路状态发生变化:

    • 泛洪发送 【LSU链路状态更新分组】 进行更新
    • 更新完毕后,其他站返回一个 【LSAck链路状态确认分组】 进行确认
    • 使用Djkstra算法根据自己的链路状态数据库构造到其他节点间的最短路径
  • 相关阅读:
    智能客服话术设计思路
    k8s-helm部署应用 19
    创新前沿:Web3如何颠覆传统计算机模式
    Vue3语法糖setup(二)
    【附源码】Python计算机毕业设计魔术教学网站
    JointJS+新的MindMap应用程序
    OA系统,有效提升企业办公效率落实执行力
    Linux实验五:进程管理
    学习css过渡动画-transition
    codeforces:Codeforces Round #821 (Div. 2) 【思维 + 贪心分贡献的dp】
  • 原文地址:https://blog.csdn.net/qq_39183034/article/details/125471115