IS-IS的原理

IS-IS的基本概念:

概述:

IS-IS,中间系统到中间系统,是ISO国际标准化组织为它的无连接网络协议设计的一种动态路由协议

IS-IS支持CLNP网络和IP网络,采用数据链路层封装,区别于ospf只支持IP网络,采用IP报文封装

NSAP:

网络服务访问点,是用于定位资源的地址,提供网络层和上层应用之间的接口,包括IDP和DSP

IDP:由两部分组成,AFI表示地址分配机构和地址格式, ISI用来表示域,有点像Ip地址中的主网络号

DSP:它由三部分组成,High Order DSP用来分割区域,System ID用来区分主机,SEL(NSAP Selector)用来指示服务类型

NET:

网络实体名称,是OSI协议栈中设备的网络层信息,用于路由计算,由区域地址(Area ID)和System ID组成,可以看作是特殊的NSAP

长度与NSAP相同,8~208

配置:

每台运行IS-IS的设备至少需要一个NET,一个设备也可以有多个NET,system ID必须相同

华为网络设备上,System ID的长度是固定的6比特,在一个IS-IS路由域中设备的system ID必须唯一

IS-IS和OSPF区域划分的区别:

IS-IS中每个路由器都只属于一个区域;OSPF中一个路由器的不同接口可以属于不同的区域

IS-IS中单个区域没有骨干和非骨干区域的概念;在OSPF中,区域0属于骨干区域

IS-IS中,level-1和level-2级别的路由都采用SPF算法,分别生成最短路径树SPT;OSPF中,同一区域才使用SPF算法,路由需要通过骨干区域来转发

IS-IS路由器的分类:

level-1路由器,属于IS-IS的内部路由器,只与属于同一区域的level-1-2路由器形成邻接关系,并且需要通过它去访问那其他区域

Level-1路由器无法与Level-2路由器建立邻接关系

Level-1路由器只负责维护Level-1的链路状态数据库LSDB,该LSDB只包含本区域的路由信息

Level-2路由器是IS-IS的骨干路由器,可以与同一或不同一的level-2和level-1-2路由器形成邻接关系

Level-2路由器维护一个Level-2的LSDB,该LSDB包含整个IS-IS域的所有路由信息

所有level-2级别的路由器组成路由域的骨干网,负责不同区域的通信

路由域中Level-2级别的路由器必须是物理连续的,以保证骨干网的连续性

Level-1-2路由器属于骨干网络的组成部分,维护两个LSDB,Level-1的LSDB用于区域内路由,Level-2的LSDB用于区域间路由

可以与同一区域的level-1和1-2形成level-1的邻接关系,也可以与其他区域的Level-2和Level-1-2路由器形成Level-2的邻接关系

IS-IS开销值:

IS-IS使用Cost开销作为路由度量值,Cost越小,路由越优

一条IS-IS路径的Cost等于本路由器到达目标网段沿途的所有链路的Cost总和

IS-IS有三种方式来确定接口的开销,按照优先级由高到低:

复制代码
1. 接口开销:为单个接口设置开销
2. 全局开销:为所有接口设置开销
3. 自动计算开销:根据接口带宽,自动计算开销

IS-IS报文格式

报文是封装在数据链路层的帧结构中的

PDU协议数据单元可以分为两个部分,报文头和变长字段部分

其中IS-IS Header又可分为通用头部(PDU Common Header)和专用头部(PDU Specific Header)。对于所有PDU来说,通用报头 都是相同的,但专用报头根据PDU类型不同而有所差别

IS-IS通用头部详解:1Byte

IS-IS的四种报文类型:

IIH:Hello报文,用于建立和维持邻接关系, level-1使用level-1 LAN IIH, level-2使用level-2 LAN IIH

LSP:链路状态报文,交换链路状态信息,分为level-1 LSP和level-2 LSP两种

PSNP:部分序列号报文,同步LSDB链路信息数据库,维护,也分两种

CSPN:全序列号报文,同步LSDB链路信息数据库,维护,也分两种

IS-IS常见的TLV

T :类型type ; L:长度length ; V:值value

使用TLV结构构建报文的好处是灵活性和扩展性好

采用TLV使得报文的整体结构固定,增加新特性只需要增加新TLV即可,不需要改变整个报文的整体结构

IS-IS工作原理

邻接关系建立:

建立原则:

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

对于level-1路由,区域ID要一致

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

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

使用IIH报文建立和维持邻接关系

广播网络中邻接关系的建立过程:

  1. 两个路由器A, B的邻接标识状态均处于Down状态

  2. A首先发起IIH报文,B收到后回复给A

复制代码
3. A收到后将邻接标识状态变为Up, 再向B发送IIH报文
4. B收到报文后,也改变为Up状态,两个路由器成功建立邻接关系
5. 广播网络中需要选举DIS,在邻接关系建立后,路由器会等待两个Hello报文间隔,再进行DIS的选举

抽象来说:有点像打电话,A给B打电话说 "喂" , B回应说 "欸喂,你哪位", A又说"我是某某" , B说 "我知道了,我是某某某" , 接下来就可以进行会话了

DIS和伪节点

在广播网络中,IS-IS需要在所有的路由器中选举一个路由器作为DIS

DIS用来创造伪节点,并生成伪结点的LSP,用来描述网络上的网络设备

伪结点是用来模拟广播网络的一个虚拟节点,并非真实的路由器

IS-IS中的DIS与OSPF中的DR

DIS优先级数值最大的被选为DIS,如果DIS优先级数值相同,就选MAC地址最大的路由器作为DIS

DIS发送Hello PDU的时间间隔是普通路由器的1/3,这样可以确保DIS出现故障时能够被更快速地被发现

DIS与DR的区别:

1,在IS-IS广播网中,优先级为0的路由器也参与DIS的选举,而在OSPF中优先级为0的路由器则不参与DR的选举

2, 在IS-IS广播网中,当有新的路由器加入,并符合成为DIS的条件时,这个路由器会被选中成为新的DIS,原有的伪节点被删除

而在OSPF中,当一台新路由器加入后,即使它的DR优先级值最大,也不会立即成为该网段中的DR

3,在IS-IS广播网中,同一网段上的同一级别的路由器之间都会形成邻接关系,包括所有的非DIS路由器之间也会形成邻接关系。而在OSPF中,路由器只与DR和BDR建立邻接关系

点到点网络中邻接关系的建立过程:

使用两次握手方式:只要路由器收到对端发来的Hello报文,就单方面宣布邻接为Up状态,建立邻接关系使用两次握手方式:只要路由 器收到对端发来的Hello报文,就单方面宣布邻接为Up状态,建立邻接关系

链路状态数据库同步:

LSP:链路状态报文,用于交换链路状态的信息

**LSP ID:**由三部分组成,System ID、伪节点ID和LSP分片后的编号

display isis lsdb查看链路状态数据库

广播网络中新加入路由器与DIS同步LSDB数据库的过程:

新加入的路由器R3首先发送IIH报文,与该广播域中的路由器建立邻接关系。建立邻接关系之后,R3等待LSP刷新定时器超时,然后将 自己的LSP发往组播地址

网段中的DIS会把收到的R3的LSP加入到LSDB中,并等待CSDN报文定时器超时并发送CSNP报文

新加入的R3收到DIS发来的报文后,对比自己的数据库,像DIS发送PSNP报文请自己没有的LSP

DIS收到后,发送回应的报文进行LSDB同步

点到点网络中LSP的同步过程:

二次握手,建立邻接关系后,发送方发给CSNP给接收方

接收方核对数据库, 缺少信息的话就像发送方索取相应的LSP

LSP的处理机制

路由器收到LSP后的处理原则

1, 如果收到的LSP比本地的LSP更优,或者收到本地没有的LSP

在广播域中,会将其加入数据库,组播发送新的LSP

在点到点的网络中,将其加入数据库,并发送 PSNP报文来确认收到,并发送给他邻居

2,如果收到的LSP比本地的LSP更劣,则不做处理

LSP产生的原因,IS-IS路由域内的所有路由器都会产生LSP,以下事件会触发一个新的LSP:

邻接Up或Down

IS-IS相关接口Up或Down

引入的IP路由发生变化

区域间的IP路由发生变化

接口被赋了新的metric值

周期性更新(刷新间隔15min)

路由计算

level- 1 的路由计算:

目前R1是level- 1 路由器,R2,R3是level-1-2路由器

R1只维护level-LSDB,该LSDB中包含同属于一个区域的设备所产生的Level-1 LSP

R1根据LSDB中的Level-1 LSP计算出本区域内的拓扑,以及到达区域内各个网段的路由信息

R2及R3作为该区域内的Level-1-2路由器,会在它们向该区域下发的Level-1 LSP中设置ATT标志位,用于向区域内的Level-1路由器宣布 可以通过自己到达其他区域

level-1-2路由器的路由计算

R2,R3维护level-1 LSDB,计算本区域的路由,维护level-2 LSDB,计算其他区域的路由

将本区域的路由通过LSP的形式发送给其他区域

level-2路由器的路由计算

R4及R5作为Level-2路由器,只会维护Level-2 LSDB,它们能够根据该LSDB计算出到达全网各个网段的路由

以上为个人学习笔记,总结于华为资料和网络资源

下一次再来说一说IS-IS的配置

相关推荐
misisippi681 天前
zerotier实现内网穿透
网络·智能路由器
念念散2 天前
【无标题】在ensp中配置isis协议
网络·智能路由器
OldGj_2 天前
「计算机网络性能指标」
智能路由器
丘狸尾3 天前
记一次搞校园网的经历
网络·智能路由器
Danileaf_Guo3 天前
命令行配置Windows对接VPN网关
windows·智能路由器
电子科技圈3 天前
芯科科技率先支持Matter 1.4,推动智能家居迈向新高度
科技·嵌入式硬件·mcu·物联网·智能路由器·智能家居·iot
xtggbmdk3 天前
什么是sfp,onu,为什么PON(俗称“光猫”)模块使用SC光纤接口
网络·智能路由器
从0开始学测试3 天前
路由器中继与桥接
网络·智能路由器
diqiudq3 天前
openwrt利用nftables在校园网环境下开启nat6 (ipv6 nat)
网络·智能路由器·ipv6·校园网·nat6