《IS-IS网络设计解决方案》一6.2 使用SPF算法计算IS-IS路由

6.2 使用SPF算法计算IS-IS路由

IS-IS网络设计解决方案
ISO 10589附录C2定义了使用SPF算法进行IS-IS协议的路由计算。RFC 1195附录C定义了SPF算法的修改版本从而使IS-IS协议支持IP路由选择。Dijkstra算法产生网络拓扑的最短路径树,从而确定去往不同目标的最短(最优)路径并放入IP路由表。为了获得IP路由的最佳路径,IP子网会被看作是最短路径树的树叶。网络事件只会导致链路状态数据包中IP可达性条目的改变,而不要求重新计算整个最短路径树。在这种状况下,IS-IS协议只需进行部分路由计算(Partial Route Calculation,PRC)而不是完整地运行SPF算法。在大多数情况下,IS-IS路由计算中无处不在的PRC优化了IP路由选择收敛的执行效率。

前文曾提到SPF算法的计算时间的阶数O(LlogN),其中L为链路数量,N为节点数量。LogN因子是由Dijkstra算法操作的步骤2(见图6-2)产生的。T集合中的元素会预先按照开销进行排序从而避免在选择最低开销元素时进行线性搜索。在排序的T集合中使用二进制搜索机制并插入新条目所需的处理时间引入了logN因子。通过使用一个基于6位字段的有限路径开销(ISO 10589中定义),可以将复杂性阶数优化并降低为O(N),从而消除了logN。这是通过使用快速的阵列排序数据结构,将节点按照路径开销而不是逻辑距离进行散列排序实现的。不幸的是,随着时间推移,在IS-IS网络设计及其他IS-IS路由选择应用(例如MPLS流量工程)中,6位的度量字段已经不足以提供足够的灵活性。在IS-IS中采用更大路径开销(宽度量)很明显地要比小而有限的路径开销(窄度量)具有网路优化方面的优势(见第5章)。

RFC 1195对IS-IS路由选择的SPF算法进行了修改,允许在多条等价路径上实现负载均衡。但在通常情况下,Dijkstra算法仍按照前文所述的过程工作。在RFC 1195附录C中对SPF算法的操作进行了很好的描述。在构建最短路径树时会使用以下三种列表:未知或候选列表(Unknown or candidate list,UNK)、实验列表(Tentative,TENT)和已知路径列表(known Paths,PATHS)。当SPF开始运行时,所有的节点放入UNK中。随后在初始化时将源节点移入PATHS。节点会根据其下一跳及度量信息放入TENT,从而进一步检查其是否可以放入PATHS。IS-IS为所有邻居维护一个邻接数据库,为SPF的运行提供TENT中直连邻居的下一跳信息。对于非直连的主机,从PATHS中经过其父节点获得第一跳信息。存放在TENT和PATHS中的条目是由三元组组成的:{n, d(n), Adj(n)},其中:

  • n=系统ID;
  • d(n)=从源s到n的距离;
  • Adj(n)=源s已知的n有效邻接的集合。

在算法的每一步都需要检查TENT列表,具有到源的最小开销的节点将被移入PATHS。当节点被放入PATHS后,该节点所通告的IP前缀及相应的度量和下一跳信息将放入IS-IS路由选择信息库(IS-IS Routing Information Base,RIB)。如果放入PATHS中的节点的直连邻居不在TENT中,则将其移入TENT并对其开销进行相应的调整,以进行下一次选择。

请注意IP内部及外部前缀包括地址和掩码在内共占8字节,这些前缀永远都是叶子。

时间: 2024-09-12 13:22:25

《IS-IS网络设计解决方案》一6.2 使用SPF算法计算IS-IS路由的相关文章

《IS-IS网络设计解决方案》一6.4 本章小结

6.4 本章小结 IS-IS网络设计解决方案 本章介绍了SPF算法的理论基础,解释了SPF算法计算路由的方法,并概述了在Cisco路由器上运行IS-IS时SPF的操作. SPF算法是以其发明者-荷兰数学家.计算机科学家Edsger W. Dijkstra的名字命名的.SPF使用有向图找到两点之间的最短路径.这一发明被各种应用程序所使用,在数据通信网络中进行路径选择就是作用之一.通信网络中的路由器和链路(邻接关系)可以被模拟为一个有向图中的顶点和弧线,Dijkstra算法可以用于计算这种模型中节点

《IS-IS网络设计解决方案》一第6章 最短路径优先算法6.1 SPF算法概述

第6章 最短路径优先算法 IS-IS网络设计解决方案 路由选择协议的本质是收集网络环境中的路由选择信息,并选择到所有已知目的的最优路径.如第2章中提到的,在IS-IS协议的体系结构中,这些功能是由两个进程实现的:更新进程与决策进程.更新进程主要负责建立IS-IS数据库并维护其稳定性:决策进程使用最短路径优先(Shortest Path First,SPF)算法基于链路状态数据库中的信息计算到所有已知目的的最优路径.SPF算法通过计算区域内一个特定的节点到其他所有节点的最短路径树从而得出从这个特定

《OSPF网络设计解决方案(第2版)》一2.3 SPF概述

2.3 SPF概述 OSPF网络设计解决方案(第2版) OSPF是一个链路状态路由协议,此类协议在一些技术文档及文献中也被称为基于SPF的协议,或者是分布式数据库协议.本节讨论链路状态算法的发展,以及该算法对OSPF协议产生的影响. 什么是链路状态协议? OSPF是一个链路状态协议.那什么是链路状态呢?你可以将链路看作是路由器上的一个接口,而链路的状态也就是对该接口的描述.这种描述包括了接口的IP地址和掩码,以及接口所连接网络的类型和状态.OSPF将网络中所有路由器的链路状态信息汇总于链路状态数

《OSPF网络设计解决方案(第2版)》一2.8 案例分析:OSPF网络的构建和收敛

2.8 案例分析:OSPF网络的构建和收敛 OSPF网络设计解决方案(第2版) 之前的两个案例分析回顾了链路状态数据库以及它的建立过程.本节将通过新的案例分析来讨论本章之前已经介绍过的一些概念,除此以外,本节还将讨论如何构建一个简单的OSPF网络以及网络的收敛. 假设 MatrixNet 是一家专注于影视特效的高科技动画公司,并想要在其核心网络内实施 OSPF.该公司的核心网络内拥有三台通过以太网相互连接的路由器,如图2-19所示. 在本节案例中,你需要在3台Cisco路由器上配置OSPF.但必

《OSPF网络设计解决方案(第2版)》一2.1 什么是路由协议

2.1 什么是路由协议 OSPF网络设计解决方案(第2版) 路由协议的产生需要经历一系列的过程:通过RFC(征求评议,Request for Comments)流程,并最终成为正式化的协议.该流程包括对一项提议技术征求公开的成文评议,并努力对该技术进行完善和标准化.由RFC 2328所定义的OSPF便是路由协议标准化的例子. 注意 如需查阅具体的RFC文档内容,你可以登录下面的网站,并通过RFC编号或关键字进行检索:http://www.rfc-editor.org/rfc.html. 学习 O

《OSPF网络设计解决方案(第2版)》一2.4 OSPF路由分层

2.4 OSPF路由分层 OSPF网络设计解决方案(第2版) OSPF协议最为重要的特性之一便是它支持分层的路由结构.当你思考OSPF如何在这种分层结构上运行时,请牢记下面的两个特点. 为了使得OSPF能够正常地运行,必须存在或创建分层结构. 应当优先关注如何划分明确的拓扑,而不是地址编址. 自治系统(AS)是指在同一管理域内的一组共享相同路由策略的区域的集合.自治系统使用唯一的编号进行标识,该编号可以是公共的或私有的,这取决于网络的需求.自治系统号必须由特定的组织或机构来分配,如北美的Inte

《OSPF网络设计解决方案(第2版)》一1.6 IP编址

1.6 IP编址 OSPF网络设计解决方案(第2版) 本节讨论IP编址的方法.基本子网划分.可变长子网掩码(VLSM)及无类域间路由(CIDR). 在设计及配置都较为合理的网络环境中,主机和服务器之间的通信可视为透明的.这是因为,每台使用TCP/IP协议簇的设备都拥有长度为32比特的唯一IP地址.设备读取数据包的目的IP地址,并基于该信息做出正确的路由决策.如果设备是主机或服务器,那么它们将借助默认网关进行数据包转发:如果是一台路由器,那么则参照路由表将数据包转发至目的地.只要使用了正确的IP编

《IS-IS网络设计解决方案》一导读

前 言 IS-IS网络设计解决方案 IS-IS协议是一种功能强大且健壮的路由选择协议,同时适用于IP和CLNP网络.实践证明,在IP世界里,IS-IS路由选择协议是应用于ISP网络中的IGP协议OSPF唯一的可替代协议.IS-IS路由选择协议是当今许多一级ISP网络的IGP选择,这一点也明确解释了IS-IS在CCIE路由与交换认证考试和CCIE IP认证考试中存在的意义.尽管IS-IS协议在IP网络中占据重要地位,然而很少有关于IS-IS协议的技术文章和资料.大多数用户和网络专家依赖从Cisco

《OSPF网络设计解决方案(第2版)》一2.7 案例分析:使用链路状态数据库

2.7 案例分析:使用链路状态数据库 OSPF网络设计解决方案(第2版) 在本章之前的内容中,我们已经学习到了如何使用LSA在OSPF路由器之间发送有关链路的信息.这些LSA被存储于路由器内部的一个数据库中,并且一条LSA将作为该数据库的一条记录. 图2-16给出了本节案例分析所使用的OSPF网络拓扑. 例2-6显示了在HAL9000路由器上使用show ip ospf database命令的输出条目. 注意这里的输出并未包含图2-16中其他区域的信息(即只有区域0的条目),这是因为路由器HAL