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报文建立和维持邻接关系
广播网络中邻接关系的建立过程:
-
两个路由器A, B的邻接标识状态均处于Down状态
-
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的配置