IS-IS加快收敛特性

2024-04-27 15:32
文章标签 特性 收敛 加快

本文主要是介绍IS-IS加快收敛特性,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

概述:

目前,国内电信运营商在其IP骨干网中大量使用IS-IS协议,在这种规模较大的网络中,IS-IS 的收敛速度是很重要的,如果网络发生故障,而IS-IS协议收敛速度太慢的话,直接会影响到业务的响应速度,所以IS-IS 采用了以下手段来提高收敛速度:

  1. 增量SPF算法(I-SPF)。
  2. 部分路由计算(PRC)。
  3. 智能定时器。
  4. LSP快速扩散。
  5. 按优先级收敛

1.增量SPF算法(I-SPF ):

和OSPF使用的I-SPF相同相同,对于传统的Dijkstra SPF算法来说,网络拓扑越复杂,SPF 算法的资源开销就越大。如果网络拓扑发生变化,比如网络中加入了一台新路由器,或者是某个链路故障,这些事件都会导致网络中的所有路由器进行-次完整的SPF计算过程,也就是需要计算所有节点的SPT (最短路径树)。如果网络故障频繁,SPF计算会影响所有的路由器的性能而对整个网络的稳定性产生冲击。

针对上述情况,增量SPF算法对传统的SPF算法进行了改进。所有节点只是在首次进行完整的SPF计算,计算出并保持好以自己为根的SPT。之后如果网络发生变化,根据情况只需要进行增量SPF算法就行,从而避免了节点重复进行SPF计算而消耗过多的网络资源,具体包括以下几种情况。

图1:SPF计算
在这里插入图片描述
图2:I-SPF计算
在这里插入图片描述

  1. 第一种情况
    图1所示的右边显示了R1在首次进行SPF计算后形成的SPT网络运行过程中如果有拓扑变化,比如向网络中增加或删除一台 新的路由器,网络中的节点只是将这台新的路由器作为叶子节点添加到现有的SPT,只需要很简单的SPF计算(类似距离矢量路由协议一样的计算),而不需要所有节点重新进行一次完整的SPF计算。如图2所
    示,当R7作为新节点接入网络中时,R1不需要重新计算到其他节点的SPT,而只是将R7作为叶子添加到自己的SPT上就行了。

  2. 第二种情况
    有时候链路出现故障会导致节点重新进行SPF计算,但是出现故障的链路如果不在SPT上,那么对节点是没有影响的,比如在图1中,如果R3-R4之间的链路出现故障,由于这条链路不在R1的SPT上,所以R1不需要SPF计算。如果是链路的开销变化,有可能会导致路由器去往其他目标网络的最优路径发生变化,这时需要进行SPF计算。

  3. 第三种情况
    最后一种情况就是当SPT上的路径出现故障后,需要重新计算到"下游节点的路径,那些不受影响的节点是不需要进行SPF计算的,比如在图1的拓扑中,如果R2到R4之间的路径发生故障,那么R2只需要重新计算到R4和R5的最短路径,到其他节点的最短路径不需要重新计算。

2.部分路由技术(PRC):

当网络中增加一条末梢链路( Stub Link),或者网络中的-一个子网网段发生变化,这些情况并未导致整个拓扑的改变,所以网络中的节点不需要进行SPF计算,而只需要像距离矢量路由协议那样,将新的链路对应用的路由及metric信息添加进路由表就行,从而节省了设备的开销,这就是部分路由计算。

部分路由计算的特性起初是在IS-IS 定义的,OSPFv2后来也引入了该特性,但跟IS-IS的部分路由计算特性还是有些区别,本节后面就会介绍。在前文中我们学习到,IS-IS的LSP是基于TLV结构的,不同的信息通过不同的TLV来传递,比如对于一台路由器的邻居和网络前缀信息,分别使用了IS Reachability TLV和IP Reachability TLV来承载和传递。当一台路由器接收到一个只有IP Areachability信息的LSP后,将其中的网络前缀信息作为路由安装进路由表即可,不需要重新计算SPF。

起初因为IS-IS 的部分路由计算特性,而使得IS-IS 协议在单区域中的扩展性比OSPFv2更好,因为OSPF将网络可达性信息和拓扑信息都放在Type-1的LSA中进行传递,而且OSPFv2 LSA不是基于TLV的结构,所以这两种信息无法分开放置和传递。这样的话,网络中不论是节点或链路发生变化,还是增加一条新的末梢链路,OSPFv2 节点都会进行完整的SPF计算。在OSPFv2中,只有LSA3/4/5/7 才会进行部分路由计算。

注意:
IS-IS和OSPF只是在初次路由计算时使用Full SPF之后任何变化都只计算受影响的节点周边拓扑,这就是iSPF (增量SPF); 至于iSPF 树上节点上的叶子路由发生变化,则只需要PRC计算,即只对那片叶子(路由)做计算即可,大大减少CPU的计算负荷。但是,OSPF 在区域内任何路由变化(需要扩散新的LSA1和LSA2) 时都会触发iSPF计算,如果是区域间或外部路由(LSA3/4/5/7) 发生变化只需要进行PRC,而IS-IS 在任何路由变化时都只进行PRC。

3.智能定时器:

在一个不稳定的网络中,网络频繁发生变化时,IS-IS 协议会频繁地产生新的LSP和进行SPF计算,这会消耗设备大量的CPU和内存资源,从而影响到设备的业务转发。智能定时器就是在网络频繁发生变化时,减少对网络的性能和稳定性的冲击,它包括以下两种类型。

一、 LSP智能定时器
LSP的生成存在一个最小间隔的限制,一般缺省最小时间间隔为5s,做了这种限制后,如果在网络发生变化时,因为这个时间的限制,而不能快速扩散新的LSP,将导致收敛速度受到影响;如果网络变化比较频繁时,不断地生成新的LSP又会占用大量的系统资源。LSP 智能定时器就是根据网络的稳定性情况确保LSP的生成间隔趋于合理,同时满足快速收敛和低CPU占用率的要求。使用LSP智能定时器后,路由设备可以对突发事件(如接口Up/Down)快速响应,加快网络的收敛速度。同时,当网络变化频繁时,智能定时器的间隔时间会自动延长,避免过度占用CPU资源。

二、SPF智能定时器
缺省情况下,IS-IS 协议使用固定的SPF计算间隔,这个间隔默认最大值为5s。当网络频繁发生变化时,可以将计算间隔时间调小以加快收敛速度,但这样会使得SPF消耗系统大量的CPU资源;如果将计算间隔调大,又会影响收敛速度。SPF智能定时器能使SPF计算更好地适应网络的需求。

在使用SPF智能定时器后,路由器刚开始进行SPF计算时,两次计算的间隔时间较小,以保证IS-IS路由的收敛速度。之后随着整个IS-IS网络的振荡频率加快,可以适当地延长两次SPF计算的间隔时间,从而减少不必要的资源消耗。

4.LSP的快速扩散:

正常情况下,路由器从一个接口收到一个新的LSP后,会将其拷贝安装进数据库并进行SPF计算,随后再将这个新的LSP从其他IS-IS接口泛洪出去。IS-IS 协议一般是采用周期性的方式泛洪LSP,缺省情况下,接口发送LSP的最小间隔时间是50ms,每次最多发送10个LSP当网络频繁发生变化时,由于要等待计时器到期才能泛洪新的LSP出去,这就拖慢了网络的收敛速度。LSP的快速扩散特性改进了这种方式,当接收到的新的LSP而导致SPF计算时,不需要等到周期时间到期,按规定数目直接将这些LSP泛洪出去,这就加快了链路状态数据库的同步过程,提高了网络的收敛速度。

5.按优先级收敛:

IS-IS按优先级收敛是指在大量路由情况下,能够让某些特定的路由(例如匹配指定IP前缀的路由)优先收敛的一种技术。因此用户可以把和关键业务相关的路由配置成相对较高的优先级,使这些路由更快的收敛,从而使关键的业务收到的影响减小。通过对不同的路由配置不同的收敛优先级,达到重要的路由先收敛的目的,提高网络的可靠性。

整理资料来源:华为hedex文档,《HCIE路由交换学习指南》

这篇关于IS-IS加快收敛特性的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/940865

相关文章

ActiveMQ—消息特性(延迟和定时消息投递)

ActiveMQ消息特性:延迟和定时消息投递(Delay and Schedule Message Delivery) 转自:http://blog.csdn.net/kimmking/article/details/8443872 有时候我们不希望消息马上被broker投递出去,而是想要消息60秒以后发给消费者,或者我们想让消息没隔一定时间投递一次,一共投递指定的次数。。。 类似

PostgreSQL核心功能特性与使用领域及场景分析

PostgreSQL有什么优点? 开源和免费 PostgreSQL是一个开源的数据库管理系统,可以免费使用和修改。这降低了企业的成本,并为开发者提供了一个活跃的社区和丰富的资源。 高度兼容 PostgreSQL支持多种操作系统(如Linux、Windows、macOS等)和编程语言(如C、C++、Java、Python、Ruby等),并提供了多种接口(如JDBC、ODBC、ADO.NET等

详解Tomcat 7的七大新特性和新增功能(1)

http://developer.51cto.com/art/201009/228537.htm http://tomcat.apache.org/tomcat-7.0-doc/index.html  Apache发布首个Tomcat 7版本已经发布了有一段时间了,Tomcat 7引入了许多新功能,并对现有功能进行了增强。很多文章列出了Tomcat 7的新功能,但大多数并没有详细解释它们

如何掌握面向对象编程的四大特性、Lambda 表达式及 I/O 流:全面指南

这里写目录标题 OOP语言的四大特性lambda输入/输出流(I/O流) OOP语言的四大特性 面向对象编程(OOP)是一种编程范式,它通过使用“对象”来组织代码。OOP 的四大特性是封装、继承、多态和抽象。这些特性帮助程序员更好地管理复杂的代码,使程序更易于理解和维护。 类-》实体的抽象类型 实体(属性,行为) -》 ADT(abstract data type) 属性-》成

《C++标准库》读书笔记/第一天(C++新特性(1))

C++11新特性(1) 以auto完成类型自动推导 auto i=42; //以auto声明的变量,其类型会根据其初值被自动推倒出来,因此一定需要一个初始化操作; static auto a=0.19;//可以用额外限定符修饰 vector<string> v;  auto pos=v.begin();//如果类型很长或类型表达式复杂 auto很有用; auto l=[] (int

12C 新特性,MOVE DATAFILE 在线移动 包括system, 附带改名 NID ,cdb_data_files视图坏了

ALTER DATABASE MOVE DATAFILE  可以改名 可以move file,全部一个命令。 resue 可以重用,keep好像不生效!!! system照移动不误-------- SQL> select file_name, status, online_status from dba_data_files where tablespace_name='SYSTEM'

Cmake之3.0版本重要特性及用法实例(十三)

简介: CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏: 多媒体系统工程师系列【原创干货持续更新中……】🚀 优质视频课程:AAOS车载系统+AOSP14系统攻城狮入门视频实战课 🚀 人生格言: 人生从来没有捷径,只有行动才是治疗恐惧

Java8特性:分组、提取字段、去重、过滤、差集、交集

总结下自己使用过的特性 将对象集合根据某个字段分组 //根据id分组Map<String, List<Bean>> newMap = successCf.stream().collect(Collectors.groupingBy(b -> b.getId().trim())); 获取对象集合里面的某个字段的集合 List<Bean> list = new ArrayList<>

【JVM】JVM栈帧中的动态链接 与 Java的面向对象特性--多态

栈帧 每一次方法调用都会有一个对应的栈帧被压入栈(虚拟机栈)中,每一个方法调用结束后,都会有一个栈帧被弹出。 每个栈帧中包括:局部变量表、操作数栈、动态链接、方法返回地址。 JavaGuide:Java内存区域详解(重点) 动态链接 动态链接:指向运行时常量池中该栈帧所属方法的引用。 多态 多态允许不同类的对象对同一消息做出响应,但表现出不同的行为(即方法的多样性)。 多态

HCIA--实验十:路由的递归特性

递归路由的理解 一、实验内容 1.需求/要求: 使用4台路由器,在AR1和AR4上分别配置一个LOOPBACK接口,根据路由的递归特性,写一系列的静态路由实现让1.1.1.1和4.4.4.4的双向通信。 二、实验过程 1.拓扑图: 2.步骤: (下列命令行可以直接复制在ensp) 1.如拓扑图所示,配置各路由器的基本信息: 各接口的ip地址及子网掩码,给AR1和AR4分别配置