彼得·帕鲁奇 (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