📜  单播路由——链路状态路由

📅  最后修改于: 2021-09-28 11:02:56             🧑  作者: Mango

先决条件 – 距离矢量路由、Dijkstra 算法、距离矢量路由v/s 链路状态路由、OSPF、RIP
单播 –单播意味着从单个发送方到单个接收方的传输。它是发送方和接收方之间的点对点通信。有多种单播协议,如 TCP、HTTP 等。

  • TCP 是最常用的单播协议。它是一种面向连接的协议,中继接收方的确认。
  • HTTP 代表超文本传输协议。它是一种面向对象的通信协议。

单播路由主要有以下三种协议:

  1. 距离矢量路由
  2. 链路状态路由
  3. 路径矢量路由

链路状态路由——
链路状态路由是路由协议的第二个家族。距离矢量路由器使用分布式算法来计算其路由表,而链路状态路由则使用链路状态路由器来交换消息,从而允许每个路由器了解整个网络拓扑。基于这个学习到的拓扑,每个路由器然后能够通过使用最短路径计算来计算它的路由表。

链路状态路由协议的特点——

  • 链路状态数据包——包含路由信息的小数据包。
  • 链路状态数据库——从链路状态数据包中收集的集合信息。
  • 最短路径优先算法(Dijkstra 算法)——对数据库执行的计算结果为最短路径
  • 路由表 –已知路径和接口的列表。

最短路径的计算 –
为了找到最短路径,每个节点都需要运行著名的Dijkstra 算法。这个著名的算法使用以下步骤:

  • Step-1:选择节点作为树的根节点,这将创建具有单个节点的树,现在根据链路状态数据库中的信息将每个节点的总成本设置为某个值
  • Step-2:现在节点在所有不在树状结构中的节点中选择一个离根最近的节点,并将其添加到树中。树的形状发生变化。
  • Step-3:在这个节点加入树后,所有不在树中的节点的成本都需要更新,因为路径可能已经改变了。
  • Step-4:节点重复 Step 2. 和 Step 3. 直到所有节点都添加到树中

与距离矢量协议相比,链路状态协议具有:

  1. 它需要大量内存。
  2. 最短路径计算需要许多 CPU 圈。
  3. 如果网络使用小带宽;它对拓扑变化做出快速反应
  4. 必须将数据库中的所有项目发送给邻居以形成链路状态数据包。
  5. 所有邻居都必须在拓扑中受信任。
  6. 认证机制可用于避免不希望的邻接和问题。
  7. 在链路状态路由中不可能有水平分割技术。

      开放最短路径优先 (OSPF) 路由协议 –

    • 开放最短路径优先 (OSPF) 是由 Internet 工程任务组 (IETF) 的工作组开发的单播路由协议。
    • 它是一种域内路由协议。
    • 它是一个开源协议。
    • 它类似于路由信息协议 (RIP)
    • OSPF 是一种无类路由协议,这意味着在其更新中,它包括它所知道的每条路由的子网,从而启用可变长度的子网掩码。使用可变长度的子网掩码,IP 网络可以分成许多不同大小的子网。这为网络管理员提供了额外的网络配置灵活性。这些更新是在特定地址(224.0.0.5 和 224.0.0.6)上的多播。
    • OSPF 是作为网络层中的程序使用 Internet 协议提供的服务来实现的
    • 携带来自 OSPF 的消息的 IP 数据报将协议字段的值设置为 89
    • OSPF 基于 SPF 算法,有时也称为 Dijkstra 算法
    • OSPF 有两个版本——版本 1 和版本 2。版本 2 使用最多

    OSPF 消息 – OSPF 是一个非常复杂的协议。它使用五种不同类型的消息。这些如下:

    1. Hello 消息(类型 1)——路由器使用它向其他路由器介绍自己。
    2. 数据库描述消息(类型 2)——它通常是为了响应 Hello 消息而发送的。
    3. 链路状态请求消息(类型 3)——它被需要特定链路状态数据包信息的路由器使用。
    4. 链路状态更新消息(类型 4)——它是用于构建链路状态数据库的主要 OSPF 消息。
    5. 链路状态确认消息(类型 5)——用于在 OSPF 协议中创建可靠性。