思科路由器 IS-IS 路由协议最简单的配置实例


一、前言

IS-IS 的全称是「中间系统到中间系统」。

由于各种原因,让 IS-IS 这个路由协议显得非常神秘……

本文纯属个人学习经验,希望可以帮到刚入门网络的新手,老司机勿喷。如有错误请及时提出,谢谢!


二、IS-IS 协议简介

IS-IS 属于链路状态、内部网关路由协议。

由于 IS-IS 是基于 OSI 协议栈开发的路由协议,所以最初它并不能支持 TCP/IP 协议栈。

但由于 IS-IS 使用的算法实在是太高效了,再加上 IS-IS 并没有使用固定的报文格式,所以 IS-IS 才能在 TCP/IP 统一天下的今天存活下来。

目前支持 TCP/IP 的 IS-IS 叫「集成 IS-IS」。

不过,集成 IS-IS 中依然保留了很多 OSI 协议栈的概念。例如 CLNP(无连接网络协议,类似于 IP 协议)、NSAP(网络服务接入点,类似于 IP 地址)等。

IS-IS 的主要特点如下:

  1. IS-IS 必须指定一个 OSI 格式的“区域号和路由器 ID 的合体”,这个东西叫做 NET(网络实体标题)。NET 的格式为 xx.xxxx.yyyy.yyyy.yyyy.00(点分十六进制数)。其中 xx.xxxx 代表路由器所属的区域,yyyy.yyyy.yyyy 代表路由器 ID。
  2. IS-IS 将路由器分为了 Level-1、Level-2 和 Level-1-2(默认)这三类。其中,Level-1 路由器只能和 Level-1 路由器建立邻居;Level-2 路由器只能和 Level-2 路由器(跨区域)建立邻居;而 Level-1-2 路由器既可以和 Level-1 路由器也能和 Level-2 路由器(跨区域)建立邻居,可以看作是 Level-1 路由器和 Level-2 路由器的合体。Level-2 路由器可知道全网的拓扑信息,而 Level-1 路由器只能知道自己区域内的拓扑信息。
  3. IS-IS 严格来说并没有骨干区域和非骨干区域这种概念。取而代之的是骨干链路和非骨干链路。骨干链路指的是:一组连续的 Level-2 路由器以及 Level-1-2 路由器所组成的链路。
  4. IS-IS 以路由器为单位划分一个区域,而不是链路。
  5. IS-IS 的报文是直接封装在数据链路层之上的,所以它不能像其它路由协议一样在路由配置模式下使用 network 命令指定接口的 IP 来在对应接口上启用该路由协议。如果需要在某个接口上启用 IS-IS,只能在接口配置模式下启用。

IS-IS 一般的组网结构如下图:

目前 IS-IS 普遍用于像运营商园区网这种扁平化的网络中。相比使用 OSPF,在这种网络中使用 IS-IS 可以获得更高的稳定性及收敛效率。


三、网络拓扑图及说明

有 R1、R2、R3 三个路由器以及 PC1、PC2、PC3 三台 VPC。接口及网段的关系如上图所示。

接下来将通过 IS-IS 路由协议来实现三台 VPC 互通,且整网只需配置一个 IS-IS 区域(47.0000)。

下面只讲与 IS-IS 路由协议相关的配置。


四、配置方法

4.1 R1

4.1.1 在 IS-IS 配置模式中配置 NET

Router(config)#router isis 
Router(config-router)#net 47.0000.0000.0000.0001.00
Router(config-router)#exit

说明
• 和其他路由协议不同,IS-IS 在建立邻居的时候并不会在控制台上提示日志信息。如果需要在控制台上提示日志信息,请在 IS-IS 配置模式中执行 log-adjacency-changes 命令。

4.1.2 在接口上启用 IS-IS 协议

Router(config)#interface ethernet 0/0
Router(config-if)#ip router isis
Router(config-if)#exit

Router(config)#interface ethernet 0/1
Router(config-if)#ip router isis
Router(config-if)#exit

Router(config)#interface ethernet 0/2
Router(config-if)#ip router isis
Router(config-if)#exit

4.2 R2

4.2.1 在 IS-IS 配置模式中配置 NET

Router(config)#router isis 
Router(config-router)#net 47.0000.0000.0000.0002.00
Router(config-router)#exit

4.2.2 在接口上启用 IS-IS 协议

Router(config)#interface ethernet 0/0
Router(config-if)#ip router isis
Router(config-if)#exit

Router(config)#interface ethernet 0/1
Router(config-if)#ip router isis
Router(config-if)#exit

Router(config)#interface ethernet 0/2
Router(config-if)#ip router isis
Router(config-if)#exit

4.3 R3

4.3.1 在 IS-IS 配置模式中配置 NET

Router(config)#router isis 
Router(config-router)#net 47.0000.0000.0000.0003.00
Router(config-router)#exit

4.3.2 在接口上启用 IS-IS 协议

Router(config)#interface ethernet 0/0
Router(config-if)#ip router isis
Router(config-if)#exit

Router(config)#interface ethernet 0/1
Router(config-if)#ip router isis
Router(config-if)#exit

Router(config)#interface ethernet 0/2
Router(config-if)#ip router isis
Router(config-if)#exit

五、验证结果

5.1 检查路由表

将三个路由器全部配置完成之后,我们来看一下 R1 上面的 IS-IS 路由表。

Router#show ip route isis
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
       a - application route
       + - replicated route, % - next hop override, p - overrides from PfR

Gateway of last resort is not set

      10.0.0.0/8 is variably subnetted, 5 subnets, 2 masks
i L1     10.2.3.0/24 [115/20] via 10.1.3.3, 00:05:52, Ethernet0/1
                     [115/20] via 10.1.2.2, 00:05:52, Ethernet0/0
i L1  192.168.2.0/24 [115/20] via 10.1.2.2, 00:06:47, Ethernet0/0
i L1  192.168.3.0/24 [115/20] via 10.1.3.3, 00:05:52, Ethernet0/1

可以看到,全网的路由表均已成功学习。

5.2 PING 测试

下面用 PC2 分别 PING PC1、PC3 以及 R1 的 Ethernet0/1 接口:

VPCS> ping 192.168.1.2
84 bytes from 192.168.1.2 icmp_seq=1 ttl=62 time=2.574 ms
84 bytes from 192.168.1.2 icmp_seq=2 ttl=62 time=2.391 ms
84 bytes from 192.168.1.2 icmp_seq=3 ttl=62 time=2.144 ms
84 bytes from 192.168.1.2 icmp_seq=4 ttl=62 time=1.428 ms
84 bytes from 192.168.1.2 icmp_seq=5 ttl=62 time=1.874 ms
VPCS> ping 192.168.3.2
84 bytes from 192.168.3.2 icmp_seq=1 ttl=62 time=2.324 ms
84 bytes from 192.168.3.2 icmp_seq=2 ttl=62 time=2.012 ms
84 bytes from 192.168.3.2 icmp_seq=3 ttl=62 time=1.960 ms
84 bytes from 192.168.3.2 icmp_seq=4 ttl=62 time=1.589 ms
84 bytes from 192.168.3.2 icmp_seq=5 ttl=62 time=1.834 ms
VPCS> ping 10.1.3.1
84 bytes from 10.1.3.1 icmp_seq=1 ttl=254 time=2.620 ms
84 bytes from 10.1.3.1 icmp_seq=2 ttl=254 time=1.701 ms
84 bytes from 10.1.3.1 icmp_seq=3 ttl=254 time=1.465 ms
84 bytes from 10.1.3.1 icmp_seq=4 ttl=254 time=1.284 ms
84 bytes from 10.1.3.1 icmp_seq=5 ttl=254 time=1.474 ms

很好,全网都已经通了!

发表评论

电子邮件地址不会被公开。