OSPF链路状态(LS)路由算法(C/C++代码实现)

路由算法是一种用于确定节点中数据包路由的方法。对于网络的每个节点,该算法确定一个路由表,在每个目的地,该路由表与输出线路相匹配。该算法应该导致一致的路由,也就是说没有循环。这意味着您不应该将数据包从一个节点路由到另一个可以发回数据包的节点。

定义:通过跟随数据包到达目的地来建立路由的过程。它是一组循序渐进的过程,用于有效地引导互联网的流量。一旦一个数据包从源离开,那么几个路径就可以提供给它的目的地。这种算法主要从数学上确定最佳车道。

有不同的方法用于不同的路由算法来决定最佳车道。例如,距离向量算法分析通过每个节点的所有可访问路线的图,以确定每个即时邻居的旅行费用。可以为每个节点收集该数据以生成距离表,从而确定任意两个节点之间的最佳车道。在这种方法中,可以创建路由表来输入数据包所遵循的路由的信息。

640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1

在OSI模型(开放系统互连)中,路由可以存在于网络层之上。这是OSI模型中的第三层。因此,它确定了网络上从源到目的地传输数据包的最佳通道。

路由算法有哪些类型

路由算法主要有三种类型:

 

距离矢量(距离矢量路由);到链路状态(链路状态路由);路径到矢量(路径-矢量路由)。

距离矢量路由算法

距离矢量路由算法要求每个节点在邻居之间,也就是直接连接的节点之间交换信息。因此,每个节点可以通过添加关于其所有邻居的信息来保持表的更新。此表显示了每个节点和要到达的每个网络的距离。首先在Arpanet中实现的是,当节点数量增加时,这项技术很快就会变得麻烦,因为我们必须在节点之间携带大量信息。RIP(路由信息协议)是使用距离矢量的协议的最佳示例。

在这种类型的算法中,每个路由器向其邻居广播一个向量,该向量列出了它可以到达的每个网络的相关度量,也就是跳数。因此,每个路由器都可以用从其邻居那里接收到的信息来构建路由表,但不知道所选路由上的路由器的标识。因此,这种解决方案的使用给外部路由协议带来了许多问题。事实上,假设所有路由器都使用相同的度量,而自治系统之间的情况可能并非如此。此外,一个自治系统可能有特殊的理由表现得与另一个自治体系不同。特别是,如果自治系统需要确定自治系统将如何传递其消息,例如出于安全原因,他不知道。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值