二、链路状态数据库

除了邻居发现和泛洪扩散LSA,链路状态路由选择协议的第3个主要任务是建立链路状态数据库。链路状态数据库,也叫拓扑数据库把LSA作为一连串记录保存下来。LSA包括两类通用信息:

路由器链路信息-使用路由器ID、邻居ID和代价通告路由器的邻居路由器,这里的代价是发送LSA路由器到其邻居的代价;

末梢网络信息-使用路由器ID、网络ID和代价通告路由器直接连接的末梢网络(没有邻居的网络);

注意:链路代价是按照出站接口的方向计算的!

三、SPF算法-Dijkstra算法

SPF算法的基本过程:

构建最短路径树时,路由器首先将它自己作为根,然后使用拓扑数据库中的信息,创建所有与它直连的邻居列表。到一个邻居的代价最小的路径将成为树的一个分枝,该路由器的所有邻居都被加入列表。检查该列表,看是否有重复的路径:如果有,代价高的路径将从列表中删除,代价低的路由器将被加入树;路由器的邻居也被加入列表,再次检查该列表是否有重复路径。此过程不断重复,直到列表中没有路由器为止!

四、区域

一个区域是构成一个网络的路由器的一个子集。将网络划分为区域是针对链路状态协议的3个不利影响所采取的措施:

必要的数据库要求内存的数量比距离矢量协议更多;

复杂的算法要求CPU时间比距离矢量协议更多;

链路状态泛洪扩散数据包对可用带宽带来了不利的影响,特别是不稳定的网络.

当一个网络中路由器的数量很多,以至数千台的时候,那么SPF算法给内存、CPU和带宽带来的负担是不可想象的!通过划分区域可以减小这些影响。当一个网络被划分为多个区域时,在一个区域内的路由器仅需要在本区域扩散LSA,因而只需要维护本区域的链路状态数据库。数据库越小,意味着需要内存越少,运行SPF算法需要的CPU周期也越少。如果拓扑改变频繁发生,引起的扩散将被限制在不稳定的区域!

区域边界路由器是连接两个区域的路由器,它属于所连接的两个区域,而且必须为每个区域维护各自的拓扑数据库!

五、距离矢量路由选择协议与链路状态路由选择协议的区别

距离矢量路由器发送它的整个路由表,而链路状态路由器仅仅发送有关它直连链路(邻居)的信息;

距离矢量路由器仅向这的邻居发送路由信息,而链路状态路由器向整个网络中的所有路由器发送邻居信息;

距离矢量路由器通过使用不同的Bellman-Ford算法,而后者则通常使用不同的Dijkstra算法;


相关内容