ISIS——基本概念1(邻居建立、LSDB同步、路由开销、报文封装、静默接口)

目录

IS-IS前世今生

IS-IS指的是什么

OSI模型与TCP/IP模型的网络层协议

IS-IS与OSPF比较

ISIS网络概念

IS-IS如何标识不同的网络设备

ISIS路由器的分类/角色

IS-IS网络类型

IS-IS工作过程

第一步 建立邻居关系

邻居建立Hello报文讲解

广播和P2P类型的邻居建立过程

ISIS邻居建立状态

第二步 同步LSDB数据库

LSDB同步SNP和LSP报文讲解

DIS介绍 

广播和P2P类型的LSDB同步过程 

第三步 进行SPF路由计算

ISIS报文封装

ISIS静默接口


IS-IS前世今生

IS-IS指的是什么

IS  指的是中间系统(路由器、运行了IS-IS协议的设备)

ES  指的是终端系统(PC、平板、打印机等)

IS-IS指的就是中间系统与中间系统进行路由信息的交换方式

OSI模型与TCP/IP模型的网络层协议

网络层协议的作用

用于网络设备的编址以及寻址

OSI模型网络层是CLNP协议(无连接网络协议)

TCP/IP模型的网络层是IP协议

IS-IS最初就是为CLNP协议设计的一种基于链路状态的使用最短路径算法的动态路由协议

  • 即IS-IS最先是为OSI模型服务的,不过由于IS-IS扩展性强的原因,通过扩展能够支持TCP/IP模型的IP协议
  • 现在IS-IS称为集成IS-IS,是多栈路由协议,它支持CLNP,IPv4、IPv6等
  • IS-IS由于节省设备资源、扩展性强,学习难度低,很快在ISP市场得到了很多应用

IS-IS与OSPF比较

路由计算算法

IS-IS与OSPF都使用SPF算法

都是基于接口的路由协议(即一台设备上的不同接口可以运行不同的路由协议进程)

为谁工作

  • IS-IS最初是为CLNP协议工作,现在也可以为IP协议工作
  • OSPF只是为IP协议工作

所属层次

  • IS-IS是工作在链路层之上的网络层协议(即IS-IS相对于网络层是独立的一个协议)
  • OSPF是工作在网络层之上的路由协议(即OSPF是基于网路层封装的,不过不能说是传输层协议,只能说和传输层一个层次)

 应用场景


ISIS网络概念

IS-IS如何标识不同的网络设备

ISIS协议通过NET地址标识网络设备

OSPF协议是通过 area id+router id对设备进行标识的

IS-IS协议则通过NET地址(area id+system id+00)来对设备进行标识

NET地址是什么(网络实体标识符)

IP协议是通过IP地址进行网络服务访问的,NSAP协议是通过NSAP地址进行网络访问的

 而NET地址就是一类特殊的NASP(即SEL=00的NSAP地址就代表NET地址,用来标识IS-IS设备)

注意:在配置IS-IS过程中,NET最多配置3个,并且它们的System ID都要相同

ISIS配置的区域ID是以整个设备为单位的(即一台设备只可以运行在一个区域)
OSPF配置的区域ID是以端口为单位的    (即一台设备可以运行在多个区域)

ISIS路由器的分类/角色

IS-IS中路由器分为三类

L1路由器   只维护L1的LSDB;只能和同区域 L1/L1-2 路由器 建立邻居

L2路由器   只维护L2的LSDB;可以和同区域/不同区域的 L2/L1-2路由器 建立邻居

L1-2路由器  维护L1的LSDB,也维护L2的LSDB;可以和同区域的L1、同/不同区域的L2路由器建立邻居;   连接L1和L2设备

注意:华为设备默认路由器为L1-2

IS-IS网络类型

IS-IS只支持两种网络类型:P2P、广播;不同网络类型的邻居建立方式、LSDB同步方式不同

PPP、HDLC链路默认是P2P网络类型

发送的所有报文的目的地址都是组播地址09:00:2B:00:00:05

以太网、FDDI链路默认是广播网络类型

发送的所有报文的目的地址都是组播地址

L1路由器发送的地址为01:80:C2:00:00:14

L2路由器发送的地址为01:80:C2:00:00:15


IS-IS工作过程

第一步 建立邻居关系

邻居建立Hello报文讲解

邻居建立报文——Hello报文

Hello报文分类

Hello报文细分为三种类型,主要用于邻居关系建立

P2P Hello报文   在P2P链路上建立L1/L2邻居关系

L1 Hello报文     在广播链路上建立L1的邻居关系

L2 Hello报文     在广播链路上建立L2的邻居关系

Hello间隔(Hello报文不影响邻居的建立)

  • Hello报文10s发送一次,邻居失效时间为3倍的发送间隔(30s)
  • 但是当选举DIS后,DIS路由器会10/3s周期性发送Hello报文,非DIS路由器还是10s发送一次
  • 当非DIS路由器在10s没有收到DIS发的Hello报文,则认为DIS失效
  • 当DIS路由器/非DIS路由器在30s没有收到非DIS路由器发送的Hello报文,则认为邻居失效

ISIS Hello报文填充字段

标准的Hello报文会通过填充字段来使得报文达到固定的长度

P2P接口——填充字段长度等于本地生成LSP报文的长度

P2P邻居建立之前,发送带有填充字段的标准Hello报文

P2P邻居建立之后,发送不带有填充字段的小型Hello报文

广播接口——填充字段长度等于MTU的长度

邻居建立前后,都发送带有填充字段的标准Hello报文

为了简化Hello报文的收发操作,可以配置接口建立邻居之前发送Hello报文时不携带填充字段

华为设备配置
int g0/0/0
 isis padding-hello    配置发送带有填充字段的hello报文(缺省配置)
 isis small-hello        配置发送不带有填充字段的小型hello报文

广播和P2P类型的邻居建立过程

 广播链路仅使用3次握手(同P2P的三次握手)

  • 3次握手,当邻居发送的Hello报文中没有自己的System ID,状态进入initialized
  • 当邻居发送的Hello报文中TLV 6字段有自己的MAC(因为MA网络需要依靠MAC识别对端设备,而P2P网络不需要MAC识别),设备才会由initialized状态进入up状态

P2P建立邻居的2种方式:2次握手和三次握手(默认使用3次握手,兼容两次握手)

  • 2次握手只要收到对端的Hello报文,就单方面宣布自己为up状态,容易造成单项邻居,出现路由单通;P2P的二次握手不需要TLV240,直接进入up状态

  • P2P的三次握手在收到对端Hello包后,需要Hello包中的TLV240字段有自己的System ID,设备才从Initialized状态进入到up状态
ISIS邻居之间强制使用三次握手实现邻居建立

华为设备配置
 int g0/0/1
  isis ppp-negotiation  only(只使用三次握手,不兼容二次握手)

ISIS邻居建立状态

二次握手

Down——初始状态

UP——   收到对方发来的Hello包(无论邻居列表是否有自己的System id)

三次握手

Down——初始状态

Init  —— 收到Hello包,但邻居列表无自己的System id

Up  —— 收到Hello包,邻居列表有自己的System id

第二步 同步LSDB数据库

LSDB同步SNP和LSP报文讲解

当邻居状态UP后,开始进行LSDB同步,发送以下报文(与OSPF不一致;OSPF进行LSDB同步是需要建立邻接关系,而ISIS是直接进行LSDB同步,不涉及邻居状态的改变)

LSDB同步报文1——SNP报文分类

CSNP报文(类似OSPF的DD报文)——主要用于通告链路状态数据库(LSDB)摘要

又细分为L1 CSNP、L2 CSNP两种类型

CSNP发送间隔:

在广播网络中,CSNP由DIS周期发送,每10s发送一次

在P2P网络中,CSNP只发送一次,邻居状态UP后发送一次

PSNP报文(类似OSPF的LSR或者LSACK)——用于请求和确认链路状态信息

又细分为L1 PSNP、L2 PSNP两种类型

LSDB同步报文2——LSP报文分类

LSP类似OSPF的LSU,用于邻居之间交换链路状态信息(携带完整信息)

细分为L1 LSP(L1 邻居之间发送)、L2 LSP(L2 邻居之间发送)

DIS介绍 

IS-IS同步所需要用到的角色——DIS(类似于OSPF的DR,不过作用不同)

IS-IS在广播型链路上会进行DIS选举(DIS在邻居建立之后进行),P2P网络没有DIS

DIS类似于OSPF的DR,没有BDIS

DIS的作用

DIS主要用于LSDB数据库同步

DIS分类

DIS分为L1 DIS 和 L2 DIS(L1路由器之间选举L1 DIS,L2路由器之间选举L2 DIS)

DIS如何选举

  1. DIS优先级的取值范围为0~127,默认是64,越大越优先为DIS(0可以参与选举)
  2. DIS相同,比较接口的MAC地址,MAC地址大的成为DIS

广播和P2P类型的LSDB同步过程 

P2P链路LSDB同步过程

  1. 两台邻居UP后,会互相发送CSNP报文携带自身LSDB的全部LSP摘要给对方
  2. R2收到CSNP后,检查自身LSDB中LSP新旧判断,发送PSNP携带自己想要的LSP摘要以及需要更新的LSP摘要
  3. R1收到PSNP后,根据摘要通过LSP报文发送完整的链路状态信息
  4. 如果RT2没有发送PSNP对LSP做确认
  5. 5s后RT1会对LSP会重新传送
  6. RT2收到后再回复PSNP做确认

为什么华为的流程和标准协议RFC定义的不一样

P2P网路中CSNP只会发送一次,当CSNP丢包,就无法建立邻居了

华为设备上先发送LSP,当LSP丢包后,5s重传,可靠性更高

PSNP的请求和回应消息是怎么区分的

通过LSP ID序列号来判断是请求报文还是确认报文

       0表示请求  非0表示确认报文

广播链路LSDB同步过程

在DIS稳定的情况下,新增R3与DIS建立邻居进行LSDB同步的过程(此时RT2已经与RT1建立邻居,LSDB完成同步)  以下讲解的是R3发送LSP的过程

  1. 新增非DIS设备与DIS建立邻居后,互相发送LSP,收到LSP后加入自身数据库(不回复PSNP做确认)
  2. DIS设备周期性10s发一次CSNP,描述自身LSP摘要信息
  3. 非DIS设备收到此CSNP,会了解到自己缺少哪些LSP以及DIS有无自己的LSP等信息,如果当发现自身缺少LSP时,发送PSNP请求(如果发现DIS没有自身的LSP,则发送LSP)
  4. DIS收到PSNP请求后,发送LSP信息
  5. 非DIS收到LSP信息后,不回复PSNP做确认,当收到下一次的CSNP报文时,如果自己还缺少LSP,就再次请求,如果不缺少LSP,就无反应

注意

  • 新增路由器和DIS一旦建立邻居,会互相发送自身LSDB的LSP
  • 非DIS路由器会和新增路由器建立邻居关系,但不会向新增的路由器发自身LSDB中的LSP,避免重复发送LSP
  • 广播网络中的PSNP只有请求作用,无确认作用
  • 广播网络中对LSP的确认是通过CSNP隐式确认的

第三步 进行SPF路由计算

ISIS接口开销默认都是10,与带宽无关,开销类型为narrow窄带

窄带路由会收宽带的LSP,但是不会进行计算

ISIS接口开销类型

开销类型为Narrow和Wide两大类;其中Wide和narrow类型下的ISIS不可以实现互通

Narrow                      发送narrow类型开销                接收narrow类型开销

Wide                          发送wide类型开销                   接收wide类型开销

Compatible                发送wide和narrow类型开销    接收wide和narrow类型开销

Narrow-compatible    发送wide和narrow类型开销    接收narrow类型开销

Wide-compatible        发送wide和narrow类型开销   接收wide类型开销

ISIS不同开销类型的范围

窄带(narrow):开销取值范围为 1~63 

宽带(wide):开销取值范围为 1~2^24 

路由开销计算方式

接口手动配置开销--可以全局更改和指定接口下更改

所有ISIS接口默认为窄带,开销为10 ,环回口为0

当接口开销类型改为宽带后,开销默认也为10  环回口为0

ISIS可以配置自动计算接口开销

ISIS接口开销配置 

华为配置
isis cost 1                         接口下配置;手动配置单个ISIS接口开销为1
circuit-cost 1                      ISIS视图下配置;手动配置所有ISIS接口开销为1
cost-style wide                     ISIS视图下配置;将开销类型改为宽带
bandwidth-reference [100Mbt/s]      ISIS视图下配置;配置参考带宽
auto-cost enable                    ISIS视图下配置;使能自动计算接口的开销值

计算所需TLV

TLV 132   携带携带接口的IPv4地址,用于计算下一跳

窄带

       TLV 2   携带拓扑信息

       TLV 128 携带内部路由信息

       TLV 130 携带外部路由信息

宽带

       TLV 22    携带拓扑信息

       TLV 135 携带路由信息

SPF计算过程

  1. 单区域LSDB同步完成
  2. 生成全网拓扑结构图
  3. 以本节点为根生成最短路径树

ISIS报文封装

ISIS封装在数据链路层

广播——被封装在802.3帧中

P2P——被封装在PPP链路中(PPP链路无MAC地址)

数据链路层的封装格式

以太网II帧(常见的)

IEEE 802.3帧(BPDU、ISIS就封装在802.3帧中)

PPP

HDLC

ATM等


ISIS静默接口

作用同OSPF的静默接口

ISIS接口配置为静默接口后,此接口会禁止发送和接收协议报文

当用户希望本地ISIS的路由信息不被其他网络中的设备获得,并且本地设备不接受其他设备发布的路由信息时,可以禁止ISIS接口发送与接收协议报文

注意事项

接口静默之后,接口的直连路由可以发布出去

但是Hello报文被阻塞,无法建立邻居关系

配置命令

华为设备配置
int g1/0/0   配置静默接口的前提是此接口加入到ISIS中
 isis enable 1
 isis silent

ISIS——图解9种报文与TLV讲解_静下心来敲木鱼的博客-CSDN博客

ISIS——LSP讲解_intf addr-CSDN博客

ISIS——基本概念2(域间路由、认证、影响邻居建立条件)_l2的路由不会泄露给l1_静下心来敲木鱼的博客-CSDN博客

  • 3
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

静下心来敲木鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值