详解ISIS动态路由协议

前言

  • 和OSPF一样,ISIS也是一种基于无类别链路状态(LS) 并使用最短路径优先算法(SPF算法) 进行路由计算的一种IGP协议,基于OSI模型开发。ISIS最初是国际化标准组织ISO为它的无连接网络协议CLNP设计的一种动态路由协议。
  • 为了提供对IP的路由支持,IETF在RFC1195中对ISIS进行了扩充和修改,使它能够同时应用在TCP/IP和OSI环境中, 修订后的ISIS协议被称为集成化的ISIS(集成的ISIS,基于OSI开发后转移到TCP/IP模型执行),由于ISIS的简便性及扩展性强的特点,目前在大型ISP的网络中被广泛地部署。
  • OSI模型的网络层协议:1.CLNS无连接的网络服务 2.CONS面向连接的网络服务
  • CLNS存在子协议:
    • 1.CLNP 类似于TCP/IP的IP协议,用来寻址
    • 2.ISIS 类似于TCP/IP中的RIP/OSPF/EIGRP,用来学习路由条目
    • 3.ESIS 类似于TCP/IP中的ICMP/ARP/IGMP,用来pc和路由器间的通信

应用场景

  • OSPF多用于园区网,其特点:区域多样,策略多变,调度精细
  • ISIS多用于骨干网,其特点:区域扁平,收敛极快,承载庞大,工作半径大,原理简单
    在这里插入图片描述

历史起源

集成isis特点:

  • 支持CLNP网络,IP网络
  • 工作在数据链路层

OSPF特点:

  • 目前只支持IP网络
  • 工作在IP层

在这里插入图片描述

ISIS路由计算过程

  • 建立邻居关系
  • 同步LSDB
  • 执行SPF路由计算
    在这里插入图片描述

ISIS的地址结构

在配置ISIS时,由于ISIS基于OSI模型开发,而在OSI模型中,存在IP地址外,还存在NSAP地址;
故在TCP/IP模型中配置ISIS也必须先配置NSAP地址;
在这里插入图片描述
在这里插入图片描述

IDP:初始域
AFI:权威格式部分----固定1个字节,16进制数,需要付费使用,49为私有
IDI:权威格式ID----可变长
DSP:域的指定
High Order DSP:高的DSP位
System-ID:6个字节,在ISIS中类似于OSPF中的RID,全网必须独一无二
NSEL:固定1个字节,类似TCP/IP中的端口号,在ISIS协议中为0(NSEL为0的NSAP地址又被称为net地址)

49.0001.1111.1111.1111.00

49:相当于AS号
0001:区域
1111.1111.1111:RID
00:全0

ISIS路由器分类

在这里插入图片描述

ISIS邻居关系的建立

ISIS只支持点到点和广播网络类型
ISIS只有邻接关系,没有邻居关系

P2P

在这里插入图片描述

MA

在这里插入图片描述

ISIS中的DIS与OSPF中DR的对比

类比点 ISIS-DIS OSPF-DR
选举优先级 所有优先级都参与选举 0优先级不参与选举
选举等待时间 2个Hello报文的时间间隔 40秒
备份 有(BDR)
邻接关系 所有路由器相互都是邻接关系 DRother之间是2-way邻居关系
抢占性 会抢占 不会抢占
主要作用 周期发送CSNP,保障MA网络LSDB的同步 主要为了减少LSA泛洪

在这里插入图片描述

链路状态信息的交互

在这里插入图片描述

ISIS的最短路径优先算法(SPF)

在这里插入图片描述

ISIS区域划分

在这里插入图片描述
注:L12及扮演L1也扮演L2
连续的L2或L12构成骨干
在这里插入图片描述
注:L1所在的区域相当于OSPF区域中的完全stub区域

ISIS区域间路由访问原理

在这里插入图片描述

ISIS与OSPF的不同

差异性 ISIS OSPF
网络类型
开销方式 简便 复杂
区域类型
路由报文类型 简单 多样
路由收敛速度 很快
扩展性 一般
路由负载能力 超强

注:
1.周期更新时间不同:OSPF30min中更新,60min老化;ISIS15min更新,20min老化
2.ISIS存在逻辑骨干0
3.ISIS中一台设备只能在一个区域中
4.ISIS仅两种LSP(类似于OSPF中的LSA)
5.度量计算方式不同
6.仅存在邻接关系

ISIS与OSPF的术语对比

ISIS OSPF
DIS DR
system ID router-id
LSP LSA
ISIS Hello Hello
PSNP LSR或LSack
CSNP DBD

ISIS配置

[R2]isis 1    定义isis进程号
[R2-isis-1]network-entity 49.0001.2222.2222.2222.00    定义NSAP地址
[R2-isis-1]q
[R2]interface g0/0/0             
[R2-G0/0/0]isis enable 1        宣告接口
配置完成后,邻居间使用hello包建立邻接关系,生成邻居表

[R2]isis 1
[R2-isis-1]is-level level-1      修改路由器为Level 1路由器
[R2]display isis peer     查看isis邻居表(isis的邻居表就相当于邻接表)

在这里插入图片描述

[R2]display  isis name-table 1
[R2]isis 1
[R2-isis-1]log-peer-change    默认isis间工作无日志信息,可以开启显示功能
<R1>reset isis peer 2222.2222.2222   在R1上重启邻居2222.2222.2222

<R1>reset isis all   重启所有的isis邻居

在邻接关系建立后,邻居间交换LSP(LSA)—链路状态协议数据单元
收集完成后生成数据库表拓扑表

<R1>display isis lsdb
<R1>display isis lsdb verbose  查看数据库明细
<R1>display isis brief   查看拓扑表

再之后,isis协议基于拓扑表和数据库表计算最佳路径,然后将其加载到路由表中。
华为设备优先级为15

度量存在:1.狭义度量,2.广义度量

  • 狭义度量:每个接口参数默认为10,可以再1-63范围内修改
[R1]interface g0/0/0
[R1-GigabitEthernet0/0/00]isis cost 15   修改狭义度量
ISIS路由汇总,仅针对L2 LSP汇总
[R1]isis 1
[R1-isis-1]summary 192.168.0.0 255.255.252.0   
缺省路由
[R1]isis 1
[R1-isis-1]default-route-advertise
修改hold时间
[R1]interface g0/0/0
[R1-GigabitEthernet0/0/00]isis timer holding-multiplier 15
修改发送hello包的间隔时间
[R1]interface g0/0/0
[R1-GigabitEthernet0/0/00]isis timer hello 5
ISIS安全认证
[R1]keychain ccna mode absolute
[R1-keychain]key-id 1
[R1-keychain-keyid-1]key-string huawei
[R1-keychain-keyid-1]quit
进入接口调用
[R1]interface g0/0/0
[R1-GigabitEthernet0/0/0]isis authentication-mode keychain ccna level-2
[R1-GigabitEthernet0/0/0]isis authentication-mode md5 123

ISIS的LSP存在4种状态

  • Level 0:路由器同pc间使用
  • Level 1:同一区域使用
  • Level 2:区域间路由器沟通
  • Level 3:AS间的路由沟通

ISIS的工作原理和选路规则

工作再不同级别下的设备可以发出不同的LSP,主要是L1/2信息
默认所有设备均工作于Level 1-2模式下

总结:

  • ISIS的骨干区域为逻辑骨干----所有连续的L2和L1-2路由器集合构成了ISIS的逻辑骨干区域
  • 一个区域内至少有一台设备属于逻辑骨干,否则该区域将无法访问其他区域
  • 骨干区域内的路由器拥有全网的路由
  • L1路由器只能和区域内的L1和L1-2路由器建立邻居关系,L1和L2路由器不能建立邻居关系

选路规则

  • L1路由器访问某个目标时,先查看是否和目标在同一区域,若在,通过L1路由访问,若不在,使用缺省路由通过本地最近的L1-2路由器访问
  • L2路由器访问某个目标时,直接通过L2数据库访问
  • L1-2路由器访问目标时,先查看是否和目标在同一区域,若在,通过L1路由访问,若不在,通过L2数据库访问。
  • L1-2路由器会向本区域内的L1路由器下放缺省路由
    • 条件:1.该L1-2路由器和L1路由器在同一区域。2.该L1-2路由器必须连接了其他的区域

ISIS的数据包类型

isis存在9种数据包,集成的ISIS在TCP/IP模型中工作时,其实际跨层封装到2层
在以太网中,目标MAC地址尾号为14标识L1路由,15标识L2路由

  • Hello包:邻居发现,建立,保活;10s的hellotime;30s的deadtime;
    • 在拥有DIS时,hellotime为3.3s;deadtime为10s
  • LSP:相当于OSPF的LSA
  • PSNP(部分序列号的PDU):相当于OSPF中的LSR或LSack
  • CSNP (完整序列号的PDU):相当于OSPF中的DBD报文

以上4种报文存在L1和L2两种,另在MA网络使用了专门的Hello包

           PSNP              CSNP
广播型:    LSR               DBD,默认由DIS周期10s发送
点到点:    LSack             DBD,邻接关系建立发送一次

ISIS的接口网络类型

1.广播型:以太网,为避免重复LSP更新,存在DIS的角色,类似OSPF中的DR,没有BDR,在广播网络中非DIS间虽然建立了邻接关系,但不交换LSP
2.点到点
注:在ISIS中不存在NBMA概念,使用点到点工作

DIS选举规则

  • 优先级高,默认64,大优
  • 接口MAC大
[R2]display isis interface g0/0/0    查看接口是否为DIS
[R2]display isis interface g0/0/0 verbose   详细查看

在这里插入图片描述

[R2]interface g0/0/0
[R2-GigabitEthernet0/0/0]isis dis-priority 77

ISIS的路由泄露

默认L1-2路由器仅向同一区域的L1路由器发送一条缺省,若希望L1-2路由器在发送缺省路由的基础上在发送部分部分明细路由,那么需要该路由器将L2数据库中的部分路由泄露到L1数据库中来

第一步:使用前缀列表或acl抓取网络号
[R1]acl 2000
[R1-acl-basic-2000]rule permit source 7.7.7.7 0.0.0.0    使用acl抓取
[R1]ip ip-prefix aa permit 9.9.9.9 32   使用前缀列表抓取

第二步:在isis进程中导入路由策略
[R1]isis 1
[R1-isis-1]import-route isis level-2 into level-1 filter-policy 2000        导入acl
[R1-isis-1]import-route isis level-2 into level-1 filter-policy ip-prefix aa  导入前缀列表

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-17 10:44:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-17 10:44:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-17 10:44:01       82 阅读
  4. Python语言-面向对象

    2024-01-17 10:44:01       91 阅读

热门阅读

  1. 讲解机器学习中的 K-均值聚类算法及其优缺点

    2024-01-17 10:44:01       52 阅读
  2. slint1.32 官方文档翻译00

    2024-01-17 10:44:01       57 阅读
  3. C#: 结构体 struct 应用笔记

    2024-01-17 10:44:01       59 阅读
  4. 力扣labuladong——一刷day92

    2024-01-17 10:44:01       47 阅读
  5. 开发安全之:Cross-Site Scripting (XSS) 漏洞

    2024-01-17 10:44:01       49 阅读
  6. python实现屏幕颜色获取

    2024-01-17 10:44:01       59 阅读
  7. Jupyter Notebook之移除anaconda环境

    2024-01-17 10:44:01       55 阅读