IS-IS原理与配置
• IS-IS(Intermediate System to Intermediate System,中间系统到中间系统)是ISO (International Organization for Standardization,国际标准化组织)为它的CLNP (ConnectionLessNetwork Protocol,无连接网络协议)设计的一种动态路由协议。 • 随着TCP/IP协议的流行,为了提供对IP路由的支持,IETF在RFC1195中对IS-IS进行了扩 充和修改,使它能够同时应用在TCP/IP和OSI(Open System Interconnect,开放式系统 互联)环境中,我们将扩展后的IS-IS称为集成IS-IS。 • 本课程主要介绍集成IS-IS的基本概念、工作原理以及配置方法。
三. IS-IS的基本配置
IS-IS协议的基本配置 (1)
-
创建IS-IS进程,进入IS-IS进程
[Huawei] isis [process-id ]
2.配置网络实体名称(NET)
[Huawei-isis-1] network-entity net
通常情况下,一个IS-IS进程下配置一个NET即可。当区域需要重新划分时,例如将多个区域合并,或者将一个区域划分 为多个区域,这种情况下配置多个NET可以在重新配置时仍然能够保证路由的正确性。由于一个IS-IS进程中区域地址最 多可配置3个,所以NET最多也只能配3个。在配置多个NET时,必须保证它们的System ID都相同。
3.配置全局Level级别
[Huawei-isis-1] is-level { level-1 | level-1-2 | level-2 }
缺省情况下,设备的Level级别为level-1-2。 在网络运行过程中,改变IS-IS设备的级别可能会导致IS-IS进程重启并可能会造成IS-IS邻居断连,建议用户在配置IS-IS时 即完成设备级别的配置。
4.进入接口视图
[Huawei]interface interface-type interface-number
参数interface-type为接口类型,参数interface-number为接口编号。
5.在接口上使能IS-IS协议
[Huawei-GigabitEthernet0/0/1] isis enable [ process-id ]
配置该命令后,IS-IS将通过该接口建立邻居、扩散LSP报文。
6.配置接口Level级别
[Huawei-GigabitEthernet0/0/1] isis circuit-level [ level-1 | level-1-2 | level-2 ]
缺省情况下,接口的Level级别为level-1-2。 两台Level-1-2设备建立邻居关系时,缺省情况下,会分别建立Level-1和Level-2邻居关系。如果只希望建立Level-1或者 Level-2的邻居关系,可以通过修改接口的Level级别实现。
7.设置接口的网络类型为P2P
[Huawei-GigabitEthernet0/0/1]isis circuit-type p2p
缺省情况下,接口网络类型根据物理接口决定。 使用该命令将广播网接口模拟成P2P接口时,接口发送Hello报文的间隔时间、宣告邻居失效前IS-IS没有收到的邻居 Hello报文数目、点到点链路上LSP报文的重传间隔时间以及IS-IS各种认证均恢复为缺省配置,而DIS优先级、DIS名称、 广播网络上发送CSNP报文的间隔时间等配置均失效。
8.恢复接口的缺省网络类型
[Huawei-GigabitEthernet0/0/1] undo isis circuit-type
使用该命令恢复接口的缺省网络类型时,接口发送Hello报文的间隔时间、宣告邻居失效前IS-IS没有收到的邻居Hello报 文数目、点到点链路上LSP报文的重传间隔时间、IS-IS各种认证、DIS优先级和广播网络上发送CSNP报文的间隔时间均 恢复为缺省配置。
9.修改接口的DIS优先级
[Huawei-GigabitEthernet0/0/1] isis dis-priority priority [ level-1 | level-2 ]
缺省情况下,IS-IS接口DIS优先级为64。 该命令用来指定挑选对应层次DIS(Designated Intermediate System)时接口的优先级。
案例:IS-IS配置
案例:R1、R2及R3的配置
R1的配置如下:
[R1] isis 1 [R1-isis-1] is-level level-1
[R1-isis-1] network-entity 49.0001.0010.0100.1001.00
[R1-isis-1] quit
[R1] interface gigabitethernet 0/0/0
[R1-GigabitEthernet0/0/0] isis enable 1
[R1-GigabitEthernet0/0/0] interface gigabitethernet 0/0/1
[R1-GigabitEthernet0/0/1] isis enable 1
R2的配置如下:
[R2] isis 1
[R2-isis-1] is-level level-1-2
[R2-isis-1] network-entity 49.0001.0020.0200.2002.00
[R2-isis-1] quit [R2] interface gigabitethernet 0/0/0
[R2-GigabitEthernet0/0/0] isis enable 1
[R2-GigabitEthernet0/0/0] interface gigabitethernet 0/0/1
[R2-GigabitEthernet0/0/1] isis enable 1
案例:R4和R5的配置
R4的配置如下:
[R4] isis 1
[R4-isis-1] is-level level-2
[R4-isis-1] network-entity 49.0002.0040.0400.4004.00
[R4-isis-1] quit [R4] interface gigabitethernet 0/0/0
[R4-GigabitEthernet0/0/0] isis enable 1
[R4-GigabitEthernet0/0/0] interface gigabitethernet 0/0/1
[R4-GigabitEthernet0/0/1] isis enable 1
[R4-GigabitEthernet0/0/1] interface gigabitethernet 0/0/2
[R4-GigabitEthernet0/0/2] isis enable 1
案例:配置验证 (查看设备的IS-IS邻接表)
R4路由器建立Level-2的邻接关系
R1路由器建立Level-1的邻接关系
• System Id字段:描述邻接的系统ID • Interface字段:描述通过该路由器哪个端口与邻接建立邻接关系 • Type:描述与该邻接的邻接关系类型 • PRI:描述该邻接对应端口的DIS优先级
案例:配置验证 (查看设备的IS-IS路由表) (1)
案例:配置验证 (查看设备的IS-IS路由表) (2)
路由渗透配置
路由渗透验证
通过查看R1的路由表,我们可以看到新增了两条明细路由192.168.10.0/24以及192.168.20.0/24,两 条路由的开销值均为30,当有数据包经由R1到达这两个网段时,不会产生次优路径。
IS-IS认证的分类
• IS-IS认证是基于网络安全性的要求而实现的一种认证手段,通过在IS-IS报文中增加认证字段对报文进行认证。 当本地路由器接收到远端路由器发送过来的IS-IS报文,如果发现认证密码不匹配,则将收到的报文进行丢弃, 达到自我保护的目的。
• 根据报文的种类,认证可以分为以下三类: ▫ 接口认证:在接口视图下配置,对Level-1和Level-2的Hello报文进行认证。
▫ 区域认证:在IS-IS进程视图下配置,对Level-1的CSNP、PSNP和LSP报文进行认证。
▫ 路由域认证:在IS-IS进程视图下配置,对Level-2的CSNP、PSNP和LSP报文进行认证。
• 根据报文的认证方式,可以分为以下四类: ▫ 简单认证:将配置的密码直接加入报文中,这种加密方式安全性较其他两种方式低。 ▫ MD5认证:通过将配置的密码进行MD5算法加密之后再加入报文中,提高密码的安全性。
▫ Keychian认证:通过配置随时间变化的密码链表来进一步提升网络的安全性。
▫ HMAC-SHA256认证:通过将配置的密码进行HMAC-SHA256算法加密之后再加入报文中,提高密码的安全性。
IS-IS认证详解
• 接口认证
▫ Hello报文使用的认证密码保存在接口下,发送带认证TLV的认证报文,互相连接的路由器接口必须配置相同的口令。
• 区域认证
▫ 区域内的每一台L1路由器都必须使用相同的认证模式和具有共同的钥匙串。
• 路由域认证
▫ IS-IS域内的每一台L2和L1/L2类型的路由器都必须使用相同模式的认证,并使用共同的钥匙串。
▫ 对于区域和路由域认证,可以设置为SNP和LSP分开认证。
▪ 本地发送的LSP报文和SNP报文都携带认证TLV,对收到的LSP报文和SNP报文都进行认证检查。
▪ 本地发送的LSP报文携带认证TLV,对收到的LSP报文进行认证检查;发送的SNP报文携带认证TLV,但不对收到的SNP报文进行检 查。
▪ 本地发送的LSP报文携带认证TLV,对收到的LSP报文进行认证检查;发送的SNP报文不携带认证TLV,也不对收到的SNP报文进行 认证检查。
▪ 本地发送的LSP报文和SNP报文都携带认证TLV,对收到的LSP报文和SNP报文都不进行认证检查。
IS-IS认证的配置 (1)
1.配置IS-IS区域认证
[Huawei-isis-1] area-authentication-mode { { simple | md5 } { plain plain-text | [ cipher ] plain-cipher-text } keychain keychain-name | hmac-sha256 key-id key-id } [ snp-packet { authentication-avoid | send-only } | allsend-only ]
simple 指定密码以纯文本方式参与认证;keychain 指定随时间变化的密钥链表;md5 指定密码通过HMAC-MD5算法 加密后参与认证。 snp-packet 指定配置SNP报文相关的验证;authentication-avoid 指定不对产生的SNP封装认证信息,也不检查收到 的SNP,只对产生的LSP封装认证信息,并检查收到的LSP;send-only 指定对产生的LSP和SNP封装认证信息,只检查 收到的LSP,不检查收到的SNP;all-send-only 指定对产生的LSP和SNP封装认证信息,不检查收到的LSP和SNP。
2.配置IS-IS路由域认证
[Huawei-isis-1] domain-authentication-mode { { simple | md5 } { plain plain-text | [ cipher ] plain-cipher-text } keychain keychain-name | hmac-sha256 key-id key-id } [ snp-packet { authentication-avoid | send-only } | allsend-only ]
参数含义与区域认证一致。
3.配置IS-IS接口认证
[Huawei-GigabitEthernet0/0/0] isis authentication-mode [keychain | md5 | simple ] [ level-1 | level-2 ] [ ip | osi ] [ send-only ]
level-1 指定设置Level-1级别的认证;level-2 指定设置Level-2级别的认证;send-only 指定只对发送的Hello报文加载 认证信息,不对接收的Hello报文进行认证。