路由协议,距离vector与链路状态

我试图找出两种路由协议方法之间的差异(利弊),我会很乐意为您提供任何帮助,build议和解释。 据我所知,距离向量似乎更像是静态的,更多的是基于本地的路由,因为它不知道networking状态,而链路状态更能意识到当前状态,所以在距离向量上使用它似乎更自然,但我有一种感觉就像我失去了一些东西。 在这里,我会很高兴在这里select其中一个方面的更多方面和不同的问题。

距离vector

纯距离向量协议很less见; 唯一真正剩下的就是RIP 。 思科专有协议EIGRP在技​​术上也是距离向量,但它使用了几种优化方法 ,可以克服传统距离向量协议的缺点。 距离向量协议不分配任何拓扑信息; 他们只是宣传下一跳路线,以及成本。

优点:

  • 最小configuration要求。
  • 低CPU /内存开销。

缺点:

  • 易于路由循环(不太适用于EIGRP)。
  • 收敛时间慢。
  • 对于networking的“状态”,不同的路由器可能有不同的看法。

链接状态

链路状态协议通过将每个路由器的连接接口通告给路由域中的每个其他设备而起作用。 实际上,每台设备都会build立完整networking拓扑的数据库,并使用该数据库来确定每个目标networking的最佳path。

使用的两个主要链路状态协议是OSPF和IS-IS ; 都是基于Dijkstraalgorithm的实现 。 OSPF是两者中较为知名的; IS-IS往往在服务提供商networking中更多地被发现。

优点:

  • networking中的所有路由器都具有一致的世界观。
  • 链路状态networking中的环路本质上是不可能的。
  • 快速重合。

缺点:

  • 需要更高的CPU /内存占用量。
  • 由于链路状态algorithm依赖于具有世界一致观点的整个AS,因此难以过滤被通告给特定路由器的路由。

协议select

您应该使用哪种协议types,这取决于您的要求。 一般来说,除非供应商被迫这样做,否则不应该使用RIP。 如果您运行的是全部思科networking,则可以使用非常less的手动configuration启动EIGRP。 如果供应商之间的互操作性是一个要求,OSPF可能是一个更好的select。 正如另一个答案中提到的那样,如果要与第三方交换路由,则BGP是select的协议。

最后一点:dynamic路由协议只有在拓扑冗余时才有用,并且需要自动故障切换。 如果你有一个单一的路由器支持所有的局域网环境和你的ISP电路,那么到你的ISP的默认路由绰绰有余。

我个人会select你的路由协议,而不是它的工作方式。 现在几天来,如果是内部networking,正确的答案实际上总是OSPF。 如果它是一个外部networking,那么答案可能是BGP(但在这种情况下你不会问)。 链路状态协议具有快速收敛性。

OSPF是一种链路状态协议,是一个开放的标准。

RIP仍然可以在小型networking上使用,或者将路由从简单设备重新分配到更复杂的设备(或者注入默认路由)

我不是专家,但是…我似乎回想起这样一个旧的公式:

(increasing stabilty) x (decreasing latency) = (weighted score for a route)

只需削减.02美分。 希望这将有助于您的考虑。

我100%同意詹姆斯 – 使用基于不基于技术的要求的路由协议。

首先 – 你为什么要考虑路由协议? 你是否在多path环境中重新分配路由? 您是否希望在不同的路线环境中获得更快的收敛时间?

如果您需要复杂的stream量工程,并且您拥有复杂的networking,路由多样,链接速度也非常不同,并且如果您处于100%的cisco环境中,则可能需要考虑eigrp。 否则,如果你有一个复杂的networking和多样化的路线,并且你想要合理的收敛时间,你实际上只有OSPF作为select。 我想你可以考虑ISIS,如果你想工作安全…

如果你只是想在一堆路由器之间重新分配一堆直接连接的路由,那么rip可能是好的。 有很多路由设备只支持RIP,比如很多无线AP和廉价路由交换机。

用于确定路线或防止循环的实际algorithm从来没有真正进入图像。

从这个页面 :

比较链路状态algorithm和距离vectoralgorithm

我们知道,当一个数据包到达路由器时,路由器会索引一个转发表,并确定数据包要传送到的链路接口。 路由algorithm在networking路由器中运行,交换和计算用于configuration这些转发表的信息。 路由algorithm的目的是从一组路由器中find从源路由器到目的路由器的一条好path。 通常情况下,一条好的path是成本最低的path,也是最短的path。

有一些types的路由algorithm,如链路状态或距离vector路由algorithm。 链路状态algorithm是一种使用全局信息的algorithm,距离vectoralgorithm是迭代的,asynchronous的,分布式的。 对于DValgorithm,每个节点仅与其直接相邻的邻居进行通信,但是向其邻居提供自己的最低成本估计给所有节点。 对于LSalgorithm,每个节点都与其他所有节点进行会话,但是只告诉它们直接比较其某些属性的代价。 我们有一些方面可以比较这两种algorithm

消息复杂度:在链路状态下,每个节点都必须保存关于networking内每个链路成本的信息。 而且每一次,如果任何成本都改变了,所有的节点。 使用距离向量algorithm,消息在彼此直接连接的两个主机之间交换。 如果其中一个节点的链路成本变化属于最小成本path,则DValgorithm将更新新的值。 但是,如果更改不属于2个主机之间的最低成本部分,则不会更新

收敛速度: LS的实现是一个需要O(| N || E |)消息的O(| N | 2)。 但DValgorithm收敛速度慢,收敛速度慢,路由环路较多。 另外,DValgorithm也受到无穷计数的困扰。

健壮性:对于LS,当路由器停机时,它可以为最近的一个广播错误的成本。 另外,节点可能会损坏或丢弃它作为LS广播的一部分获得的分组。 但是,一个LS节点正在计算它自己的转发表,而另一个节点为自己做计算。 所以它在LS内部以某种方式分离计算,从而提供鲁棒性。 对于DV来说,错误的最小成本path可以传递给多个节点或者整个节点,因此在整个networking工作中将会进行错误的计算。 DV的这个问题比LSalgorithm差很多。

并从此页面 :

距离vector协议的优点

很好的支持

像RIP这样的协议已经存在了很长一段时间,如果不是所有执行路由的设备都能理解RIP的话,大多数协议也是如此。