赞
踩
ISIS属于 IGP 协议中的链路状态路由协议,所以 ISIS 很多工作模式和特点,和 OSPF 都是类似的,比如
都是支持网络的层次化设计,分为骨干层和非骨干层
设备之间传递的的都是链路状态信息,不是路由条目信息
都是支持无线规模的网络
但是,相比较 OSPF 而言, ISIS 更加的安全,同时扩展性更强,因为 ISIS 的报文时直接封装在 2 层头部后面的,没有 IP 头部,但是 OSPF 的报文时直接封装在 IP 头部后面的,同时 ,ISIS的所有功能的实现,在报文的解构都是亿 TLV 的形式实现的,扩展更强一些。比如 ISIS可以支持 IPv4、IPv6 地址 、CLNP 地址。
我们平时所说的 OSPF 仅仅支持 ipv4 ,如果想要支持 IPv6 的 话,需要重新开发一个新版本的 OSPF ,比如 OSPFv3 。
ISIS当年开发出来,主要是为了传输 CLNP地址表示的路由条目。ISIS 协议中的 IS,我们交中间系统,也就是现在的路由器。
当时的网络称之为 CLNS ( 无线的网落服务 ),在网络中的设备都必须配置有地址才可以,而这个就是 CLNP 地址,类似于现在 IP 地址。之前网络中的仍和一个终端设备,我们交 ES( end system ),相当于现在的电脑。
ISIS 就是现在路由器和路由器之间传递信息得协议,也就是路由协议
IS-ES ,就是在路由器和终端之间传递信息得协议,类似与现在得 ARP,
所以, ISIS本身就是用于 CLNP 环境中,传递路由信息。但是对于 3 层地址而言,当初出了 CLNP 以外,还有 IP 地址。显而易见的,IP 活了, CLNP 没落了。由此,在设备之间得 IP 路由得 OSPF 活了,在设备之间传递 CLNP 的 ISIS 没落了。
由于 ISIS 的扩展性太强了,后来又被逐渐的使用了,现在的 ISIS 可以同时支持多种类型的 地址,所以今天的 ISIS 都叫做 " 集成的 ISIS "。
R1
undo terminal moniteer
system-view
sysname R1
interface gi0/0/0
ip address 192.168.12.1 24
quit
isis 1 # 指定进程号为 1 如果不选默认为 1
network-entity 49.0000.0000.0001.00 # 配置 network-entity 地址
quit
interface gi0/0/0
isis enable 1 该接口宣告进入到 ISIS 进程 1中
quit
display isis peer
R2
undo terminal moniteer
system-view
sysname R2
interface gi0/0/1
ip address 192.168.12.2 24
quit
isis 2 # 指定进程号为 1 如果不选默认为 1
network-entity 49.0000.0000.0002.00
quit
interface gi0/0/1
isis enable 2 # 该接口宣告进入到 ISIS 进程 2 中
quit
display isis peer
重要字段解释:
@ system id ,相当于邻居设备的 router-id
@ interface ,表示本地与对端设备建立邻居时候使用的接口
@ circuit id ,表示的是电路 ID ,其实说的是“ 伪节点 ” ,就是 DIS 或者 DR
@ State ,表示的是邻居的状态,总共有三种 : down --init ---up
@ holdtime,表示的邻居的最大蠢货时间,默认是 30 S;当该计时器倒计时为 0 的时候,则删除邻
居关系
@ type ,表示的是邻居关系之间的类型
@ PRI ,表示邻居的 “ 优先级 ” ,用于 选举 DIS的
ISIS各种级别的含义 | ||
IS-level | 系统 level | 表示的是路由器产生报文的能力 |
level-1 | 表示该设备只能产生 level-1 的报文 | |
level-2 | 表示该设备只能产生 level-2 的报文 | |
level-1-2 | 表示该设备只能产生level-1、level-2 的报文 | |
circuit-level | 接口 level | 表示的是接口收、发报文的能力 |
level-1 | 表示该接口只能收、发 level-1 | |
level-2 | 表示该接口只能收、发 level-2 | |
level-1-2 | 表示该接口只能收、发 level-1和 level-2 报文 |
接口类型,保持默认1/2 | |||
R2-L1 | R2-L2 | R2-L1/L2 | |
R1-L1 | L1 | 无 | L1 |
R1-L2 | 无 | L2 | L2 |
R1-L1/L2 | L1 | L2 | L1/L2 |
重要字段解释:
PDH Type # 表示的是 ISIS报文的类型
ISIS的报文类型,是由设备的类型以及报文的出接口的类型决定的。
设备的类型:决定了可以产生什么类型的报文,默认都是 Level-1-2
接口的类型:决定了一个端口上允许发送和接的报文类型,默认都是 level-1-2
如果互相建立邻居的两个设备之间,他们产生和发送的报文的类型无法兼容,则无法建立邻居
如果想要修改“ 路由了下 ”,可以使用命令:
isis 1
is-level levle-1 //将该设备的 IS 类型修改为 level -1
quit
验证命令:display isis brief -----> system level:
[R1]isis 1
[R1-isis-1]is-level level-1
如果想要修改 “ 接口类型 ”,可以使用命令
interface gi0/0/x
isis circuit-type level-1 //指定该接口只能收和发 L1 的报文
验证命令:display isis interface gi0/0/x ---> type
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]isis circuit-level level-1
[R1-GigabitEthernet0/0/0]quit
可以看到此时 Type 已经由 L1/L2 变成了 L1
Max Areas : 一个 ISIS 路由器可以同时加入最多 3 个ISIS 区域;该参数是可以修改的,如果不 同,则无法建立邻居。
System ID : 表示的是发送这个 ISIS 报文的设备系统 ID,不能相同
Holdtimer :表示的是“ 如果在改时间内无法接收对方发送过来的数据包 ”,则删除邻居。在需要选 举 DIS 的“ 广播网络环境 ” 中,DIS的 holdtier 是 9S;
非 DIS 的 holdtier 是 30 S;
并且,DIS 的 hello 时间是 3S。非 DIS 的时间是 1/3
priority:优先级,默认是 64.用于 DIS 的选举
Area Address :表示的是发送这个 ISIS 报文的设备所属于的区域,
相同区域的设备,可以建立 L1 的邻居,也可以建立 L2 的邻居
不同区域的 设备,只能建立 L2 的邻居
interface Address :表示的是发送这个 ISIS 报文的接口的 IP 地址。想要建立邻居的话,接口的 IP 地址必须能够互通才可以。
所以,能够影响 ISIS 邻居建立的因素:
interface gi0/0/x
isis circuit-type p2p --> 修改为点到点
undo isis circuit-type boardcast 修改为广播
在ISIS 协议中,数据库分为两种: L1 数据库和 L2 数据库
一个 ISIS 路由器到底有哪种类型的数据库,完全取决于路由器的“ 系统类型 ”
display isis lsdb # 查看 ISIS 数据库
以上显示的都是 ISIS 数据库中的 LSP 的简要信息
LSPID ,表示的是 LSP 的名字,由三部分组成;
系统 ID,表示这个 LSP 是由那个 设备产生的;
伪节点标识符,表示该 LSP 是不是由 DR产生的;
如果该字段是 0,这说明不是 DR 产生的,此时也叫 “ 非伪节点 LSP ”, 里面包含了路由条目信息
如果该字段不是 0.这说明是由 DR 产生的;类似于 2 类 LSA ,其中不包 含路由条目信息
分段标识符,表示这个 LSP 有没有被分段;
如果该字段是 0 ,说明没有被分段
如果该字段不是 0 ,说明被分段了,
同时 ,通过import-ruote 方式引入的路由,也会进入到分段的 LSP 中
Seq Num,序列号,作用于 OSPF 的 LSA 序列号相同。表示 LSP 的新成都。每当 LSP 变化一 次,序列号就会自动加 1
Holdtime , 保持时间,类似于 OSPF 中的 LSA 的 age 字段,用于表示 LSP 的有效期。在 ISIS 中
ISIS 最大的存活时间是 1800S,并且是倒计时,为 0 时,就删除该 LSP
APP/P/OL,在 LSP 中, 3 个标记位,分别表示了不同的功能;
ATT:关联位
如果为 1,说明产生这个 LSP 的路由器,和骨干区域相连
如果为 0,说明这个 LSP 的路由器,没有和骨干区域相连
P :该标记位,在 ISIS 中,一直保留,没有使用起来
OL: overload,超载位
如果为1 ,说明产生这个 LSP 的路由器,系统资源不足,所以,在计算路由条目的时 候,就不能将这个路由器作为下一跳转发设备
---------------------------------------------------------------------- 、
注意
虽然我们平时将LSP 分为 L1 的 LSP 和 L2 的LSP,但是,我们从计算路由的角度,还可以将 LSP 分为:
伪节点 LSP:就是 DIS 产生的,类似于 2 类 LSA ,其中没有路由信息
非伪节点 LSP,才是 ISIS 真正用来传递路由/计算路由的 LSP
另外,默认情况下:
L1 区域的路由,会自动的就进入到 L2 区域
L2 区域的路由,不会自动进入到 L1 的区域
所以,为了实现 L1 和 L2 的互通
同时连接 L1/L2 区域路由 ( 俗称 OSPF 中的 ABR ),会产生 1 个 ATT位为1 的 LSP传递给自己所连接的 L1 区域的所有路由
然后 L1 区域的素有系统级别为 level-1 的路由器,收到该 LSP 以后。发现 ATT 为 1,所以就计算出一个“ 默认路由 ”。
所以,通过上面的描述,我们会发现:
ISIS 的 L1 区域,特别像 OSPF 中的 totally stub 区域
通过 ISIS 来计算路由
[R5]display isis peer verbose # 查看 ISIS 邻居的详细信息
Peer information for ISIS(1)
System Id Interface Circuit Id State HoldTime Type PRI
-------------------------------------------------------------------------------
0000.0000.0003 GE0/0/0 0000.0000.0003.01 Up 9s L2 64
MT IDs supported : 0(UP)
Local MT IDs : 0
Area Address(es) : 49.0001 邻居设备所在的区域 ID
Peer IP Address(es) : 192.168.35.3 邻居设备的接口 IP 地址
Uptime : 00:00:41
Adj Protocol : IPV4
Restart Capable : YES
Suppressed Adj : NO
Peer System Id : 0000.0000.0003 邻居设备的系统 ID
修改和查看 DIS 的优先级
interface gi0/0/x
isis dis-priority *** level -1 / level -2
quit
display isis interface gi0/0/x 查看修改后的 DIS 优先级
display isis peer 关注 circuit-id 字段
display isis interface 查看最后的是 DIS ( y/y)
-
-
- [R1]display isis interface
-
- Interface information for ISIS(1)
- --------------------------------
- Interface Id IPV4.State IPV6.State MTU Type DIS
- GE0/0/0 001 Up Down 1497 L1/L2 Yes/No
-
例如 R1 和 R2 建立 ISIS 邻居关系:
ISIS 中的 L2 区域:默认情况下,可以接收任何区域发送guolde路由,以及导入的外部路由
ISIS 中的 L1 区域:默认情况下,不要外部路由,也不要 L2 区域的路由。所以类似于 OSPF 中的 totally stub 区域
ISIS 的路由传递 : L2 不会进入到 L1; L1 会自动的进入到 L2
我们看下 R2上的路由:
R5路由
如果 L2 想要进入到 L1,就得需要 : ISIS 路由泄露( 将 L2 的路由,导入到区域 L1 )
此时再看 R2 路由
默认,L1 进入到 L2 区域,是自动的,全部的 L1 路由,都进入到 L2 区域;不可控制
如果想要控制这种转发行为,也是可以的,但是必须通过命令:
R3
isis 1
import-route isis level-1 into level-2 { 策略 }
例如:
在 R4上,L1 区域的路由进入到 L2 区域的时候,不允许 10.10.1.1/32 的过去,其他路由,都是允许的。
从而,确保 R5 访问 10.10.1.1 /32 的时候,都选择走 R3
R4
创建 ACL ,匹配感兴趣的路由 : 10.10.1.1/32,然后干掉,允许其他路由
acl 2000
rule 10 deny source 10.10.1.1 0.0.0.0
rule 20 permit source any
此时我们可以看到 路由的下一跳已经由 192.168.45.4 换成了 192.168.35.3 了,说明 ACL 已生效
例如:
上述的通配符是 0.0.0.0 ,所以我们在使用这个 ACL 匹配路由的时候
查看“ 路由条目 ”的所有 bit,因为通配符是 32 bit 的 0,并且。备件仓的路由条目的“ 网段 ” 的 32 bit。必须和我们在 ACL中 写的 10.10.1.1 的所有 32 bit 相同。
此时才叫做“ 该路由匹配住了 该 ACL ” 只有匹配住了才能执行动作 “ deny ”
192.168.1.0/24
192.168.1.0/25
192.168.1.0/26
192.168.1.0/27
以上是独立的 4个路由,但是如果我们使用 ACL: 192.168.1.0 0.0.0.0 就可以将上诉的 4 个路由,全部匹配住;
192.168.1.0/24
192.168.1.238/25
192.168.1.192/26
192.168.1.224/26
以上是独立的 4个 路由,如果使用 ACL : 192.168.1.0 0.0.0.255 既可将上述的 4 个路由,全部匹配住;
在 ISIS 进程中,通过 impor-route isis 命令调用 ACL
该类型的认证,在链路上配置,仅仅针对hello 报文加密和解密
最终影响的是ISIS 的邻居表( L1 和L2 的邻居 )
配置命令:
接口下配置的明文认证,针对的是 接口上收和 发的 hello 报文;
interface gi0/0/0
isis authentication-mode simple HCIE
quit
接口下配置的密文认证,针对的是接口上收和 发 的 hello 报文;
interface gi0/0/0
isis authencitation-mode md5 HUWEI
quit
当我们在接口上,通过上述的命令,启用了 ISIS 认证以后
该类型的认证,是在进程下配置的,仅仅针对 level-1 的 SNP 和 LSP 加密和解密,最终 影响的 L1 的数据库。以及 L1 的路由表
配置命令
应该在 L1 区域的所有路由器上都得配置,否则会导致 L1 区域无法同步,从而无法正常 计算 L1 的路由
isis 1
area-authentication-mode simple HCIE
或者
area-authentication-mode MD5 HCIE
该类型的认证,是在进程下配置的,仅仅针对 level-2 的 SNP 和 LSP 加密和界面,最终影响的 L2 的数据库,以及 L2 的路由表
配置命令:
在 L2 区域的所有设备上都要配置该命令。否则影响 L2 区域的数据库同步
isis
domain-authentication-mode md5 HCIE
或者
domain-authentication-mode simple HCIE
当前的网络环境下,进行汇总,可以实现节省对端设备的系统资源。但是主要的目的就是为了提高网络的稳定性
因为一旦进行了路由汇总,那么在发送路由的时候就不发送明细路由了,仅仅发送“ 汇总之后的路由 ” ,所以很多明细路由不稳定的时候,对邻居设备是无感知的
如何写出正确的“ 汇总路由 ”
汇总路由的“ 网段 ” ---指的是被汇总的哪些明细路由的 “ 公共部分 ”
针对多个明细路由,相同的位,直接写
针对多个明细路由,从那些不同的位开始,后面的全部都写成0
10.10.1.1---》0000 0001
10.10.2.2---》0000 0010
10.10.3.3---》0000 0011
10.10.4.4---》0000 0100
公共部分 :10.10.0.0
汇总路由的“掩码 ” ---指的是被汇总的那些明细路由的“ 公共部分 ”,有多个 bit 是相同的,在上述的例子中, 4 个 明细路由的,前面的 12 bit 。都是相同的,所以此时的掩码是 21
所以,最终汇总路由是: 10.10.0.0/21
ISIS中不存在针对 LSP 的过滤
ISIS中存在针对路由的过滤--filter-policy [ 用法与 OSPF 中,完全相同 ]
入方向 filter-policy ,指的是路由从数据库中进入到路由表中的时候,起作用,,针对任何类型的路由都起作用
出方向 filter-policy ,仅仅是针对通过 import-route 方式引入的路由起作用
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。