OSPF各种面试中经常被问到.好吧这次就×××......写清楚。
1.链路状态路由协议出现的目的是为了克服距离矢量路由协议的缺点。链路状态路由协议具有如下特征。
链路状态协议特征
链路状态路由协议仅在网络拓扑发生变化时才会生成路由更新。链路的状态发生变化后,检测到变化的设备将生成一个针对该链路状态通告(LSA),如下图
OSPF计算过程
链路状态路由器对LSDB应用Dijkstra算法(即SPF算法)以建立SPF树。每台路由器都从其SPF树中选择最佳路径,并将其加入到路由表中。设备都更新其数据库,然后更新路由表以反映新的拓扑。如上图所示,LSDB用于计算穿越网络的最佳路径。
链路状态路由器对LSDB应用Dijkstra算法(即SPF算法)以建立SPF树。每台路由器都从其SPF树中选择最佳路径,并将其加入到路由表中。
我们可以将LSDB视为一个城市的地图,城市中的每幅地图都相同,就像同一个区域内所有路由器的LSDB都相同一样。我们在城市中各个地点,各幅地图之间唯一的差别就是“当前位置”。根据当前位置,我们可以确定前往每个地点的最佳路线;前往特定地点的最佳路线随着我们当前所处的位置而异。链路状态路由器的功能与此类似,它们从自己的角度出发,使用LSDB计算前往区域内每个网络的最佳路径。
分发路由信息和计算路由的方式,OSPF和IS-IS都属于链路状态路由协议。
运行链路状态路由协议的路由器从网络或网络的指定区域内的所有路由器那里收集路由信息,然后每台路由器都使用Dijkatar(SPF)算法分别计算其前往网络中各个目的地的最佳路径。来自某台路由器的错误信息导致混乱的可能性较低,因为每台路由器都有其对网络的认识。
为确保网络中所有的路由器都作出一致的路由选择决策,每台路由器都必须记录下述信息。
OSPF记录信息
1)直接相连的邻接路由器:失去与邻接路由器的关系后,路由器将在几秒钟之内将该邻居提供的所有路径作废,并重新计算路径。在OSPF中,有关邻居的信息存储在邻居表中,这个表也被称为邻接关系数据库。
2)网络或区域内的其他路由器及其连接的网路:路由器通过LSA来获得其他路由器和网络,LSA被扩散到整个网络,它存储在拓扑表或数据库(即LSDB)中。
3)前往每个目的地的最佳路径:每台路由器都使用Dijkstra(SPF)算法独立地计算前往网络中心每个目的地的最佳路径。所有路径都存储在LSDB中。最佳路径被加入到路由表(也称为转发数据库)中。路由器收到分组后,将根据路由表中的信息对其进行转发。
OSPF多种表叫法:
OSPF多种表叫法
为保存这些表,需要占用内存资源,这是链路状态协议的一个缺点。然而,在同一个区域内,所有OSPF路由器的拓扑表(LSDB)都相同,其中包含有关区域中所有路由器和链路的完整信息,因此每台路由器都能根据开销独立地选择前往区域中每个网络的无环路高效路径。还克服了距离矢量路由协议“根据流言选择路由”的缺点。
运行距离矢量路由协议的路由器依赖于邻居的路由抉择。路由器并不完全知道网络拓扑;而运行链路状态路由协议的每台路由器都完全了解网络拓扑,能够根据准确的网络拓扑信息独立地做出决策。
今天就写到这 会陆续更新。。。。。。
未完待续...
原文地址:http://blog.51cto.com/zxteach/2124682