ISIS和OSPF有很多相同的地方,最大的相同点都是SPF算法。这两个协议应用的地方不一样,OSPF适合用在企业网。ISIS应用运营商的骨干网。OSPF本区域是算不出其他区域拓扑的,对于ISIS来说本区域是可以算出其他区域拓扑。ISIS更加简洁,可扩展性比OSPF好很多。ISIS工作在数据链路层,OSPF工作IP层。
ISIS工作原理
-
建立邻居关系
ISIS建立了邻居关系就意味着已经建立了邻接关系。
ISIS也是发送Hello报文进行邻居关系的建立,IIH。Hello报文分为2种,L1 IIH和L2 IIH
-
同步LSDB过程
通过交互LSP报文,LSP的概念类似于OSPF中的LSA,LSP是个单独的报文。
L1路由器只维护L1的LSDB,只具备L1的路由信息。
L2的路由器只维护L2的LSDB,L2的LSDB中具备全网的路由信息和拓扑信息。
L1/2路由器维护L1的LSDB和L2的LSDB。
所以LSP在ISIS中分为2种,L1的LSP和L2的LSP
-
SPF算路由
分级与骨干区域
-
IS-IS路由器的三种类型:
-
Level-1路由器
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的邻居关系。
对于ISIS来说,不是多区域分级。对路由器进行了分级。
ISIS的骨干区域是由L2路由器组成的区域。
ISIS协议的区域边界在整个Router,OSPF协议的区域边界在Router的接口
在IS-IS中,单个区域没有物理的骨干与非骨干区域的概念;而在OSPF中,Area0被定义为骨干区域
在IS-IS中,Level-1和Level-2级别的路由器分别采用SPF算法,分别生成最短路径树SPT;在OSPF中,只有在同一个区域内才使用SPF算法,区域之间的路由需要通过骨干区域来转发
ISIS报文
-
IIH
hello报文
-
LSP
LSP类似于OSPF的LSA,承载的是链路状态信息,包含了拓扑结构和网络号。
-
SNP
时序同步报文
SNP报文中分为了2种
-
CSNP报文:
发送的LSDB的摘要
包括LSDB中所有LSP的摘要信息,从而可以在相邻路由器间保持LSDB的同步。
-
PSNP报文:
包含部分LSDB中的LSP摘要信息,能够对LSP进行请求和确认。
-
ISIS的网络类型
ISIS的网络类型只有2种。
MA的网络和P2P的网络。网络类型不同建立邻居关系过程和LSDB同步的过程是不一样的。
建立邻居关系
-
MA网络邻居建立的过程
是三次握手的过程。MA的网络在建立邻居关系以后是要选举DIS(伪节点)---是虚拟出来的一台路由器,作用类似于OSPF的DR。
DIS没有备份的伪节点,DIS是抢占模式。DR的选举时非抢占模式,并且有BDR作为备份。
在DR的选举中,优先级为0的设备没有选举资格的。但是在DIS的选举中,优先级为0的设备有选举资格的。
DIS选举出来以后,它的所有定时器都是3倍的其他设备的频率。
DIS总能先网络中其他设备一步感知到网络拓扑的变化。
DIS的作用是指定在MA网络中发送CSNP报文
-
P2P网络邻居建立的过程
二次握手的过程
P2P的网络类型中,没有DIS。
LSDB同步过程
-
MA网络LSDB同步的过程
-
所有的路由器把自己所有的LSP发送给DIS。为了加快LSP的传递效率设置了LSP分片的功能。为了传输更多的LSP
-
DIS开启周期性的发送CSNP报文,携带了全网的LSP的摘要(时间默认为10s)
-
其他设备在收到了CSNP报文以后,和自己的LSDB对比。单独发送PSNP报文请求缺少的LSP。
-
DIS收到以后单独把LSP发送给对端。
-
非DIS设备现在多一条路由,把这条LSP发送给DIS。DIS收到LSP以后,加入到LSDB中,随后立马发送CSNP报文。非DIS设备收到LSP以后对比自己的LSDB如果发现自己的LSDB多了一条LSP,判断这条LSP在传输的过程中丢失了。再传一次。
-
-
P2P的LSDB同步过程
-
两台设备之间发送CSNP报文(全程只发这唯一一次)
-
两台设备之间把CSNP报文和自己的LSDB进行对比,发送PSNP请求没有的LSP。后续仍然存在超重传的过程。
-
RTB新增了一条LSP,立马把这条LSP发送给RTA。然后等待RTA的PSNP报文。等待超时的话,还要再发一次LSP。直到收到RTA的PSNP为止。
-
ISIS路由计算
ISIS的路由度量的参考因素有多种,可以是接口的带宽和时延。
ISIS默认的开销计算方式narrow,接口的开销默认都是10。
配置模式:
-
compatible
进接口的路由和出接口同时支持宽度量值和窄度量值的方式。
-
narrow
窄度量值的计算方式,开销的取值范围1-63
-
narrow-compatible
出接口的路由只能用narrow来算,进接口的路由同时支持narrow和wide
-
wide
宽度量值----开销取值范围很大,把接口的带宽和时延一起考虑进去了
-
wide-compatible
出接口的路由只能用wide来算,进接口的路由同时支持narrow和wide
举个例子:
RTA | RTB | 结果 |
---|---|---|
narrow | narrow | 能相互学习到路由 |
wide | wide | 能相互学习到路由 |
wide | narrow | 不能相互学习到路由 |
wide | compatible | 能相互学习到路由 |
wide | narrow-compatible | RTB能学习到RTA 的路由,RTA学不到RTB的。 |
建议在做ISIS配置的时候,把度量值的计算方式都改成wide。
地址结构
在早期的OSI七层参考模型中,我们使用的地址叫做NSAP地址
-
NSAP地址
-
IDP相当于IP地址中的主网络号。它是由ISO规定,并由AFI与IDI两部分组成。AFI表示地址分配机构和地址格式,IDI用来标识域。
-
DSP相当于IP地址中的子网号和主机地址。它由High Order DSP、System ID和SEL三个部分组成。High Order DSP用来分割区域,System ID用来区分主机,SEL用来指示服务类型。
-
Area Address(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可不必去关注。
-
在配置IS-IS过程中,NET最多也只能配3个。在配置多个NET时,必须保证它们的System ID都相同。
-
在ISIS的路由器中需要配置NET(网络实体名称)类似于OSPF的RID。
区域ID:同一个区域的设备,区域ID要一样
System ID:同一个区域的设备system ID要不一样
ISIS区域间路由
- 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。
- 路由表里面有整个网络的路由信息。
L2区域能够学到L1区域具体明细的路由,但是L1区域是学不到L2区域具体明细的路由。L1/2给L1路由器发送的LSP中,把ATT位置位为1,然后L1区域根据这条LSP生成一条默认路由下一条指向L1/2。
解决ISIS次由路由问题:
在L1/2设备上做路由泄露
做完路由泄露以后,可以在L1路由器上看见L2的具体明细路由
其他补充
-
ISIS与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)。
-
-
ISIS与OSPF术语对照