理解ISIS协议中路由级别和接口级别的含义及关系
掌握修改ISIS路由级别的方法
掌握ISIS路由器接口级别的方法
掌握查看ISIS邻接关系的方法
配置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
配置完成后,ping10.0.1.1到10.0.6.6,能拼通
现在两个公司部门都可以互通,查看R3的邻居信息
可以看到:R3与R4建立了Level-2邻接关系;与R1建立了Level-1和Level-2邻接关系;与R2建立了Level-1和Level-2邻接关系。
默认情况下isis路由器都是Level-1-2路由器,R1,R2,R3是同一区域10,能建立Level-1和Level-2邻接关系,R4是区域20,与区域10 只能建立Level-2邻接关系。
在R1上使用display isis lsdb命令查看IS-IS协议的来南路状态数据库(LSDB)
可以看到,R1同时为Level-1和Level-2分别维护了一个LSDB。Level-1有R1区域的LSP;Level-2里面有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 ip routing-table命令查看路由表
可以看到,和R1是同一网络的都是Level-1;不同网络的都是Level-2,下一跳都为R3(10.0.13.3)
说明R1去往其他网络的路由可以简化,即利用缺省路由代替。
在R1上的IS-IS进程视图下使用is-level level-1命令将R1修改为Level-1路由器,从而让R1停止为Level-2维护Lsdb和路由表,以减少开销的目的。
[R1-isis-1]is-level level-1
配置后,会输出日志,提示由于R1的IS-IS level发生的改变,IS-IS模块失效,邻接关系断开。然后重新恢复IS-IS模块,重新建立与R2,R3 Level-1的邻接关系.
在R1上查看IS-IS协议的LSDB
可以看到,只有Level-1维护了LSDB.
在R1上查看IS-IS路由表
也没有了Level-2维护的路由表了,只有Level-1维护的路由表了;并且缺省路由的下一跳为R2(10.0.12.2)和R3(10.0.13.3).
在R1上查看IP路由表
可以看到,R1只存在了同一区域的网络路由和通往其他IS-IS的缺省路由,缺省路由下一跳为R2和R3.
由于访问其他IS-IS区域的网络流量是经过区域内的Level-1-2(路由器默认为Level-1-2)路由器出去的,所以可以将Level-1-2路由器R2也改为Level-1路由器,避免R2向其他区域发送缺省路由以至于可能使去往其他IS-IS区域的流量先到达R2,而不是R3.,这样网络得到了进一步优化.
[R2]isis 1
[R2-isis-1]is-level level-1
在R1和R2上查看缺省路由
可以看到,他们的缺省路由的下一跳都是指向R3的
在R4上配置Level-2路由器,将R6 配置为Level-1
[R4]isis 1
[R4-isis-1]is-level level-2
[R6]isis 1
[R6-isis-1]is-level level-1
这样各路由器上就不会再维护没有必要的LSDB和IS-IS路由表了.
虽然各路由器上不会再维护没有必要的LSDB和IS-IS路由表了,设备开销的到了节省.但是在许多链路上还存在优化的空间.
在R3上使用debugging isis adjacency interface GinabitEthernet 0/0/0命令针对R3的G0/0/0口启用IS-IS邻接关系的调试工具.在获得调试输出后使用undo debugging all命令关闭调试工具.
debugging isis adjacency interface GigabitEthernet 0/0/0
terminal debugging
undo debugging all
可以看到,R3和R4区域ID不同,所以建立了Level-2邻接关系.但R3的G0/0/0接口依旧在同时发送Level-1和Level-2的Hello消息以尝试建立Level-1和Level-2邻接关系.为了让该接口不在发送Level-1的Hello消息以减小链路与系统开销,所以在R3的G0/0/0接口下使用isis circuit-level level-2修改G0/0/0接口的IS-IS级别为Level-2.
[R3-GigabitEthernet0/0/0]isis circuit-level level-2
配置后,R3的G0/0/0会进入Down状态,然后恢复.并显示R3与R4重新建立Level-2邻接关系.
在R3上针对G0/0/0接口重新启用IS-IS邻接关系的调试工具.
可以看到,R3的G0/0/0口没有Level-1的消息了.
在R3的G0/0/1和G0/0/2以及R5的G0/0/0和G0/0/1接口也配置如此.
[R3]int g0/0/1
[R3-GigabitEthernet0/0/1]isis circuit-level level-1
[R3-GigabitEthernet0/0/1]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的连通性
可以看到,网络优化后,互通信未受到影响.