IS-IS协议

一、ISIS历史起源

OSPF协议的缺点
  • OSPF初次运行时,泛洪LSA,会造成网络震荡,设备开销过大
  • 骨干区域和边界路由器(ABR)等路由器性能消耗过大
  • OSPF扩展性差
  • OSPF的承载大量路由条目的能力较差(LSA信息大)

1.早期IS-IS是基于OSI七层模型的CLNP协议开发,为了支持IP网络,设计了集成化的IS-IS

2.集成化IS-IS是基于数据链路层的,同时支持多种上层网络协议(IPv4、IPv6、CLNP)

二、应用场景

ISIS现应用于大型网络或者运营商网络

OSPF现应用于中大型网络或者企业网络、园区网络等场景

ISIS的简便性和扩展性强

  • 扩展性强是因为ISIS协议报文基于TLV结构(Type+Length+Value)

1.园区网:

  • OSPF协议

    • 收敛速度快
    • 丰富的网络类型支持多样化的业务
    • 采用层次化架构组网设备性能差异较大
  • 使用设备:三层交换机+路由器+防火墙

2.骨干网:

  • IS-IS协议

    • 收敛速度快
    • 承载能力强
    • 采用扁平化架构组网,设备性能差异不大
  • 使用设备:路由器(基本都是)

SPF

  1. FULL-SPF算法:设备一开始还原拓扑时执行
  2. I-SPF(增量)算法:但设备结点发生变化时执行
  3. PRC(部分路由计算)算法:但设备的叶子信息发生变化时执行,IS-IS对于PRC的算法支持更好(支持了路由的拓扑的分离,而OSPF不支持)

三、IS-IS工作流程

1.建立邻居关系

  • IS-IS只存在邻居关系,没有邻接关系
  • 存在两种邻居关系
    • L2邻居关系
    • L1邻居关系

2.同步数据库

  • 数据库存放LSP(Link State PDU:链路状态协议单元)(类似OSPF的LSA)
  • 不同网络类型数据库同步过程不一样

3.执行SPF算法

4.计算最优路由放入路由表

四、地址结构

ISIS使用NSAP地址通信,初期是为了承载OSI系统的CLNP协议的shiy通信,为了适应TCP/IP协议栈,修改了NSAP地址的内容(变为NET地址),使得可以承载在IP协议之上工作

ISIS在TCP/IP协议栈下采用NET地址,NET地址是一个特殊的NSAP(NSAP地址中 字段SEL=00,为NET地址)

1.NSAP地址时OSI协议栈中网络层使用的地址

2.IS-IS利用特殊的NSAP地址来表示 区域ID+系统ID

3.NSAP = IDP(网络位) + DSP(主机位)

  • IDP = AFI + IDI
  • DSP = High Order DSP + System ID + SEL
    • High Order DSP:可扩展字段,可以用来支持IPv6地址

4.IS-IS采用NET地址(特殊的NSAP)地址:

  • area ID + System ID + SEL
  • area ID:1~13B
  • system ID:6B
    • 唯一标识一台IS-IS路由器
    • 每台设备只能有一个(类似router-id)
  • SEL:1B

system ID长度固定,area ID长度可变

5.配置IS-IS的NET地址:

  • 49.0001.0000.0000.0001.00

    • area id:49.0001
    • system id:0000.0000.0001
    • SEL:00(表示支持IP网络)

五、路由器类型

1.Level-1路由器

  • 只创建L1区域的数据库
  • 只能于L1和L1-2设备建立邻居关系
  • 只有L1区域的明细路由

2.Level-2路由器

  • 只创建L2区域的数据库

  • 只能与L2和L1-2设备建立邻居关系

  • 拥有所有区域的明细路由

3.Level-1-2路由器(默认类型)

类似OSPF的ABR设备

  • 创建L1和L2数据库
  • 可以和所有设备类型建立邻居关系
  • 拥有所有区域的明细路由
  • 会将L1区域的路由自动填充到L2区域中

六、区域划分

IS-IS基于路由器进行划分区域

1.骨干区域(level 2区域)

  • 由L2设备和L1-2设备组成
  • 拥有所有区域的明细路由
  • 区域ID可以不一致

2.非骨干区域(level 1区域)

  • 由L1设备和L1-2设备组成
  • 拥有自身区域的明细路由
  • 通过指向L1-2设备的默认路由进行访问
  • 区域ID必须一致

如果出现骨干区域被分割,没有修复方案

七、IS-IS的配置

基本配置

//isis进程下配置:
isis 1      //激活isis进程
network-entity 49.0001.0000.0000.0001.00    //指定区域ID+系统ID
is-level level x(1/2)       //设置路由器类型
//接口下配置
interface g0/0/0
isis enable 1       //宣告接口

检查命令

display ip routing-table     //检查路由表
display isis interface          //查看宣告进isis的接口
display isis lsdb       //检查数据库
display isis peer       //检查邻居关系

可选配置

interface g0/0/0
isis circuit-level level-1      //设置接口只发送L1报文
##接口视图下
isis dis-priority xxx(1-127)    //配置端口DIS优先级
isis cost 20        //直接修改接口开销
isis circuit-type P2P       //修改接口网络类型为P2P
##isis进程下配置
import-route ospf/direct/static...  //引入外部路由
auto-cost enable    //修改开销计算方式为自动计算

八、网络类型

P2P网络

  • 底层链路为串行链路时,默认为P2P网络类型(不选举DIS)
  • 底层数据链路层为FR(帧中继网络,在该网络中,中心结点需要手动创建子接口),默认为P2P网络类型

MA网络

  • 底层链路为以太网链路时,默认为MA网络(E选举DIS)
##查看命令
display isis brief

网络类型不同,建立的邻居关系不同

P2P:支持2-way/3-way建立邻居关系,默认3-way

MA:只支持3-way建立邻居关系

九、DIS

  • 作用:

    • 在描述拓扑时,充当伪节点
    • 在MA网络类型下,进行数据库同步
  • 选举规则:

    • 先比较优先级(范围0~127,默认64,越大越优优先级为0正常参与选举)
    • 优先级相同,再比较接口的MAC地址(越大越优)
  • 与OSPF DR的区别:

    • DIS选举完成后可以抢占,DR选举完成后不可被抢占

      • IS-IS只有邻居关系
    • 选举规则不一样:DR优先级为0不能参与选举,优先级范围不同
    • 没有备份机制:没有BDR
    • 选举时间不同:DIS为20s

circuit id:标识MA网络中的伪节点,格式DIS-system ID + 一个1byte的非00字段

十、IS-IS的报文

ISIS报文基于数据链路层

1.hello报文

  • 在不同网络类型下,发送不同的HELLO报文

    • P2P:P2P IIH报文
    • MA:
      • L1 LAN IIH报文(01-8-c2-00-00-14)
      • L2 LAN IIH报文(01-8-c2-00-00-15)
  • 作用:

    • 发现邻居(组播发送报文)
    • 用于建立邻居关系(协商参数)
    • 维护邻居(周期发送 10s发送一次,30s超时时间)
  • 修改网络类型

    interface g0/0/0
    isis circuit-type P2P       //修改接口网络类型为P2P
    
  • 影响邻居关系建立的因素

    1. 网络类型

      • P2P不选举DIS,MA选举DIS
    2. 路由器类型
      • L1和L2无法建立邻居关系,L1和L2建立邻居关系发送hello报文使用的组播不同
      • L1-2与L1-2可以建立邻居关系,L1-2使用两种组播地址发送hello报文
      • L1-2与L2或L1可以建立邻居关系
    3. 区域ID(level 1区域必须唯一)
    4. System id(必须唯一)
    5. 认证信息
    6. 最大区域数要一致
      • 一台设备可以配置多个area id(3个)
      • 用于平滑过度(在不影响数据传输和路由表条目的情况下,实现对网络拓扑的修改)
    7. MTU必须一致(报文中的PDU length体现)
      • MA网络每一份HELLO报文都会进行padding填充
      • P2P网络只填充一份
    8. MA网络中互联接口在同一网段,P2P中互联接口不需要在同一网段
      • hello报文中不携带掩码

hello报文的作用:发现、协商、维护ISIS的邻居关系

3*hello时间=holding time(类似OSPF dead time)

2.LSP报文

用于携带IS-IS的路由和拓扑信息

1.根据作用分类
  • 实节点LSP

    • 每台设备为每个区域产生一条
    • 描述设备自身的接口,邻居等链路状态信息
  • 伪节点LSP

    • 每个DIS设备为每个MA网络产生一条
    • 只携带MA网络的拓扑信息
2.根据传递范围分类
  • L2 LSP

    • 只在L2区域传递
    • 由L2、L1-2设备产生
  • L1 LSP
    • 只在L1区域传递
    • 由L1、L1-2设备产生

3.LSP ID是唯一标识一条LSP

  • system id + 伪节点标识符 + 分片标识符

    • 伪节点标识符为00----------- 实节点LSP
    • 伪节点标识符非00-----------伪节点LSP(只在广播链路存在

4.LSP的组成:头部+内容

  • LSP头部:

    1. LSP ID
    2. seq Num (0x0000001-0xFFFFFFFF 越大越优)
    3. checksum(越大越优)
    4. holdtime
      • LSP的生存时间1200s(1200s~0s)
      • 当时间经过900s后,会进行周期更新
    5. flag位
  • LSP内容

3.CSNP/PSNP报文

CSNP:完全序列号报文

  • 携带所有LSP头部(摘要)的信息
  • 作用:描述数据库

类似OSPF的DD报文

PSNP:部分序列号报文

  • 携带部分LSP头部的信息
  • 用于请求、确认收到LSP

类似OSPF的LSR,LS ACK报文

十一、邻居建立过程

  • P2P网络类型存在两次握手和三次握手建立邻居关系

    • 两次握手(2-way)

      • 收到对方的hello报文后,进入UP状态
      • 特点:快,可靠性不高,容易出现单通故障;

    • 三次握手(3-way)

      • 收到对方的hello报文,邻居列表包含自身的system id,则从init状态进入up状态

  • MA网络只存在三次握手建立邻居关系

    • 三次握手

      • 收到对方的hello报文,邻居列表包含自身接口的MAC地址
  • P2P默认为三次握手,可修改

    • interface s1/0/0
      isis ppp-negotiation 3-way only     //只支持三次握手机制(only:只支持)
      

为什么只有P2P的网络类型支持2-way?

  • 由底层的PPP协议提供一定的可靠性保障,而以太网协议不行

十二、数据库同步过程

1.P2P网络类型同步过程

1.设备交互CSNP报文描述数据库

2.比较自身数据库,如果发现缺少的LSP,则发送PSNP报文进行请求

3.根据PSNP报文携带的LSP头部信息,回应LSP报文

4.设备收到LSP报文后会回复PSNP报文进行确认

2.MA网络类型同步过程

1.MA网络下所有设备向外发送LSP

2.选举DIS设备,由DIS设备进行周期(10s)发送CSNP报文

3.设备收到CSNP报文,对比自身数据库

  • 发现自身缺少的LSP,发送PSNP请求,由DIS进行回应对应的LSP

  • 发现DIS设备缺少自身的LSP,则直接发送LSP报文给DIS设备

3.P2P和MA网络同步过程的区别

  • CSNP报文在P2P网络中只发送一次,在MA网络由DIS设备10s发送一次
  • MA网络没有确认机制,由DIS来保证数据库同步
  • P2P网络类型没有收到PSNP确认,会每5s重新传递LSP,直到收到PSNP确认为止

十三、路由计算

  • IS-IS计算开销时,基于接口计算开销:

  • 每个接口开销默认为10,可修改

  • 可以在进程下,修改开销的计算方式为自动计算;

    • 根据带宽计算

    • 需要每一台设备配置

      • 接口视图下配置
        interface g0/0/1
        isis cost 20        //直接修改接口开销
        
      • //isis进程下配置
        isis 1
        auto-cost enable    //修改开销计算方式为自动计算
        
  • IS-IS的路由优先级为15

  • IS-IS引入路由后,该路由开销值为64

十四、区域间路由

  • L1设备访问其他区域时,需要根据L1-2设备发送的ATT置位LSP产生的默认路由访问

    • 默认路由由L1设备自身产生(而不是L1-2设备发送默认路由给L1设备)
    • ATT置位的LSP,需要满足三个条件:
      • 设备类型为L1-2路由器
      • 存在L1的邻居关系和L2的邻居关系
      • 与L2的邻居区域ID必须
  • 路由渗透

    • 解决次优路径*(图)

    • 在L1-2设备上操作

    • isis 1
      import-route isis level-2 into level-1  //将level-2的路由渗透进level-1区域
      

十五、ISIS与OSPF的对比

ISIS协议原理-工作原理-配置-路由计算-与OSPF差异相关推荐

  1. FTP协议及工作原理详解

    FTP协议及工作原理详解 1. FTP协议 什么是FTP呢?FTP 是 TCP/IP 协议组中的协议之一,是英文File Transfer Protocol的缩写. 该协议是Internet文件传送的 ...

  2. 什么是HTTP协议及工作原理

    什么是HTTP协议及工作原理 1. 什么是HTTP协议 2. HTTP协议的工作原理 1. 什么是HTTP协议 HTTP(Hyper Text Transfer Protocol)即超文本传输协议.是 ...

  3. openflow协议的工作原理及流表的基本操作

    openflow协议的工作原理及流表的基本操作 1.openflow协议的工作原理 首先看一下python文件中的拓扑图,主机h1如果要与h3进行通信,h1向网络发送数据包,这里数据包发送给交换机s1 ...

  4. ARP协议以及RARP协议的工作原理

    ARP协议和RARP协议都是五层网络协议中的网络层协议. ARP(Address Resolution Protocol)地址解析协议:作用是将网络层IP地址转换为数据链路层MAC地址,即完成IP地址 ...

  5. Zookeeper-03-ZK的ZAB协议和工作原理

    文章目录 1:Zookeeper基本概念 1:Zookeeper是什么 2:Zookeeper能做什么 3:Zookeeper角色 2:Zookerper算法 1:paxos算法 2:ZAB协议 3: ...

  6. HTTPS协议及其工作原理

    一.什么是HTTPS HTTP 协议(HyperText Transfer Protocol,超文本传输协议)是客户端浏览器或其他程序与Web服务器之间的应用层通信协议 .HTTP协议传输的数据都是未 ...

  7. FTP协议及工作原理

    1. FTP协议 什么是FTP呢?FTP 是 TCP/IP 协议组中的协议之一,是英文File Transfer Protocol的缩写. 该协议是Internet文件传送的基础,它由一系列规格说明文 ...

  8. 下面哪个字段是http请求中必须具备的_HTTP协议及其工作原理介绍

    HTTP,全称 HyperText Transfer Protocol,即超文本传输协议.它是互联网应用最为广泛的一种网络协议,我们平时浏览网页的时候就是使用HTTP协议.比如当你在浏览器中输入www ...

  9. lorawan的工作原理_LoRaWAN协议的工作原理是怎样的

    考虑使用LoRaWAN部署您的物联网解决方案?倘若您正在开发用于工业或企业用途的专用网络解决方案,那么您需要了解此技术的一些限制(以及在许多情况下将为您提供更好服务的替代协议). 在本文中,我们将深入 ...

  10. 2022-11-06 网工进阶(三十五)IP组播协议--PIM-SM工作原理(组播分发树的形成、ASM、SSM)

    PIM-DM的局限性 中大型组播网络中由于网络较大,如果依然使用PIM-DM会遇到诸多问题: 1 使用"扩散-剪枝"方式需要全网扩散组播报文,对于网络有一定冲击. 2 所有组播路由 ...

最新文章

  1. sqlserver 替换字符串中的数字_VBA实用小程序60: 替换图表SERIES公式中的字符串...
  2. TensorFlow2简单入门-图像加载及预处理
  3. 如何使用ABAP Restful API进行代码的全文搜索
  4. Linux 多线程(二)线程安全:线程安全、互斥与互斥锁、死锁、同步与条件变量
  5. 给Angular应用增添搜索Search功能
  6. img超出div width时, jQuery动态改变图片显示大小
  7. c++ 二维矩阵 转vector_Python线性代数学习笔记——矩阵的基本运算和基本性质,实现矩阵的基本运算...
  8. aspen怎么做灵敏度分析_不会敲代码怎么做智能分析?用奥威商业智能BI
  9. textcnn文本词向量_文本分类模型之TextCNN
  10. java arraylist 初始化_一不小心就让Java开发踩坑的fail-fast是个什么鬼?
  11. android禁用应用组件,Android彻底退出(关闭)应用程序.docx
  12. 丁磊斩获400亿市值IPO,终于有钱买周杰伦了
  13. Outlook替代Hotmail:社交很重要,但邮箱是根本
  14. MVC3的新特性介绍
  15. 【图像融合】基于matlab IHS图像融合【含Matlab源码 724期】
  16. java泛型为伪泛型,什么,JAVA的泛型是伪泛型
  17. 台式计算机不用鼠标怎么关机,没有鼠标怎么关机
  18. 海康威视、python环境下onvif安装,多通道摄像头获取rtsp视频流
  19. echo和narcissus寓意_【故事】三毛的英文名Echo,有什么含义?
  20. Unable to open shape_predictor_68_face_landmarks.dat

热门文章

  1. 【SW】利用3D打印机打印 PCB 钢网的方法
  2. python生成三维点云包围盒
  3. opnet中SOCKET接口开发
  4. 思科产品手册_品牌和CIS在中国的历史(六):附下载世界帆船协会品牌管理手册...
  5. opencms的安装
  6. 百度图像识别明星或动物
  7. linux查看数据库实例名端口号,查看数据库tns配置
  8. Wilcoxon符号秩检验及其matlab代码
  9. python matrix用法_详解使用python绘制混淆矩阵(confusion_matrix)
  10. Flash游戏开发技术分析(下)