Skip to content

Lec 9 路由

距离向量、链路状态以及如何

大纲

  • 路由协议的目的是什么
  • 为什么使用分布式路由协议?
  • 分布式路由协议的三个主要步骤是什么,为什么要定期运行每个步骤?
  • 链路状态路由:
    • 广告中包含什么?
    • 如果节点 A 发送广告,哪些节点会收到这份广告的副本?
    • 节点使用什么算法来集成广告,该算法如何工作?
    • 链路状态路由的优缺点是什么?
  • 距离向量路由
    • 广告中包含什么?
    • 如果节点 A 发送广告,哪些节点会收到这份广告的副本?
    • 节点使用什么算法来集成广告,该算法如何工作?
    • 距离向量路由的优缺点是什么?
    • 距离向量中广告接收顺序为何重要?
    • “计数到无穷”是什么意思?
  • 何时使用链路状态路由比较合适?
  • 何时使用距离向量路由比较合适?

路由协议

路由协议的目标:使每个交换机能够知道网络中每个目的节点(dst)的最小成本路由。

A的路由表(形式上)

截屏2024-07-15 14.44.58

我们只讨论, 分布式路由协议,节点自己建立路由表,而不是由集中式机构提供路由表

截屏2024-07-15 14.49.58

  1. 通过hello协议,节点学习到了它有哪些的邻居
  2. 节点通过广告学习到了能够到达的节点
  3. 节点决定最小代价路由

广告包含的内容以及节点如何使用这些广告来确定最小成本路由,将根据具体的协议而有所不同。

所有这些步骤都定期发生,这使得路由协议能够检测并响应故障,并适应网络中的其他变化

距离向量路由(Distance-Vector Routing)

截屏2024-07-15 22.46.29

传播关于到每个节点的当前最小成本的信息,而不是实际的拓扑结构

广告的内容

它到它每个邻居的链路开销

谁能够拿到广告

高效地通过泛洪,让每个其他节点都能拿到

如果失败会发生什么

泛洪使链路状态路由对故障具有很高的韧性

什么限制了规模

泛洪的开销

截屏2024-07-15 22.45.13

截屏2024-07-15 15.00.17

目标是,传播完整的拓扑信息。图中的所有节点都了解完整的拓扑信息。

A的广告: [(B, 7), (D, 2), (F,1)]

A实际上要将这个广告发送给其他人,通过"泛洪(flooding)"实现。

截屏2024-07-15 15.05.06

分布式路由协议中,节点会记录它们已经转发过的路由广告信息。这样做的目的是防止节点在网络中传播重复的路由信息。它们还可以在泛洪时更加智能化,不会将广告转发回发送它的节点。

最小流问题, Dijkstra算法解决。

设想一下,这个操作每隔10分钟运行一次。如果有节点消失或者

当网络中出现故障时会发生什么?泛洪使链路状态路由对故障具有很高的韧性。当网络中的某个链路或节点发生故障时,受影响的路由器会感知到这些故障,并更新它们的链路状态数据库(LSDB)。由于LSA会在整个网络中广播,因此即使某条路径发生故障,其他路由器也能快速获知,并通过重新计算最短路径来适应网络的变化。这种泛洪机制使得链路状态路由协议在面对网络故障时能够快速、可靠地重新计算和更新路由信息

广告的内容

它所知道每个节点的当前开销

谁能够拿到广告

它的邻居

如果失败会发生什么

由于依赖周期性更新, 会比较复杂。

什么限制了规模

失败的处理