计算机网络——开放最短路径优先OSPF的基本工作原理

237 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第6天,点击查看活动详情

  • "开放"表明OSPF协议不是受某一家厂商控制,而是公开发表的
  • 最短路径优先 是因为使用了dijkstra提出的最短路径算法SPF
  • OSPF是基于链路状态的,而不像RIP那样是基于距离向量
  • OSPF采用SPF算法计算路由,从算法上保证了不会产生环路
  • OSPF不限制网络规模,更新效率高,收敛速度快
  • 链路状态是指本路由器都和哪些路由器相邻,以及相应的链路的“代价(cost)”
  • "代价"用来表示表示费用、距离、时延、带宽、等等。这些都由网络管理人员来决定

思科路由器中OSPF计算代价的方法:100Mbps/链路带宽 计算结果小于1的值仍为1;大于1且有小数的,舍去小数

R1的链路状态 邻居 代价 R2 1 R4 1

R2的链路状态 邻居 代价 R1 1 R3 10

R3的链路状态 邻居 代价 R2 10 R4 64

R4的链路状态 邻居 代价 R1 1 R3 64

image.png

  • OSPF相邻路由器之间通过交互问候(hello)分组,建立和维护邻居关系
  • Hello分组封装在IP数据中,发往组播地址224.0.0.5

image.png

  • 发送周期为10秒
  • 40秒收到来自邻居路由器的Hello分组,则认为邻居路由器不可达

R1的邻居表 邻居ID 接口 "死亡倒计时" R2 1 36秒

image.png

  • 使用OSPF的每个路由器都会产生链路状态通告LSA。LSA包含以下内容

通过各路由器洪泛发送封装有自己LSA的LSU分组,各路由器的LSDB最终到称一致

R4的链路状态通告LSA 直连网络N1的链路状态信息 邻居路由器R1的链路状态信息 邻居路由器R3的链路状态信息