HCNP Routing&Switching之IS-IS路由渗透和开销

  前文我们了解了IS-IS邻居建立过程、LSDB同步、拓扑计算和路由的形成;回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15265698.html;今天我们来聊一聊IS-IS路由渗透和接口开销相关话题;

  IS-IS路由渗透

  所谓路由渗透,其实就是路由注入的一种操作;默认情况下在IS-IS多区域环境中,L1区域的所有路由会被L1-2路由器挂载至L2区域,即骨干区域的路由器有整个网络的明细路由;但对于L1区域来说,骨干区域的路由不会被L1区域路由器学习到;那么问题来了,L1区域想要出去它是怎么出去的呢?对于L1的路由器来说,它们想要和骨干区域网络通信,依靠的是L1-2发送的一条ATT置为1的LSP,对应L1区域中的路由器收到该LSP以后,会自动产生一条缺省路由,其下一跳指向L1-2路由器(对于和L1-2直连的路由器是这样的,类似ospf里的5类LSA;但对于不是和L1-2路由器直连的路由器,它们收到L1 -2发送的ATT置为1的LSP会根据拓扑情况自动计算下一跳);即L1的路由器和骨干区域网络通信依靠缺省路由进行;换句话说,L1想要和骨干网络通信,它的数据包会发送至L1区域最近的L1-2路由器上,然后由L1-2路由器根据目标地址进行转发;IS-IS路由渗透是指将骨干区域路由注入至非骨干区域的操作;

  为什么要路由渗透呢?

  IS-IS次优路由产生

  提示:如上图所示,RTA想要访问10.0.0.1/24,根据IS-IS路由的规则,在L1区域路由器想要和骨干区域网络通信,它会将数据包发送给最近的L1-2路由器;对于上图来说,RTA找到最近,路由最优到达L1-2的路由器是RTB;但对于RTB到达骨干RTD来讲,开销也是最大的;整体来说RTA访问10.0.0.1/24网络整体开销要大于RTA走RTA-->RTC-->RTD;这样一来次优路由就产生了;怎么解决次优路由呢?很显然我们要把RTA访问10.0.0.1/24网络的链路开销告诉给RTA,这样RTA根据明细路由来选路就可以避免次优路由;即把10.0.0.1/24网络的路由从骨干区域注入至L1区域,让L1区域路由器学习到达10.0.0.1/24网络的路由;如下所示

  提示:当RTA学习到达10.0.0.1/24网络的路由以后,对应整个链路的开销就很明了,所以RTA和10.0.0.1/24网络通信就会根据链路开销进行选路,而不会再走默认路由,从而避免了次优路径;

  实验:如下拓扑,配置IS-IS

  R1的配置

sys
sys R1
int g0/0/0
ip add 12.0.0.1 24

isis 1
net 2000.0000.0000.0001.00
is-le level-1
int g0/0/0
isis en 1
View Code

  R2的配置

sys
sys R2
int g0/0/0
ip add 12.0.0.2 24
int g0/0/1
ip add 23.0.0.2 24

isis 1
net 2000.0000.0000.0002.00
is-le level-1
int g0/0/0
isis en 1
int g0/0/1
isis en 1
View Code

  R3的配置

sys
sys R3
int g0/0/0
ip add 23.0.0.3 24
int g0/0/1
ip add 34.0.0.3 24

isis 1
net 2000.0000.0000.0003.00
is-le level-1-2
int g0/0/0
isis en 1
int g0/0/1
isis en 1
View Code

  R4的配置

sys
sys R4
int g0/0/0
ip add 34.0.0.4 24
int lo 1
ip add 4.4.4.4 32

isis 1
net 1000.0000.0000.0004.00
is-le level-2
int g0/0/0
isis en 1
int lo 1
isis en 1
View Code

  验证:查看R4的路由表,看看是否学习到12和23网络的路由呢?

  提示:可以看到R4能够学习到12和23网段路由;

  验证:在R1和R2上查看路由表信息,看看R1和R2是否能够学习到R4的lo接口路由呢?

  提示:可以看到在R1和R2上并没有学习到达R4 lo接口的路由,但通过isis它们的路由表里产生了一条缺省路由;

  验证:查看R3的LSDB,看看是否有自己产生的ATT置为1的LSP数据?

  提示:可以看到R3在L1区域LSDB中产生了一条ATT置为1的LSP;

  在L1-2路由器(R3上)将L2路由渗透至L1

  提示:上述命令表示把L2路由导入至L1区域;这里需要主要在isis中,只有L1-2路由器拥有L1和L2的lsdb,所以路由渗透也只能在L1-2路由器上做;

  验证:在R1或R2上查看路由表,看看对应R1或R2是否学习到L2的明细路由呢?

  提示:可以看到对应R1能够学习到L2骨干区域里所有路由,并且都自动计算出对应路由的开销;通常情况下,我们不会将骨干区域路由全部注入至非骨干区域,如果我们需要注入部分路由到非骨干区域,则还需要做路由策略;

  IS-IS开销

  IS-IS开销类型有三种,分别是接口开销、全局开销和自动计算开销;其优先级顺序为接口开销>全局开销>自动计算开销;所谓接口开销是指为单个接口设置开销,生效范围是单个接口;全局开销是为所有接口设置开销,生效范围是所有接口;自动计算开销是是指根据接口带宽自动计算开销;对于IS-IS来讲开销取值类型主要分两种,分别是narrow和wide;narrow取值范围是1-63;wide取值为1-16777215;

  IS-IS开销类型

  提示:上述图片是描述开销类型和接收、发送开销类型;如开销类型为narrow,即接收和发送的开销取值范围也都是narrow;如果开销类型为wide,即接收和发送的开销取值类型也是wide;如果开销类型为compatible(兼容narrow和wide),则接收和发送的开销取值类型即可以是narrow也可以是wide;如果开销类型为narrow-compatible(兼容narrow),则接收可以兼容wide和narrow,发送的接口开销类型只能是narrow;如果开销类型为wide-compatible(兼容wide),则接收可以兼容wide和narrow,但发送开销类型只能是wide;

  IS-IS接口带宽区间开销取值

  提示:只有当开销类型为wide或wide-compatible时,使用命令bangdwith-reference配置的带宽参考值才有效,此时各接口的开销值=(bandwith-reference/接口带宽值)×10;如果开销类型为narrow/narrow-compatible或compatible时,各个接口的开销至根据上面对表格确定;

  配置ISIS接口开销

  提示:默认isis开销为10,类型为narrow,所以取值范围是1-63;

  验证:查看R1的g0/0/0接口开销

  提示:可以看到对应R1的g0/0/0接口开销变为了20;

  配置ISIS全局开销

  提示:全局开销需要在isis进程下配置,配置全局开销以后,对应所有接口都是全局开销配置的值,除非接口下配置了接口开销;

  更改开销类型

  提示:更改开销类型,可能引起邻居关系震荡;这里需要说明一下,虽然开销类型为wide和开销类型为narrow能够建立邻居,但是对应路由是学习不到的;

  验证:在R1上查看isis邻居关系和路由表

  提示:可以看到现在R1和R2的邻居关系还是up的,但对于R1来说它并不能学习到R2上的路由;其原因是对应开销类型互不兼容(R1为wide,R2为narrow);

  验证:修改R2的开销类型为非narrow类型,看看对应R1是否能够正常学习到R2的路由?

  提示:可以看到在R1上对应R2过来的路由学习到了;从上述实验可以看到,不同开销类型,对应路由的学习还是有影响的;

  配置ISIS自动计算开销

  提示:自动计算开销通常配置带宽参考值来计算,默认带宽参考值为100M,自动开销计算公式为接口开销=(带宽参考值/接口带宽)×10;因为默认开销类型为narrow,取值范围是1-63,这个开销取值范围太小,不适合上述公式,所以上述公式只用于开销类型为wide或wide-compatible类型上述公式才会生效;

  验证:查看接口带宽

  提示:可以看到现在接口开销就变为了100;因为我们把带宽参考值修改为1000M,除以接口带宽1000M再乘以10,得到的开销就是100;上述修改开销都是修改的接口发送的开销;其接收开销计算和ospf一样,接收方向接口开销累加;

posted @ 2021-09-16 23:48  Linux-1874  阅读(1905)  评论(0编辑  收藏  举报