一、IS-IS
IS-IS 是一个非常灵活的路由协议,具有很好地可扩展性,而且已经整合了诸如 MPLS
(多协议标记交换)之类的特性,其主要特点如下:
1. 维护一个链路状态数据库,并使用 SPF 算法来计算最佳路径;
2.用 Hello 包建立和维护邻居关系;
3.使用区域来构造两级层次化的拓扑结构;
4.在区域之间可以使用路由汇总来减少路由器的负担;
5.支持 VLSM 和 CIDR;
6.在广播多路访问网络,通过选举指定 IS(DIS)来管理和控制网络上的泛洪扩散;
7.具有认证功能;
8. IS-IS 采用 cost 作为度量值;
9. IS-IS 管理距离为 115;
10. 快速收敛;
11. 适合大型网络。
二、IS-IS相关术语
1. CLNS( Connectionless Network Service,无连接网络服务):使用数据报传输服
务,在数据传输之前不需要建立连接,它描述提供给传输层的服务;
2. CLNP( Connectionless Network Protocol, 无连接网络协议):是 OSI 模型中网络
层中的一种无连接的网络协议,和 IP 有相同的特质;
3. ES(End system,端系统): 没有路由能力的网络节点;
4. IS(Intermediate System,中间系统): 有数据包转发能力的网络节点,即路由器;
5. NSAP(Network Service Access Point ,网络服务访问点),是网络层和传输层边
界上概念性的点。每一个传输层实体都会分配得到唯一的 NSAP 地址;
6. Level 1 路由器:类似 OSPF 的内部路由器;
7. Level 1/2 路由器:类似 OSPF 的 ABR;
8. Level 2 路由器:类似 OSPF 的主干路由器;
9.SNPA(Subnetwork Point of Attachment,子网连接点):是和三层地址对应的二层
地址,如 MAC 地址、DLCI 等;
10. ISO 地址:ISO 地址有两种形式,NET(网络实体标题)和 NSAP 地址,其中 NET 是
NSEL 的值为 0x00 时的 NSAP 地址,NSAP 地址长度为 8-20 个字节,包括区域、系统 ID 和 NSEL
三个部分,其中前两部分可以分得更细。
三、集成 IS-IS 的基本配置
1、目的
(1)在路由器上启动 IS-IS 路由进程
(2)启用参与路由协议的接口
(3)度量值 cost 的计算
(4)NET 地址配置
(5)DIS 选举的控制
(6)查看和调试 IS-IS 路由协议相关信息
2、拓扑
3.实验步骤
(1)步骤 1:配置路由器 R1
R1(config)# router isis //启动 IS-IS 路由进程
R1(config-router)# net 49.0001.1111.1111.1111.00 //配置 NET 地址
R1(config)# interface Loopback0
R1(config-if)# ip address 1.1.1.1 255.255.255.0
R1(config-if)# ip router isis //接口下启用 IS-IS
R1(config-if)# interface Serial0/0/0
R1(config-if)# ip address 192.168.12.1 255.255.255.0
R1(config-if)# ip router isis
R1(config-if)# no shutdown
(2)步骤 2:配置路由器 R2
R2(config)# router isis
R2(config-router)# net 49.0001.2222.2222.2222.00
R2(config)# interface Loopback0
R2(config-if)# ip address 2.2.2.2 255.255.255.0
R2(config-if)# ip router isis
R2(config)# interface gigabitethernet0/0
R2(config-if)# ip address 192.168.1.2 255.255.255.0
R2(config-if)# ip router isis
R2(config-if)# no shutdown
R2(config)# interface Serial0/0/0
R2(config-if)# ip address 192.168.12.2 255.255.255.0
R2(config-if)# clockrate 128000
R2(config-if)# ip router isis
R2(config-if)# no shutdown
(3)步骤 3:配置路由器 R3
R3(config)# router isis
R3(config-router)# net 49.0001.3333.3333.3333.00
R3(config)# interface Loopback0
R3(config-if)# ip address 3.3.3.3 255.255.255.0
R3(config-if)# ip router isis
R3(config)# interface gigabitethernet0/0
R3(config-if)# ip address 192.168.1.3 255.255.255.0
R3(config-if)# ip router isis
R3(config-if)# no shutdown
(4)步骤 4:配置路由器 R4
R4(config)# router isis
R4(config-router)# net 49.0001.4444.4444.4444.00
R4(config)# interface Loopback0
R4(config-if)# ip address 4.4.4.4 255.255.255.0
R4(config-if)# ip router isis
R4(config)# interface gigabitethernet0/0
R4(config-if)# ip address 192.168.1.4 255.255.255.0
R4(config-if)# ip router isis
R4(config-if)# no shutdown
4.实验调试
(1) show clns neighbors
该命令用来显示 IS-IS 的邻居。
R2# show clns neighbors
System Id Interface SNPA State Holdtime Type Protocol
R1 Se0/0/0 *HDLC* Up 24 L1L2 IS-IS
R3 Gi0/0 ca02.0f78.0000 Up 26 L1L2 IS-IS
R4 Gi0/0 ca03.0f78.0000 Up 8 L1L2 IS-IS
从以上输出可以看出,路由器 R2 有 3 个邻居,而且都是“ L1L2”类型的,这也是启动
IS-IS 的路由器的默认类型。由于 R1 和 R2 是通过串行连接的,所以 SNPA 为“ *HDLC*”,而
R2与R3和R4是通过以太网连接的,所以SNPA分别是R3和R4以太口“ gigabitethernet0/0”
的 MAC 地址。
【提示】
从IOS12.0(5)版本开始,Cisco路由器支持动态主机名字映射,可以通过命令“show isis
hostname
show isis
hostname”查看:
R2# show isis hostname
Level System ID Dynamic Hostname (notag)
1 4444.4444.4444 R4
2 3333.3333.3333 R3
1 1111.1111.1111 R1
* * 2222.2222.2222 R2
上面输出清楚的显示了系统 ID 和动态主机名的映射关系,其中“* *” 表示本地路由器。
【注意】
缺省情况下,Hello 包每 10 秒中发送一次,holddown 时间为 30 秒,即 3 倍的关系。可
以在接口下通过“ isis hello-interval” 命令修改 Hello 包发送的周期,同时通过“isis
hello-multiplier
isis
hello-multiplier”命令定义 holddown 是 Hello 周期的倍数。
(2) show clns protocol
该命令显示和 CLNS 路由协议相关的信息。
R2# show clns protocol
IS-IS Router:
System Id: 2222.2222.2222.00 IS-Type: level-1-2
//系统 ID 以及 IS-IS 路由器类型
Manual area address(es):
49.0001
Routing for area address(es):
49.0001
Interfaces supported by IS-IS:
Gigabitethernet0/0 – IP
Serial0/0/0 – IP
Loopback0 – IP
//以上四行表示运行 IS-IS 路由协议的接口
Redistribute:
static (on by default)
Distance for L2 CLNS routes: 110
//管理距离
RRR level: none
Generate narrow metrics: level-1-2
Accept narrow metrics: level-1-2
//使用“窄”度量
Generate wide metrics: none
Accept wide metrics: none
(3) show clns interface
该命令显示 clns 接口状态的基本信息。
R2# show clns interface s0/0/0
Serial0/0/0 is up, line protocol is up
Checksums enabled, MTU 1500, Encapsulation HDLC
ERPDUs enabled, min. interval 10 msec.
CLNS fast switching enabled
//CLNS 快速交换启动
CLNS SSE switching disabled
//CLNS SSE 交换关闭
DEC compatibility mode OFF for this interface
Next ESH/ISH in 47 seconds
Routing Protocol: IS-IS
Circuit Type: level-1-2 //电路类型
Interface number 0x1, local circuit ID 0x100
Neighbor System-ID: R1
Level-1 Metric: 10, Priority: 64, Circuit ID: R2.00
// 接口 Level-1 的度量值、接口优先级以及电路 ID
Level-1 IPv6 Metric: 10
Number of active level-1 adjacencies: 1
Level-2 Metric: 10, Priority: 64, Circuit ID: R2.00
// 接口 Level-2 的度量值、接口优先级以及电路 ID
Level-2 IPv6 Metric: 10
Number of active level-2 adjacencies: 1
Next IS-IS Hello in 7 seconds
if state UP
(4) show clns route
该命令查看 CLNS 第二层路由信息。
R2# show clns route
Codes: C – connected, S – static, d – DecnetIV
I – ISO-IGRP, i – IS-IS, e – ES-IS
B – BGP, b – eBGP-neighbor
C 49.0001.2222.2222.2222.00 [1/0], Local IS-IS NET
C 49.0001 [2/0], Local IS-IS Area
因为这条命令用于 OSI 路由选择,所以以上输出没有太多的信息。
(5) show isis topology
该命令显示 IS-IS 的拓扑结构信息,包含到其它中间系统的路径信息。
R2# show isis topology
IS-IS IP paths to level-1 routers
System Id Metric Next-Hop Interface SNPA
R1 10 R1 Se0/0/0 *HDLC*
R2 —
R3 10 R3 Gi0/0 ca02.0f78.0000
R4 10 R4 Gi0/0 ca03.0f78.0000
IS-IS IP paths to level-2 routers
System Id Metric Next-Hop Interface SNPA
R1 10 R1 Se0/0/0 *HDLC*
R2 —
R3 10 R3 Gi0/0 ca02.0f78.0000
R4 10 R4 Gi0/0 ca03.0f78.0000
以上输出表明 IS-IS 为 L1 路由器和 L2 路由器分别存放拓扑结构数据库的,其中
“metric”是到达目标的 cost 之和。
(6) show isis database
该命令显示 IS-IS 链路状态数据库。
R2# show isis database
IS-IS Level-1 Link State Database:
LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL
R1.00-00 0x0000001C 0x5F4F 1077 0/0/0
R2.00-00 * 0x0000001E 0xF57A 974 0/0/0
R3.00-00 0x0000001C 0x0608 855 0/0/0
R4.00-00 0x0000001B 0xA5FA 701 0/0/0
R4.02-00 0x00000018 0x9BE2 592 0/0/0
IS-IS Level-2 Link State Database:
LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL
R1.00-00 0x00000020 0xFD8C 882 0/0/0
R2.00-00 * 0x00000020 0x125F 493 0/0/0
R3.00-00 0x0000001E 0x658B 869 0/0/0
R4.00-00 0x0000001B 0x1870 542 0/0/0
R4.02-00 0x00000018 0x4DB9 916 0/0/0
以上输出表明:
① IS-IS 为第一层路由和第二层路由分别维护独立的链路状态数据库。由于 IS-IS 是
链路状态路由协议,而且四台路由器具有相同区域,所以它们的链路状态数据库是相同的;
② 路由器 R4 是 DIS,LSPID(链路状态协议数据单元 ID)由三个部分构成:
第一部分是系统 ID,长度为 6 个字节;
第二部分是伪节点 ID,长度为一个字节,它代表了一个 LAN,当这个值非 0 时,表示该路
由器为 DIS;
第三部分是 LSP 分段号,长度为一个字节,如果是 00 表示所有的数据都在单个的 LSP
中;
③ 系统 ID 和伪节点就构成了电路 ID(Circuit ID),如:“R4.02”。
【技术要点】
DIS 的选举原则如下:
① 只有形成邻接关系的路由器才有资格参与选举;
② 接口优先级最高成为 DIS;
③ 如果接口优先级相同,则最高的 SNPA 地址成为 DIS;
④ DIS 选举是抢占的。
修改接口优先级的命令是“ isis priority”,默认是 64,取值范围为 0-127。在本例中
可以将 R2 的以太口的接口优先级改为 100,则 R2 马上被选为 DIS,显示如下:
R2# show isis database
IS-IS Level-1 Link State Database:
LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL
R1.00-00 0x00000020 0x5753 1196 0/0/0
R2.00-00 * 0x00000023 0xD562 1197 0/0/0
R2.02-00 * 0x00000001 0x63FE 1189 0/0/0
R3.00-00 0x00000021 0xC80D 1191 0/0/0
R4.00-00 0x00000020 0x68FF 1191 0/0/0
IS-IS Level-2 Link State Database:
LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL
R1.00-00 0x00000024 0xF590 1196 0/0/0
R2.00-00 * 0x00000025 0x58E0 1198 0/0/0
R2.02-00 * 0x00000001 0x15D5 1198 0/0/0
R3.00-00 0x00000024 0xB0B5 1196 0/0/0
R4.00-00 0x00000021 0x639A 1196 0/0/0
(7) show isis route
该命令查看 CLNS 第一层路由信息。
R2# show isis route
IS-IS not running in OSI mode (*) (only calculating IP routes)
(*) Use “show isis topology” command to display paths to all routers
由于该命令是针对 OSI 路由选择协议的,所以没有具体的输出。
(8) show ip protocols
该命令显示和 IP 路由协议相关的信息。
R2# show ip protocols
Routing Protocol is ” isis”
Invalid after 0 seconds, hold down 0 0, flushed after 0
//更新计时器全部为 0,表示 IS-IS 路由协议采用出发更新
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Redistributing: isis
Address Summarization:
None
Maximum path: 4
Routing for Networks:
Loopback0
Serial0/0/0
Gigabitethernet0/0
//以上四行表示运行 IS-IS 路由协议的接口
Routing Information Sources:
Gateway Distance Last Update
4.4.4.4 115 00:06:51
3.3.3.3 115 00:06:51
1.1.1.1 115 00:06:51
//以上五行表示路由信息源
Distance: (default is 115)
//默认管理距离
(9) show ip route
R2# show ip route isis
1.0.0.0/24 is subnetted, 1 subnets
i L1 1.1.1.0 [115/20] via 192.168.12.1, Serial0/0/0
3.0.0.0/24 is subnetted, 1 subnets
i L1 3.3.3.0 [115/20] via 192.168.1.3, GigabitEthernet0/0
4.0.0.0/24 is subnetted, 1 subnets
i L1 4.4.4.0 [115/20] via 192.168.1.4, GigabitEthernet0/0
以上输出表明,如果路由器类型为“L1/L2”,区域内的路由用“ i L1”表示,即 level-1
路由。
【提示】
默认情况下,IS-IS 使用窄度量计算度量值,所有链路都使用 10 作为度量值,因为 IS-IS
不能象 OSPF 那样基于带宽自动的计算度量值。
以下是华为数通路由交换方向完整技术分享,欢迎对华为网络技术感兴趣的小伙伴们订阅。
【可在专栏中进行查看订阅】
华为新版HCIP数通路由交换
华为新版HCIE数通路由交换