看不到距离向量和链接状态之间的区别

网络工程 ospf 网络 eigrp
2021-07-11 07:01:31

在链路状态路由协议中,每个路由器将他知道的每条链路通告给下一个路由器,下一个路由器再次通告他的链路,依此类推,直到每个路由器都知道其区域内的所有链路。因此,同一区域内的每个路由器都获得了相同的 LSDB。

使用距离矢量路由协议,所有直接连接的网络和路由器知道的所有网络(因此路由表)都被发送到他的邻居,然后邻居知道更多的网络并且能够将更多的网络(由于更大的路由表)发送到下一个路由器,直到每个路由器的路由表中都有每个网络(!?)。

因此,对于这些路由协议中的每一个,我们都完成了相同的事情:每个路由器都知道每个网络或链接。

我在这里做错了什么?

2个回答

彼得·帕鲁奇 (Peter Paluch) 所著:

距离向量和链路状态路由协议之间的根本区别在于路由器相互发送的路由信息​​的性质。

在距离矢量协议中,每个路由器向其邻居发送所有已知网络的列表以及它与这些网络中的每一个的距离。因为在软件工程中,一个列表(或者更好的说,一个数组)也被称为向量,网络和距离的列表有时也被称为网络和距离的向量,因此称为距离向量路由协议。

在链路状态路由协议中,每个路由器都描述自己及其与直接连接对象的接口;这些对象可以是相邻的相邻路由器,也可以是直接连接的网络。该信息从一个路由器原封不动地传递到另一个路由器,因此最终每个路由器都知道其他所有路由器、它的接口以及它们究竟连接到什么。本质上,在链路状态路由协议中,每个路由器都知道整个网络拓扑,直到每个路由器和每个互连,也称为链路状态,因此称为链路状态路由协议。

因此,这些协议类型的不同之处在于它们对网络的了解以及它们用于计算路由表的信息。距离矢量路由协议不通告整个网络拓扑,并且使用距离矢量路由协议,网络中的任何路由器都不知道网络的整体情况。运行距离矢量路由协议的路由器只知道其直接连接的邻居,并且知道这些邻居通告的网络列表,但它并不真正知道这些网络的真实位置。

链路状态路由协议允许路由器拥有完整的网络地图,并使用特定算法找到网络中每个对象的最短路径,包括目标 IP 网络。

我们同时拥有距离矢量和链路状态路由协议的事实是由于历史原因:最初,距离矢量协议在软件中更容易设计和实现,因此非常流行。然而,如果没有一些直到 90 年代初才发明出来的聪明想法,它们就会有一些缺点,特别是在它们对网络变化的反应速度以及它们如何避免创建路由循环方面。同时,开发了另一种路由协议设计方法,即链路状态方法。链路状态协议要复杂得多,需要更多的处理能力和内存,但随着路由器中的资源随着时间的推移而改进,链路状态路由协议慢慢接管。

如今,我们在两个领域都有非常好的路由协议实现——EIGRP 是最先进的距离矢量路由协议,而在链路状态领域,我们有 OSPF 和 IS-IS。

来源:https : //supportforums.cisco.com/t5/lan-switching-and-routing/what-different-between-distance-vector-and-link-state-routing/td-p/2900912

因此,对于这些路由协议中的每一个,我们都完成了相同的事情:每个路由器都知道每个网络或链接。

我在这里做错了什么?

你没有做错任何事——你是对的!两种方法都完成相同的事情。事实上,所有的路由协议都做同样的事情。

两者之间的最大区别在于它们如何响应网络中的变化。当拓扑发生变化时,每个路由器都需要学习新的网络路径。当所有路由器都同意时,我们说网络已经收敛。通常,DV 协议(如 RIP)比 LS 协议(如 OSPF 或 IS-IS)重新收敛得更慢。同样,DV 协议必须不断公布其路由表,从而产生流量开销。EIGRP 是 DV 和 LS 协议的组合——它使用两种类型的特性来缩短收敛时间。

正如@Cown 指出的那样,从历史上看,RIP 是第一位的。它很简单,并且是在网络较小的时候开发的。OSPF、IS-IS 和 EIGRP 大约是在同一时间开发的。差异的主要原因很简单,它们是由不同的群体开发的。