ISIS-4 LSP计算

发布于:2025-03-30 ⋅ 阅读:(25) ⋅ 点赞:(0)

上一章我们介绍了ISIS的LSDB的形成以及相关实验

这一章我们来介绍ISIS是怎样来计算我们的路由的


1、LSDB数据库

之前我们在ISIS概述里面已经提及到Level-1的路由器设备只会维护Level-1的LSDB

Level1-2会维护Level-1以及Level-2的LSDB,Level-2只会维护Level-2的LSDB


2、ATT置位

我们可以知道Level-1路由器会计算出本区域的拓扑信息以及各个网段的路由信息,那么到达其他区域的拓扑信息以及网段信息是如何进行计算的呢?

Level-1/2路由器在有活跃的Level-2的数据库时会将发送给Level-1路由器的LSP中的ATT置位,Level-1路由器在收到ATT位置位的LSP时会自动生成一条指向Level-1/2的默认路由,用来访问其他区域

ATT置位的条件

  • 该设备是L1/2路由器
  • 该设备有活跃(active)的L2的数据库(通过SPF算法能够连接到其他区域)

就算没有L1的邻居,L1/2路由器只要满足以上两点就会将ATT置位

注意:为了避免环路的问题,同一个区域的Level1/2路由器不会使用同一个区域的其他Level1/2路由器的Level-1的LSP的ATT置位来计算默认路由

如果有多台L1/2路由器连接到了同一台L1路由器上,并且ATT置位且开销一致的情况下会进行负载分担

但由于Level-1路由器访问其他区域时没有相对应的明细路由所以会出现次优路径的可能例如以下这种情况:

在这张拓扑当中,AR1由于没有L2区域的明细路由所以通过COST会优选AR2来到达AR4,这样就会出现次优路径的产生,当然我们可以通过路由泄漏或路由渗透来解决这一问题


3、P置位

 

这里的P置位有点类似于我们OSPF中的Vlink虚链路,也就是将区域分割开了,通过虚连接来将两个区域连接到一起,但ISIS这里研发并没有实现相应功能所以我们就不过多赘述



4、OL置位

OL 过载标志位有点类似于OSPF中的stub-router

如果OL置位了其他路由器将不会把本设备加入到SPF计算当中,也就是不能当作路径使用,当然自身产生的LSP或引入的LSP还是可以正常学习和访问的

OL置位有两种情况:

  • 手动置位(set-overload)
  • 自动置位,设备的LSDB溢出时设备将自动置位,用来告诉其他设备我已经无法承载更多的LSP了

注意:ATT置位和OL置位是互斥的,如果ATT置位了OL就不可能置位,因为OL置位本身就是想告诉其他设备不要经过我

拓扑

(1)基础配置

AR1
system
sysname AR1
interface g0/0/0
ip add 10.0.12.1 24

AR2
system
sysname AR2
interface g0/0/0
ip add 10.0.12.2 24
interface g0/0/1
ip add 10.0.23.2 24

AR3
system
sysname AR3
interface g0/0/0
ip add 10.0.23.3 24

 (2)ISIS配置

AR1
isis 1
is-level level-1
network-entity 49.0001.0000.0000.0001.00
q
interface g0/0/0
isis enable 1

AR2
isis 1
network-entity 49.0001.0000.0000.0002.00
set-overload
y
q
interface g0/0/0
isis enable 1
interface g0/0/1
isis enable 1

AR3
isis 1
network-entity 49.0002.0000.0000.0003.00
q
interface g0/0/0
isis enable 1

 

配置完后我们发现在AR1中查看LSDB时AR2的LSP中OL置位了

此时我们在AR3上创建一个Loopback接口在ISIS中启动并在AR2上把L2的LSP渗透到L1中看看AR1能不能学到相关的路由信息

可以看到AR1是学习不到3.3.3.3的相关路由信息的

如果此时我们在AR2上修改命令为set-overload allow interlevel,看看AR1能不能学习到相关路由信息

我们可以看到虽然此时OL置位了但我们AR1仍然能学习到3.3.3.3的路由信息

一般这种手工OL置位我们会在网络割接的时候临时使用


5、路由渗透(路由泄漏)

 我们前面说到在L1/2设备中如果存在活跃的L2的LSDB的情况下就会将ATT置位,在L1路由器上生成一条默认路由,但我们说了这可能会导致次优路径的产生,所以我们需要让L1区域的路由器学习到其他区域的明细路由可不可以

当然可以,我们可以将L2的LSP信息渗透到L1当中,这一过程有点类似于引入,但并不是引入,什么意思?我们接下来可以进行实验来进一步说明

拓扑

(1)基础配置

AR1
system
sysname AR1
interface g0/0/0
ip add 10.0.12.1 24

AR2
system
sysname AR2
interface g0/0/0
ip add 10.0.12.2 24
interface g0/0/1
ip add 10.0.23.2 24

AR3
system
sysname AR3
interface g0/0/0
ip add 10.0.23.3 24

(2)ISIS配置

AR1
isis 1
is-level level-1
network-entity 49.0001.0000.0000.0001.00
q
interface g0/0/0
isis enable 1

AR2
isis 1
network-entity 49.0001.0000.0000.0002.00
q
interface g0/0/0
isis enable 1
interface g0/0/1
isis enable 1

AR3
isis 1
network-entity 49.0002.0000.0000.0003.00
q
interface g0/0/0
isis enable 1

配置完成之后我们会在AR1的LSDB中看到由L1/2路由器产生的ATT置位的LSP

此时我们查看路由表当中就会自动生成一条指向AR2的默认路由

此时我们在AR1上创建一个Loopback接口并将它启动到ISIS当中AR3是可以学习到Loopback接口的明细路由的

我们发现AR3可以通过L2的数据库学习到L1的明细路由,这是因为在ISIS中L1/2设备会自动将L1区域中的LSP引入到L2区域当中

我们可以看到这是一条默认配置,当然我们也可以将它Down掉这样AR3也无法学习到AR1上的明细路由了

此时我们再在AR3上创建一个Loopback接口并将它启动到ISIS当中

但在我们AR1上是无法直接学习到L2区域中的明细路由的,但我们可以手工将L2区域的LSP渗透到L1当中

import-route isis level-2 into level-1 

此时我们再去AR1上查看路由表时就会发现可以学习到L2区域中的路由信息了,并且我们在查看LSP信息时会发现多了一个*号

这个*号表示这条LSP是渗透进来的

为了避免环路问题,L1/2路由器收到一条UP/Down置位的LSP信息时会进行计算但不会将它回灌到L2区域(这里与OSPF不同,OSPF中ABR设备在收到一条3类LSA时并不会进行计算也不会往区域内传递此LSA)

(这里与OSPF不同,在OSPF中ABR收到一份3类LSA不会进行计算也不会将3类LSA向区域内进行传递)

为什么说L2引入到L1叫路由泄漏而L1引入到L2不叫路由泄漏呢?

因为在L1引入到L2时Distribution并不会置位,并且我们L1/2设备在引入其他路由时也不会置位

我们在AR2上创建一个Loopback接口,IP为2.2.2.2将它以直连的方式引入到L1当中

我们发现在引入过程中UP/Down字段并不会置位

到这里本章内容就到此结束了如果有疑问可以关注博主私聊,如果有问题欢迎私聊博主及时更改谢谢大家的观看学习!!!