ISIS路由协议

骨干区域与非骨干区域

  1. 凡是由级别2组建起来的邻居形成骨干区域;
  2. 级别1就在非骨干区域,骨干区域有且只有一个,并且需要连续,
  3. ISIS在IP环境下目前不支持虚链路。

路由器级别

  1. L1路由器只能建立L1的邻居;
  2. L2路由器只能建立L2的邻居;
  3. L1-2路由器和L1的路由器建立L1的邻居,和L2的路由器建立L2的邻居。
  4. L1-2和L1-2分别建立L1和L2的邻居,两种邻居独立工作,互不影响。

L1的邻居要求区域ID要相同,L2的邻居不要求区域ID相同。

上图ISIS只能建立L2的邻居,因为L1邻居的区域号要相同。

ISIS支持的网络类型

邻居建立的条件是两边的网络类型要相同,ISIS只有两个网络类型,分别是广播,点到点。

int g0/0/0

isis circuit-type p2p

ISIS的开销值

ISIS无论接口带宽多大,缺省cost为10;三种方式来确定接口的开销,优先级高到低分别是:接口开销(为单个接口设置开销),全局开销(为所有接口设置开销),自动计算开销(根据接口带宽自动计算开销)。

[R1-G0/0/0]isis cost 20 level-1 接口下修改,优先级最高
[R1-isis-1]circuit-cost 30  全局开销
[R1-isis-1]auto-cost enable compatible	自动计算开销
dis isis cost interface g0/0/0  查看isis接口开销值、
cost-style 开销度量值风格,有窄,宽,混合
[R1-isis-1]bandwidth-reference 1000 参考带宽

ISIS的报文格式

基于TLV的数据结构路由协议:ISISI,BGP,LDP...

TlV用3个参数表达某一个路由属性或者业务特征,便于实现新功能扩展,可以按需携带TLV,在需要的时候携带,不需要的时候可以不携带。

ISIS报文类型

dis isis lsdb

在级别1和级别2中产生的LSP内容没有任何区别,只是邻居类型不一样

ISIS通用头部

ID length:system id的长度

PDU type:报文的类型

Max Areas:支持的最大的区域个数,最大支持3个

ISIS常见TLV

邻接关系建立原则

  1. 只有同一层次的相邻路由器才有可能成为邻接
  2. 对于L1路由器来说,区域 ID必须一致
  3. 链路两端ISIS接口的网络类型必须一致
  4. ISIS接口的地址必须处于同一网段下(主从地址有一对在一网段就可以建立)
  5. 点到点链路上必须主地址在同一网段

dis isis error interface g0/0/0 //查看isis错误信息

ip address 1.1.1.2 24 sub //从地址

在IP网络上运行ISIS时,需要检查对方的IP地址。如果接口配置了从IP,那么只要双发有某个IP在同一网段,就能建立邻接,不一定要IP相同。

广播型链路邻接关系建立过程

状态机:Down,init,up(相当于2-way);LSDB的同步过程没有任何定义任何状态机制,自己默默完成同步

实际上Neighbour携带的是MAC地址,不是system id,采用三次握手建立邻居

广播型链路同步过程

R1是DIS,R2是非DIS,已经完成了LSP同步。

此时,R3为新增路由器接入,分别和这两台路由器建起邻居到up状态,并且DIS没有被抢夺

新增路由器和DIS一旦建立邻居,就会直接互相发送自身LSDB中的所有LSP

非DIS路由器和新增路由器建立邻居关系,但不会向新增路由器发送自身的LSDB中的LSP,避免重复发送LSP

非DIS路由器收到新增路由器的LSP后,如果是新的LSP,添加到自身的LSDB中,不会发送PSNP确认此LSP,并向其他链路上邻居泛洪这些LSP

新增路由器收到DIS的CSNP后(DIS会每隔10s周期性发送CSNP信息),根据比较自身的LSDB,发送相应的PSNP,DIS接收PSNP后,发送相应的LSP,新增路由器接收到之后,添加到自身的LSDB,不会发送PSNP确认这些LSP,同步过程结束,并向其他链路泛洪

DIS每10秒周期组播发送CSNP,维护此广播型网络上路由器的LSDB同步

上来直接互相发送LSP,发送完成之后,开始互相发送PSNP进行确认,之后再发送CSNP

点到点网络中的邻接关系建立过程

  1. 两次握手开启:isis ppp-negotiation 2-way 只能在点到点链路上使用,hello报文中不携带TLV240,接口也不处理TLV240;两次握手的速度更快,但是可能会导致对方并没有把自己当成邻居
  2. 三次握手开启:isis ppp-negotiation 3-way 接口启用3次握手建立邻居,但向下兼容2次握手,接口发送的hello的报文携带TLV240,但可以处理不携带TLV240的hello包,三次握手使用TLV240
  3. 仅用三次握手建立邻居,isis ppp-negotiation 3-way only仅用3次握手建立邻居

点到点网络中LSP的同步过程

有了LSP之后会直接发给对方,对方收到之后回复PSNP进行确认,如果R1没有收到PSNP的确认,会重新发送LSP,R2会重新回复PSNP

为什么ISIS可以做到直接发送全部LSP

如果将8条静态路由引入到ospf之后将会产生8条LSA,而如果引入到ISIS中,ISIS只会产生一条LSP

DIS与伪节点

DIS基于级别来选举,L1选举出L1的DIS,L2选举出L2的DIS,分别来维护各个级别的数据库。

DIS负责生成为节点LSP(2类LSA)

DIS选举:

  1. DIS的优先级越大越优,优先级相同,比较MAC地址,越大越优。
  2. 优先级等于0的路由器依然可以进行DIS选举,比较MAC地址。
  3. DIS可以被抢夺
  4. 没有BDIS

在ISIS广播网中,同一网段上的同一级别路由器之间都会形成邻接关系,包括所有的非DIS路由器之间也会形成邻接关系。

IIH

DIS 的systemID是伪节点标识符(DIS SYSTEM ID.PID)

IIH L1HELLO L2 HELLO

  1. L1的路由器在bro链路上发送L1的hello,L2的路由器在bro链路发送L2的hello,和接口链路级别无关。
  2. L12路由器在L12的bro链路上发送L1的hello,也发送L2的hello
  3. L12路由器在L1的bro链路上只发送L1的hello
  4. L12路由器在L2的bro链路上只发送L2的hello
  5. isis circuit-level 控制bro链路的链路级别
  6. 两边的hello周期与失效时间不一样,也可以建立起邻居关系(如果是ospf则需要一样)

IIH P2P HELLO

  1. L1路由器在P2P链路上建立L1的邻居,和链路级别无关
  2. L2路由器在P2P链路上建立L2的邻居,和链路级别无关
  3. L12的路由器在P2P的L1链路上建立L1的邻居,区域ID要一样
  4. L12的路由器在P2P的L2链路上建立L2的邻居,区域ID无关
  5. L12的路由器在P2P的L12链路上和相同区域的L12路由建立L12的邻居
  6. L12的路由器在P2P的L12链路上和不同区域的路由器建立L2的邻居

总结:L1,L2路由器级别决定邻居的级别,L12的路由器和链路级别共同决定邻居的级别

p2p链路上hello包,10s发送一次,邻居失效时间是30s,默认是hello间隔的3倍(让邻居认为自己多久失效)

bro链路上DIS发送间隔是3s,DIS失效时间是9S;非DIS发送间隔是10s,失效时间是30s

int g0/0/0
isis time hello  //修改hello的时间
isis timer holding-multiplier 3 //失效时间是hello时间的3倍 

LSP

ISIS链路状态报文LSP用于交换链路状态信息。LSP分为两种:L1和L2 LSP。L1 LSP由L1路由器传送,L2 LSP由L2路由器传送,L1-2路由器则可以传送以上两种LSP

两类LSP有相同的报文格式

LSPID是唯一的描述一条LSP,星号代表是自己产生的LSP,前面6个字节用来代表SYSTEM ID ,后面紧跟着00用来标识伪节点标识符,-后面是分片标识符

system id.伪节点标识符-分片标识符

对于ISIS来说,只有两种LSA类型,分别是实节点LSP对应于(对应于ospf中的1类lsa)与伪节点LSP(对应ospf中的2类lsa),伪节点标识符等于0就是实节点,不等于0就是伪节点。

LSP的更新机制周期性更新(每隔900秒更新一次,序列号加1,老化时间是1200秒,倒计时),触发更新(链路状态发生了变化,更新一次)

LSP的新旧判断,

  1. 先比序列号,越大越优先
  2. 如果序列号相同,则比较剩余存活时间,如过剩余存活时间为0,就将LSP存入到LSDB中(用于删除一条LSP)
  3. 如果序列号相同且都不等于0,就比较校验和,校验和大的优先
  4. 校验和相同,则认为一致

CSNP

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

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

PSNP

如果PSNP是请求的话,序列号会变成0,如果不是0,那么就是在做确认

路由计算

在一个区域,使用SPF算法即可算出。

L1的路由器 使用L1的LSP描述直连网段信息

L2的路由器 使用L2的LSP描述直连网段信息

对于 L1-2路由器来说,默认会将所有的直连链路分别在L1和L2中去描述

L12 根据链路级别对直连叶子做描述

  1. 如果链路为L2,则在L2的LSP中描述该链路的叶子,不在L1的LSP描述
  2. 如果链路为L1或者L2,则在L1和L2的LSP中都描述该链路的叶子
  3. 接口默认也是L1-2,int g0/0/2 ; isis circuit-level level-1
  • 骨干区域可以计算出非骨干区域的明细路由,原因:L12路由将L1 LSP计算出的路由作为自身直连的叶子挂载到L2的LSP来描述
  • 非骨干区域路由器不可以计算出骨干区域的路由信息,默认情况L12路由器不在L1的LSP中描述骨干区域的路由信息
  • 非骨干区域通过缺省路由访问其他网络
  • 导致ISIS的L1区域默认成为完全Stub区域

ATT置位

LSP中,ATTbit成为骨干区域连接服务,当L12路由器在L2的LSDB中,存在其他区域的L2 LSP时,将自身产生的L1 LSP中的ATT bit置1

L1区域路由器根据ATT bit置1,计算出一条到达L12路由的缺省路由

让它一直置1,可以ISIS断开不需要的时候,也可以去正常访问连接的其他网络

isis 1
attached-bit advertise never|always(一直置位)
attached-bit avoid-learning  L1收到att置位不生成默认路由,他不计算,他的下联路由器可以计算

路由渗透

缺省路由的计算存在次优路径,可以将L2的路由引入到L1的路由中,路由泄露,DU位会置1

isis 1
import-route isis level-2 into level-1 //L1-2会把L2的路由挂到自己的L1数据库中的叶子上面
undo import-route isis leve-1 into level-2 不让L1引入到L2中

ISIS认证

认证方式:明文认证,MD5认证,Keychian认证(时间到了自己换密码),HMAC-SHA256认证

三种类型:接口认证(只对hello包做认证),区域认证,路由域认证(每台设备都要做)

默认接口没有启用接口认证,代表发送ISIS报文时不携带认证tlv,也不要求接收的hello是否携带认证tlv

ospf做认证是放在头部,ISIS做认证是放在了LSP中,随着LSP进行传递,所有链路都要使用相同认证

ISIS中途路由器只有泛洪的能力,没有修改认证的能力

isis authentication-mode md5 plain huawei//启用接口认证,发送hello包是携带认证TLV
isis authentication-mode md5 plain huawei send-only //不要求接收hello包是要携带TLV
area-authentication-mode //区域认证
domain-authentication-mdoe //对自己产生的LSP做认证

ISIS选路与防环

如果R1收到两个ATT置位的L12路由器,那么就负载分担;R2不会生成指向R3的默认路由,因为UP置位

骨干区域L2的路由优于L1泄露的路由,L1的路由优于L2的

L1路由>L2路由>L1*

引入外部路由到达ISIS中后,LSP信息会使用分片

IP-External外部路由

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

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

相关文章

IDEA启动两个Tomcat服务的方式 使用nginx进行反向代理 JMeter测试分布式情况下synchronized锁失效

目录 引出IDEA启动Tomcat两个端口的方式1.编辑配置2.添加新的端口-Dserver.port80833.service里面管理4.启动后进行测试 使用nginx进行反向代理反向代理多个端口运行日志查看启动关闭重启 分布式情况下synchronized失效synchronized锁代码启动tomcat两个端口nginx反向代理JMete…

VR智慧校园资中控管理平台综合提升了课堂教学质量

随着越来越多高校在课堂中引进VR虚拟仿真实训系统,为了方便老师对全班同学进行高效率地管理,VR中控平台应运而生。下面为您详细介绍VR中控平台在课堂教学中的应用优势。 VR中控系统安装在教师总控端,融合了课件、视频、3D动画等丰富的教学资源…

python+mysql+前后端分离国内职位数据分析(源码+文档+指导)

系统阐述的是使用国内python职位数据分析系统的设计与实现,对于Python、B/S结构、MySql进行了较为深入的学习与应用。主要针对系统的设计,描述,实现和分析与测试方面来表明开发的过程。开发中使用了 Flask框架和MySql数据库技术搭建系统的整体…

二、数学建模之整数规划篇

1.定义 2.例题 3.使用软件及解题 一、定义 1.整数规划(Integer Programming,简称IP):是一种数学优化问题,它是线性规划(Linear Programming,简称LP)的一个扩展形式。在线性规划中&…

ZeroMQ入门

官网: ZeroMQ 简介 ZeroMQ是一个库,不是消息队列也不是消息中间件,介于应用层和传输层之间(按照TCP/IP划分)。 传统的Socket通信模式需要创建连接,销毁连接,选择协议等一些列操作。而ZeroMQ是在Socket封…

【Java集合学习1】ArrayList集合学习及集合概述分析

JavaArrayList集合学习及集合学习概述 一、Java集合概述 Java 集合, 也叫作容器,主要是由两大接口派生而来:一个是 Collection接口,主要用于存放单一元素;另一个是 Map 接口,主要用于存放键值对。对于Col…

电商平台京东平台获得京东商品描述API接口演示案例

京东商品描述API接口可以获取京东商品描述: 详细介绍商品的特点和功能,让消费者能够了解商品的具体用途和效果。 使用简洁明了的语言,避免使用过于专业的术语和长句子,让消费者能够轻松理解。 重点突出商品的卖点和优势,让消费者能够更加清晰地了解商品的价值 …

AIGC时代开启!拓世数字人短视频点燃企业数字化转型热潮!

短视频在近年迎来了高速发展期,与初期满足人们的娱乐需求和社交需求相比,短视频平台如今已经成长为一个巨量信息汇聚、流转、辐散的综合性场所。特别是随着移动互联网的普及,碎片化信息传播需求的迅猛增长,各行各业的内容创作者都…

原生小案例:如何使用HTML5 Canvas构建画板应用程序

使用HTML5 Canvas构建绘图应用是在Web浏览器中创建交互式和动态绘图体验的绝佳方式。HTML5 Canvas元素提供了一个绘图表面,允许您操作像素并以编程方式创建各种形状和图形。本文将为您提供使用HTML5 Canvas创建绘图应用的概述和指导。此外,它还将通过解释…

2、结构型设计模式

结构型设计模式 目录 结构型设计模式1. 代理模式1.1 概述1.2 结构1.3 静态代理1)抽象主题类 SellTickets2)真实主题类 TrainStation3)代理类 ProxyPoint4)客户端类 1.4 JDK 动态代理1)代理工厂类:ProxyFact…

C++类成员的访问权限以及类的封装

C通过 public、protected、private 三个关键字来控制成员变量和成员函数的访问权限,它们分别表示公有的、受保护的、私有的,被称为成员访问限定符。所谓访问权限,就是你能不能使用该类中的成员。 Java、C# 程序员注意,C 中的 publ…

ESP32应用教程(0)— PMW3901MB光流传感器

文章目录 前言 1 传感器介绍 1.1 关键特征 1.2 关键参数 2 硬件概述 2.1 信号引脚 2.2 参考电路图 3 寄存器 3.1 寄存器列表 3.2 性能优化寄存器 4 代码说明 4.1 结构体说明 4.2 编译说明 5 波形分析 前言 本文介绍了在 ESP32 DEVKIT V1 开发板上开发 PMW3901MB…

JVM知识点(一)

1、JVM基础概念 (1)JVM、JRE、JDK JRE:JVM基本类库组成的运行环境就是JRE。JVM自己是无法完成一次编译,处处运行的,需要有一个基本类库告诉JVM如何操作运行,如如何操作文件,连接网络等&#x…

[管理与领导-55]:IT基层管理者 - 扩展技能 - 1 - 时间管理 -2- 自律与自身作则,管理者管好自己时间的五步法

前言: 管理好自己的时间,不仅仅是理念,也是方法和流程。 步骤1:理清各种待办事项 当提到工作事项时,这通常指的是要完成或处理的工作任务或事务。这些事项可以包括以下内容: 任务分配:根据工作…

maven工程的目录结构

https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html maven工程的目录结构: 在maven工程的根目录下面,是pom.xml文件。此外,还有README.txt、LICENSE.txt等文本文件,便于用户能够…

疲劳检测-闭眼检测(详细代码教程)

简介 瞌睡经常发生在汽车行驶的过程中,该行为害人害己,如果有一套能识别瞌睡的系统,那么无疑该系统意义重大! 实现步骤 思路:疲劳驾驶的司机大部分都有打瞌睡的情形,所以我们根据驾驶员眼睛闭合的频率和…

PMP P-10 Purchase Management

竟然不让上传图片了。。为啥???【上传过于频繁】行吧

设计模式之九:迭代器与组合模式

有许多方法可以把对象堆起来成为一个集合(Collection),比如放入数组、堆栈或散列表中。若用户直接从这些数据结构中取出对象,则需要知道具体是存在什么数据结构中(如栈就用peek,数组[])。迭代器…

mongodb聚合排序的一个巨坑

现象: mongodb cpu动不动要100%,如下图 分析原因: 查看慢日志发现,很多条这样的查询,一直未执行行完成,占用大量的CPU [{$match: {"tags.taskId": "64dae0a9deb52d2f9a1bd71e",grnty: …

CentOS 7 Nacos 设置开机自动重启

一、说明 Nacos如果是手动启动的话,在服务器宕机或者重启后,没有自动运行,影响很多业务系统,需要每次手动执行命令 startup.sh -m standalone,才能启动 Nacos 服务,不能像docker服务一样,使用 …