计算机网络-IS-IS链路状态数据库同步

在建立IS-IS邻接关系之后,路由器开始发送LSP报文进行链路状态数据库进行同步。

一、链路状态数据库同步

LSP( Link State PDU,链路状态报文) 用于交换链路状态信息。LSP分为两种:Level–1 LSP和Level–2 LSP。Level–1 LSP由Level-1路由器传送,Level–2 LSP由Level-2路由器传送,Level-1-2路由器则可传送以上两种LSP。两类LSP有相同的报文格式。

报文格式: LSP报文

  • Remaining Lifetime : LSP的生存时间,以秒为单位。
  • LSP ID:由三部分组成,System ID、伪节点ID和LSP分片后的编号。
  • Sequence Number: LSP的序列号。在路由器启动时所发送的第一个LSP报文中的序列号为1,以后当需要生成新的LSP时,新LSP的序列号在前一个LSP序列号的基础上加1。更高的序列号意味着更新的LSP。
  • Checksum : LSP的校验和。
  • ATT(Attachment):由Level-1-2路由器产生,用来指明始发路由器是否与其它区域相连。虽然此标志位也存在于Level-1和Level-2的LSP中,但实际上此字段只和Level-1-2路由器始发的L1 LSP有关。
  • OL(LSDB Overload,1bit):过载标志位。设置了过载标志位的LSP虽然还会在网络中扩散,但是在计算通过超载路由器的路由时不会被采用。即对路由器设置过载位后,其它路由器在进行SPF计算时不会考虑这台路由器。当路由器内存不足时,系统自动在发送的LSP报文中设置过载标志位。
  • IS Type(2bit):生成LSP的路由器的类型。用来指明是Level-1还是Level-2路由器(01表示Level-1,11表示Level-2)。

LSDB:链路状态数据库:

LSDB
LSDB
自身产生的LSP
自身产生的LSP
  • *表示自身生成的LSP.
  • 伪节点ID:当该参数不为零时,表示该LSP为伪节点生成。用于描述区域内IS信息。
  • 分片号:当IS-IS要发布的链路状态协议数据报文PDU(Protocol Data Unit)中的信息量太大时,IS-IS路由器将会生成多个LSP分片,用来携带更多的IS-IS信息。分片号用来区分不同的LSP分片。
# 因为AR1是L1的路由器只能看到L1的LSDB,如果是L1-2路由器会有两个级别的LSDB信息
<AR1>dis isis lsdbDatabase information for ISIS(1)--------------------------------Level-1 Link State DatabaseLSPID                 Seq Num      Checksum      Holdtime      Length  ATT/P/OL
-------------------------------------------------------------------------------
0010.0100.1001.00-00* 0x00000005   0xcf76        688           97      0/0/0   
0010.0100.1001.01-00* 0x00000002   0xcf38        688           55      0/0/0   
0010.0100.1001.02-00* 0x00000002   0x31b3        688           55      0/0/0   
0020.0200.2002.00-00  0x00000008   0xc8f0        706           86      1/0/0   
0030.0300.3003.00-00  0x00000007   0x27b         654           86      1/0/0   Total LSP(s): 5*(In TLV)-Leaking Route, *(By LSPID)-Self LSP, +-Self LSP(Extended), ATT-Attached, P-Partition, OL-Overload

可以查看LSP的详细信息:

# 查看非伪节点00的LSP
<AR1>dis isis lsdb 0010.0100.1001.00-00 verbose Database information for ISIS(1)--------------------------------Level-1 Link State DatabaseLSPID                 Seq Num      Checksum      Holdtime      Length  ATT/P/OL
-------------------------------------------------------------------------------
0010.0100.1001.00-00* 0x00000006   0xcd77        1126          97      0/0/0   SOURCE       0010.0100.1001.00NLPID        IPV4AREA ADDR    49.0001 INTF ADDR    12.1.1.1INTF ADDR    13.1.1.1NBR  ID      0010.0100.1001.02  COST: 10        NBR  ID      0010.0100.1001.01  COST: 10        IP-Internal  12.1.1.0        255.255.255.0    COST: 10        IP-Internal  13.1.1.0        255.255.255.0    COST: 10        Total LSP(s): 1*(In TLV)-Leaking Route, *(By LSPID)-Self LSP, +-Self LSP(Extended), ATT-Attached, P-Partition, OL-Overload
  • AREA ADDR:该LSP来源的区域号INTF
  • ADDR:该LSP中描述的接口地址
  • NBR ID:该LSP中描述的邻接信息
  • IP-Internal:该LSP中描述的网段信息

在伪节点LSP中,只包含邻接信息而不包含路由信息。

<AR1>dis isis lsdb 0010.0100.1001.01-00 verboseDatabase information for ISIS(1)--------------------------------Level-1 Link State DatabaseLSPID                 Seq Num      Checksum      Holdtime      Length  ATT/P/OL
-------------------------------------------------------------------------------
0010.0100.1001.01-00* 0x00000003   0xcd39        1011          55      0/0/0   SOURCE       0010.0100.1001.01NLPID        IPV4NBR  ID      0010.0100.1001.00  COST: 0         NBR  ID      0020.0200.2002.00  COST: 0         Total LSP(s): 1*(In TLV)-Leaking Route, *(By LSPID)-Self LSP, +-Self LSP(Extended), ATT-Attached, P-Partition, OL-Overload

查询命令:

# 查询DIS
dis isis interface# 查询lsdb信息
dis isis lsdb# 查询详细数据库信息
dis isis lsdb verbose# 查询isis邻接关系
dis isis peer# 查询isis路由
dis isis route# 查询isis概述,进程,接口开销,链路类型等信息
dis isis brief

简单说就是AR1产生了3条LSP,伪节点标识00是AR1产生的,里面包含了邻接关系和路由,伪节点标识01和02是DIS产生的,里面只有邻接关系而没有路由信息。以及AR2和AR3的L1的LSP,在LSDB上还能看到ATT/P/OL的置位信息。

1.1 CSNP

CSNP包含该设备LSDB中所有的LSP摘要,路由器通过交互 CSNP来判断是否需要同步LSDB。

  • 在广播网络上,CSNP由DIS定期发送(缺省的发送周期为10秒)。
  • 在点到点网络上,CSNP只在第一次建立邻接关系时发送。
CSNP报文
CSNP报文

1.2 PSNP

PSNP只包含部分LSP的摘要信息(与CSNP不同,类型LSR,请求没有的LSR):

当发现LSDB不同步时,PSNP来请求邻居发送新的LSP。

在点到的网络中,当收到LSP时,使用PSNP对收到的LSP进行确认。(LSACK)

PSNP报文
PSNP报文

1.3 广播网络LSP同步过程

LSP同步
LSP同步
  1. 新加入的路由器R3首先发送IIH报文,与该广播域中的路由器建立邻接关系。建立邻接关系之后,R3等待LSP刷新定时器超时,然后将自己的LSP发往组播地址(Level-1:01-80-C2-00-00-14;Level-2:01-80-C2-00-00-15)。这样网络上所有的邻接都将收到该LSP。
  2. 该网段中的DIS会把收到R3的LSP加入到LSDB中,并等待CSNP报文定时器超时并发送CSNP报文。
  3. R3收到DIS发来的CSNP报文,对比自己的LSDB数据库,然后向DIS发送PSNP报文请求自己没有的LSP。
  4. DIS收到该PSNP报文请求后向R3发送对应的LSP进行LSDB的同步。

简单如下:

  • DIS同步更新邻接关系和维护LSDB,每10S发送CSNP(全量数据库信息)
  • 新加入邻居对比本地的LSDB,发现缺少的LSP,发送PSNP(缺少的部分LSP)

1.4 点到点网络LSP同步

P2P同步
P2P同步

简单就是建立邻接关系时发送CSNP,如果不全则请求PSNP。

LSP处理机制:

LSP处理机制
LSP处理机制

IS-IS通过交互LSP实现链路状态数据库同步,路由器收到LSP后,按照以下原则处理:

若收到的LSP比本地LSP的更优,或者本地没有收到的LSP:

  • 在广播网络中:将其加入数据库,并组播发送新的LSP。
  • 在点到点网络中:将其加入数据库,并发送PSNP报文来确认收到此LSP,之后将这新的LSP发送给除了发送该LSP的邻居以外的邻居。

若收到的LSP和本地LSP无法比较出优劣,则不处理该LSP。

简单说就是根据序列号判断新旧,序列号大的优先,如果相同则不处理更新。

总结:IS-IS路由器建立邻接关系后通过LSP( Link State PDU,链路状态报文) 交换链路状态信息。在广播网络中由DIS伪节点每10S发送全量CSNP,如果IS-IS路由器本地没有对应的LSP则发送PSNP请求更新。LSP的处理机制:根据序列号判断新旧,序列号大的优先,如果相同则不处理更新。

本文由 mdnice 多平台发布

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

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

相关文章

一文学会Amazon transit GateWay

这是一个中转网关&#xff0c;使用时候需要在需要打通的VPC内创建一个挂载点&#xff0c;TGW会管理一张路由表来决定流量的转发到对应的挂载点上。本质上是EC2的请求路由到TGW&#xff0c;然后在查询TGW的路由表来再来决定下一跳&#xff0c;所以需要同时修改VPC 内子网的路由表…

力扣刷题学习python(跟随视频学着刷)

使用入门 视频链接 【手把手带你刷Leetcode力扣&#xff5c;各个击破数据结构和算法&#xff5c;大厂面试必备技能【已完结】-哔哩哔哩】 https://b23.tv/vIcRT61 时空复杂度 时间&#xff1a; 空间&#xff1a;主要有O(1)和O(n)两种 数组 特点&#xff1a;适合读多写少 操作…

阿赵UE学习笔记——29、Niagara制作火焰效果

阿赵UE学习笔记目录 大家好&#xff0c;我是阿赵。   继续学习虚幻引擎&#xff0c;之前简单介绍了Niagara粒子系统&#xff0c;这次用Niagara系统做一个火焰的效果。 一、创建发射器 和之前介绍的一样&#xff0c;先创建一个空白的发射器&#xff1a; 我把这个发射器命名为…

货代是什么?如何选择靠谱的FBA头程货代公司?

在全球化的浪潮中&#xff0c;跨境电商业务如雨后春笋般蓬勃发展&#xff0c;货代公司作为连接卖家与市场的关键桥梁&#xff0c;其重要性也愈发凸显。货代公司不仅提供从起始地到目的地的货物运输服务&#xff0c;还在复杂的物流流程中发挥着不可或缺的作用。特别是在亚马逊等…

报错The chromedriver version cannot be discovered以及下载chromedriver.exe和查看其版本的命令

python3.8.10&#xff0c;win10。 谷歌浏览器版本&#xff08;我写代码的时候还是123.0.x.x&#xff0c;没几天就自动更新到124.0.x.x了&#xff09;&#xff1a; 在使用selenium的时候&#xff0c;出现报错&#xff0c;The chromedriver version cannot be discovered。 &am…

面试宝典(1)——数据库篇(MySQL)

面试宝典&#xff08;1&#xff09;——数据库篇&#xff08;MySQL&#xff09; 1.什么是索引&#xff1f; 索引是一种用于加快数据库查询速度的数据结构。 索引可以帮助数据库快速定位到数据库表中特定列的记录&#xff0c;从而加快数据检索和查询的速度。 通过在表的列上…

基于51单片机的宠物自动喂食语音播报,有实物

1. 51仿真&#xff1a; LCD第一屏显示食物重量&#xff0c;当前时间&#xff0c;温湿度。第二屏显示喂食时间&#xff0c;第三屏显示喂食重量。可通过点击查看喂食时间翻转屏幕显示。 点击查看喂食时间后&#xff0c;显示喂食时间&#xff0c;可以设置三个时间&#xff0c;再点…

【Flume】简介、安装和入门案例(一)

Flume 简介 概述 Flume本身是由Cloudera公司开发的后来贡献给了Apache的一套针对日志数据进行收集(collecting)、汇聚(aggregating)和传输(moving)的机制 Flume本身提供了简单且灵活的结构来完成日志数据的传输 Flume有两大版本&#xff1a; Flume0.X&#xff1a;又称之为…

HTML 如何实现一个带间隙的圆环

实际效果&#xff1a; ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/5e634cedded9424d96fbe6d46f34f61a.png#pic_center 代码实现&#xff1a; HTML部分&#xff1a; <svg width"500" height"500" viewBox"0 0 100 100">&…

《精准表达》让你的方案在最短的时间内打动人心 - 三余书屋 3ysw.net

精准表达&#xff1a;让你的方案在最短的时间内打动人心 大家好&#xff0c;今天我们要解读的书名为《精准表达》&#xff0c;其副标题是“让你的方案在最短的时间内打动人心”。在工作中&#xff0c;人们经常需要提交各种方案&#xff0c;例如销售人员向大客户介绍公司产品时…

idea显示maven或者gradle无法从仓库获取到项目中的jar包,jar包所在仓库无法访问解决方法,百试百灵

**idea显示maven或者gradle无法从仓库获取到项目中的jar包&#xff0c;jar包所在仓库无法访问解决方法&#xff0c;百试百灵** 直接上图&#xff0c;大概的故障问题就是&#xff1a;idea导入新的项目&#xff0c;因为项目中很多的jar需要从远程仓库下载&#xff0c;但是远程仓库…

Excel操作-vlookup函数用法大全

目录 常规查找 ​编辑​编辑多条件查找 一维表的多条件查找 二维表的多条件查找 反向查找&#xff08;从右到左&#xff09; ​编辑 匹配多列数据 法一&#xff1a; 法二&#xff1a; 模糊匹配 按指定次数重复 在合并单元格中查找 法一&#xff1a; 法二&#xff1…

Pyside6:Spacer的使用,布局中控件顶格添加

在普通的布局&#xff0c;如水平或纵向布局中&#xff0c;我们的控件都会保持中间状态&#xff0c;如下&#xff1a; 但有许多情况下 &#xff0c;我们需要将控件布局为如下界面&#xff1a; 在前端开发时&#xff0c;我们很容易通过flex来进行布局&#xff0c;修正它的居中或者…

以赛促学、生态共建 | 软通动力子公司鸿湖万联成功举办基于x86架构的OpenHarmony应用生态挑战赛

近日&#xff0c;由开放原子开源基金会、央视网、江苏省工业和信息化厅、无锡市人民政府、江苏软件产业人才发展基金会、苏州工业园区、无锡高新区等共同承办&#xff0c;鸿湖万联参与共建的“基于x86架构的OpenHarmony应用生态挑战赛”决赛路演在无锡圆满落幕。本次挑战赛历时…

倾斜摄影三维模型数据在立体裁剪应用分析

倾斜摄影三维模型数据在立体裁剪应用分析 立体裁剪是一种将三维模型应用于摄影中的技术&#xff0c;可以在摄影过程中将虚拟的三维模型与现实场景进行合成&#xff0c;从而实现逼真的视觉效果。倾斜摄影是一种通过无人机或其他飞行器进行航拍的技术&#xff0c;可以获取到大范围…

python与pycharm如何设置文件夹为源代码根目录

相信大家遇到过下面这种情况 当我们在当前项目下引入了其它项目的代码&#xff0c;这是其它项目的包的导入路径是不用于当前项目的&#xff0c;这样导致项目无法正常起来&#xff0c;但是我们又不可能一个个文件去处理&#xff0c;这时可以用下面的方式解决 pycharm直接设置 …

安全中级-初开始

一、网络基础 重要点&#xff1a;TTL值&#xff08;防环&#xff0c;linux64.Windows128 &#xff09;&#xff0c;IP数据包包头格式字节&#xff08;20&#xff09; 标识标志偏移量起到什么作用&#xff08;数据超过1500会分片&#xff09; wireshack抓包会有一个MSS&#x…

Vivado中的加法器电路结构

先给出结论&#xff0c;Vivado中的加法器是利用SLICE中的LUT和进位链实现的。 目录 一、全加器二、SLICE如何实现加法器三、实例测试1.直接使用加法器2.LUT级别 一、全加器 一位全加器的结构如下&#xff1a; 其中&#xff1a; A、B为输入的两个加数CI为进位CO为本位对高位的…

连接器电镀小课堂系列三 | 打底电镀、基体金属、润滑、电压

【摘要/前言】 电镀会影响连接器系统的寿命和质量&#xff0c;包括耐腐蚀性、导电性、可焊性&#xff0c;当然还有成本。 【小课堂背景】 这是 Samtec质量工程经理 Phil Eckert 和首席工程师 Matt Brown 讨论连接器电镀相关问题的系列第三部分&#xff0c;主题为 “打底电镀、…

C语言 | Leetcode C语言题解之第40题组合总和II

题目&#xff1a; 题解&#xff1a; int** ans; int* ansColumnSizes; int ansSize;int* sequence; int sequenceSize;int** freq; int freqSize;void dfs(int pos, int rest) {if (rest 0) {int* tmp malloc(sizeof(int) * sequenceSize);memcpy(tmp, sequence, sizeof(int…