ISIS协议

参考:

ISIS协议详解

华为-ISIS路由协议(原理+配置实操)

quagga手册 ISIS协议部分根据:RFC1195、RFC5308、ISO10589

协议-ISIS基础知识

ISIS基础知识——很详细

原理

IS-IS是一种链路状态路由协议,每一台路由器都会生成一个LSP,它是该路由器所有使能IS-IS协议接口的链路状态信息的集合。

  • 通过跟相邻设备建立IS-IS邻接关系,互相更新本地的LSDB,使LSDB与整个IS-IS网络其他设备的LSDB同步,
  • 然后根据LSDB运用SPF算法计算出IS-IS路由。如果此IS-IS路由是到目的地址的最优路由,则此路由会记录到IP路由表中,并指导报文的转发。

ISIS是ISO定义的OSI协议栈中**无连接网络服务CLNS(Connectionless Network Service)**的一部分,用于动态路由数据包。

CLNS由以下三个协议构成:

  • CLNP:类似TCP/IP中的IP协议。IP协议为TCP/IP传输层服务。CLNP为OSI传输层服务。
  • ISIS:中间系统的路由协议,类似于IP中的OSPF
  • ES-IS:主机系统与中间系统间的协议,就像IP中的ARP,ICMP等。

ISIS是封装在二层中的,这点与IP中的协议是不同的。IS-IS是在链路层上直接封装的路由协议,基于CLNS 构架,有节点概念 & 无接口概念,

拓扑结构与路由器类型

拓扑结构

  • IS-IS在自治系统内采用骨干区域与非骨干区域两级的分层结构。
  • 一般来说
    • Level-1路由器部署在非骨干区域
    • Level-2路由器部署在骨干区域
    • 每一个非骨干区域都通过Level-1-2路由器与骨干区域相连
  • IS-IS 的一个路由器的所有接口肯定在同一个区域

路由器类型

Level-1路由器

  • 负责区域内的路由
  • 只与属于同一区域的Level-1和Level-1-2路由器形成邻居关系
  • 属于不同区域的Level-1路由器不能形成邻居关系
  • 只负责维护Level-1的链路状态数据库LSDB(本区域的路由信息)
  • 到本区域外的报文转发给最近的Level-1-2路由器

Level-2路由器

  • 负责区域间的路由
  • 可以与同一或者不同区域的Level-2路由器或者其它区域的Level-1-2路由器形成邻居关系
  • Level-2路由器维护一个Level-2的LSDB(包含区域间的路由信息)
  • 所有Level-2级别(即形成Level-2邻居关系)的路由器组成路由域的骨干网,负责在不同区域间通信
  • 路由域中Level-2级别的路由器必须是物理连续的,以保证骨干网的连续性
  • Level-2级别的路由器才能直接与区域外的路由器交换数据报文

Level-1-2路由器

  • 同时属于Level-1和Level-2的路由器
  • 可以与同一区域的Level-1和Level-1-2路由器形成Level-1邻居关系,也可以与其他区域的Level-2和Level-1-2路由器形成Level-2的邻居关系
  • Level-1路由器必须通过Level-1-2路由器才能连接至其他区域
  • Level-1-2路由器维护两个LSDB,Level-1的LSDB用于区域内路由,Level-2的LSDB用于区域间路由

九种报文

  • Hello:用于建立和维持邻居关系,也称为IIH(IS-to-IS Hello PDUs)

    • Broadcast L1-Hello 用于建立Level-1 的邻居关系
    • Broadcast L2-Hello 用于建立Level-2 的邻居关系
    • P2P Hello:点到点网络的hello报文
  • LSP:(链路状态PDU)类似于OSPF的LSU(Link-state update),分为Level-1、Level-2,用于交换链路状态信息,触发更新或 15分钟周期更新
  • CSNP(完全序列号数据包)类似于OSPF的DD(Database Description Packets)报文,分为Level-1、Level-2,包括LSDB中所有LSP的摘要信息,从而可以在相邻路由器间保持LSDB的同步。
  • PSNP(部分序列号数据包)类似于OSPF的LSRequest或LSAck报文,分为Level-1、Level-2

邻居关系建立

网络类型

  • 广播网络
  • 点到点网络:
    • 2Way是属于两次握手,没有可靠性保证。只要收到邻接发送的IIH报文,并检测通过,维护邻居的状态为UP状态。
    • 3Way是属于三次握手,在点到点网络中使用3way的方式保证邻接建立的可靠性。

建立条件:

只有同一层次的相邻路由器才有可能成为邻居。

对于Level-1路由器来说,区域号必须一致。

链路两端IS-IS接口的网络类型必须一致。

链路两端IS-IS接口的地址必须处于同一网段

ISIS邻居路由器的类型对形成邻接类型的规则

参考:

ISIS邻居路由器的类型对形成邻接类型的规则

形成邻接关系的规则:

  • Level-1 和 Level-2 路由器 一定不能形成邻居关系
  • Level-1或level-1-2的邻居是Level-2路由器 不管Area ID是否相同都能形成Level-2邻接关系
  • Level-1或level-1-2的邻居是Level-1路由器 只有Area ID相同才能形成Level-1邻接关系
  • 两台Level-1-2路由器之间 Area ID相同则为Level-1邻接;不同则为Level-2邻接关系

DIS(Designated Intermediate System)

广播网络中,IS-IS需要在所有的路由器中选举一个路由器作为DIS,在邻居关系建立后,路由器会等待两个Hello报文间隔,再进行DIS的选举。——类似于OSPF的DR,但没有BDR即备份的DIS。

作用:

  • 周期性10s发送CSNP报文,CSNP相当于DBD 接收PSNP请求,回复LSP应答(同时担当ACK确认)
  • 创建和更新伪节点(Pseudonodes)
  • 负责生成伪节点的LSP(Link state Protocol Data Unit),用来描述这个网络上有哪些网络设备。

hold time

用于设置邻居在收到 hello 数据包后认为此路由器可运行(启动)的时间长度。如果邻居在指定时间内没有收到另一个 hello 数据包,它会将此路由设备标记为不工作(关闭)。保持时间本身在 hello 数据包中公布。

在测试收敛时,如果停止某个容器,会导致对端的veth-pair也被删除,这对运行isis的容器似乎有较大影响:

  • isis都需要接口信息,配置再zebra和isis配置文件中,如果本机的接口也被删除,是不是不符合实际?

LSP交互

广播网络:

需要借助DIS

  • 所有设备:向组播地址通告自己的LSP
  • **DIS:**收集LSP,并每隔10s发送一次CSNP。其中,CSNP报文中通告DIS设备中LSDB中所有LSP的摘要信息
  • 其他设备:收到DIS的CSNP报文后:
    • 查看在CNSP报文中是否包含自己的LSP,如果包含,说明DIS收到了自己发送的LSP;如果没有需要重传
    • 将CSNP中的摘要信息和本地的LSDB做对比,查看本地去缺少哪些LSP,后续通过PSNP报文向DIS请求自己缺少的LSP
  • DIS:收到PSNP报文后回复PSNP报文中请求的LSP

点对点网络:

  • 首先建立邻接关系。
  • 开始互相发送CSNP,在CSNP报文中包含本地LSBD中所有LSP的摘要信息。
  • 收到邻居发送的CSNP报文,需要将CSNP报文中的LSP摘要信息和自己的LSDB做对比,查看缺少的LSP,并通过PSNP报文请求缺少的LSP。
  • 收到PSNP请求后,回复LSP报文。
  • 收到LSP报文后回复PSNP确认接收到的LSP。

NET地址

概述

运行 IS-IS 协议的路由器必须有一个被称为 NET (Network Entity Title)的网络地址,NET 也称为网络实体名,可唯一标识一台路由器,长度为 8 至 20 字节,是可变长的,采用 16 进制写法,两位代表一个字节。

从下图可以看出:

  • area id是变长的,1-13字节,L2路由选择需要
  • system id是固定长度,6字节,L1路由选择需要
  • NET中的SEL总是为00

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0bZe2vdm-1629967347759)(images/ISIS协议.assets/image-20210806211949069.png)]

NET地址的分配规则

Area ID

  • 同一区域中所有节点的区域ID必须相同

System ID

  • 同一路由选择域中所有节点的系统ID长度必须相同
  • L2 IS的系统ID必须在路由选择域范围内唯一
  • L1 IS的系统ID必须在区域范围内唯一
  • 同一路由器上的多个NET的系统ID必须相同(似乎一个路由器可以最多配置3个NET)

配置NET地址的方法

一台路由器使用接口Loopback0的IP地址1.1.1.1作为Router ID,那么SystemID可以进行如下转换:

1、配置System ID

  • 补足3位:将IP地址1.1.1.1的每一部分都扩展为3位,不足3位的在前面补0:001.001.001.001
  • 4位分割:将扩展后的地址001.001.001.001重新划分为3部分,每部分由4位数字组成,得到的0010.0100.1001就是System ID

2、配置Area ID

  • 这台路由器属于area 1区域,则区域号设置为49.0001

3、拼凑NET地址

  • 由于NET的SEL总是00
  • 这台路由器的NET地址为:49.0001. 0010.0100.1001. 00

4、根据杨宁老师的PPT,可以设置为最简单的8字节区域ID(一个字节的area id也够用)加系统ID格式:

  • 如:49. 0010.0100.1001. 00
  • 但又有文献说49是固定格式,可以尝试一下

ISIS和OSPF的相同点和区别

相同点

  • 链路状态数据库和基于Dijkstra的SPF算法
  • 使用Hello报文形成和维护邻接关系
  • 使用区域构成层次化的拓扑结构
  • 支持区域间的路由汇总
  • 无类别路由选择
  • 在广播型多址网络上选取DR
  • 更新、决定和泛洪处理
  • 收敛能力

区域区别

IS-IS区域

  • 没有专门的骨干区域,由L2和L1/L2路由器连接形成IS-IS骨干,可穿越多个区域
  • 区域边界在链路上(一个路由器只属于一个域)
  • 一台IS-IS路由器属于一个区域

OSPF区域

  • 所有非骨干区域连接在一个中心的骨干区域(area0)上
  • 区域边界在路由器上(一个路由器可能同时属于多个域,看接口划分域)
  • 一条链路属于一个区域

其他区别

IS-IS

  • LS信息:LSP,一个分组
  • 每个区域可支持到1000台路由器
  • 只定义2种网络类型:广播型、点到点(非广播型)
  • ISIS的DR(DIS)选取不同于OSPF——只选取DR,不选取BDR

OSPF

  • LS信息:LSA,多种类型,封装在LSU分组中
  • 每个区域可支持到50台路由器
  • 定义4种网络类型:广播型、点到点、NBMA、点到多点

IS-IS路由渗透

作用:

Level 1-2 和 Level-2 路由将自己知道的其他 Level-1 区域以及 Level-2 区域的路由信息通报给指定的 Level-1 区域的过程,需要手动配置

原理:

缺省情况下,level-1-2和level-2路由器并不会将自己知道的路由域中其他level-1区域以及骨干区域的路由信息通报给level-1区域。于是,level-1路由器只能通过自动生成缺省路由来访问区域以外的任何目的地,类似ospf的Totally Stub区域。但缺省路由未必最优,因此需要让level-1知道其他外部区域的路由信息。

这种情况下需要手动配置路由渗透。

import-route isis level-2 into level-1  //在level-1-2路由器上配置

其他细节:

控制Level-1设备是否生成缺省路由:

IS-IS协议规定,如果IS-IS Level-1-2设备根据链路状态数据库判断到通过Level-2区域比Level-1区域能够到达更多的区域,该设备(level-1-2)会在所发布的Level-1 LSP内将ATT比特位置位。对于收到ATT比特位置位的LSP报文的Level-1设备,会生成一条目的地为发送该LSP的Level-1-2设备的缺省路由。

Quagga ISIS配置

一个简单的例子可以参考quagga.pdf P62。

quagga与思科的配置差异

router isis (ISIS进程名配置)

  • 作用:配置ISIS进程名,也是指定area的tagip router isis命令也使用该名字

  • 用法:router isis + process_name

  • 在思科配置中,router isis不需要加进程名字,而在quagga中必须使用router isis WORD的形式指定ISIS 进程的名字。而这个进程的名字将被激活ISIS接口命令使用(ip router isis WORD)。

ip address 和 ip router isis WORD

都需要用到interface命令,与接口配置有关。

1、ip address

  • 作用:获取接口信息,是针对接口的配置,在zebra.conf中配置
  • 用法:ip address ip_address/prefix

2、ip router isis

  • 作用:用于在该接口上激活ISIS邻接关系,在isisd.conf中配置
  • 用法:ip router isis + process_name

3、ip address和ip router isis应该要一起使用

需要注意一点,在思科路由器配置里:

  • ①接口信息(ip address address/prefix命令)是与②在接口上激活ISIS邻接关系(ip router isis WORD)命令是放在一起的。
# 对思科路由器配置
!
interface eth0ip address 10.1.255.5 255.255.255.252ip router isis

然而,在quagga中,需要在zebra中填写①接口信息,而在isisd中②激活ISIS邻接关系

此外:

  • ip router isis 还需要写明该ISIS进程的名字,如下图的“r1”,而在思科配置中没有;
  • ip address 只能用斜线标记法
  • 用法:
# 对quagga
# zebra.conf中
!
interface eth0ip address 10.1.255.5/30 # 注意用“斜线标记法”,需要写网络前缀所占位数
# isisd.conf中
interface eth0ip router isis r1 #

其他配置

router配置

net(NET配置)
  • 作用:配置路由器net地址
  • 用法:net XX.XXXX. ... .XXX.XX
is-type(路由器类型配置)
  • 作用:配置路由器类型
  • 用法:is-type [level-1 | level-1-2 | level-2-only]
  • 默认情况下都是level-1-2
router isis r1net 01.0001.0000.0001.00is-type level-1

接口配置

isis circuit-type(接口类型)
  • 作用:配置接口邻接关系的类型
  • 用法:isis circuit-type [level-1 | level-1-2 | level-2]
isis network point-to-point(网络类型)
  • 作用:配置网络类型
  • 用法:isis network point-to-point
  • 默认是广播网络

ISIS协议与Quagga ISIS配置相关推荐

  1. 华为配置动态路由ISIS协议

    华为配置动态路由ISIS协议 一.路由基础知识 二.路由器配置接口IP地址 (一)配置R1.R2.R3网络 (二)配置R1.R2.R3环回网络接口 (三)测试直连网络 三.启动进程号,配置实体名称 ( ...

  2. 路由协议 --- IS-IS协议

    IS-IS协议 历史起源 IS-IS(Intermediate System to Intermediate System)最初是国际标准化组织ISO(the International Organi ...

  3. HCNP学习笔记-路由交换网络(2)-IS-IS协议原理及配置

    一.IS-IS协议简单介绍 和OSPF一样,IS-IS也是一种基于链路状态并使用最短路径优先算法进行路由计算的一种IGP协议.IS-IS最初是国际化标准组织ISO为它的无线接网络协议CLNP设计的一种 ...

  4. IS-IS协议分析与配置

    本文简要分析IS-IS协议的原理和应用,利用GNS3仿真器搭建环境,对IS-IS协议进行实验配置,供学习记录.GNS3仿真环境中运行的是Cisco IOS镜像,比CPT更加接近真实环境,而且CPT也不 ...

  5. IS-IS协议原理和配置 与OSPF

    真正的成功没有捷径可走. 文章目录 一.拓扑 二.基础配置 三.观察与分析 四.原理 五.IS-IS与OSPF LSP 用于描述携带LSA信息:LSP(link state PDU) L1 LSP 描 ...

  6. 华为 中间系统IS-IS协议基础配置

    文章目录 一.拓扑 二.测试连通性 三.DIS 和ospf路由协议一样,IS-IS也是一个应用非常广泛的IGP路由协议,很多ISP网络,特别是大型的ISP网络都部署了IS-IS路由协议.通常情况下所说 ...

  7. 华三 h3c isis协议综合配置

    R1的配置 [R1-GigabitEthernet0/0]ip address 172.16.3.254 24 [R1-GigabitEthernet0/1]ip address 172.16.1.1 ...

  8. 网工路由基础(5)ISIS协议

    IS-IS是国际标准化组织ISO为它的无连接网络协议CLNP设计的一种动态路由协议. 随着TCP/IP协议的流行,为了提供对IP路由的支持,IETF(Internet Engineering Task ...

  9. isis协议_ISIS与OSPF之间有什么差异?

    近几年,IS-IS在网络中开始得到规模的应用,但OSPF在全球范围的应用更多.ISIS协议的日益流行使其备受关注,从根本上讲ISIS和OSPF从基本功能与操作上都是如此的相似,以至于很难说使用其中一个 ...

  10. ISIS协议和代码分析

    ISIS与OSPF相似,内核算法基于SPF ISIS可扩展性良好,源于其报文的TLV定义 ISIS层次划分清晰,L1,L2对路由的获取层级不同. ISIS协议部分DR选举较OSPF确定. quagga ...

最新文章

  1. 扫地机器人评测 毛发_会切毛发的机器人?海尔扫地机P70抢先评测
  2. 快手,字节面试题,将IP地址转换成整数类型,再转换回来。C++代码
  3. 进行xlsx 复制一行_利用Phyton对Excel数据进行查错
  4. 如何修改新浪微博对其他应用的授权
  5. wpf page 界面渲染完成后执行自动操作_Vue项目骨架屏自动生成方案(dps)
  6. 在分析了47,251个依赖关系之后,2016年排名前100的Java库
  7. composer 依赖包版本冲突_composer快速入门教程
  8. 【Flink】使用Flink实现索引数据到Elasticsearch
  9. 从IBM SCE+落地中国看IDC的转型
  10. 【网络安全】从零开始的CTF生活
  11. Arcgis Javascript API 开发笔记
  12. 手游方舟重启维护服务器要多久,方舟生存进化手游日常维护多久
  13. noi2018还没想好记
  14. java有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
  15. 云讯健身管理系统-9
  16. Western blot 技术
  17. 智能产品如何“智能”?开发者总结五大经验
  18. 路由器至游戏服务器稳定性,如何改善路由器到游戏服务器的
  19. Paintbrush for mac(绘图工具)
  20. 优信拍集团php面试题_【优信拍怎么样?】-看准网

热门文章

  1. zblog插件全自动采集伪原创发布插件免费
  2. 宝峰uv5r保存信道频率_宝峰UV-5R上中继台的信道存储设置方法
  3. IIS无法启动问题的解决
  4. 51单片机学习制作定时闹钟及《花海》演奏
  5. 2020神舟几号发射_今年将发射神舟十一号载人飞船 2020年将建成载人空间站
  6. gabor matlab pudn,matlab-Face-recognition 基于Gabor特征提取和人工智能的人脸检测系统 271万源代码下载- www.pudn.com...
  7. Python给指定QQ好友自动发送信息和图片
  8. 如何进行MDM的产品测试
  9. Windows Media Player 播放.WMV文件破解许可证
  10. MySQL下载与安装