华为数通HCIP-ISIS基础

news2024/11/26 2:38:43

IS-IS的基本概念

isis(中间系统到中间路由协议)

链路状态路由协议、IGP、无类路由协议;

IS-IS是一种链路状态路由协议,IS-IS与OSPF在许多方面非常相似:运行IS-IS协议的直连设备之间通过发送Hello报文发现彼此,然后建立邻接关系,并交互链路状态信息。

IS-IS是ISO定义的OSI协议栈中的CLNS(ConnectionLess Network Service,无连接网络服务)的一部分。

CLNS由以下三个部分组成:

ES:End System,终端系统,类似于IP网络环境中的主机。

ES-IS:End System to Intermediate System,终端系统到中间系统。

ISIS工作过程

1、建立isis邻居关系

2、同步LSDB(isis没有证书邻接关系的状态机,同步LSDB时无状态变化)

        LSDB:所有运行isis的路由器都有,存放LSP;

        LSP(链路状态协议数据单元):携带isis路由的链路状态信息(包含路由信息以及拓扑信息)

3、isis设备会根据同步完成的LSDB进行spf计算,得出网络拓扑,得出最优路由放进路由表

isis报文

 

结构:isis层——数据链路层头部(802.3)

PDU Protocol Data Unit ,协议数据单元)可以分为两个部分,报文头( IS-IS Header )和变长字段部分( Variable Length Fields )。

发送方式:组播发送

                dmac:01-80-C2-00-00-14(针对所有level-1路由器,此地址为组播地址) 

                        01-80-C2-00-00-15 (针对所有level-2路由器)

isis报文通过TLV的格式携带关键信息:

T:类型 L:长度 V:值

好处:1、提高报文承载能力,只携带需要的东西;

2、增强扩展性,如支持ipv6时,只需要新增TLV即可;

报文分类:

1、hello报文(IIH)

        作用:发现、建立、维护isis邻居,感知isis邻居的离开(周期10s/次,超时时间为hello的三倍:默认30s);

2、CSNP报文(全序列号报文)

        携带自身LSDB中所有的lsp的摘要信息,用于告知邻居,自身的LSDB中包含哪些LSP

3、PSNP报文(部分序列号报文)

        携带自身需要请求的LSP以及在收到LSP后,携带收到的LSP的摘要信息,用于确认收到;

4、LSP(链路状态报文)

携带isis路由器的链路状态信息,在收到PSNP请求时,用于回应;

区域划分

分类:level-1(非骨干区域)、level-2(骨干区域)

基于路由器划分;

划分原则:骨干区域有且仅有一个,非骨干区域需要围绕骨干区域建立(非骨干区域的通信,需要经过骨干区域)

区域id:不用于区分骨干以及非骨干区域,一台isis路由器可以配置三个;

isis路由器类型

1、level-1路由器:只属于level-1区域,只维护level-1区域的LSDB;(L1)

2、level-2路由器:只属于level-2区域,只维护level-2区域的LSDB;(L2)

3、level-1-2:同属属于level-1区域以及level-2区域,同时维护level-1以及level-2区域的LSDB;(L1-2)

默认属于L1-2

level-1路由器:可以跟level-1路由器以及level-1-2路由器建立level-1邻居;

level-2路由器:可以跟level-2路由器以及level-1-2路由器建立level-2邻居;

level-1以及level-2路由器之间无法建立isis邻居;

level-1-2路由器之间可以建立level-1以及level-2邻居;

NSAP地址

NSAP(Network Service Access Point,网络服务访问点)是OSI协议栈中用于定位资源的地址,主要用于提供网络层和上层应用之间的接口。NSAP包括IDP及DSP,如下图所示:

NET

NET(Network Entity Title,网络实体名称)是OSI协议栈中设备的网络层信息,主要用于路由计算,由区域地址(Area ID)和System ID组成,可以看作是特殊的NSAP(SEL为00的NSAP)。

 每台运行IS-IS的网络设备至少需拥有一个NET,当然,一台设备也可以同时配置多个NET,但是这些NET的System ID必须相同。

唯一标识一台isis路由器;

组成:区域id+sys id+SEL

大小:8~20B

区域id(1~13B):一般使用格式为xx.xxxx,用于标识一个区域;

        建立L1邻居时,要求区域id一致;

        建立L2邻居时,区域id可以不一致;

system id(6B):用于唯一标识路由器,一台设备只能配置一个;

                                格式:xxxx.xxxx.xxxx

SEL(1B):代表isis工作在什么网络环境之下;

        00——代表ip网络

        非00——非ip网络

NET地址:特殊的NSAP地址,其中SEL值固定为00;

EG:49.0001.0000.0000.0001.00——R1工作在区域49.0001中;

        49.0003.0000.0000.0005.00——R5工作在区域49.0003中;

isis基础配置

isis 1      //创建isis进程
is-level level-1  //修改isis路由器类型为L1,默认为L1-2
network-entity 49.0001.0000.0000.0001.00 //设置NET地址


interface GigabitEthernet0/0/0
isis enable 1   //进入接口使能该接口进isis进程1;


display isis peer    //查看isis邻居



interface GigabitEthernet0/0/1
isis circuit-level level-2      
//修改接口等级,一般在L1-2上做,可以使该接口只发送某个等级的hello报文,可以节省链路资源;

IS-ISOSPF区域划分的区别

在IS-IS中,每个路由器都只属于一个区域;而在OSPF中,一个路由器的不同接口可以属于不同的区域。

在IS-IS中,单个区域没有骨干与非骨干区域的概念(整个骨干区域不仅包括Area49.0002中的所有路由器,还包括其它区域的Level2和Level-1-2路由器);而在OSPF中,Area0被定义为骨干区域。

在IS-IS中,Level-1和Level-2级别的路由都采用SPF算法,分别生成最短路径树SPT(可以不在一个区域)(Shortest Path Tree);而在OSPF中,只有在同一个区域内才使用SPF算法,区域之间的路由需要通过骨干区域来转发。
 

网络类型

底层链路

是否选举DIS

报文发送方式

p2p

点到点链路

不选

09-00-2B-00-00-05

广播型网络

以太网链路

01-80-C2-00-00-14/15

在接口下:isis circuit-type p2p   //修改接口网络类型为P2P

IS-IS开销值

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有三种方式来确定接口的开销,按照优先级由高到低分别是:

接口开销:为单个接口设置开销。
全局开销:为所有接口设置开销。
自动计算开销:根据接口带宽自动计算开销。

缺省时,华为路由器采用的开销类型是narrow。

narrow类型下使用的TLV:

128号TLV(IP Internal Reachability TLV):用来携带路由域内的IS-IS路由信息。
130号TLV(IP External Reachability TLV):用来携带路由域外的IS-IS路由信息。
2号TLV(IS Neighbors TLV):用来携带邻居信息。
wide类型下使用的TLV:

135号TLV(Extended IP Reachability TLV):用来替换原有的IP reachability TLV,携带IS-IS路由信息,它扩展了路由开销值的范围,并可以携带sub TLV。
22号TLV(IS Extended Neighbors TLV):用来携带邻居信息。 
 

isis详细工作过程(邻居状态机)

一、建立isis邻居

1、P2P网络

(1)3-way(默认模式)

down:isis路由器运行的初始状态,处于该状态的设备说明没有收到任何的isis报文,可以向外发送hello报文发现邻居;

init:当isis路由器收到hello报文,并且其中TLV-240中不携带自身的sys id则进入该状态;

TLV-240:携带邻居的sys id,属于P2P网络专属;

up:当isis路由器收到hello报文,并且其中TLV-240中携带自身的sys id则进入该状态;

当双方进入up状态时,isis邻居关系建立完成;

(2)2-way模式

down:isis路由器运行的初始状态,处于该状态的设备说明没有收到任何的isis报文,可以向外发送hello报文发现邻居;

up:只要isis路由器收到hello报文,即可进入up状态

优势:收敛速度快;

缺陷:不可靠,如果网路中出现单通故障时,会导致一边up、一边down,进一步会导致up那一边尝试同步LSDB,会导致链路资源浪费;

如果一边为2-way,一边为3-way,可以正常建立isis邻居;

如果一边为2-way,一边为3-way only,无法正常建立isis邻居;

配置

interface GigabitEthernet0/0/0
isis circuit-type p2p 
isis ppp-negotiation 2-way  //将接口的建立isis邻居的模式修改为2-way
isis ppp-negotiation 3-way only   //修改接口建立isis邻居的方式为3-way only,只接受通过3-way建立,不向2-way兼容;

2、广播型网络

(1)只有3-way模式

down:isis路由器运行的初始状态,处于该状态的设备说明没有收到任何的isis报文,可以向外发送hello报文发现邻居;

init:当isis路由器收到hello报文,并且其中TLV-6中不携带自身的mac地址则进入该状态;

TLV-6:携带邻居的mac地址,属于广播型网络专属;

up:当isis路由器收到hello报文,并且其中TLV-6中携带自身的mac地址则进入该状态;

当双方进入up状态时,isis邻居关系建立完成;

广播网络中的邻接关系建立过程

两台运行IS-IS的路由器在交互协议报文实现路由功能之前必须首先建立邻接关系。在不同类型的网络上,IS-IS的邻接建立方式并不相同。在广播网络中,使用三次握手建立邻接关系。

二、同步LSDB

在同步LSDB的过程中,邻居状态不会发生改变;

1、P2P网络

(1)邻居建立完成后,双方会相互发送一次CSNP报文,用于告知对端自身LSDB中包含那些LSP;

(2)双方各自根据收到的CSNP,对比自身的LSDB,根据自身缺少的LSP,发送PSNP进行请求;

(3)收到PSNP后,回应LSP;

(4)收到LSP后,发送PSNP进行确认;

2、广播型网络

(1)广播型网路邻居建立完成后,会先进行dis选举;

选举规则:先比dis优先级,越大越优;(默认为64,可调范围0~127,其中0没有特殊含义)

再比mac地址,越大越优;

特点:hello时间会变为3.3s;

每10s向外发送一次CSNP报文;

(2)选举完dis后,isis路由器会把自身LSDB中的LSP向外发送,再各自按需接收自身没有的;

(3)dis会每10s向外发送一次CSNP报文,用于确保广播型网路中的isis设备LSDB同步完成;

(4)如果其他设备收到DIS的CSNP后,发现自身有缺少的LSP,则向DIS发送PSNP,报文进行请求,DIS收到后回应LSP,无需确认;

(5)如果其他设备收到DIS的CSNP后,发现DIS缺少了自身的LSP,则直接向DIS发送该LSP,DIS收到后无需确认;

广播型网络与P2P网络同步LSDB过程中的区别

1、P2P网络中收到LSP需要发送PSNP进行确认,广播型网络不需要;

2、P2P网络只会在同步LSDBS时发送一次CSNP,广播型网络中会由DIS周期发送;

3、P2P网络所有设备均能发送CSNP,广播型网络只有DIS可以发送

DIS(指定中间系统)

作用:用于周期性发送CSNP,确保广播型网络中,LSDB能同步成功;

        无法减少邻接关系的数目;

        充当广播型网络中的伪节点(SPF计算时)

hello时间:3.3s

是否存在备份:没有

抢占:支持

选举时间:邻居建立好就能选;

interface GigabitEthernet0/0/0
isis dis-priority 65   //修改接口的dis优先级
dis isis int  //查看接口的isis信息,其中可以查看是否为dis;

DR

作用:减少邻接关系数目

充当广播型网络中的伪节点(SPF计算时)

hello时间:10s

是否存在备份:BDR作为备份

抢占:不支持

选举时间:120s

LSP(链路状态报文)

作用:携带isis路由器的拓扑以及路由信息;

唯一标识:LSP -ID(8B);

LSP-ID:system id+伪节点号+分片号;

        xxxx.xxxx.xxxx(6B).xx(1B).xx(1B)

        system id:标识产生该LSP的设备;

        伪节点号:标识该LSP是否为伪节点LSP;

        =/=0——伪节点LSP;

        =0——实节点LSP;

LSP分类

(1)根据传递范围分类:L1 LSP、L2 LSP

(2)根据携带的内容分类:

a、伪节点LSP

只有DIS会产生,描述广播型网络的拓扑信息;

b、非伪节点LSP(实节点LSP)

所有isis路由器均会产生,描述P2P网络的路由以及拓扑信息和广播型网络的路由信息;

配置命令

dis isis LSDB        //查看isis的LSDB;
dis isis LSDB {LSP id}  verbose   //查看某一份LSP的详细信息

isis开销:
  默认情况下,isis中所有的接口开销均为10;

interface GigabitEthernet0/0/1
isis cost 5                     //修改接口开销

CSNP

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

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

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

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

PSNP

PSNP只包含部分LSP的摘要信息(与CSNP不同):

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

开销计算方式

(1)窄度量(默认)

开销的调整范围:1~63

可以区分内外部路由:

内部路由:通过TLV128携带;

外部路由:通过TLV130携带;

(2)宽度量

开销的调整范围:无限大

无法区分内外部路由;

所有路由均通过TLV-135携带;

配置命令

isis 1
cost-style wide //修改开销度量方式为宽度量

注意事项:一边为宽度量,一边为窄度量时,无法正常计算路由(使用的TLV不一致,无法相互识别)

因此,如果修改一台设备的开销度量方式,整个进程的设备均需要调整;

ospf与isis的区域

                        ospf         isis

TCP/IP             网络         数据链路

综合实验

 

1、按照题目要求配置ip地址
2、如图所示,R1\R2\R3\R5\R6间运行isis进程1
   所有路由器均属于level-2路由器,均属于49.0005区域;
   system id要求如下:
    R1:0000.0000.0001
    R2:0000.0000.0002
    R3:0000.0000.0003
    R5:0000.0000.0005
    R6:0000.0000.0006

   并且使能图中的接口
3、R3/R4/R7之间运行ospf进程1,并且按照图中要求划分区域,宣告网段
4、在ospf进程中部署vlink,实现R3可以访问到R7的loopback接口;
5、在R4与R3之间配置接口认证,要求认证类型为明文认证,密码为huawei
6、修改网络类型使R2与R3之间、R5与R6之间不存在DIS;
7、在R3上进行双向引入,使R6与R7可以互访;
8、通过路由汇总技术,ospf进程中只学习到192.168.1.0/24路由
9、通过修改R5的G0/0/2的接口开销为100,使R6访问R7时,走R5-R2-R3-R4-R7

1、配置ip地址

sy
sysname R1
interface GigabitEthernet0/0/1
ip address 10.1.13.2 255.255.255.0
其他路由都类似

2.配置isis

R1
isis 1
is-level level-2
network-entity 49.0005.0000.0000.0001.00
interface GigabitEthernet0/0/0
isis enable 1   //进入接口使能该接口进isis进程1;

display isis peer    //查看isis邻居

配置loopback接口
interface LoopBack0
ip address 192.168.1.1 255.255.255.255


其他路由都类似,只需要按题意修改49.0005.0000.0000.0002.00

3.

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

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

相关文章

每日一道面试题之HashSet的实现原理~

HashSet是Java中的一个集合类,它实现了Set接口(如下所示为源码),它用于存储不重复的元素。HashSet的实现原理主要基于哈希表(Hash Table),其内部使用了一个HashMap来存储元素,其数据存储结构是数组链表。在…

数学建模学习(1):Matlab函数

逻辑基础 1.逻辑变量 Logical类型: true(真值); false(假值) atrue bfalse 2.逻辑判定 数字逻辑: 常用的特殊逻辑: 3.逻辑运算 交叉知识-扩充优先级 优先级 符号 1(最高) 括号( ) 2 转置 ’ ;次幂 ^ 3 一元…

svo1论文

SVO: Fast Semi-Direct Monocular Visual Odometry 摘要 我们提出了一种半直接单目视觉测距算法,该算法精确、鲁棒且比当前算法更快最先进的方法。半直接方法为运动估计技术消除了需要高成本的特征提取和鲁棒匹配。我们的算法可直接在像素强度上处理,以…

【C++初阶】---C++入门篇

文章目录 前言🌟一、C历史介绍🌟二、命名空间🌏2.1.C与C对比🌏2.2.命名空间的引入🌏2.3.命名空间定义🌏2.4.命名空间的使用🌏2.5.对上述C与C对比中的第二个不同点的解释: &#x1f3…

基于有序模式的度量对多变量时间序列进行非线性分析研究(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码实现 💥1 概述 基于有序模式的度量(Ordinal Pattern-based Measures)是一种用于多变量时间序列非线性分析的方法。它可以通过分析时间…

【C++】医学影像PACS管理系统源码支持三维图像后处理和重建

前言:随着计算机科学与医疗设备的迅猛发展,数字化图像技术与现代通讯及计算机技术相结合,形成了PACS (picture archiving and communication system影像储存与传输系统)。它将医学图像资料转化为数字信息通过高速计算机设备及通讯网络&#x…

剑指offer51.数组中的逆序对

用类似于归并排序的方法解决这道题,把数组分成左右两个数组,然后归并排序,在排序的过程中统计逆序对的个数 class Solution {int[] nums, tmp;public int reversePairs(int[] nums) {this.nums nums;tmp new int[nums.length];return merge…

C# List 详解五

目录 26.GetType() 27.IndexOf(T) 28.IndexOf(T, Int32) 29.IndexOf(T, Int32, Int32) 30.Insert(Int32, T) 31.InsertRange(Int32, IEnumerable) 32.LastIndexOf(T) 33.LastIndexOf(T, Int32) 34.LastIndexOf(T, Int32, Int32) …

阿里云效搭建github的前端流水线

先构建一个vue项目,新建一个node模板,配置流水线源,按照说明一步步配置就可以了,最好开始webhook 复制webhook地址,添加入github仓库的settings的webhooks中,Content type设置为json 流水线源设置好了之后…

什么是HTTP 500错误,怎么解决

目录 什么是HTTP 500 HTTP 500错误的常见原因: 如何修复HTTP 500 总结 什么是HTTP 500 错误 HTTP 500内部服务器错误是指在客户端发出请求后,服务器在处理请求过程中发生了未知的问题,导致服务器无法完成请求。HTTP 500错误是一个通用的服…

毕业!第六章 贪心(一、二)——区间问题,Huffman树,不等式与推公式

文章目录 区间问题905. 区间选点908. 最大不相交区间数量906. 区间分组907. 区间覆盖 Huffman树148. 合并果子 排序不等式913. 排队打水 绝对值不等式104. 货仓选址 推公式125. 耍杂技的牛 6.18~7.22完成算法基础的学习,剩下时间用来暴刷《算法竞赛指南》以巩固基础…

Vue3项目(vben框架)打包时报错:JavaScript heap out of memory

我用的方法二 方法三解决了问题,方法二中将内存设置为了16g,方法三中内存设置16g也就是LIMIT16384 异常 FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory 原因 JavaScript 内存不足,指的就是Node,N…

Python爬虫学习笔记(十三)————CrawlSpider

目录 1.CrawlSpider介绍 2.使用方法 (1)提取链接 (2)模拟使用 (3)提取连接 (4)注意事项 3.运行原理 4.Mysql 5.pymysql的使用步骤 6.数据入库 (1)s…

uniapp使用

scroll-view封装tab组件 一个灵活的组件,可以自定义配置,,会设置一个 defaultConfig 去接收父组件传递的值去设置样式:比如 文字的颜色,激活文字的颜色,滑块的颜色,宽度,等滑块会跟着…

学习day51

几个注意点: 1.关于组件名: 一个单词组成: 第一种写法(首字母小写):school 第二种写法(首字母大写):School 多个单词组陈: 第一种写法(kebab-case…

基础算法(三)

目录 一、双指针算法 二、位运算 三、区间合并 一、双指针算法 双指针算法模板: for(int i 0,j 0;i < n;i) {while(j < i && check(i,j)) j;//每道题的具体逻辑 } 1.1两个指针指向两个队列1.2两个指针指向一个队列 案例习题: 分割字符串 #include<…

【C语言】自定义类型:结构体,枚举,联合

目录 前言&#xff1a;一.结构体1.结构体的声明2.结构体特殊的声明3.结构体的自引用4.结构体变量的定义和初始化5.结构体内存对齐6.修改默认对齐数7.结构体传参 二.位段1.什么是位段2.位段的内存分配 三.枚举1.枚举的定义2.枚举的优点 四.联合&#xff08;共用体&#xff09;1.…

php使用PDO_sqlsrv

php拓展下载&#xff1a;Microsoft Drivers for PHP 发行说明 - PHP drivers for SQL Server | Microsoft Learn 参考文章&#xff1a;php7.3.4 pdo方式连接sqlserver 设置方法_pdo sqlserver_黑贝是条狗的博客-CSDN博客 php5.6.9安装sqlsrv扩展&#xff08;windows&#xff0…

BEVDet 论文解读

BEVDet: High-Performance Multi-Camera 3D Object Detection in Bird-Eye-View 作者单位 PhiGent Robotics 目的 2D 的视觉感知在过去的几年里有了急速的发展&#xff0c;涌现出一些优秀的范式工作&#xff0c;这些工作有较高的性能&#xff0c;可扩展性&#xff0c;以及多…

【前端设计】使用Verdi查看波形时鼠标遮住了parameter值怎么整

盆友&#xff0c;你们在使用Verdi的时候&#xff0c;有没有遇到过鼠标遮挡着了parameter数值的场景&#xff1f;就跟下面这个示意图一样&#xff1a; 最可恨的是这个参数值他会跟着你的鼠标走&#xff0c;你想把鼠标移开看看看这个例化值到底是多大吧&#xff0c;这个数他跟着你…