华为数通HCIP-ISIS基础

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不一致,无法相互识别)

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

综合实验

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、在R3与R4之间配置接口认证,要求认证类型为明文认证,密码为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

4.

R4
ospf 1
area 0.0.0.2 network 10.1.34.0 0.0.0.255 vlink-peer 3.3.3.3R3和R4部署vlink
R3
area 0.0.0.2 network 10.1.34.0 0.0.0.255 vlink-peer 4.4.4.4做到这里,ospf内部以及isis内部可以通

5.

R3
interface GigabitEthernet0/0/2ip address 10.1.34.3 255.255.255.0 ospf authentication-mode simple plain huawei
R4
interface GigabitEthernet0/0/0ip address 10.1.34.4 255.255.255.0 ospf authentication-mode simple plain huawei 

6.

在对应接口下将接口类型改为p2p
interface GigabitEthernet0/0/1
isis circuit-type p2p

7.在R3上进行双向引入,使R6与R7可以互访,因为R3同时运行ospf和isis

ospf 1 router-id 3.3.3.3 import-route isis 1isis 1is-level level-2import-route ospf 1

 8.

ospf 1 router-id 3.3.3.3 asbr-summary 192.168.1.0 255.255.255.0

9.开销默认计算方式为窄度量只有1~63

isis 1is-level level-2cost-style wide    //宽度量interface GigabitEthernet0/0/2isis enable 1isis cost 100

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

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

相关文章

从零开始搭建vue3 + ts + pinia + vite +element-plus项目

前言:据说vue2将于 2023 年 12 月 31 日停止维护,最近打算搭建一个vue3项目来学习一下,以防忘记,记录一下搭建过程。 一、使用npm创建项目 前提条件:已安装 16.0 或更高版本的 Node.js 执行 “npm init vuelatest”…

【Java基础教程】(四十三)多线程篇 · 下:深入剖析Java多线程编程:同步、死锁及经典案例——生产者与消费者,探究sleep()与wait()的差异

Java基础教程之多线程 下 🔹本节学习目标1️⃣ 线程的同步与死锁1.1 同步问题的引出2.2 synchronized 同步操作2.3 死锁 2️⃣ 多线程经典案例——生产者与消费者🔍分析sleep()和wait()的区别? 🌾 总结 🔹本节学习目标…

谷歌插件(Chrome扩展) “Service Worker (无效)” 解决方法

问题描述: 写 background 文件的时候报错了,说 Service Worker 设置的 background 无效。 解决(检查)方法: 检查配置文件(manifest.json) 中的 manifest_version 是否为 3。 background 中的…

如何动态修改 spring aop 切面信息?让自动日志输出框架更好用

业务背景 很久以前开源了一款 auto-log 自动日志打印框架。 其中对于 spring 项目,默认实现了基于 aop 切面的日志输出。 但是发现一个问题,如果切面定义为全切范围过大,于是 v0.2 版本就是基于注解 AutoLog 实现的。 只有指定注解的类或…

DataWhale AI夏令营——机器学习

DataWhale AI夏令营——机器学习 学习记录一1. 异常值分析2. 单变量箱线图可视化3. 特征重要性分析 学习记录一 锂电池电池生产参数调控及生产温度预测挑战赛 已配置环境,跑通baseline,并在此基础上对数据进行了简单的分析。 1. 异常值分析 对训练集…

K8S初级入门系列之八-网络

一、前言 本章节我们将了解K8S的相关网络概念,包括K8S的网络通讯原理,以及Service以及相关的概念,包括Endpoint,EndpointSlice,Headless service,Ingress等。 二、网络通讯原理和实现 同一K8S集群&…

PMP 数据收集工具与技术

数据收集工具与技术 (9个) 标杆对照 标杆对照是指将实际或计划的产品、流程和实践与其他可比组织的 做法进行比较,以便识别最佳实践、形成改进意见,并为绩效考核 提供依据。 头脑风暴 头脑风暴是一种数据收集和创意技术,主要用于在短时间…

三维点云中的坐标变换(只讲关键部分)

一、坐标旋转 坐标旋转包含绕x、y、z轴旋转,在右手坐标系中,x-翻滚(roll),y-俯仰(pitch),z-航向(yaw)。如果想详细了解,可以网络搜索 在PCL中,从baseLink到map的转换关系为:先绕x轴旋转,在绕y轴旋转,最后绕…

【软件工程中的各种图】

1、用例图(use case diagrams) 【概念】描述用户需求,从用户的角度描述系统的功能 【描述方式】椭圆表示某个用例;人形符号表示角色 【目的】帮组开发团队以一种可视化的方式理解系统的功能需求 【用例图】 2、静态图(Static …

【数据结构】C--单链表(小白入门基础知识)

前段时间写了一篇关于顺序表的博客,http://t.csdn.cn/0gCRp 顺序表在某些时候存在着一些不可避免的缺点: 问题: 1. 中间 / 头部的插入删除,时间复杂度为 O(N) 2. 增容需要申请新空间,拷贝数据,释放旧空间。会有不…

前端 | ( 十一)CSS3简介及基本语法(上) | 尚硅谷前端html+css零基础教程2023最新

学习来源:尚硅谷前端htmlcss零基础教程,2023最新前端开发html5css3视频 系列笔记: 【HTML4】(一)前端简介【HTML4】(二)各种各样的常用标签【HTML4】(三)表单及HTML4收尾…

2023/07/23

1. 必须等待所有请求结束后才能执行后续操作的处理方式 方式一: async func () {const p1 await api1();const p2 await api2();const p3 await api3();Promise.all([p1, p2, p3]).then(res > {后续操作...}) }方式二:待补充 2. flex 弹性盒子布…

FPGA实现串口回环

文章目录 前言一、串行通信1、分类1、同步串行通信2、异步串行通信 2、UART串口通信1、UART通信原理2、串口通信时序图 二、系统设计1、系统框图2.RTL视图 三、源码1、串口发送模块2、接收模块3、串口回环模块4、顶层模块 四、测试效果五、总结六、参考资料 前言 环境&#xff…

【计算机视觉 | 目标检测】arxiv 计算机视觉关于目标检测的学术速递(7 月 21 日论文合集)

文章目录 一、检测相关(15篇)1.1 Representation Learning in Anomaly Detection: Successes, Limits and a Grand Challenge1.2 AlignDet: Aligning Pre-training and Fine-tuning in Object Detection1.3 Cascade-DETR: Delving into High-Quality Universal Object Detectio…

《Docker与持续集成/持续部署:构建高效交付流程,打造敏捷软件交付链》

🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~&#x1f33…

c语言修炼之指针和数组笔试题解析(1.2)

前言: 书接上回,让我们继续开始今天的学习叭!废话不多说,还是字符数组的内容上代码! char *p是字符指针,*表示p是个指针,char表示p指向的对象类型是char型! char*p"abcdef&q…

使用Plist编辑器——简单入门指南

本指南将介绍如何使用Plist编辑器。您将学习如何打开、编辑和保存plist文件,并了解plist文件的基本结构和用途。跟随这个简单的入门指南,您将掌握如何使用Plist编辑器轻松管理您的plist文件。 plist文件是一种常见的配置文件格式,用于存储应…

7.6Java EE——Bean的生命周期

Bean在不同作用域内的生命周期 Bean的生命周期是指Bean实例被创建、初始化和销毁的过程。在Bean的两种作用域singleton和prototype中,Spring容器对Bean的生命周期的管理是不同的。在singleton作用域中,Spring容器可以管理Bean的生命周期,控制…

vue父组件和子组件数据传递

vue --父组件向子组件传递数据 父组件&#xff1a; <template><div class"parent"><p>父组件&#xff1a;{{ msg }}</p><Child message"Hello, I am parent!"></Child></div> </template><script>…

【Linux】udp客户端windows版以及Tcp服务器的实现

windows版客户端更适合大多数人~ 文章目录 一. udp客户端windows版二.Tcp服务器的实现总结 一、udp客户端windows版 首先我们将上一篇文章中实现的udp大型聊天室的代码进行修改&#xff0c;注意我们只修改服务端代码将代码修改的很简单就好&#xff0c;因为我们只是做一个如何…