ISIS基础知识及配置

  • ISIS原理描述
    • 场景应用
    • 路由计算过程
    • 地址结构
    • 路由器分类
    • 路由器特点
    • 邻居建立过程
    • DIS及DIS与DR的类比
    • 链路状态信息的载体
    • 链路状态信息的交互
  • 与OSPF的区别
  • 基本配置

ISIS原理描述

场景应用

园区网的特点:区域多样、策略多变、调度精细
骨干网的特点:区域扁平、收敛极快、承载庞大

IS-IS属于内部网关协议,用于自治系统内部。IS-IS是一种链路状态协议,使用最短路径优先算法进行路由计算,ISIS一般适用于骨干网。

路由计算过程

建立邻居关系->同步LSDB数据库->执行SPF路由计算(和OSPF细节有一定的差异)

邻居关系建立:邻居关系建立主要是通过HELLO包交互并协商各种参数,包括电路类型(level-1/level-2),Hold time,网络类型,支持协议,区域号,系统ID,PDU长度,接口IP等。
链路信息交换:与OSPF不同,ISIS交互链路状态的基本载体不是LSA(link state advertisement),而是LSP(link state PDU);交互的过程没有OSPF协议那样经历了多个阶段,主要是通过CSNP和PSNP两种协议报文来同步,请求以及确认链路状态信息(承载的是链路状态信息摘要),而链路状态信息的详细拓扑和路由信息是由LSP报文传递。
路由计算:SPF计算和OSPF基本一样的,但ISIS算法分离了拓扑结构和IP网段,加快了网络收敛速度。

地址结构

IDP相当于IP地址中的主网络号。它是由ISO规定,并由AFI与IDI两部分组成。AFI表示地址分配机构和地址格式,IDI用来标识域。
DSP相当于IP地址中的子网号和主机地址。它由High Order DSP、System ID和SEL三个部分组成。High Order DSP用来分割区域,System ID用来区分主机,SEL用来指示服务类型。
Area ID由IDP和DSP中的High Order DSP组成,既能够标识路由域,也能够标识路由域中的区域。因此,它们一起被称为区域地址,相当于OSPF中的区域编号。
System ID用来在区域内唯一标识主机或路由器。在设备的实现中,它的长度固定为48bit(6字节)。
SEL的作用类似IP中的“协议标识符”,不同的传输协议对应不同的SEL。在IP上SEL均为00。
NET:网络实体名称NET指的是设备本身的网络层信息,可以看作是一类特殊的NSAP(SEL=00),NET的长度与NSAP的相同,最多为20个字节,最少为8个字节。在路由器上配置IS-IS时,只需要考虑NET即可,NSAP可不必去关注。

路由器分类

ISIS路由器的三种类型:
Level-1路由器(只能创建level-1的LSDB)
Level-2路由器(只能创建level-2的LSDB)
Level-1-2路由器(默认类型,能同时创建level-1 和level-2的LSDnB)

Level-1:只能与属于同一区域的Level-1和Level-1-2路由器形成邻居关系,只负责维护Level-1的链路状态数据库,该LSDB包含本区域内的路由信息,到本区域外的报文转发给最近的Level-1-2路由器。Level-1路由器只可能建立Level-1的邻接关系。
Level-2:level-2路由器负责区域间的路由,它可以与相同或者不同区域的Level-2路由器或者不同区域的Level-1-2路由器形成邻居关系。Level-2路由器维护一个Level-2的LSDB,该LSDB包含区域间的路由信息。Level-2路由器只可能建立Level-2的邻接关系。
Level-1-2:同时属于Level-1和Level-2的路由器称为Level-1-2路由器。Level-1-2路由器维护两个LSDB,Level-1的LSDB用于区域内路由,Level-2的LSDB用于区域间路由。
Level-1-2路由器可以与同一区域的Level-1形成Level-1邻居关系,也可以与其他区域的Level-2和Level-1-2路由器形成Level-2的邻居关系。

不同区域间,只能建立Level-2的邻接关系的是什么情况下呢?
答:level-2与level-2;level-1-2与level-2;level-1-2与level-1-2

路由器特点

Level-1:

只拥有Level-1的链路状态数据库。
其链路状态数据库中只有本区域路由器LSP。
其路由表里没有其他区域的路由信息。
其路由表里都有一条默认路由,下一跳是指向到Level-1-2路由器。

Level-2:

Level-2路由器只有Level-2的链路状态数据库。
其LSDB中有骨干区域路由器的LSP,但是没有Level-1路由器产生的LSP。
路由表里面有整个网络的路由信息。

Level-1-2:

Level-1-2路由器同时拥有Level-2和Level-1的链路状态数据库。
Level-1数据库包含本区域的LSP,Level-2数据库包含骨干区域LSP。
在自己产生的Level-1的LSP中设置了ATT比特位为1。
路由表里面有整个网络的路由信息

邻居建立过程

ISIS目前只支持点对点(P2P)和广播(Broadcast)网络类型

HELLO PDU:
HELLO报文的作用是邻居发现,协商参数并建立邻居关系,后期充当保活报文。
IS-IS建立邻居关系和OSPF一样,通过hello报文的交互来完成。但是会根据场景分为三种类型的hello报文。
广播网中的Level-1 IS-IS使用Level-1 LAN IIH(Level-1 LAN IS-IS Hello),目的组播MAC为:0180-c200-0014。
广播网中的Level-2 IS-IS使用Level-2 LAN IIH(Level-2 LAN IS-IS Hello),目的组播MAC为:0180-c200-0015。
非广播网络中则使用P2P IIH(point to point IS-IS Hello)。但是其没有表示DIS(虚节点)的相关字段。
IIH报文需要通过填充字段用于邻居两端协商发送报文的大小。

广播链路下:

使用LAN IIH报文执行三次握手建立邻居关系。
当收到邻居发送的Hello PDU报文里面没有自己的system ID的时候,状态机进入initialized。
只有收到邻居发过来的Hello PDU有自己的system ID才会up,排除了链路单通的风险。
广播网络中邻居up后会选举DIS(虚节点),DIS的功能类似OSPF的DR(指定路由器)。

p2p链路下:

两次握手机制:两次握手只要路由器收到对端发来的Hello报文,就单方面宣布邻居为up状态,建立邻居关系,不过容易存在单通风险。
三次握手机制:通过三次发送P2P的IS-IS Hello PDU最终建立起邻居关系,与广播链路邻居关系的建立情况相同。

DIS及DIS与DR的类比

DIS与伪节点:

DIS是指指定中间系统(Designated IS)。
伪节点是指在广播网络中由DIS创建的虚拟路由器。

DIS特点:

在广播网络,需要选举DIS,所以在邻居关系建立后,路由器会等待两个Hello报文间隔再进行DIS的选举。Hello报文中包含Priority 字段,Priority值最大的将被选举为该广播网的DIS。若优先级相同,接口MAC地址较大的被选举为DIS。IS-IS中DIS发送Hello时间间隔默认为10/3秒,而其他非DIS路由器发送Hello间隔为10秒。

DIS的选举与DR的选举的不同点

选举时优选级的比较,DIS的优先级为0也可以参与选举。OSPF中优先级为0不参与选举DR。
选举的过程需要一定的时间,OSPF选举DR/BDR需要waiting time达40秒,过程也较为复杂,而ISIS选举DIS等待两个Hello报文间隔就可以,简单快捷。
选举结果ISIS只有一个DIS,但是OSPF除了有DR,还有一个BDR用做备份。
选举结束后,后期有新的Router加入到链路进来,如果优先级比DIS高是可抢占的,但是DR是不可抢占的。
选举完成后,ISIS网络链路内所有的路由器之间都建立的是邻接关系。OSPF中DRothers只与DR/BDR形成full邻接关系, DRothers之间只有2-way的关系。
作用:进行SPF计算时,都把它当成虚节点,简化MA网络的逻辑拓扑(相同点)。
都是为了减少LSP/LSA的泛洪(相同点)。
在ISIS中还可以由DIS发送CSNP来同步链路的LSDB(ISIS扩展作用)。

链路状态信息的载体

LSP PDU——用于交换链路状态信息。
1.实节点LSP
2.伪节点LSP(只在广播链路存在)
LSP类似于OSPF的LSA,承载的是链路状态信息,包含了拓扑结构和网络号。
Level-1 LSP由Level-1 路由器传送。
Level-2 LSP由Level-2 路由器传送。
Level-1-2 路由器则可传送以上两种LSP。
LSP 报文中包含了两个重要字段是ATT字段、IS-Type字段。其中ATT字段用于标识该路由是L1/L2路由器发送的,IS-Type用来指明生成此LSP的IS-IS类型是Level-1还是Level-2 IS-IS。
LSP的刷新间隔为15分钟;老化时间为20分钟。但是一条LSP的老化除了要等待20分钟外,还要等待60秒的零老化时延;LSP重传时间为5秒。

SNP PDU——用于维护LSDB 的完整与同步,且为摘要信息。
1.CSNP(用于同步LSP)
2.PSNP(用于请求和确认LSP)
CSNP 类似于OSPF的DD报文传递的是LSDB里所有链路信息摘要。PSNP类似于OSPF的LSR或LSAck报文用于请求和确认部分链路信息。

链路状态信息的交互

与OSPF的区别


网络类型和开销方式

IS-IS协议只支持两种网络类型,且所有带宽默认开销值都是一样的,OSPF协议支持四种网络类型,且会根据不同的带宽设定相应的开销值,对帧中继,按需链路等网络类型有很好的支持。

区域类型

IS-IS协议分L1/L2区域,L2区域是骨干区域有全部明细路由。L1去往L2只有默认路由。OSPF协议分骨干区域,普通区域,特殊区域。普通区域和特殊区域跨区域访问需要经过骨干区域。

报文类型

IS-IS协议路由承载报文类型只有LSP报文且里面路由信息是不区分内部与外部的,简单高效,无需递归计算。OSPF协议路由承载报文LSA类型多样,有1/2/3/4/5/7类等。路由级别等级森严,且需要递归计算,适合精细化调度计算。

路由算法

ISIS协议区域内某个节点上的网段发生变化时,触发的是PRC算法,收敛比较快,计算路由的报文开销也比较小。OSPF协议由于网络地址参与了拓扑的构建,在区域内当网段地址改变触发的是i-spf算法,相对来说过程繁琐复杂些。

扩展性

ISIS协议任何路由信息都使用TLV传递,结构简单,易于扩展,如对IPv6的支持只增加2个TLV就解决了。且ISIS本身对IPX等协议是支持的。OSPF协议本身是为IP特定开发的,支持IPv4和IPv6的OSPF协议是两个独立的版本(OSPFv2和OSPFv3)。

基本配置

通过一个简单的实验来学习基本配置,首先理一下配置思路

如图所示,客户网络所有路由器路由协议要求启用IS-IS,使全网路由可达。全部IS-IS进程号统一为100,其中R1在Area49.0001区域为DIS,R4与R5之间要求采用P2P网络类型,R5引入环回口8.8.8.8和9.9.9.9,要求R1访问Area49.0002走最优路径。

区域内配置思路:

区域49.0001的业务配置:
每台router进入IS-IS进程100配置网络实体名称NET。
R1在ISIS进程下配置router的level级别为level-1。R2和R3默认为level-1-2不用修改。
R1,R2和R3在接口下启用ISIS协议。
R1的链路接口修改其DIS的优先级为最高,让其成为DIS。

区域49.0002的业务配置:
每台router进入进程100配置网络实体名称NET。
R4和R5在ISIS进程下配置router的level级别的level-2。
R4和R5在接口下启用ISIS协议。
R4和R5在接口修改网络类型为P2P。

区域间配置思路

区域间配置思路:
进入配level-1-2路由器R2,R3的ISIS进程配置好网络实体名称NET。
进入链路接口,启用ISIS协议。
进入路由器R5引入直连链路

路由渗透

如果一个level-1区域有两个以上Level-1-2路由器,则区域内Level-1路由器访问其他区域会选择最近的Level-1-2路由器,但是计算的开销值只计算本区域内的,如果最近的Level-1-2路由器在Level-2区域到达目的网络的开销相对比较大,实际会造成业务次优路径。在这种场景下需要做路由渗透操作,把Level-2区域的明细路由(包括开销)引入到Level-1区域,由Level-1路由器自行计算选择最优的路径访问跨区域网络。

本实例要求走最优的路径到达区域49.0002,由于R2连接R4的链路带宽相对比较大,作用最好让数据流走R2。可分别在R2和R3的ISIS进程下引入level-2的路由到level-1。由R1的LSDB里面掌握level-2所有的明细路由,就可以选择最优的路径到达区域49.0002。

配置命令:
R1

R2

R3

R4

R5

配置完成后,查看R1路由表中isis路由条目
dis ip routing-table protocol isis

ping全网路由,可达

抓一下R1-R5的路由走向,发现是从R2走的

实验完成,全网可达并且实现了业务需求

ISIS基础知识及配置命令相关推荐

  1. 协议-ISIS基础知识

    ISIS基础知识 作者:Danbo ISIS属于ISO协议簇 CONS(Connection Network Server)面向连接网络服务 CLNS(Connection Network Serve ...

  2. 【Java从0到架构师】Linux 基础知识、常用命令

    Linux 基础知识.常用命令 Linux 基础知识 内核和发行版 常见的 Linux 发行版 Linux 的应用领域 Linux 与 Windows 的区别 Linux 常用命令 *系统目录结构 s ...

  3. Redis基础知识+安装+常用命令使用

    Redis NoSql概述 为什么用NoSql 单机MySQL的时代! 上古90年代,更多的是静态网页,动态交互类型的网站不多.一个基本网站访问量一般不会太大,单个数据库可以轻松应付. 现如今的大数据 ...

  4. STM32 CubeMx教程 -- 基础知识及配置使用教程

    文章目录 前言 一.STM32CubeMx 界面介绍 File 界面 Windows 界面 Help 界面 Updater Settings 界面 二.STM32CubeMx 使用教程 新建工程 配置 ...

  5. Linux系统网络基础知识及配置

    一:DNS(domain name system)简介 DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而 ...

  6. L022-老男孩Linux高端运维课程-linux系统网络基础知识及配置实战精讲

    01001100:第2,5,6位为1对应的数是64,8,4.那么它对应的十进制数是64+8+4=76 224=11100000(二进制数)方法:224-128=96,96-64=32,32-32=0. ...

  7. Linux基础知识——常用shell命令介绍(一)

    一直都找借口,赶脚很忙的样子.最后还是花时间把作业完成了,实践证明,时间挤一挤还是有很多的,其实很多时间都被自己浪费掉了.好吧,有了同学们的看视频进度刺激,我也不得不给自己施加点压力.完成作业的同时也 ...

  8. Spring基础知识和配置

    Spring 框架两大核心机制(IoC.AOP) idea运行spring中遇到的问题参考 idea配置遇到的问题 IoC(控制反转)/ DI(依赖注入) AOP(面向切面编程) Spring 是一个 ...

  9. Git的基础知识和常用命令

    源代码的管理从最原始的手工备份到后来的CVS, SVN和GIT的应用,经历了一个漫长的过程.GIT大概是除了linux内核以外, Linus Torvalds对信息技术发展的另一重要贡献啦. GITH ...

最新文章

  1. one pragmatical sqlhelper
  2. 关于使用JAVA中JDK安装和在命令行中编译和运行程序的一些总结
  3. NLP领域近期有哪些值得读的开源论文?(附下载)
  4. keil3如何放大字体_keil3如何设置字体 keil字体放大快捷键
  5. 佛吉尼亚大学计算机世界排名,弗吉尼亚大学计算机世界排名
  6. Python中MD5加密字符串
  7. 向EXECL文件中导入数据的同时插入图片
  8. nubby mysql_Mysql索引 - osc_nubn2pd9的个人空间 - OSCHINA - 中文开源技术交流社区
  9. keepalived实现nginx的高可用(双主模型)
  10. Linux如何搭建服务器eb,Linux下CRMEB环境搭建
  11. vue 怎么全局到入常量_Vue 中如何定义全局的变量和常量(转)
  12. pyspark的ALS协同过滤推荐算法-小结1
  13. Java反射初探 ——“当类也学会照镜子”
  14. 关于hibernate插入数据时的乱码问题
  15. Ubuntu的版本号命名规则
  16. phpstudy安装教程 2020
  17. 纯css实现各种箭头图片效果
  18. 麻省理工学院公开课:算法导论
  19. 转://Oracle 11gR2 硬件导致重新添加节点
  20. 日晒、水洗、蜜处理?简单带你认识咖啡加工处理法

热门文章

  1. jpg怎么合成一份_如何将多张JPG图片合并成一个GIF?
  2. 游戏测试内存泄露相关方案
  3. 【转】Hadoop学习路线图
  4. AcWing 1145. 北极通讯网络 题解
  5. PAP认证和CHAP认证原理解析
  6. 圆角 border-radius
  7. esrally 如何进行简单的自定义性能测试?
  8. 已知三角形三边,如何使用Python计算三角形的面积
  9. 挂号信经过几次签收最终送达收件人?
  10. vue3.x 中使用 vant <van-image>图片不显示的问题