# IS-IS 协议 | LSP 传输与链路状态数据库同步机制

略作整理,待校。


SRM 和 SSN 标志的作用

SRM 标志

  • 功能:SRM 标志用于跟踪路由器从一个接口向邻居发送链路状态协议数据单元(LSP)的状态。
  • 作用:确保 LSP 的正确传输和状态跟踪。

SSN 标志

广播网络

  • 功能:SSN 标志用于跟踪向邻居请求完整的 LSP 状态。
  • 作用:帮助路由器获取完整的链路状态信息。

点对点网络

  • 功能:SSN 标志用于跟踪对 LSP 的确认状态。
  • 作用:确保 LSP 的传输确认,避免重复发送。

优化与效率

SRM 和 SSN 标志可以帮助路由器以更优化的方式发送 LSP 和部分序列号协议数据单元(PSNP)。其优势包括:

  • 减少带宽和 CPU 的开销。
  • 提高链路状态数据库的同步效率。

LSP 传输与 CSNP 发送间隔

LSP 传输时间间隔

在 IS-IS 协议中,LSP(链路状态报文)的传输时间间隔默认为 50 ms。当邻居路由器资源有限时,若其他路由器向其传递 LSP 后,该路由器无法按时确认,其他路由器会重传 LSP。这可能会进一步加重网络负担。为了避免这种情况,可以适当增大 LSP 的传输间隔,以保护资源受限的邻居路由器。

CSNP 发送间隔

在广播网络中,为确保链路状态数据库的完整性,DIS(指定中间系统)会周期性地发送 CSNP(链路状态数据库摘要报文)。默认情况下,CSNP 的发送间隔为 10 秒。华为 VRP 系统允许通过接口命令 isis timer csnp 修改该默认值。

  • 调整建议
    • 缩短该值有利于网络的快速收敛,但会增加带宽开销。
    • 在网络较为稳定的情况下,适当增大该值可以减少对带宽的占用。

这些计时器提供了一些优化和控制链路状态信息泛洪的方法。一般情况下,不建议修改这些计时器的默认值,除非能够预测相应的结果。如果网络规模较大,可以通过升级路由器来加快收敛速度。此外,在网络规划时,应确保网络的高可用性。


链路状态数据库同步过程

广播网络中的同步过程

在广播网络中,路由器在邻接关系初始化后,会首先泛洪自己的 LSP。L1 的 LSP 发送到组播地址 01-80-C2-00-00-14(L1 IS),而 L2 的 LSP 发送到组播地址 01-80-C2-00-00-15(L2 IS)。其他 L1 或 L2 邻居接收 LSP 后无需确认,因此广播网络中的 LSP 泛洪是不可靠的。

那么,LSP 的始发路由器如何确保所有邻居都接收到自己的 LSP 呢?IS-IS 协议通过 DIS 周期性地发送 CSNP 来保证广播网络中链路状态数据库的同步。

DIS 的作用

DIS 是 IS-IS 协议中用于在广播网络中控制数据库信息泛洪和同步的关键组件。在广播网络中,所有路由器均与 DIS 建立了邻接关系,这意味着 DIS 的数据库包含了其他所有路由器的数据库信息。基于此,DIS 使用一个或多个 CSNP 描述其整个链路状态数据库信息,并周期性地(每隔 10 秒)将其扩散到网络中。

同步机制

其他路由器接收到 DIS 的 CSNP 后,会将其与自己数据库中的内容进行比较。如果发现缺失或较新的 LSP,它们会发送 PSNP(部分序列号报文)来请求相应的 LSP。网络中的 DIS 或拥有该 LSP 的邻居路由器收到请求后,会回应相应的 LSP。

在广播链路上,发送 LSP 之前会在接口上设置一个 SRM(发送请求标志),待 LSP 发送完成后,该标志会立即清除。如果路由器发现自己的 LSP 在 DIS 的 CSNP 中缺失,或者自己的 LSP 更新,则会主动将该 LSP 泛洪出去。通过上述过程,确保了广播网络中所有路由器的数据库保持一致。

带宽与效率

虽然 DIS 周期性泛洪 CSNP 会带来一定的带宽开销,但这种方法相对简单,避免了对每条接收的 LSP 进行确认的复杂性。

广播网络链路状态信息的同步过程示例

下图展示了广播网络中链路状态信息同步的完整过程。

在这里插入图片描述
广播网络链路状态信息的同步过程如下:

  • R3 发送 LSP:R3 与 R1 和 R2 建立邻居关系后,它将自己的链路状态报文(LSP)R3.00-00 发送到组播地址。这样,R1 和 R2 都将收到该 LSP。

  • R2(DIS)处理 LSP:作为指定中间系统(DIS),R2 收到 R3 的 LSP 后,将其加入到链路状态数据库(LSDB)中。

  • R2 发送 CSNP:R2 等待 CSNP 报文定时器超时(DIS 每隔 10 秒发送一次 CSNP 报文),然后发送 CSNP 报文,以同步该网络内的 LSDB。

  • R3 请求缺失的 LSP:R3 收到 DIS 发来的 CSNP 报文,该报文描述了网络中所有路由器的 LSP(R1 00-00、R2 00-00、R2 01-00 和 R3 00-00)。R3 将自己的 LSDB 与 CSNP 报文中的信息进行比较,发现自己缺少 R1 和 R2 的 LSP。于是,R3 向 DIS 发送 PSNP 报文,请求这些缺失的 LSP。

  • DIS 响应 PSNP 请求:DIS(R2)收到 R3 的 PSNP 报文请求后,向 R3 发送对应的 LSP。

R3 DIS R1 组播 LSP ( R3.00-00 ) 组播 LSP ( R3.00-00 ) 加入 LSP 到 LSDB 每隔 10 秒发送一次CSNP CSNP ( LSDB摘要,包括 R1、R2、R3 的 LSP ) CSNP ( LSDB摘要,包括 R1、R2、R3 的 LSP ) PSNP 请求缺失 LSP ( R1.00-00、R2.00-00、R2.01-00 ) LSP ( R1.00-00 ) LSP ( R2.00-00 ) LSP ( R2.01-00 ) R3 DIS R1

通过这一过程,确保了广播网络中所有路由器的数据库都是一致的,从而实现了链路状态信息的有效同步。


点对点(P2P)网络中的同步过程

与广播网络不同,IS-IS 协议在 P2P 网络中的数据库同步过程中,接收到邻居的 LSP 后需要给予确认(采用可靠方式)。因为在 P2P 链路上,每台路由器只有一个邻居,确认过程不会带来过多的资源开销。

同步机制

在 P2P 网络中,当两台路由器建立邻接关系后,会首先交换 CSNP。与前文所述类似,路由器通过比较接收到的 CSNP 内容,确定本地数据库中缺失的 LSP,并根据 LSP 的新旧比较规则,比较自身数据库和邻居数据库中的 LSP。

对于缺少或过时的 LSP,路由器会发送 PSNP 进行请求,并在收到邻居回应的 LSP 后使用 PSNP 进行确认。如果路由器发现邻居路由器缺失或拥有更旧的 LSP,它会主动将 LSP 发送给邻居。

如果发送的 LSP 未得到邻居的 PSNP 确认,且重传间隔时间超时,路由器会重传先前的 LSP,直至收到邻居的 PSNP 确认为止。

标志的作用

在 P2P 链路上,接收到 LSP 后,接口上会设置一个 SSN(序列号通知)标志,表示需要向该接口发送 PSNP 确认。收到确认后,SSN 标志将被清除。同时,如果需要将 LSP 拷贝从一个接口发送出去,也会在该接口上设置 SRM 标志,发送完成后标志将立即清除。

P2P 网络链路状态信息的同步过程示例

图展示了 P2P 网络中的同步过程。

在这里插入图片描述
如图所示,R2 与 R1、R3 通过点对点链路建立连接,以 R1 先发送自己的 CSNP 为例,同步过程如下:

  • R2 收到 R1 的 CSNP(描述了一条 LSP:R1.00-00)后,发送 PSNP 进行请求。
  • R1 收到请求后,将相应的 LSP 拷贝发送到网络中。
  • R2 收到请求的 LSP 后,将其拷贝存入数据库中,并在接口 2 设置 SSN 标志,在接口 3 设置 SRM 标志。
  • R2 向 R3 转发该 LSP 的拷贝,并向 R1 发送 PSNP 进行确认。
  • R2 清除接口 2 上的 SSN 标志。
  • R3 从 R2 收到该 LSP 后,存入数据库中,并在接口 4 上设置 SSN 标志。
  • R3 向 R2 发送 PSNP 确认,并清除接口 4 上的 SSN 标志。
  • R2 收到 R3 的 PSNP 确认后,清除接口 3 上的 SRM 标志。
R1 R2 R3 CSNP (R1.00-00) PSNP <Request> (R1.00-00) LSP (R1.00-00) 存储 LSP 到数据库 (设置 SSN 标志接口 2, 设置 SRM 标志接口 3) LSP 转发 (R1.00-00) PSNP <Ack> (R1.00-00) 清除接口 2 上的 SSN 标志 存储 LSP 到数据库 (设置 SSN 标志接口 4) PSNP <Ack> (R1.00-00) 清除接口 4 上的 SSN 标志 清除接口 3 上的 SRM 标志 R1 R2 R3

  • CSNP 中的 LSP:作为 IS-IS 协议中 LSDB 的“索引目录”,由 DIS 周期性发送,仅包含 LSP 的关键状态字段,用于邻居间快速比对数据库差异,无需可靠传输机制。
  • LSDB 中的 LSP:作为链路状态数据库的实体内容,包含全网拓扑细节,通过泛洪机制在网络中传播,依赖 PSNP 确认和重传机制保证完整性,是路由计算的核心数据。
CSNP 中的 LSP 描述(索引信息)LSDB 中的 LSP(完整链路状态报文)
内容详细程度仅包含 LSP 标识符(LSP ID)、序列号(Seq)、校验和(Checksum)等状态字段,无拓扑细节包含完整链路状态信息,如邻居关系、链路开销(Cost)、接口状态、IP 地址等拓扑数据
作用作为数据库摘要,供邻居路由器比对本地 LSDB,识别需要更新、删除或请求的 LSP存储全网链路状态实体,为 SPF 算法计算路由提供基础数据
数据大小较小(仅索引字段),通常为几十到几百字节较大(包含完整拓扑),根据网络规模可达数千字节
发送频率由 DIS 周期性发送(IS-IS 协议默认周期为 10 秒),邻居关系建立后 DIS 会立即开始发送 CSNP 以实现数据库同步。触发式泛洪(如链路状态变化时),或响应邻居 PSNP 请求时发送
确认机制无需确认,仅用于数据库状态同步通知通过 PSNP(部分序列号分组)请求缺失 LSP,并通过虚拟重传队列(VRQ)确保可靠传输
是否包含拓扑细节不包含,仅为 LSP 的“目录索引”完整包含网络拓扑结构、链路属性等细节
作用对象向邻居路由器提供本地 LSDB 的索引快照,用于数据库同步供本地路由计算(SPF 算法)及邻居路由器构建完整 LSDB

via: HCIE

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/87898.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/87898.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows DOS CMD 100

1. systeminfo&#xff1a;显示系统详细信息&#xff08;安装日期/补丁/内存等&#xff09; 2. sfc /scannow&#xff1a;扫描并修复系统文件损坏 [管理员] 3. chkdsk /f&#xff1a;检查磁盘错误并修复&#xff08;需重启&#xff09; [管理员] 4. cleanmgr&#xff1a;启动…

HTML初学者第三天

<1>文档类型声明标签——<!DOCTYPE><!DOCTYPE>文档声明&#xff0c;作用是告诉浏览器使用哪种HTML版本来显示网页。<!DOCTYPE html>这句代码的意思是&#xff1a;当前页面采用的是HTML5版本来显示网页。注意&#xff1a;-<!DOCTYPE>声明位于文档…

学车笔记6

“不踩离合利用发动机制动”是指在驾驶过程中&#xff0c;驾驶员抬起油门踏板&#xff0c;但不踩下离合器踏板&#xff0c;利用发动机自身的阻力来减缓车辆速度的一种制动方式。具体介绍如下&#xff1a; #### 原理 - **动力传递反向**&#xff1a;正常情况下&#xff0c;发动…

人体坐姿检测系统项目教程(YOLO11+PyTorch+可视化)

&#x1f4a1;本文主要内容&#xff1a;本项目基于YOLO11深度学习目标检测算法&#xff0c;设计并实现了一个人体坐姿检测系统。系统能够自动识别图像或视频中的多种坐姿类型&#xff08;如&#xff1a;正常坐姿、不良坐姿等&#xff09;&#xff0c;为健康监测、智能教室、办公…

服务网格可观测性深度实践与创新优化

主题&#xff1a;突破服务网格监控瓶颈——基于eBPF的无侵入式全链路可观测性实践 技术领域&#xff1a;云原生/微服务/服务网格&#xff08;Service Mesh&#xff09; 一、问题背景&#xff1a;传统服务网格监控的痛点 在Istio、Linkerd等服务网格架构中&#xff0c;可观测…

微信小程序41~50

1.列表渲染-进阶用法 如果要对默认的变量名和下标进行修改&#xff0c;可以使用wx:for-item和wx:for-index wx:for-item可以指定数组当前元素的变量名 wx:for-index可以指定数组当前下标的变量名将wx:for用在标签上&#xff0c;以渲染一个包含多个节点的结构快 并不是一个组件…

向量数据库-Milvus快速入门

Milvus 概述 向量是神经网络模型的输出数据格式&#xff0c;可以有效地对信息进行编码&#xff0c;在知识库、语义搜索、检索增强生成&#xff08;RAG&#xff09;等人工智能应用中发挥着举足轻重的作用。 Milvus 是一个开源的向量数据库&#xff0c;适合各种规模的人…

uniapp的光标跟随和打字机效果

1、准备好容器文字的显示textRef&#xff0c;以及光标的显示 &#xff0c;使用transform-translate对光标进行移动到文字后面<template><view class"container" ref"contentRef"><u-parse :content"nodeText" ref"textRef&q…

「ECG信号处理——(21)基于Pan-Tompkins和随机森林(RF)的睡眠呼吸暂停检测算法」2025年7月4日

目录 1、引言 2、数据库介绍&#xff08;Apnea-ECG Database) 3、基于Pan-Tompkins和随机森林&#xff08;RF&#xff09;的睡眠呼吸暂停检测算法 3.1 算法概述 3.2 心电信号预处理及QRS波检测算法 3.3 心电信号的随机森林睡眠呼吸暂停识别 4、实验结果 4.1 心电信号预处理及QR…

C++学习之STL学习:list的模拟实现

在上一篇学习了list的使用后&#xff0c;在本篇我们将通过模拟实现的方式深入了解list的底层运作原理。 作者的个人gitee&#xff1a;楼田莉子 (riko-lou-tian) - Gitee.com 感兴趣的读者可以看一看 目录 前置准备 结点的定义 链表类的定义 迭代器 普通迭代器 const迭代器 …

不引入变量 异或交换的缺点

文章目录选择排序正确代码交换两个数位置的方法引入中间变量不引入中间变量&#xff0c;使用异或的方法错误原因优化代码选择排序正确代码 // 数组中交换i和j位置的数public static void swap(int[] arr, int i, int j) {int tmp arr[i];arr[i] arr[j];arr[j] tmp;}// 选择排…

VS Code中使用Git的方法:环境配置与Git操作

本文介绍在Windows电脑的VS Code中&#xff0c;配置Git环境并使用Git命令、功能的方法。 1 环境部署 首先&#xff0c;我们需要分别安装Git环境与VS Code软件。这里需要注意&#xff0c;即使是在VS Code中使用Git&#xff0c;也需要我们首先在电脑上单独配置好Git的环境&#…

在 Windows 上安装和运行 Apache Kafka

Apache Kafka是一款开源应用程序&#xff0c;用于实时处理海量数据流。Apache Kafka 是一个发布-订阅消息系统。消息系统允许您在进程、应用程序和服务器之间发送消息。广义上讲&#xff0c;Apache Kafka 是一款可以定义主题并进行进一步处理的软件。 下载和安装 Apache Kafk…

【嵌入式电机控制#8】编码器测速实战

一、编码器测速重要参数有刷电机编码器参数&#xff08;其他的后面会慢慢提及&#xff0c;也可以在某宝看&#xff09;1. 编码器分辨率&#xff08;PPR&#xff09;2. 编码器工作电压 3. 电机减速比 例如 30&#xff1a;1 指的就是电机减速轴转1圈&#xff0c;编码器转30圈。注…

在C#中,可以不实例化一个类而直接调用其静态字段

这是因为静态成员&#xff08;static members&#xff09;属于类本身&#xff0c;而不是类的实例。这是静态成员的核心特性1. 静态成员属于类&#xff0c;而非实例当用static关键字修饰字段、方法或属性时&#xff0c;这些成员会绑定到类级别&#xff0c;而不是实例级别。它们在…

Win11 安装 Visual Studio(保姆教程 - 更新至2025.07)

Visual Studio 安装&#xff08;保姆教程 - 更新至2025.07&#xff09; 前言安装须知安装过程1. 下载安装包2. 安装3. 注册4. 创建桌面快捷方式 前言 本教程针对 非计算机相关专业的小白用户 &#xff0c;手把手教你如何基于 win11 操作系统 安装 Visual Studio 2022。安装搭载…

工商银行杭州软开校招面经分享

近年来,央国企成为了很多求职者的首选,无论是校招还是社招。不过,在选择央国企的时候,还是尽量要选择垄断性或者盈利多的。 昨天看到一份 2024 年中国企业 500 强榜单中提到的最赚钱的十家央国企的名单,给大家分享一下。 排名企业名称成立时间主要业务描述2024年营收(万…

李宏毅genai笔记:推理

0 思考越多效果越好 可以把算力投入在training的时候&#xff0c;也可以投入在testing上面 连起来的线表示表现是差不多的&#xff0c;越高分&#xff08;越右上方&#xff09;越好 同样-1000分&#xff0c;可以训练时候用力较少&#xff0c;test的时候多用点算力 但是training…

使用SSH隧道连接远程主机

概述 SSH(Secure Shell 的缩写)是一种网络协议,通过使用身份验证机制,是两台计算机进行加密通信。 SSH 主要用途是登录服务器,还可以作为加密通信的中介,充当两台服务器之间的通信加密跳板,这个功能称为端口转发(port forwarding),又称 SSH 隧道(tunnel)。 端口…

数据结构---链表理解(二)

文章目录 二、链表2.1 链表初始化2.2 单链表2.2.1 单链表---头插法2.2.2 单链表---单链表遍历2.2.3 单链表---尾插法2.2.4 单链表---在指定位置插入数据2.2.5 单链表---删除指定位置节点2.2.6 单链表---获取链表长度2.2.7 单链表---释放链表 二、链表 暂时到这一步你就理解为&a…