一.IS-IS基本配置
原理概述
和 OSPF 路由协议一样, IS-IS 也是一个应用非常广泛的 IGP 路由协议,很多 ISP 网络、特别是大型的ISP网络都部署了IS-IS网络协议。
RIP 、 OSPF 等许多 IGP 都是针对 IP ( Internet Protocol )这个网络层协议而开发的路由协议,但 IS-IS 最初是针对 CLNP ( Connection-Less Network Protocol )这个网络层协议而开发的路由协议。后来,进行扩展后的 IS-IS 既能够支持 CLNP ,也能够支持 IP, 这样的 IS-IS 协议被称为 Integrated IS-IS 协议。目前,通常情况下所说的 IS-IS 都是指 Integrated IS-IS 协议。
IS-IS 协议最初是由 ISO ( International Organization for Standadization )对其进行标准化工作的,所以 IS-IS 协议中有许多 ISO 的特殊用语,例如,主机( Host )被称为末端系统( End System ),简称 ES :路由器( Router )被称为中间系统( Intermediate System ),简称 IS : ES 与 IS 之间的信息沟通协议被称为 ES-IS 协议,而 IS 与 IS 之间用来交换路由信息的协议被称为 IS -IS 协议。
IS-IS 协议与 OSPF 协议非常相似。例如,它们都是基于链路状态的路由协议,都需要建立和维护链路状态数据库( LSDB ),都使用 Hello 报文来建立和维护邻居/邻接关系,都具有区域化和层次化的结构,如此等等,这里就不再赘述了。
另一方面, IS-IS 协议与 OSPF 协议又存在许多差别。例如, OSPF 区域的分界位于路由器上,而 IS-IS 区域的分界位于链路上; OSPF 协议支持点到点、点到多点、 NBMA 、 Broadcast 这4种 类型的网络,而 IS-IS 协议只支持点到点和 Broadcast 这两种类型的网络,如此等等,这里不再赘述。
运行 IS-IS 协议的路由器(简称为 IS-IS 路由器)必须有一个被称为 NET ( Network EntityTitle )的网络地址,即使是在 IP 环境下也是如此。 NET 也称为网络实体名,长度为8到20个字节,其格式可以多种多样。通常,在 IP 环境下 NET 的格式为:区域 ID (1个字节+系统 ID (6个字节)+ SEL (1个字节) 。例如,4A.2000.00E0.008C.00就是一个 NET ,其中的每一位都是一个十六进制数字,4A是区域 ID ,2000.00E0.008C是系统 ID ,末尾的00是 SEL 。 SEL 是 NSAP ( Network Service Access Point ) Selector 的简称, NET 中的 SEL 总是为00。总之,一个 IS-IS 路由器的网络实体名 NET 中包含了该路由器所属区域的 ID ,以及在这个区域中该路由器的身份识别标志,即系统 ID 。
另外,需要特别说明的是,在本次实验中涉及的 IS-IS 区域的区域 ID 指的都是十六进制数。例如,当描述某 IS-IS 路由器属于区域20时,这里的20指的是十六进制的20,相当于是十进制的32。
实验目的
掌握网络实名体NET的结构和含义
掌握IS-IS协议的基本配置方法
实验内容
实验拓扑如图所示。本实验模拟了一个简单的企业网络场景,路由器R1、R2、R3的Loopback 0接口分别模拟了企业内部的不同网络。网络需求是:全网运行IS-IS协议,实现企业内部不同网络的互通,并且各路由器接口都需要配置认证功能以保证网络的基本安全性。
实验拓扑
1.基本配置
根据拓扑图完成相应的基本配置,并使用ping命令检测R1与R2之间的连通性。
R2与R3的连通性测试在此省略。
2.配置IS-IS路由协议
配置IS-IS路由协议首先要在系统视图下使用命令isis创建IS-IS进程。如果不指明IS-IS进程号,则进程号默认是1。
[r1]isis
然后,在IS-IS视图下使用network-entity命令配置路由器的网络实名体,即指定系统的区域ID和系统ID。
[r1-isis-1]network-entity 10.0000.0000.0001.00
与OSPF协议的配置不同,配置IS-IS时,路由器上需要运行IS-IS的接口必须使用isis enable命令逐一进行IS-IS协议的使能。
[r1]int g0/0/0
[r1-GigabitEthernet0/0/0]isis enable
[r1-GigabitEthernet0/0/0]int loopback 0
[r1-LoopBack0]isis enable
至此,路由器R1上的IS-IS基本配置工作已告完成。在R2、R3上也进行类似的配置。
[r2]isis
[r2-isis-1]network-entity 10.0000.0000.0002.00
[r2-isis-1]q
[r2]int g0/0/0
[r2-GigabitEthernet0/0/0]int g0/0/1
[r2-GigabitEthernet0/0/1]isis enable
[r2-GigabitEthernet0/0/1]int loopback 0
[r2-LoopBack0]isis enable[r3]isis
[r3-isis-1]network-entity 10.0000.0000.0003.00
[r3-isis-1]quit
[r3]int g0/0/1
[r3-GigabitEthernet0/0/1]isis enable
[r3-GigabitEthernet0/0/1]int loopback 0
[r3-LoopBack0]isis enable
配置完成后,在R2上使用命令display isis peer查看IS-IS邻居信息。
可以看到,R2共有4条邻居信息,分别与系统ID为0000.0000.0001的邻居建立了Level-1邻接关系及Level-2邻接关系,与系统ID为0000.0000.0003的邻居建立了Level-1邻接关系与Level-2邻接关系。4条邻居信息的状态均为Up,表示IS-IS邻接关系已正常建立。在R1和R3上查邻居信息会得到与上面一致的结论。
由于系统ID不易于管理和维护时的识别和认读,因此可以在IS-IS视图下使用命令is-name为系统设置一个动态主机名。
[r1-isis-1]is-name R1
[r2-isis-1]is-name r2
[r3-isis-1]is-name r3
配置完成后,重新在R2上查看邻居信息。
可以看到,系统ID现在已经被所配置的动态主机名替换,Circuit ID中的系统主机名部分也已经被动态主机名替换。
查看R1的路由表。
可以看到R1已经获得了其它路由器的Loopback 0接口的路由,以及其它非直连网段的路由。在R2和R3上查看路由表后,可以发现同样的结果,这里不再赘述。至此,企业网络已经实现了全网互通。
3.配置IS-IS认证功能
与OSPF一样,IS-IS也能支持使用诸如明文、MD5及keychain等方式的认证功能,这里使用基于接口的MD5认证功能来保证网络的基本安全性。
[r1]int g0/0/0
[r1-GigabitEthernet0/0/0]isis authentication-mode md5 plain huawei
在R1的G0/0/0进行完上述配置后,系统输出日志信息,提示R1与邻居0000.0000.0002的邻接关系由于Hold Timer超时而变成Down状态。
[r1-GigabitEthernet0/0/0]
May 21 2024 19:29:03-08:00 r1 %%01ISIS/4/PEER_DWN_HLDTMR_EXPR(l)[0]:ISIS 256 neighbor 0000.0000.0002 was Down on interface GE0/0/0 because hold timer expired. T
he Hello packet was received at 19:29:02 last time; the maximum interval for sen
ding Hello packets was 438763520; the local router sent 738263040 Hello packets
and received 301989888 packets; the type of the Hello packet was Lan Level-2; CP
U usage was 0%.
[r1-GigabitEthernet0/0/0]
May 21 2024 19:29:03-08:00 r1 %%01ISIS/4/ADJ_CHANGE_LEVEL(l)[1]:The neighbor of
ISIS was changed. (IsisProcessId=256, Neighbor=0000.0000.0002, InterfaceName=GE0
/0/0, CurrentState=down, ChangeType=L2_HOLDTIMER_EXPIRED, Level=Level-2)[r1-GigabitEthernet0/0/0]
May 21 2024 19:29:04-08:00 r1 %%01ISIS/4/PEER_DWN_HLDTMR_EXPR(l)[2]:ISIS 256 neighbor 0000.0000.0002 was Down on interface GE0/0/0 because hold timer expired. T
he Hello packet was received at 19:29:04 last time; the maximum interval for sen
ding Hello packets was 438763520; the local router sent 771817472 Hello packets
and received 301989888 packets; the type of the Hello packet was Lan Level-1; CP
U usage was 0%.
[r1-GigabitEthernet0/0/0]
May 21 2024 19:29:04-08:00 r1 %%01ISIS/4/ADJ_CHANGE_LEVEL(l)[3]:The neighbor of
ISIS was changed. (IsisProcessId=256, Neighbor=0000.0000.0002, InterfaceName=GE0
/0/0, CurrentState=down, ChangeType=L1_HOLDTIMER_EXPIRED, Level=Level-1)
在R2上查看IS-IS邻居信息。
可以看到,R2与R1的邻居状态现在处于Init。通过上面的系统输出日志可以知道,邻接关系当初变为Down的原因是Hold Timer超时,这是因为启用IS-IS的接口认证功能后,接口会对Level-1和Level-2的Hello报文进行认证。
为了让R1和R2重新建立起邻接关系,R2的GE0/0/0接口也需要配置相应的认证功能。
[r2]int g0/0/0
[r2-GigabitEthernet0/0/0]isis authentication-mode md5 plain huawei
配置完成后,系统输出日志信息,提示R2与邻居0000.0000.0001的邻接关系发生了改变,R2与R1重新建立起了邻接关系。
May 21 2024 19:39:45-08:00 r2 %%01ISIS/4/ADJ_CHANGE_LEVEL(l)[0]:The neighbor of
ISIS was changed. (IsisProcessId=256, Neighbor=0000.0000.0001, InterfaceName=GE0/0/0, CurrentState=up, ChangeType=NEW_L1_ADJ, Level=Level-1)
[r2-GigabitEthernet0/0/0]
May 21 2024 19:39:46-08:00 r2 %%01ISIS/4/ADJ_CHANGE_LEVEL(l)[1]:The neighbor of
ISIS was changed. (IsisProcessId=256, Neighbor=0000.0000.0001, InterfaceName=GE0/0/0, CurrentState=up, ChangeType=NEW_L2_ADJ, Level=Level-2)
在R2上查看IS-IS邻居信息。
可以看到,R2与R1的Level-1邻接关系及Level-2邻接关系的状态均为Up,说明R2与R1重新建立起了邻接关系。
[r2]int g0/0/1
[r2-GigabitEthernet0/0/1]isis authentication-mode md5 plain huawei[r3]int g0/0/1
[r3-GigabitEthernet0/0/1]isis authentication-mode md5 plain huawei
配置完成后,在R3上查看邻居建立情况。
可以看到,R2与R3已经重新建立起了邻接关系。
二.IS-IS邻接关系
原理概述
在 IS-IS 协议中,路由器的 IS-IS 接口有3种不同的类型或级别: Level-1、 Level-2、 Level-1-2。 Level-1接口只能发送和接收 IS-IS Level-1 Hello 消息, Level-2接口只能发送和接收 IS-IS Level-2 Hello 消息, Level-1-2接口同时能发送和接收 IS-IS Level-1和 Level-2 Hello 消息。
相应地, IS-IS 路由器也有3种不同的类型或级别: Level-1、 Level-2、 Level-1-2。如果一台路由器的所有 IS-IS 接口都是 Level-1接口,则这种路由器称为 Level-1路由器;如果一台路由器的所有 IS-IS 接口都是 Level-2接口,则这种路由器称为 Level-2路由器;如果一台路由器既有 Level -1接口,又有 Level-2接口,或者该路由器拥有 Level-1-2接口,则这种路由器称为 Level-1-2路由器。默认情况下,路由器的 IS-IS 接口都为 Level-1-2接口,因此, IS-IS 路由器在默认情况下都是 Level-1-2路由器。根据 IS-IS 协议的设计思想, Level-1路由器部署在 IS-IS 区域内, Level-2路由器部署在 IS-IS 区域之间, Level -1-2路由器部署在 Level-1路由器与 Level-2路由器之间。
在 IS-IS 协议中,路由器之间的邻接关系分为两种类型或级别:通过交换 Level-1 Hello 消息而建立的邻接关系称为 Level-1邻接关系,通过交换 Level-2 Hello 消息而建立的邻接关系称为 Level-2邻接关系。显然,两台路由器之间可以同时具有 Level-1邻接关系和 Level-2邻接关系。
在 IS-IS 协议中, Level-1邻接关系只能够在区域 ID 相同的路由器之间建立,而 Level-2邻接关系的建立则无需考虑区域 ID 是否相同。所有建立了 Level -2邻接关系的路由器,即所有相连的 Level-1-2路由器与 Level-2路由器共同构成了 IS-IS 的骨干区域。另外需要说明的是, Level-1-2路由器既能够与拥有相同区域 ID 的 Level-1路由器建立 Level-1邻接关系,又能够与 Level-2路由器建立 Level-2邻接关系。
OSPF 和 IS-IS 都是基于链路状态的路由协议。在 OSPF 协议中,描述链路状态及路由信息的报文称为 LSA ;在 IS-IS 协议中,描述链路状态及路由信息的报文称为 LSP ( Link State PDU ,或 Link State Packet )。注意, LSP 也有两种类型或级别: Level-1 LSP 和 Level-2 LSP 。
实验目的
理解 IS-IS 协议中路由器级别和接口级别的含义及关系
掌握修改 ISIS 路由器级别的方法
掌握修改 IS-IS 路由器接口级别的方法
掌握查看 IS-IS 邻接关系的方法
实验内容
实验拓扑如图所示。本实验模拟了一个企业网络场景,R1、R2、R3为公司部门 A 的路由器,R5和R6为公司部门 B 的路由器,R4为连接公司部门 A 和部门 B 的骨干路由器,全网运行 IS-IS 。R4属于区域20,部门 A 属于区域10,部门 B 属于区域30。R1和R2的Loopback0接口模拟了部门 A 的内部网络,R6的Loopback0接口模拟了部门 B 的内部网络。网络需求是:全网互通,并需要通过修改路由器的级别以及接口级别来减少路由器的资源开销及减少网络中不必要的流量,实现优化整个网络的目的。
实验拓扑
1.基本配置
根据拓扑图进行相应的基本配置,并使用ping命令检测R1与R2之间的连通性。
其余直连网段的连通性测试过程在此省略。
2.配置IS-IS路由协议并查看IS-IS邻接关系
在每台路由器上进行IS-IS协议的基本配置。
[R1]isis 1
[R1-isis-1]network-entity 10.0000.0000.0001.00
[R1-isis-1]is-name r1
[R1-isis-1]int g0/0/0
[R1-GigabitEthernet0/0/0]isis enable
[R1-GigabitEthernet0/0/0]int g0/0/1
[R1-GigabitEthernet0/0/1]isis enable
[R1-GigabitEthernet0/0/1]int loopback 0
[R1-LoopBack0]isis enable
[R2]isis 1
[R2-isis-1]network-entity 10.0000.0000.0002.00
[R2-isis-1]is-name r2
[R2-isis-1]int g0/0/0
[R2-GigabitEthernet0/0/0]isis enable
[R2-GigabitEthernet0/0/0]int g0/0/2
[R2-GigabitEthernet0/0/2]isis enable
[R2-GigabitEthernet0/0/2]int loopback 0
[R2-LoopBack0]isis enable
[r3]isis 1
[r3-isis-1]network-entity 10.0000.0000.0003.00
[r3-isis-1]is-name r3
[r3-isis-1]int g0/0/0
[r3-GigabitEthernet0/0/0]isis enable
[r3-GigabitEthernet0/0/0]int g0/0/1
[r3-GigabitEthernet0/0/1]isis enable
[r3-GigabitEthernet0/0/1]int g0/0/2
[r3-GigabitEthernet0/0/2]isis enable
[r4]isis 1
[r4-isis-1]network-entity 20.0000.0000.0004.00
[r4-isis-1]is-name r4
[r4-isis-1]int g0/0/0
[r4-GigabitEthernet0/0/0]isis enable
[r4-GigabitEthernet0/0/0]int g0/0/1
[r4-GigabitEthernet0/0/1]isis enable
[r5]isis 1
[r5-isis-1]network-entity 30.0000.0000.0005.00
[r5-isis-1]is-name r5
[r5-isis-1]int g0/0/0
[r5-GigabitEthernet0/0/0]isis enable
[r5-GigabitEthernet0/0/0]int g0/0/1
[r5-GigabitEthernet0/0/1]isis enable
[r6]isis 1
[r6-isis-1]network-entity 30.0000.0000.0006.00
[r6-isis-1]is-name r6
[r6-isis-1]int g0/0/0
[r6-GigabitEthernet0/0/0]isis enable
[r6-GigabitEthernet0/0/0]int loopback 0
[r6-LoopBack0]isis enable
配置完成后,在R1上测试R1的Loopback 0接口(10.0.1.1)与R6的Loopback 0接口(10.0.6.6)之间的连通性。
可以看到,部门A的内部网络已经可以和部门B的内部网络进行通信了,全网已经实现了互通。在R3上查看IS-IS邻居信息。
可以看到,R3与R1既建立了Level-1邻接关系,又建立了Level-2邻接关系;R3与R2既建立了Level-1邻接关系,又建立了Level-2邻接关系;R3与R4只建立了Level-2邻接关系。
由于在默认情况下IS-IS路由器都是Level-1-2路由器,且R1、R2、R3同属于区域10,所以R3能够与R1和R2建立Level-1邻接关系,也能够建立Level-2邻接关系。由于R4的区域ID为20,与R3的区域ID不同,所以R3无法与R4建立Level-1邻接关系,但可以建立Level-2邻接关系。
3.修改IS-IS 路由器的级别
在R1上使用display isis lsdb命令查看IS-IS协议的链路状态数据库(LSDB)。
可以看到,R1同时为Level-1和Level-2分别维护了一个LSDB。Level-1的LSDB中有R1所属区域的LSP,Level-2的LSDB中不仅有R1所属区域的LSP,还有其他区域的LSP。
在R1上使用display isis route命令查看IS-IS路由表。
可以看到,R1分别为Level-1和Level-2分别维护了一张IS-IS路由表,其中Level-2路由表中非本区域路由的下一跳均为R3(10.0.13.3)。
在R1上使用display routing-table命令查看路由表。
可以看到,R1去往所属区域的其他目标网络的路由均是由 IS-IS Level-1路由表提供的,而去往非R1所属区域的网络的路由,则是由 IS-IS Level-2路由表提供的,且去往这些目标网络的路由的下一跳均为R3(10.0.13.3)。也就是说,R1去往其他区域的各个网络的路由是可以得到简化的,即利用缺省路由来代替,R1完全没有必要为 Level-2单独维护一个 LSDB 和一张 IS-IS 路由表。因此,可以在R1上的 IS-IS 进程视图下使用 is-level level-1命令将R1修改为 Level-1路由器,从而让R1停止为 Level-2维护 LSDB 和路由表,实现减少系统开销并优化网络的目的。
[R1]isis
[R1-isis-1]is-level level-1
配置完成后,系统会输出日志,提示由于R1的IS-IS Level发生了改变,IS-IS模块失效,邻接关系断开。然后IS-IS模块又重新恢复工作,并重新与R2和R3建立起Level-1邻接关系。
[R1-isis-1]
May 23 2024 19:38:06-08:00 R1 %%01ISIS/4/PEER_DWN_SYS_DISABLE(l)[1]:ISIS 256 neighbor 0000.0000.0002 was Down on interface GE0/0/0 because ISIS was disabled. Th
e Hello packet was received at 19:33:36 last time; the maximum interval for send
ing Hello packets was 3657891840; the local router sent 537591808 Hello packets
and received 117440512 packets; the type of the Hello packet was Lan Level-1.
[R1-isis-1]
May 23 2024 19:38:06-08:00 R1 %%01ISIS/4/PEER_DWN_SYS_DISABLE(l)[2]:ISIS 256 neighbor 0000.0000.0002 was Down on interface GE0/0/0 because ISIS was disabled. Th
e Hello packet was received at 19:33:15 last time; the maximum interval for send
ing Hello packets was 3657891840; the local router sent 369819648 Hello packets
and received 117440512 packets; the type of the Hello packet was Lan Level-2.
[R1-isis-1]
May 23 2024 19:38:06-08:00 R1 %%01ISIS/4/PEER_DWN_SYS_DISABLE(l)[3]:ISIS 256 neighbor 0000.0000.0003 was Down on interface GE0/0/1 because ISIS was disabled. Th
e Hello packet was received at 19:33:23 last time; the maximum interval for send
ing Hello packets was 3657891840; the local router sent 839581696 Hello packets
and received 117440512 packets; the type of the Hello packet was Lan Level-1.
[R1-isis-1]
May 23 2024 19:38:06-08:00 R1 %%01ISIS/4/PEER_DWN_SYS_DISABLE(l)[4]:ISIS 256 neighbor 0000.0000.0003 was Down on interface GE0/0/1 because ISIS was disabled. Th
e Hello packet was received at 19:34:06 last time; the maximum interval for send
ing Hello packets was 3657891840; the local router sent 604700672 Hello packets
and received 117440512 packets; the type of the Hello packet was Lan Level-2.
[R1-isis-1]
May 23 2024 19:38:06-08:00 R1 %%01ISIS/4/START_ENABLE_ISIS(l)[5]:ISIS 256 enable
d all ISIS modules.[R1-isis-1]
May 23 2024 19:38:06-08:00 R1 %%01ISIS/4/ADJ_CHANGE_LEVEL(l)[6]:The neighbor of
ISIS was changed. (IsisProcessId=256, Neighbor=0000.0000.0003, InterfaceName=GE0
/0/1, CurrentState=up, ChangeType=NEW_L1_ADJ, Level=Level-1)[R1-isis-1]
May 23 2024 19:38:06-08:00 R1 %%01ISIS/4/ADJ_CHANGE_LEVEL(l)[7]:The neighbor of
ISIS was changed. (IsisProcessId=256, Neighbor=0000.0000.0002, InterfaceName=GE0
/0/0, CurrentState=up, ChangeType=NEW_L1_ADJ, Level=Level-1)
在R1上查看IS-IS协议的LSDB。
可以看到,R1现在只为Level-1维护了LSDB。
在R1上查看IS-IS路由表。
可以看到,R1现在只为Level-1维护了路由表,且缺省路由的下一跳指向了10.0.12.2与10.0.13.3。
在R1上查看IP路由表。
可以看到,R1的路由表中只存在用于访问R1所在IS-IS区域内的网络路由和用于访问其它IS-IS区域的网络的缺省路由,缺省路由下一跳为R2(10.0.12.2)与R3(10.0.13.3)。由于访问其它IS-IS区域的网络的流量是经区域内的Level-1-2路由器出去的,所以可以将Level-1-2路由器R2也修改为Level-1路由器,避免R2向区域内下发缺省路由以至于可能使去往其它IS-IS区域的流量先到达R2,而不是先到达R3。这样,网络就可以得到进一步的优化。
[R2]isis
[R2-isis-1]is-level level-1
在R1和R2上查看缺省路由。
观察发现,R1和R2的缺省路由的下一跳都指向了R3。
最后,将R4配置为Level-2路由器,将R6配置为Level-1路由器。
[r4]isis
[r4-isis-1]is-level level-2[r6]isis
[r6-isis-1]is-level level-1
这样一来,各路由器上就不会再维护没有必要的LSDB和IS-IS路由表了。
4.修改IS-IS路由器接口的级别
目前,虽然各路由器上不会再维护没有必要的LSDB与IS-IS路由表了,设备开销得到了节省,但是,在许多链路上还存在优化的空间。
在R3上使用debugging isis adjacency interface GigabitEthernet 0/0/0命令针对R3的GE0/0/0接口启用IS-IS邻接关系的调试工具。在获取调试输出后使用undo debugging all命令关闭调试工具。
<r3>debugging isis adjacency interface GigabitEthernet 0/0/0
<r3>terminal debuggingInfo: Current terminal debugging is on.
<r3>
May 23 2024 20:18:37.366.1-08:00 r3 ISIS/6/ISIS:
ISIS-1-ADJ: Use level-2 IIH enconde cache to send IIH, GE0/0/0.(IS15_2731)
<r3>
May 23 2024 20:18:37.366.2-08:00 r3 ISIS/6/ISIS:
ISIS-1-ADJ: Sending Lan L2 Hello on GE0/0/0, to SNPA 0180.c200.0015.(IS15_6963)
<r3>
May 23 2024 20:18:37.946.1-08:00 r3 ISIS/6/ISIS:
ISIS-1-ADJ: Use level-1 IIH enconde cache to send IIH, GE0/0/0.(IS15_2679)
<r3>
May 23 2024 20:18:37.946.2-08:00 r3 ISIS/6/ISIS:
ISIS-1-ADJ: Sending Lan L1 Hello on GE0/0/0, to SNPA 0180.c200.0014.(IS15_6941)
<r3>
May 23 2024 20:18:47.366.1-08:00 r3 ISIS/6/ISIS:
ISIS-1-ADJ: Use level-2 IIH enconde cache to send IIH, GE0/0/0.(IS15_2731)
<r3>
May 23 2024 20:18:47.366.2-08:00 r3 ISIS/6/ISIS:
ISIS-1-ADJ: Sending Lan L2 Hello on GE0/0/0, to SNPA 0180.c200.0015.(IS15_6963)
<r3>undo debugging all
Info: All possible debugging has been turned off
可以看到R3和R4由于区域ID不同,所以仅建立了Level-2邻接关系。但是,R3的GE0/0/0接口依旧在同时发送Level-1和Level-2的Hello消息以尝试建立Level-1和Level-2邻接关系。为了让该接口不在发送Level-1的Hello消息以减小链路与系统开销,可以在R3的GE0/0/0接口视图下,使用命令isis circuit-level level-2修改GE0/0/0接口的IS-IS级别为Level-2。
[r3-GigabitEthernet0/0/0]isis circuit-level level-2
配置此命令后,R3的GE0/0/0接口的链路会立刻进入Down状态,然后恢复。系统会输出日志信息,显示R3将重新与R4建立Level-2邻接关系。
May 23 2024 20:27:52-08:00 r3 %%01ISIS/4/ADJ_CHANGE_LEVEL(l)[0]:The neighbor of
ISIS was changed. (IsisProcessId=256, Neighbor=0000.0000.0004, InterfaceName=GE0
/0/0, CurrentState=down, ChangeType=L2_CIRCUIT_DOWN, Level=Level-2)[r3-GigabitEthernet0/0/0]
May 23 2024 20:27:52-08:00 r3 %%01ISIS/4/PEER_DOWN_CIRC_DOWN(l)[1]:ISIS 256 neighbor 0000.0000.0004 was Down because interface GE0/0/0 was down. The Hello packet was received at 20:27:27 last time; the maximum interval for sending Hello pac
kets was 438763520; the local router sent 2583953408 Hello packets and received
1023410176 packets; the type of the Hello packet was Lan Level-2.
[r3-GigabitEthernet0/0/0]
May 23 2024 20:27:52-08:00 r3 %%01ISIS/4/ADJ_CHANGE_LEVEL(l)[2]:The neighbor of
ISIS was changed. (IsisProcessId=256, Neighbor=0000.0000.0004, InterfaceName=GE0
/0/0, CurrentState=up, ChangeType=NEW_L2_ADJ, Level=Level-2)
在R3上针对GE0/0/0接口重新启用IS-IS邻接关系的调试工具。
<r3>debugging isis adjacency interface GigabitEthernet 0/0/0
<r3>terminal debuggingInfo: Current terminal debugging is on.
<r3>
May 23 2024 20:34:48.686.1-08:00 r3 ISIS/6/ISIS:
ISIS-1-ADJ: Use level-2 IIH enconde cache to send IIH, GE0/0/0.(IS15_2731)
<r3>
May 23 2024 20:34:48.686.2-08:00 r3 ISIS/6/ISIS:
ISIS-1-ADJ: Sending Lan L2 Hello on GE0/0/0, to SNPA 0180.c200.0015.(IS15_6963)
<r3>undo debugging all
Info: All possible debugging has been turned off
可以看到,R3的GE0/0/0接口不再发送Level-1的Hello消息了。
[r3]int g0/0/1
[r3-GigabitEthernet0/0/1]isis circuit-level level-1
[r3]int g0/0/2
[r3-GigabitEthernet0/0/2]isis circuit-level level-1
[r5]int g0/0/0[r5-GigabitEthernet0/0/0]isis circuit-level level-1
[r5-GigabitEthernet0/0/0]int g0/0/1
[r5-GigabitEthernet0/0/1]isis circuit-level level-2
至此,Level-1-2路由器R3和R5不会再发送没有必要的Hello消息,减少了链路带宽的消耗,进一步优化了网络。
在R1上测试10.0.1.1/32与10.0.6.6/32之间的连通性。
可以看到,网络经过优化后,网络的互通性未受到任何影响。