HCIP笔记8--中间系统到中间系统协议2

1. IS-IS链路级别

我们之前说了路由器的级别,现在又来链路级别。

这个功能只针对L1-2的路由器,单纯的L1L2级别的路由器,只会建立其中一种L1或者L2级别的邻居关系。

我们可以通过限制链路级别,只建立一种级别的邻居关系

  • L1路由器在广播链路发送L1HELLO报文,与链路级别无关,始终发送L1的hello报文。
  • L2路由器在广播链路发送L2HELLO报文,与链路级别无关,始终发送L2的hello报文。
  • L1-2路由器在广播链路发送L1L2HELLO报文,与链路级别有关,取交集发送

我们可以通过

sh 复制代码
isis circuit-level Level-2

控制链路级别

1.1 为什么我们需要配置链路级别?

当然是我们的实际需要了,我们需要控制骨干区域不能出现L1的邻居关系,可以修改链路级别为L2,这样就只会建立L2的邻居关系。

比如说下面这样一个拓扑图:

R2 R3 R4路由器构成了骨干区域,而R1 R2 R3 构成非骨干区域,

这时我们需要R2 R3骨干区域之间只建立L2邻居,因此我们可以

进行配置,我们分别进入到R2 R3的接口下,设置级别

sh 复制代码
isis circuit-level Level-2

设置之后,R2R3之间不发L1HELLO包,因此就不会建立L1的邻居关系了。

2. IS-IS邻居建立

2.1 IS-IS邻居状态

只有三种,比OSPF的状态少一些。

分别是: downinit,up

建立过程其实跟OSPF的邻居关系建立差不多,都是在确认收到对方知道自己为邻居的包后,邻居关系就建立。

DOWN状态:当接口宣告到IS-IS中,没收到其他路由器发来的HELLO报文。
INIT状态:当路由器收到其他路由器发来的HELLO报文,但报文中不包含自身的neighbor信息
UP状态:当路由器收到其他路由器发来的HELLO报文,且报文中包含自身的neighbor信息(自身接口的MAC地址)

IS-IS按如下原则建立邻居关系:

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

  • 对于Level-1路由器来说,区域号必须一致。

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

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

2.2 链路状态交互
  1. 广播网络上的链路状态信息更新

广播上的链路状态上的更新是周期性的。

  • 如图7-7所示,新加入的路由器RouterC首先发送Hello报文,与该广播域中的路由器建立邻居关系。

  • 建立邻居关系之后,RouterC等待LSP刷新定时器超时,然后将自己的LSP发往组播地址(Level-1:01-80-C2-00-00-14;Level-2:01-80-C2-00-00-15)。这样网络上所有的邻居都将收到该LSP。

  • 该网段中的DIS会把收到RouterC的LSP加入到LSDB中,并等待CSNP报文定时器超时并发送CSNP报文,进行该网络内的LSDB同步。

  • RouterC收到DIS发来的CSNP报文,对比自己的LSDB数据库,然后向DIS发送PSNP报文请求自己没有的LSP。

  • DIS收到该PSNP报文请求后向RouterC发送对应的LSP进行LSDB的同步

DIS的作用:周期性的发送CSNP报文,保证MA网络中的LSDB同步。

  1. P2P链路上的更新

P2P上的链路状态更新是一次性的

  • RouterA先与RouterB建立邻居关系。

  • 建立邻居关系之后,RouterA与RouterB会先发送CSNP给对端设备。如果对端的LSDB与CSNP没有同步,则发送PSNP请求索取相应的LSP。

  • 如图7-8所示假定RouterB向RouterA索取相应的LSP。RouterA发送RouterB请求的LSP的同时启动LSP重传定时器,并等待RouterB发送的PSNP作为收到LSP的确认。

  • 如果在接口LSP重传定时器超时后,RouterA还没有收到RouterB发送的PSNP报文作为应答,则重新发送该LSP直至收到PSNP报文。

3. LSDB

每台IS-IS路由器根据路由器级别维护不同级别的LSDB

L1级别的路由器只会维护L1级别的LSDB

L2级别的路由器只会维护L2级别的LSDB

L1-2级别的路由器既会维护L1级别的路由器,又会维护L2级别的路由器。

我们可以通过

sh 复制代码
dis isis lsdb

查看is-is数据库

4. LSP

我们可以对LSP进行分类。

  1. 从级别上可分为L1级别和L2级别
  2. 从用途上可分为实节点LSP各伪节点LSP
  • 实节点LSP--描述路由器自身的链路状态,相当于OSPF中的1类LSA(router-LSA)。
  • 伪节点LSP--描述广播网络上的链路信息,相当于OSPF中的2类LSA(network-LSA)。对于OSPF使用的是DR接口地址,ISIS使用路由器的system id
4.1 如何识别唯一一条LSP?

OSPF的LSA通过三要素来标识:ls id、type、adv-rtr

IS-IS中通过LSPID来标识

比如说0000.0000.0003.00-00*这个LSPID来说,总共分为三个部分

前十二个数字0000.0000.0003system-id,紧跟着两位00表示不是伪节点,非00表明是一个伪节点;最后两位00表示没有分片,如果分片了就是非00

这个*号表示是不是自己产生的。

4.2 如何判断一条LSP的新旧?
  1. 序列号:越大越新
  2. 剩余时间hold time: 一条LSP出生时hold time1200s,每隔1s时间减去,直到减为0为止。(如果一台设备收到一条LSP中hold time为0的LSP,那么代表需要删除这个LSP)。
  3. 校验和checksum: 越大越优
4.3 IS-IS更新方式
  1. 周期更新: 每隔900s周期向邻居更新自己产生的LSP。每1200s老化。
  2. 触发更新:

5. IS-IS路由计算

IS-IS也是基于DIJSTRA来计算最短路由的,这里就不提及怎么算了,可能之后IE的阶段再去补吧!下面的什么伪节点,实节点我也没怎么搞懂怎么回事。

5.1 实节点

我们可以通过

sh 复制代码
dis isis lsdb <LSPID> verbose

来查看实节点信息

SOURCE: system-id + 伪节点标识符
NLPID: 网络层协议
AREA ID: 区域id
INTF ADDR: 产生这条LSP路由器宣告到IS-IS中所有接口的IP地址
NBR-ID: 描述P2P邻居
IP-Internal:用来描述直连的路由信息,到达这个路由的开销。

5.2 伪节点

伪节点查看的方法一样,只是LSPID中对对应的两位是非00

sh 复制代码
dis isis lsdb 0000.0000.0002.01-00 verbose 

这里的NBR ID 描述的就是伪节点连接的所有的实节点信息了。

5.3 开销值

cost 固定为0。

IS-IS路径cost=链路总和开销。

当然我们可以通过命令来更改开销值。

is-is开销值类型分为两种:

narrow: 1~63 , wide: 1~16777215

可以在is-is进程下修改开销值类型。

sh 复制代码
isis cost-style wide

修改的方式有三种:

1.单个接口下

sh 复制代码
isis cost 10
  1. 修改全局 cost
sh 复制代码
circuit-cost 30
  1. 根据接口带宽自动计算开销
    注意需要cost类型为宽类型下修改
sh 复制代码
auto-cost enable

6. 多区域通信

6.1 骨干区域到非骨干区域

默认情况下L1-2级别的路由器会把L1级别的LSDB中的叶子信息,作为自己在L2级别中的实节点中的叶子信息添加到L2级别的数据库中。

6.2 非骨干区域到骨干区域

默认情况下L1-2路由器不会把L2的任何叶子信息添加到L1区域。

所以L1区域不会学习到L2区域的任何明细路由。

所以对上面的图来说,R5不会学习到任何骨干区域的路由。

但我们观察到,它有两条缺省路由。然而这两条缺省路由产生也是有条件的。

比如说对下面这样一个图,左边R6无法访问右边的100.100.100.100/32的路由。查看路由表也会发现,没有缺省路由出现了。

为了让非骨干区域能够访问骨干区域:

L1-2路由器在骨干区域存在不同区域IDL2级别的邻居关系时,会把自己L1级别的LSP中的ATT置位为1。
ATT置位为1: LSDB中有去往其他区域的L2路由。

非骨干区域的路由器在收到ATT=1的LSP时,会自动产生一条IS-IS缺省路由,指向这个L1-2路由器。

ATT

  • 产生条件: ATT置位必须由L1-2路由器产生;L1-2设备从L2学习到的LSP所携带的区域id,必须有L1不存在的区域ID
  • 作用:用于表明这个L1-2路由器和骨干区域直连,帮助非骨干区域访问骨干区域。

7. 路由泄露

很显然如果有两条缺省路由出现分担的情况,那么就很有可能出现次优路径的风险。

比如说上面这个图,从R1R5的路由就有可能出现次优路径风险。

我们可以通过下面的命令来将L1-2路由器上所有L2的LSP叶子信息添加到L1级别的LSDB中去。

sh 复制代码
import-route is-is level-2 into level-1

再查看R5路由表就会发现路由表中有了100.100.100.100/32的路由了。

我们在R5上查看R1上泄露过来的路由时,会在看到有个星号,这个星号是什么意思呢?

星号表示DU置位,DU表示down up

当骨干区域的叶子信息手动泄露给非骨干区域时,将du置位为1

作用:防止次优路径,防止环路。

为什么要特殊标记泄露过来的路由?

当一台路由器同时存在L1L2相同目的网络的路由时,L1优于L2的,防止其他的L1-2路由器产生次优路径和环路,加一个星号。
L1 > L2 > L1*

8. IS-IS认证

8.1 接口认证

在接口视图下,对L1L2的HELLO报文进行认证

sh 复制代码
isis authentication_mode md5 cipher 123
8.2 区域认证

is-is进程视图下配置,对L1CSNP PSNPLSP报文进行认证,区域内的每一台L1路由器必须使用相同的认证模式

sh 复制代码
area-authentication-mode md5 cipher 123
8.3 路由域认证

is-is进程视图下配置,对L2CSNP PSNPLSP报文进行认证,区域内的每一台L1-2L2路由器必须使用相同的认证模式

sh 复制代码
domain-authentication-mode md5 cipher 123

参考原文

huawei-support

相关推荐
知识分享小能手6 小时前
CentOS Stream 9入门学习教程,从入门到精通,CentOS Stream 9 配置网络功能 —语法详解与实战案例(10)
网络·学习·centos
专业开发者6 小时前
Wi-Fi®:可持续的优选连接方案
网络·物联网
瑶光守护者6 小时前
【学习笔记】5G RedCap:智能回落5G NR驻留的接入策略
笔记·学习·5g
你想知道什么?6 小时前
Python基础篇(上) 学习笔记
笔记·python·学习
GIS数据转换器6 小时前
综合安防数智管理平台
大数据·网络·人工智能·安全·无人机
xian_wwq7 小时前
【学习笔记】可信数据空间的工程实现
笔记·学习
浩瀚地学7 小时前
【Arcpy】入门学习笔记(五)-矢量数据
经验分享·笔记·python·arcgis·arcpy
Li.CQ7 小时前
SQL学习笔记
笔记·sql·学习
云霄星乖乖的果冻8 小时前
01引言——李沐《动手学深度学习》个人笔记
人工智能·笔记·深度学习
AI视觉网奇8 小时前
移动端数字人 Ultralight-Digital-Human 算法笔记
笔记·计算机视觉