我所知道的(我认为):
- RIP 使用距离矢量路由方法,其中每个节点向其邻居发送到达其他路由的跳数,如果一个节点从该特定节点“开始”。
- OSPF 使用链路状态路由方法,其中考虑了节点之间每条链路的固有成本,而不是跳数。每个节点执行泛洪以通告与其相邻的链路的成本。当所有节点都拥有整个网络的所有信息时,每个节点都使用自己作为源节点执行 Dijkstra 算法以获得最短路径。
- 在 RIP 中,节点只向邻居通告。在 OSPF 中,根据 Stallings 的数据和计算机通信,路由器将链路成本集通告给拓扑中的所有其他路由器,而不仅仅是相邻路由器。
我不明白的是:
- 如果 RIP 和 OSPF 使用相同的度量,结果是否相同?我的意思是,如果所有路由器都知道整个拓扑结构,为什么会有区别?来自邻居的信息还不够吗,因为它携带来自邻居的邻居、邻居的邻居的邻居等等的信息?
- 我读过在 OSPF 中有一种叫做指定路由器(DR) 的东西。这意味着所有路由器都将它们的开销发送给 DR,而不是将它们泛洪到网络中的所有路由器。但这不是违反链路状态路由的概念,理论上每个路由器都向所有其余路由器通告?
- 如果有一个 DR 没有直接连接到网络中的每个路由器,那么一些非 DR 将接收有关其他路由器的信息并将其转发给 DR。这意味着不是 DR 的路由器也会从其他路由器接收信息,尽管它们是普通路由器。是否使用了这些信息,或者他们只是转发它而不处理它,因为他们只是在等待来自 DR 的命令?