OSPF 的距离矢量性
- 2010年05月5日
- 由flyxj
Jeff Doyle 最喜欢在面试的时候问的一个问题:
为什么在 OSPF 中非骨干区域之间的互访流量必须通过骨干区域(区域 0)传递?
下面通过比较三个即使 OSPF 初学者也知道的链路状态路由协议的基本概念,来探究该问题的答案。
第一个基本概念是:运行链路状态协议的路由器都会向其他路由器泛洪自身的,链路的和邻居信息。通过这些泛洪的信息,各个路由器都能够建立起一致的链路状态数据库。然后各个路由器再各自独立的运行最近路径优先算法来获得一个最短路径树,这棵树就类似一个描绘到达其他路由器路径的地图。链路状态协议的一个优点就是通过提供一个整个网络的地图来避免出现路由回环。相对应的距离矢量协议的路由信息是在网络中逐跳的进行传递的,然后逐跳的根据本地的信息进行各自的路由计算。.在进行正确的路由计算和计算结果信息正确传递之前,这些路由器之间都是独立的。当一个路由器宣告它所学到的网络前缀给邻居时,它就宣告说它知道如何到达这些目的地,而由于运行距离矢量协议的路由器也只能通过邻居的宣告来获得网络信息,除了邻居之外没有整个网络的地图,因此很容易产生路由回环。