前两天重新复习了ospf,说起链路状态协议,另一个is-is还没接触过,先了解下基本概念

is-is, Intermediate System to Intermediate System 中间系统到中间系统。

  • ES, End System 终端系统,没有数据包转发能力的网络节点
  • IS, Intermediate System 中间系统,有数据包转发能力的网络节点,即路由器
  • Area, 区域,由一组连续的路由器、主机和连接他们的网络链路组成的实体。这里的区域是以路由器划分,而不是OSPF中的以接口划分。每台路由器只属于一个区域。
  • Domain, 域,理解成自治系统,由一组连续的Area组成。

IS-IS的角色

  • Level-1路由器,只负责区域内的路由,和其他具有L1功能的路由器构成L1区域,Level-1路由器必须通过Level-1-2路由器才能连接至其他区域。

  • Level-1/2路由器,同时具有L1和L2功能的路由器,类似OSPF的ABR设备,但他不向L1区域通告L2的路由

  • Level-2路由器,负责区域间的路由,路由域中Level-2级别的路由器必须是物理连续的,以保证骨干网的连续性。。只有Level-2级别的路由器才能直接与区域外的路由器交换数据报文或路由信息。

IS-IS的NET地址结构

网络服务访问点NSAP(Network Service Access Point)是OSI协议中用于定位资源的地址。NSAP的地址结构如下图所示,它由IDP(Initial Domain Part)和DSP(Domain Specific Part)组成。IDP和DSP的长度都是可变的,NSAP总长最多是20个字节,最少8个字节。

在IS-IS路由选择过程中,没有使用NSAP地址中的NSEL,所以NSEL始终保持为00。当NSEL为00时,我们就称这个NSAP地址为NET(Network Entity Titile,网络实体名)地址,NET地址用来唯一地表示IS-IS路由选择域中的OSI主机。路由器使用NET地址来标识自己。
路由器在发送的链路状态数据包(LSP)中用NET来标识自己,这类似于OSPF发送的LSA中的路由器ID(Router ID)。

具体字段就不解析了,其中的区域ID是可变长的,建议是用49开通的本地私有域;system ID建议全局唯一,NSEL在ip网络中没有使用,填0就行。

例子 1:net 49.0001.0000.0000.0001.00
代表 area = 49.0001; systemID = 0000.0000.0001; NSEL = 00.

例子 2:net ab.cdef.1234.5678.90ab.cdef.00
代表 area = ab.cdef.1234; systemID = 5678.90ab.cdef; NESL = 00.

IS-IS的metric

在思科路由器中,ISIS默认只使用default-metric 10来计算度量值,可以使用命令metric-style来引入Delay延时,Expense花销和Reliabilty可靠性来计算路由参考。
也可以直接在接口下修改metric值来影响选路

IS-IS的配置示例

这里用不同图标来表示不同角色的设备(R3,R5是level-2设备)

基本配置

1
2
3
4
5
6
7
8
9
10
router isis
net 49.0001.0000.0000.0001.00 #net
is-type level-1

interface Ethernet0/0
ip address 16.1.1.1 255.255.255.0
ip router isis #接口下启用isis

#接口下修改metric
isis metric XXX {level-1/level-2}

常用的命令:

show isis topology #查看到达本区域的每个NET的metric和下一跳

show isis nei #查看邻居状态和角色类型

参考文档:
[1]. IS-IS路由协议中文教程v1
[2]. ISIS基础知识
[3]. IS-IS路由协议(一)