【HCIP】08.ISIS中间系统

  • 链路状态协议,传递LSA信息
  • ISIS基于数据链路层封装
  • 在OSI时,也有自己的网络层地址和自己的路由协议,即ISIS。之前的ISIS支持OSI的网络层地址,是为OSI中的CLNP(无连接网络协议)网络设计的路由协议,是CLNS(无连接网络服务)中的一部分。现在的集成ISIS只可以支持TCP/IP的IP地址

NSAP

相当于现在IP地址,IDP相当于网络号,DSP相当于主机地址;现在已经不再使用。

  • IDP(Initial Domian Part)相当于IP地址中的主网络号。它是由ISO规定,并由AFI(Authority and Format Identifier)与IDI(Initial Domain Identifier)两部分组成。AFI表示地址分配机构和地址格式,IDI用来标识域。
  • DSP(Domian Specific Part)相当于IP地址中的子网号和主机地址。它由High Order DSP、System ID和SEL三个部分组成。High Order DSP用来分割区域,System ID用来区分主机,SEL(NSAP Selector)用来指示服务类型。

NET

网络实体名,表示运行ISIS协议路由器的区域以及RID;由区域地址(Area ID)和System ID组成,可以看作是特殊的NSAP(SEL为00的NSAP)。NET地址用16进制数表示。

  • System ID用12个16进制数表示(6个字节,48个bit,1个16进制用4个bit表示,48个bit可以表示12个16进制数)2个16进制数就是一个字节。
  • Area ID最多用26个16进制数表示,最少用1个16进制数表示
  • 区域+RID+SEL

现网中的System ID

  • 将IP地址每个字节3位补全,再按4位一组分开

ISIS的区域划分

  • IS-IS在自治系统内采用骨干区域与非骨干区域两级的分层结构:
    • Level-1路由器部署在非骨干区域。
    • Level-2路由器和Level-1-2路由器部署在骨干区域。
  • 每一个非骨干区域都通过Level-1-2路由器与骨干区域相连。

  1. L1只可以和自己区域的L1以及其他区域的L1-2建立邻居关系
  2. L2可以和任何一个L2以及任何一个L1-2建立邻居关系
  3. L1-2可以和相同区域的L1建立邻居关系,可以任何区域的L1-2建立邻居关系,可以和任何L2建立邻居关系。
  4. L1只可以维护L1级别的LSA,L2只可以维护L2级别的LSA,L1-2两个级别都可以维护,并且可以把L1里面的信息放到L2里面。

Level-1路由器

  • Level-1路由器(例如图中的R1)是一种IS-IS区域内部路由器,它只与属于同一区域的Level-1和Level-1-2路由器形成邻接关系,这种邻接关系称为Level-1邻接关系。Level-1路由器无法与Level-2路由器建立邻接关系。
  • Level-1路由器只负责维护Level-1的链路状态数据库LSDB,该LSDB只包含本区域的路由信息。值得一提的是,Level-1路由器必须通过Level-1-2路由器接入IS-IS骨干区域从而访问其他区域。

Level-2路由器

  • Level-2路由器(例如图中的R4、R5、R6、R7)是IS-IS骨干路由器,它可以与同一或者不同区域的Level-2路由器或者Level-1-2路由器形成邻接关系。Level-2路由器维护一个Level-2的LSDB,该LSDB包含整个IS-IS域的所有路由信息。
  • 所有Level-2级别(即形成Level-2邻接关系)的路由器组成路由域的骨干网,负责在不同区域间通信。路由域中Level-2级别的路由器必须是物理连续的,以保证骨干网的连续性。

Level-1-2路由器

  • Level-1-2路由器与OSPF中的ABR非常相似,它也是IS-IS骨干网络的组成部分。
  • Level-1-2路由器维护两个LSDB,Level-1的LSDB用于区域内路由,Level-2的LSDB用于区域间路由。
  • 同时属于Level-1和Level-2的路由器称为Level-1-2路由器(例如图中的R2和R3),它可以与同一区域的Level-1和Level-1-2路由器形成Level-1邻接关系,也可以与其他区域的Level-2和Level-1-2路由器形成Level-2的邻接关系。

ISIS的开销

  • IS-IS使用Cost(开销)作为路由度量值,Cost值越小,则路径越优。IS-IS链路的Cost与设备的接口有关,与OSPF类似,每一个激活了IS-IS的接口都会维护接口Cost。然而与OSPF不同的是,IS-IS接口的Cost在缺省情况下并不与接口带宽相关(在实际部署时,IS-IS也支持根据带宽调整Cost值),无论接口带宽多大,缺省时Cost为10。
  • 一条IS-IS路径的Cost等于本路由器到达目标网段沿途的所有链路的Cost总和。
  • IS-IS有三种方式来确定接口的开销,按照优先级由高到低分别是:
    • 接口开销:为单个接口设置开销。
    • 全局开销:为所有接口设置开销。
    • 自动计算开销:根据接口带宽自动计算开销。

IS-IS报文

IIH,LSP,CSNP,PSNP是TLV架构,由一个个的TLV组成,每个TLV有自己的功能;这九种报文是由通用头部中的PDU TYPE字段取值决定的,每种报文的架构都是TLV

通用头部

  • Intradomain Routing Protocol Discriminator:域内路由选择协议鉴别符,固定为0x83。
  • Length Indicator:IS-IS头部的长度(包括通用头部和专用头部),以Byte为单位。
  • Version/Protocol ID Extension:版本/协议标识扩展,固定为0x01。
  • System ID Length:NSAP地址或NET中System ID区域的长度。值为0时,表示System ID区域的长度为6Byte。
  • R(Reserved):保留,固定为0。
  • Version:固定为0x01。
  • MAX Areas,最多支持的区域,默认是3个

TYPE字段

  • TYPE字段里面的值,一共有9种报文

IIH报文(HELLO)

IIH报文用于建立和维持邻接关系,广播网络中的Level-1 IS-IS路由器使用Level-1 LAN IIH;广播网络中的Level-2 IS-IS路由器使用Level-2 LAN IIH;点到点网络中则使用P2P IIH。

  • Holding Time : 保持时间。在此时间内如果没有收到邻接发来的Hello报文,则中止已建立的邻接关系。
  • Priority :选举DIS的优先级,取值范围为0~127。数值越大,优先级越高。0也参与选举。该字段只在广播网中的Hello消息(LAN IIH消息)携带;点到点网络的Hello消息(P2P IIH消息)没有此字段,也没有此字段之前的R保留位。

CSNP(DD)

Source ID:发出CSNP报文的路由器的System ID。

Start LSP:CSNP报文中第一个LSP的ID值。

End LSP ID:CSNP报文中最后一个LSP的ID值。

LSP报文(LSU)

Remaining Lifetime : LSP的生存时间,以秒为单位。 生命周期是1200秒,还剩300秒的时候重新发一份。

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有关。

IS-IS的LSDB

伪节点ID:当该参数不为零时,表示该LSP为伪节点生成。

PSNP报文(LSR,LSACK)

  • PSNP只包含部分LSP的摘要信息(与CSNP不同):
    • 当发现LSDB不同步时,PSNP来请求邻居发送新的LSP。
    • 在点到的网络中,当收到LSP时,使用PSNP对收到的LSP进行确认。

Source ID:发出PSNP报文的路由器的System ID。

有台新的路由器加入,邻居建好之后;直接把自己的LSP发出去,其他设备学习到了他的LSP信息,等最多10秒钟,DIS把LSP发出去,新设备会发送PSNP去做一个请求,收到之后会立马回复,谁回复的快,就用谁的LSP信息。

邻接关系建立

IS-IS邻接关系建立原则

  • 只有同一层次的相邻路由器才有可能成为邻接。
  • 对于Level-1路由器来说,Area ID必须一致。
  • 链路两端IS-IS接口的网络类型必须一致。
  • 链路两端IS-IS接口的地址必须处于同一网段(默认情况下)。

DIS与伪节点

  • 保证所有设备数据库同步
    • 每10s发送向外发送CSNP摘要,其他设备收到之后对比会发现多还是少,如果少了,就可以请求少的摘要,如果多了,就把自己多的摘要信息告诉其他设备。
  • 计算路由时,生成伪节点
  • 没有备份,可以抢占,需要全连接

ISIS中的DIS与OSPF中的DR

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

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

相关文章

情人节特别定制:多种语言编写动态爱心网页(附完整代码)

写在前面案例1:HTML Three.js库案例2:HTML CSS JavaScript案例3:Python环境 Flask框架结语 写在前面 随着七夕节的临近,许多人都在寻找独特而令人难忘的方式来表达爱意。在这个数字时代,结合创意和技术&#xff0…

Ubuntu22.04编译Nginx源码

执行如下命令 # ./configure --sbin-path/usr/local/nginx/nginx --conf-path/usr/local/nginx/nginx.conf --pid-path/usr/local/nginx/nginx.pid输出结果,出现如下: Configuration summary using system PCRE2 library OpenSSL library is not used …

计算机视觉入门 3)最大池化

目录 一、最大池化最大池化进行压缩平移不变性 二、代码示例步骤2:图像读取转换步骤2:Filter & ReLU步骤3:Pool 一、最大池化 最大池化进行压缩 在Keras中,通过一个 MaxPool2D 层,将压缩步骤添加到之前的模型中&…

电脑找不到MSVCR120.dll怎么办?MSVCR120.dll是什么?

在我们的日常生活和工作中,电脑故障是难以避免的问题。而MSVCR120.dll文件是Windows系统中的一个重要组件,如果出现损坏或丢失,可能会导致程序无法正常运行,这个问题可能是由于系统文件损坏、病毒感染等原因导致的。因此&#xff…

Day17-Node后端身份认证-JWT

Day17-Node后端身份验证 一 密码加密 1 MD5加密 创建MD5.js//node提供了一个内置模块crypto用于密码加密 const crypto = require("crypto")module.exports.getMd5 = function(password){const md5

记录一次wordpress项目的发布过程

背景:发布一套已完成的代码到线上,有完整的代码包,sql文件,环境是linux 宝塔。无wordpress相关经验。 过程:正常的发布代码 问题1:访问自己的域名后跳转到别的域名。 解决: 修改数据表wp_optio…

Apipost中自定义接口字段如何配置

Apipost项目设置中可以配置接口文档中的自定义接口字段,创建状态码字典。分享分档时会展示到文档页面 状态码字典 在状态码字典中可以自定义状态码即其含义 自定义的状态码会在分享的API文档中展示 接口属性 接口属性中可以自定义接口和接口文档展示字段&#xf…

MySQL索引

目录 一、什么是索引 二、索引的原理 三、优缺点 四、分类 1、聚簇索引--顺序IO 2、非聚簇索引--随机IO 五、索引的设计原则 六、创建索引 1、创建表时创建索引 2、在已经存在的表上创建索引 3、使用ALTER TABLE语句来创建索引 1)普通索引 2)唯一性索引 …

2308C++协程流程4

参考 #include <协程> #include "简异中.cpp" //用来中文定义的.构 任务{构 承诺型{任务 取中(){中{协柄<承诺型>::从承诺(*本)};}从不挂起 初挂起(){中{};}从不挂起 终挂起()无异{中{};}空 中空(){ 输出<<"取协程结果\n"; }//5空 对异…

蓝奥声智能工业安全用电监测与智慧能源解决方案

能源管理变得越来越重要。如今&#xff0c;能源成本已成为国内预算的核心因素&#xff0c;因此用电监控对大多数现代企业来说都很重要。许多企业在日常能源消耗监控中面临着一些挑战&#xff0c;因为它们的规模庞大&#xff0c;基础设施多样化&#xff0c;灵活性低&#xff0c;…

前端框架学习-React(一)

React 应用程序是由组件组成的。 react 程序是用的jsx语法&#xff0c;使用这种语法的代码需要由babel进行解析&#xff0c;解析成js代码。 jsx语法&#xff1a; 只能返回一个根元素 所有的标签都必须闭合&#xff08;自闭和或使用一对标签的方式闭合&#xff09; 使用驼峰式…

Java之包,权限修饰符,final关键字详解

包 2.1 包 包在操作系统中其实就是一个文件夹。包是用来分门别类的管理技术&#xff0c;不同的技术类放在不同的包下&#xff0c;方便管理和维护。 在IDEA项目中&#xff0c;建包的操作如下&#xff1a; 包名的命名规范&#xff1a; 路径名.路径名.xxx.xxx // 例如&#xff…

sql数据导出到excel

一、打开Navicat Premium 12 二、导出

R语言处理缺失数据(1)-mice

#清空 rm(listls()) gc()###生成模拟数据### #生成100个随机数 library(magrittr) set.seed(1) asd<-rnorm(100, mean 60, sd 10) %>% round #平均60&#xff0c;标准差10 #将10个数随机替换为NA NA_positions <- sample(1:100, 10) asd[NA_positions] <- NA #转…

ClickHouse(二十一):Clickhouse SQL DDL操作-临时表及视图

进入正文前&#xff0c;感谢宝子们订阅专题、点赞、评论、收藏&#xff01;关注IT贫道&#xff0c;获取高质量博客内容&#xff01; &#x1f3e1;个人主页&#xff1a;含各种IT体系技术&#xff0c;IT贫道_Apache Doris,大数据OLAP体系技术栈,Kerberos安全认证-CSDN博客 &…

大模型之BloomLLAMA----SFT(模型微调)

0. 简介 随着chatgpt的爆火&#xff0c;最近也有很多大模型在不断地出现&#xff0c;比如说Bloom系列以及以LLAMA为基础的ziya和baichuan。这些模型相较于chatglm来说&#xff0c;更加具有发展前景&#xff0c;因为其是完全可商用&#xff0c;并可以不断迭代更新的。最近作者在…

面试题 16.11. 跳水板

​题目来源&#xff1a; leetcode题目&#xff0c;网址&#xff1a;面试题 16.11. 跳水板 - 力扣&#xff08;LeetCode&#xff09; 解题思路&#xff1a; 使用哈希表记录所有可能结果&#xff0c;然后再将哈希表中的数据放入数组中&#xff0c;最后对数组进行排序即可。 解题…

Unrecognized Hadoop major version number: 3.0.0-cdh6.3.2

一.环境描述 spark提交job到yarn报错&#xff0c;业务代码比较简单&#xff0c;通过接口调用获取数据&#xff0c;将数据通过sparksql将数据写入hive中&#xff0c;尝试各种替换hadoop版本&#xff0c;最后拿下 1.hadoop环境 2.项目 pom.xml spark-submit \ --name GridCorr…

数据结构算法--4堆排序

堆排序过程: >建立堆(大根堆) >得到堆顶元素&#xff0c;为最大元素 >去掉堆顶&#xff0c;将堆最后一个元素放到堆顶&#xff0c;此时可通过一次调整使堆重新有序 >堆顶元素为第二大元素 >重复步骤3&#xff0c;直到堆变空 此时是建立堆后的大根堆模型 将…

ThinkPHP6.0+ 使用Redis 原始用法

composer 安装 predis/predis 依赖&#xff0c;或者安装php_redis.dll的扩展。 我这里选择的是predis/predis 依赖。 composer require predis/predis 进入config/cache.php 配置添加redis缓存支持 示例&#xff1a; <?php// -----------------------------------------…