首页 > 其他分享 >04、NSR原理描述

04、NSR原理描述

时间:2024-04-15 17:25:06浏览次数:23  
标签:备用 04 备份 NSF NSR 主用 主控板 描述

NSR原理描述

介绍NSR的实现原理。 

相关概念

  • HA(High Availability):高可靠性/高实用性的简称,这里指主备板间的备份通道。
  • NSF(Non-Stop Forwarding):不间断转发。
  • NSR(Non-Stop Routing):不间断路由,是一种在系统控制平面发生故障且存在备用控制平面的场景下邻居控制平面不感知的技术。
  • AMB(Active Main Board)和SMB(Slave Main Board):主用主控板和备用主控板,单板上承载控制平面进程。
  • LPU(Line Interface Process Unit):接口板,单板上承载转发控制进程。

    设备上NSR功能缺省使能,无需配置。

NSF与NSR区别

NSF与NSR的区别如表1所示。

表1 NSF(GR)与NSR区别

特性

优点

缺点

NSF(GR)

当系统正常运行时,NSF对系统的负荷较小,系统性能较高。

NSF的部署需要邻居节点同样支持,且需要部署在整网中。因此,网络中各设备的协作较为复杂。

当多节点的控制平面均故障时,NSF将失效。

当故障恢复时,需要花费较长时间恢复数据,且网络拓扑的恢复也相对缓慢。

网络拓扑的变化也可能导致NSF失效。

NSR

NSR通过自包含技术使邻居节点无需感知路由信息变化,同时也无需邻居节点支持NSR。

当多个节点的控制平面同时故障时,系统运行情况在可控范围内。

当故障恢复时,需要较短时间恢复数据,且在主备主控板的切换过程中,网络拓扑能够相应恢复。

当系统正常运行时,NSR对系统的负荷较大,系统性能相对较低。

软件异常时NSR将失效。

NSR原理

图1所示,NSR原理主要包括以下三个过程:
  1. 批量备份:当备用主控板启动后,NSR功能将使能。此时,主用主控板将路由信息和转发信息批量备份到备用主控板上。批量备份过程在实时备份过程之前进行,此时NSR无法实施主备倒换过程。
  2. 实时备份:当批量备份过程结束后,系统进入实时备份阶段。任何在控制平面和转发平面的改变都将实时从主用主控板备份到备用主控板上。在该阶段,备用主控板能够随时代替主用主控板工作。
  3. 主备倒换:在已经完成备份的NSR系统主用主控板发生故障时,备用主控板会通过硬件状态感知到主用主控板故障,并成为新的主用主控板。备用主控板升主后,该单板会切换接口板的报文上送通道。由于倒换时间足够短,路由协议在主备切换的过程中不会和邻居节点断连。
图1 NSR主备倒换示意图

NSR倒换详细过程如下所示。

  • NSR批量备份过程

    图2 NSR批量备份过程

    实现过程:

    备用主控板启动后,主用主控板上的业务进程会收到备用主控板上线的消息。业务进程开始进行内部数据的批量备份。

    • 批量数据备份完毕后,系统进入冗余保护状态。进入该状态后,如果主控板出现故障,备板升主后就可以利用之前从主板备份过来的数据进行升主,恢复业务。

    • 如果业务批量备份尚未结束时,主控板故障,备板升主后可能会因为业务数据不全而导致无法升主,因此这个种状态下无法完成NSR倒换,设备会整机重启,恢复故障前状态。

  • NSR实时备份过程

    图3 NSR实时备份过程

    实现过程:

    完成批量备份后,系统进入实时备份阶段,在该阶段当邻居状态或路由信息发生时,主用主控板会实时将变化信息备份到备用主控板。

  • NSR倒换升主过程

    图4 NSR倒换升主过程

    实现过程:

    完成批量备份,进入冗余保护状态的系统,当主用主控板发生软件或硬件故障后,备用主控板会从底层应该感知到主用主控板的故障,并自行升主。升主后业务进程会使用之前从主用主控板备份来的数据进行工作。同时也会向接口板平滑倒换期间变化的信息。实现真正的路由不中断,转发不中断。

标签:备用,04,备份,NSF,NSR,主用,主控板,描述
From: https://www.cnblogs.com/laixufei/p/18136506

相关文章

  • 2024-4-15 rpm与yum安装及管理程序 162004
    rpm与yum安装及管理程序目录rpm与yum安装及管理程序一、Linux应用程序基础1.1、应用程序与系统命令的关系1.2、典型应用程序的目录结构1.3、常见的软件包封装类型二、RPM包管理工具2.1一般命名格式2.2rpm命令的格式2.3安装卸载升级三.yum3.1基本格式3.2安装本地yum仓库四:编译......
  • 04、IS-IS路由渗透
    IS-IS路由渗透通常情况下,Level-1区域内的路由通过Level-1路由器进行管理。所有的Level-2和Level-1-2路由器构成一个连续的骨干区域。Level-1区域必须且只能与骨干区域相连,不同的Level-1区域之间并不相连。Level-1-2路由器将学习到的Level-1路由信息装进Level-2LSP,再泛洪LSP给......
  • 04流程控制 for循环,while循环
    for循环for((初始值;循环控制条件;变量变化))do程序done或for变量in值1,值2,值3...do程序done#!/bin/bashs=0for((i=1;i<=100;i++))dos=$[$s+$i]doneecho$s 执行结果: 例子:打印所有参数#!/bin/bashforiin$*doecho"bangzhang......
  • P5094 [USACO04OPEN] MooFest G 加强版
    原题链接题解\(O(n^2)\)不可能,所以考虑线性,将奶牛按下标排序,顺序遍历,对于\(i\)而言,它的贡献等于\(\sum_{j\lti\,\v[j]\leqslantv[i]}{dis(i,j)·v[i]}\),等于\(v[i]·((\sum_{j\lti\,\v[j]\leqslantv[i]}{1})·x[i]-\sum_{j\lti\,\v[j]\leqslantv[i]}{x[j]})\)......
  • Ubuntu20.04开机黑屏左上角光标闪烁,以及移除Nvidia驱动后造成的无法启动docker容器问
      这几天系统更新,显卡驱动由525.147.05升级到了535.171.04(tested),终端运行watch-n1nvidia-smi实时显示显卡占用情况时,偶尔出现FailedtoinitializeNVML:Driver/libraryversionmismatch问题,于是将驱动切换成openkernal版本,重启后黑屏左上角光标闪烁,于是尝试使用命令......
  • day04_我的Java学习笔记 (数组的静态初始化、数组的动态初始化,debug调试等)
    1.数组1.1数组的定义那python怎么定义数组的呢?Java:String[]names={"zhangsan","lisi","wangwu"}Python:names=["zhangsan","lisi","wangwu"]在python中,列表可以存储不同类型的数据,而在Java中,数组只能存储相同类型的数据。1......
  • 函数式编程思想 VS 可变性理论 20240415
    函数式编程(FunctionalProgramming,FP)是一种编程范式,它将计算视为数学函数的求值,并避免使用程序状态以及易变对象。函数式编程的核心思想包括:不可变性(Immutability):在函数式编程中,数据是不变的。一旦创建了一个数据结构,就不能再改变它。所有的操作都会产生新的数据结构。纯......
  • 【2024-04-13】连岳摘抄
    23:59重要的不是你在某方面有多大的信心,而是在困难面前仍然保持信心。                                                 ——卡罗尔·德韦克一个人,无论是男人还是女......
  • 【2024-04-12】参考不变
    20:00人生幸福与否并不是完全取决于所遭遇的事情本身是好还是坏,而是取决于我们对这些遭遇的感受。                                                 ——叔本华我感觉......
  • Rust 04
    ///https://kaisery.github.io/trpl-zh-cn/ch03-05-control-flow.html///控制流fnmain(){println!("Hello,world!");letnumber=3;println!("Firstnumberis{number}");letnumber=7;ifnumber<5{println!(......