当前位置: 首页 > news >正文

ISIS高级特性GR

一、概述

IS-IS GR是一种支持GR能力的高可靠性技术,可以实现数据的不间断转发。与我们之前介绍的OSPF的GR功能几乎一致,但实现方法并不相同。

1、GR

支持GR的ISIS的设备,IIH报文中一定会携带TLV211(GR),TLV211包含的字段

(1)RR:restart request 请求重启,默认是3秒发送1次,发送3次

(2)RA:restart ack 请求确认

(3)SA:抑制发布邻接关系位

(4)holdtime:邻居保持邻接关系不重置的时间

2、GR的三个定时器

为了实现GR,IS-IS引入211号TLV(Restart TLV)和T1、T2、T3三个定时器。

        T1定时器:如果GR Restarter已发送RR置位的IIH报文,但直到T1定时器超时还没有收到GR Helper的包含Restart TLV且RA置位的IIH报文的确认消息时,会重置T1定时器并继续发送包含Restart TLV的IIH报文。当收到确认报文或者T1定时器已超时3次时,取消T1定时器。T1定时器缺省设置为3秒。

        T2定时器:GR Restarter从重启开始到本Level所有设备LSDB完成同步的时间。T2定时器是系统等待各层LSDB同步的最长时间,一般情况下为60秒。

        T3定时器:GR Restarter成功完成GR所允许的最大时间。T3定时器的初始值为65535秒。T3定时器超时表示GR失败。

二、工作原理

 GR的过程(Restarting)

 主备倒换和重启IS-IS进程触发的GR过程称为Restarting,FIB表保持不变。

1、GR Restarter进行协议重启后,GR Restarter进行如下操作:

  • 启动T1、T2和T3定时器。
  • 从所有接口发送包含Restart TLV的IIH报文,其中RR置位,RA和SA位清除。

2、GR Helper收到IIH报文以后,进行如下操作:

  • GR Helper维持邻居关系,刷新当前的Holdtime。
  • 回送一个包含Restart TLV的IIH报文(RR清除,RA置位,Remaining time是从现在到Holdtime超时的时间间隔)。
  • 发送CSNP报文和所有LSP报文给GR Restarter。

3、GR Restarter接收到邻居的IIH回应报文(RR=0、RA=1),做如下处理:

  • 把T3的当前值和报文中Remaining time比较,取其中较小者作为T3的值。
  • 在接口收到确认报文和CSNP报文之后,取消该接口的T1定时器。
  • 如果该接口没有收到确认报文和CSNP报文,T1会不停地重置,重发含Restart TLV的IIH报文。如果T1超时次数超过阈值,GR Restarter强制取消T1定时器,启动正常的IS-IS处理流程。

4、当GR Restarter所有接口上的T1定时器都取消,CSNP列表清空并且收集全所有的LSP报文后,可以认为和所有的邻居都完成了同步,取消T2定时器。

5、T2定时器被取消,表示本Level的LSDB已经同步。

  • 如果是单Level系统,则直接触发SPF计算。
  • 如果是Level-1-2系统,此时判断另一个Level的T2定时器是否也取消。如果两个Level的T2定时器都被取消,那么触发SPF计算,否则等待另一个Level的T2定时器超时。

6、各层的T2定时器都取消后,GR Restarter取消T3定时器,更新FIB表。GR Restarter可以重新生成各层的LSP并泛洪,在同步过程中收到的自己重启前生成的LSP此时也可以被删除。

7、至此,GR Restarter的IS-IS Restarting过程结束。

GR的过程(Starting)

设备重启触发的GR过程称为Starting,进行FIB表更新。

对于Starting设备,因为没有保留FIB表项,所以一方面希望在Starting之前和自己的邻接关系为“Up”的邻居重置和自己的邻接关系,同时希望邻居能在一段时间内抑制和自己的邻接关系的发布。

1、GR Restarter Starting后,进行如下操作:

  • 为每层LSDB的同步启动T2定时器。
  • 从各个接口发送携带Restart TLV的IIH报文,其中RR位清除,SA位置位。

2、邻居收到携带Restart TLV的IIH报文,根据设备是否支持GR,进行如下处理:

  • 支持GR:重新初始化邻接关系。
  • 不支持GR:邻居忽略Restart TLV,重置和GR Restarter之间的邻接关系。

3、邻接关系重新初始化之后,在每个接口上GR Restarter都和邻居重建邻接关系。当有一个邻接关系到达Up状态后,GR Restarter为该接口启动T1定时器。

4、在T1定时器超时之后,GR Restarter发送RR置位、SA置位的IIH报文

5、邻居收到RR置位和SA置位的IIH报文后,发送一个RR清除、RA置位的IIH报文作为确认报文,并发送CSNP报文。

6、GR Restarter收到邻居的IIH确认报文和CSNP报文以后,取消T1定时器。

7、如果没有收到IIH报文或者CSNP报文,就不停重置T1定时器,重发RR置位、SA置位的IIH报文。如果T1超时次数超过阈值,GR Restarter强制取消T1定时器,进入正常的IS-IS处理流程完成LSDB同步。

8、GR Restarter收到Helper端的CSNP以后,开始同步LSDB。

9、本Level的LSDB同步完成后,GR Restarter取消T2定时器。

10、所有的T2定时器都取消以后,启动SPF计算,重新生成LSP,并泛洪。

11、至此,GR Restarter的IS-IS Starting过程完成。

GR的相关实验案例与配置命令将在下章详细介绍,以上就是本章的全部内容了,感谢大家的浏览观看!文章若有错误或疑问可联系博主删除更改,非常欢迎私聊博主讨论。

http://www.dtcms.com/a/298465.html

相关文章:

  • Springboot+activiti启动时报错XMLException: Error reading XML
  • 优思学院|QC七大手法之一的检查表应如何有效使用?
  • 【unitrix】 6.15 “非零非负一“的整数类型(NonZeroNonMinusOne)特质(non_zero_non_minus_one.rs)
  • 亚马逊广告策略:如何平衡大词和长尾词的效果?
  • 倩女幽魂手游代言人杨洋携剑仙入世 仙姿临世锋芒毕露
  • docker-compose:未找到命令的检查步骤和修复
  • ABP VNext + OData:实现可查询的 REST API
  • 服务端处于 TIME_WAIT 状态的 TCP 连接,收到相同四元组的 SYN 后会发生什么?详解
  • HCIP上HCIA复习静态综合实验
  • 移动端设备能部署的llm
  • 系统日志与用户信息绑定实现日志跟踪
  • 前端基础知识Vue系列 - 27(Vue项目中如何解决跨域)
  • 从 SQL Server 到 KingbaseES V9R4C12,一次“无痛”迁移与深度兼容体验实录
  • js基础概念-1
  • 牛客NC16660 [NOIP2004]FBI树(递归 + 二叉树后序遍历)
  • electron中IPC 渲染进程与主进程通信方法解析
  • 常用设计模式系列(十二)—享元模式
  • 如何在 FastAPI 中玩转 GraphQL 和 WebSocket 的实时数据推送魔法?
  • C++中使用Essentia实现STFT/ISTFT
  • git 连接GitHub仓库
  • 强化学习之策略熵坍塌优化-clip conv kv conv
  • 若依搭建详解
  • Android Paging 分页加载库详解与实践
  • 第七章 愿景11 琦琦复盘测试
  • Keepalived 深度技术解析与高可用实践指南
  • C++编程学习(第15天)
  • ServletRegistrationBean相关知识点
  • 用 Docker 一键部署 Flask + Redis 微服务
  • NX848NX854美光固态闪存NX861NX864
  • 截稿倒计时 TrustCom‘25大会即将召开