OSPF和ISIS的共同特征
⚫ 维护一个链路状态数据库,当然是基于Dijkstra算法
⚫ 都利用Hello包形成和维护邻居关系
⚫ 使用区域的概念来构成层次化的拓扑结构
⚫ 都提供在区域之间提供地址汇总的能力
⚫ 无类路由协议
⚫ 都选取一个指定路由器来描述广播性网路
⚫ 认证能力
集成 IS-IS
⚫ 集成的ISIS 可以支持纯CLNP 网络或者纯IP 网络,或者同时运行CLNP和IP的双重网络。
⚫ 当前的ISIS规范中把网络节点叫做中间系统,其他协议比如OSPF把节点叫做路由器。
IS-IS地址结构
NET是一类特殊的NSAP(SEL=00)
⚫ 在路由器上配置IS-IS时,只需要考虑NET即可。
没有NET地址ISIS无法运行
该地址包含了区域ID和系统ID,而它本质上是一个ISO地址
最后的SEL等同于TCP的端口号,永远的作为00出现
关于System ID
⚫ 一个中间系统(路由器)至少有一个NET(最多可有254个)
⚫ 同一AREA的中间系统必须有相同的AREA ID
⚫ 每个中间系统在一个AREA中必须有一个唯一的System ID
⚫ 一个domain中的两个Level-2中间系统不能有相同的System ID
⚫ NSAP至少为8个字节,最多为20个字节
⚫ 对于ip应用程序而言,1字节定义AFI(标识二进制DSP语法的地址域),最少2字节定义实际区域信息,6字节定义系统ID和1字节的NSEL,故NSAP地址最少为10字节。
R1(config)#router isis 115
R1(config-router)#net 49.1356.0000.0000.1111.00 配置NET地址,SYSTEMID要求全网唯一
R1(config-router)#log-adjacency-changes 显示LOG信息
R1(config-router)#exi
R1(config)#int rang e0/0-2
R1(config-if-range)#ip router isis 115 接口加入ISIS
验证
R1#show isis neighbors
R1#show ip route isis
IS-IS整体拓扑
将Level-1路由器部署在非骨干区域,Level-2路由器和Level-1-2路由器部署在骨干区域。每一个非骨干区域都通过Level-1-2路由器与骨干区域相连
⚫在OSPF中,每个链路只属于一个区域;而在IS-IS中,每个链路可以属于不同的区域;
⚫在IS-IS中,单个区域没有物理的骨干与非骨干区域的概念;而在OSPF中,Area0被定义为骨干区域;
⚫在IS-IS中,Level-1和Level-2级别的路由器分别采用SPF算法,分别生成最短路径树SPT;在OSPF中,只有在同一个区域内才使用SPF算法,区域之间的路由需要通过骨干区域来转发。
IS-IS路由器分类
L1路由器
Level-1路由器负责区域内的路由,它只与属于同一区域的Level-1和Level-1-2路由器形成邻居关系,属于不同区域的Level-1路由器不能形成邻居关系。Level-1路由器只负责维护Level-1的链路状态数据库LSDB,该LSDB包含本区域的路由信息。
到本区域外的报文转发给最近的Level-1-2路由器。Level-1路由器必须通过Level-1-2路由器才能连接至其他区域。
L1/L2路由器(默认)
⚫同时属于Level-1和Level-2的路由器称为Level-1-2路由器,它可以与同一区域的Level-1和Level-1-2路由器形成Level-1邻居关系,也可以与其他区域的Level-2和Level-1-2路由器形成Level-2的邻居关系。
⚫Level-1路由器必须通过Level-1-2路由器才能连接至其他区域。
⚫Level-1-2路由器维护两个LSDB,Level-1的LSDB 用于区域内路由,Level-2的LSDB用于区域间路由。
L2路由器
⚫路由器负责区域间的路由,它可以与同一或者不同区域的Level-2路由器或者其它区域的Level-1-2路由器形成邻居关系。
⚫Level-2路由器维护一个Level-2的LSDB,该LSDB包含IS-IS区域的所有路由信息。
⚫所有Level-2级别(即形成Level-2邻居关系)的路由器组成路由域的骨干网,负责在不同区域间通信。路由域中Level-2级别的路由器必须是物理连续的,以保证骨干网的连续性。
⚫在ISIS中不存在虚链路
进程下调整路由器类型
R1(config)#router isis 115
R1(config-router)#is-type level-1-2 设置路由器为L1/L2路由器
接口下调整链路类型
R1(config-if)#int rang e0/0-1
R1(config-if-range)#isis circuit-type level-2-only
验证
R1#show clns interface e0/1
ISIS报文
⚫ 1、IIH :Intermediate System to Intermediate System Hello PDU (相 当于OSPF的Hello
报文)hello-interval 10s, hold-time 30s
HELLO PDU(IIH)用于建立和维持邻居关系
⚫ Level-1 LAN IIH
⚫ Level-2 LAN IIH
⚫ P2P IIH
⚫ 2、LSP:Link state Protocol Data Unit 链路状态数据单元(OSPF的LSA,带路由信息)
LSP PDU用于交换链路状态信息
⚫ Level-1 LSP
⚫ Level-2 LSP
⚫ 3、SNP(contain a summary description of one or more LSPs.):Partial sequence Number Protocol Data Unit部分序列号协议数据单元(类似于OSPF的ACK,Request)
SNP PDU用于维护LSDB 的完整与同步,且为摘要信息
⚫ CSNP
• Level 1 CSNP
• Level 2 CSNP
⚫ PSNP
• Level 1 PSNP
• Level 2 PSNP
⚫ CSNP: Complete Sequence Numbers Protocol Data Unit,全部序列号协议数据单元
(类似于OSPF的DBD报文)
IS-IS网络类型
⚫ 点对点链路,如PPP、HDLC等
⚫ 广播链路,如Ethernet等
广播链路:DIS和伪节点
修改ISIS的网络类型
Switch(config)#int e0/2
Switch(config-if)#isis network point-to-point 在以太网接口下只能修改为点到点
验证
Switch#show clns interface e0/2
DIS:Designated IS 指定中间系统
⚫ 功能:在广播网络实现更高效的数据库同步
DIS
⚫ 在广播网络中,IS-IS 需要在所有的路由器中选举一个路由器作为DIS
⚫ Level-1和Level-2的DIS是分别选举的。
⚫ DIS优先级数值最大的被选为DIS。如果优先级数值最大的路由器有多台,则其中MAC地址最大的路由器会被选中。 (默认64 ,0 到127 之间)
⚫ 用户可以为不同级别的DIS 选举设置不同的优先级。
⚫ 优先级为0的路由器也参与DIS的选举,且DIS选举支持抢占。
⚫ 同一网段上的同一级别的路由器之间都会形成邻接关系,包括所有的非DIS路由器之间也会形成邻接关系,但LSDB的同步仍然依靠DIS来保证。
⚫ DIS 用来创建和更新伪节点,并负责生成伪节点的链路状态协议数据单元LSP ,用来描述这个网络上有哪些网络设备
⚫ IS-IS中DIS发送Hello时间间隔为10/3秒,而其他非DIS路由器发送Hello间隔为10秒。
R4(config)#int e0
R4(config-if)#isis priority 65(设置接口优先级)
形成邻居关系的条件
IS-IS形成邻居关系的条件
⚫ 同一层次(不同层次类型的路由器不能形成邻居关系,即Level-2路由器不能和Level-1路由器形成邻居关系,但是Level-1-2路由器既能和同一区域的Level-1路由器形成Level-1邻居关系又能和相同或者不同区域Level-2路由器形成Level-2邻居关系)
记住一点即可:相一为命,只有L1会做严格检查
⚫ 同一区域
⚫ 同一网段
⚫ 相同网络类型,不同网络类型不能建立邻居
ISIS网络类型
1.广播邻接关系的建立
组播MAC:01-80-C2-00-00-15 在邻居关系建立后,路由器会等待两个Hello报文间隔再进行DIS的选举
2.P2P邻接关系的建立
在P2P链路上,邻居关系的建立不同于广播链路。
分为两次握手机制和三次握手机制(默认3次)。
两次握手机制:只要路由器收到对端发来的Hello报文就单方面宣布邻居为Up状态,建立邻居关系
通过三次发送P2P的IS-IS Hello PDU最终建立起邻居关系,类似广播邻居关系的建立
IS-IS路由泄露
L1/L2路由器会自动下发默认路由给域内的L1路由器。
条件:1、L1/L2必须和其他区域路由器形成邻接关系。
2、此L1/L2路由器将LSP的ATT=1,通告给区域内的L1,也即和本区域内的路由器形成L1关系
3、表明此L1/L2有到达其他区域的路径。
默认路由Seed Metric=0
⚫ Level-1-2路由器手动将Level 2层级路由渗透到Level 1层级,可以避免Level-1路由器路由次优路由
Switch(config)#access-list 10 permit 22.1.1.0
Switch(config)#route-map LEAK permit 10
Switch(config-route-map)#match ip address 10
Switch(config)#router isis 115
Switch(config-router)#redistribute isis ip level-2 into level-1 route-map LEAK
泄露的路由前面会打上ia
漏给L1的路由默认COST值是148
IS-IS认证
认证分类
⚫ 接口认证
• 只对Level-1和Level-2的Hello 报文进行认证
⚫ 区域认证
• 对Level-1的SNP和LSP报文进行认证
⚫ 路由域认证
• 对Level-2的SNP和LSP报文进行认证
认证方式
⚫ Null
⚫ 明文
⚫ MD5
链路级别认证
R3(config)#int e0/2
R3(config-if)#isis authentication mode ?
md5 Keyed message digest
text Clear text password
R3(config-if)#isis authentication mode text
R3(config-if)#isis authentication key-chain PA ?
level-1 ISIS authentication for level-1 PDUs
level-2 ISIS authentication for level-2 PDUs
R3(config-if)#isis authentication key-chain PA
R3(config)#key chain PA
R3(config-keychain)#key 1
R3(config-keychain-key)#key-string CCIE
明文
R1(config)#key chain PA
R1(config-keychain)# key 1
R1(config-keychain-key)# key-string CCIE
R1(config-keychain-key)#int e0/2
R1(config-if)#isis authentication mode text
R1(config-if)#isis authentication key-chain PA
MD5
R1(config-if)#int e0/1
R1(config-if)#isis authentication mode md5
R1(config-if)#isis authentication key-chain PA
Switch(config)#key chain PA
Switch(config-keychain)# key 1
Switch(config-keychain-key)# key-string CCIE
Switch(config-keychain-key)#int e0/1
Switch(config-if)#isis authentication mode md5
Switch(config-if)#isis authentication key-chain PA
L1级别认证
R3(config)#router isis 115
R3(config-router)#area-password CCNP
Switch(config-if)#router isis 115
Switch(config-router)#area-password CCNP
R1config)#router isis 115
R1(config-router)#authentication mode md5 level-1
R1(config-router)#authentication key-chain PA level-1
L2级别认证
Switch(config-router)#router isis 115
Switch(config-router)#authentication mode md5 level-2
Switch(config-router)#authentication key-chain PA level-2
R2(config-keychain-key)#router isis 115
R2(config-router)#authentication mode md5 level-2
R2(config-router)#authentication key-chain PA level-2
ISIS wide metric
⚫ OSPF与ISIS协议都被扩展以便能够携带MPLS TE接口参数;对于Is-Is协议来说,使用以下两种新的TLV:
扩展的IS可达性(类型22);
扩展的IP可达性(类型135)
R2(config)#router isis 115
R2(config-router)#metric-style wide 开启宽度量
ISIS和BFD联动
R1(config)#int e0/2
R1(config-if)#bfd interval 999 min_rx 999 multiplier 3 实施BFD报文间隔为999ms,最小接收时间999ms,培数为3
R1(config-if)#isis bfd 使能ISIS和BFD的联动
R3(config)#int e0/2
R3(config-if)#bfd interval 999 min_rx 999 multiplier 3
R3(config-if)#isis bfd
验证
R3#show bfd neighbors
修改metric(默认接口度量值10)
R2(config)#int s0
R2(config-if)#isis metric 8 (接口改Metric,可单独针对L1或L2来改)
还是遵循:路由流向入口改Metric。
被动接口
R4(config-router)#passive-interface loopback 3
R4(config-router)#passive-interface ethernet 0
(不发Hello包,邻居关系Down)
引入外部路由
R2(config)#ip route 2.2.2.2 255.255.255.255 null 0
R2(config)#ip route 2.2.2.2 255.255.255.255 null 0
R2(config)#router isis 115
R2(config-router)#redistribute static level-2
引入到L2区域,并且L1区域不会学习到,需要路由泄露
R3(config-router)#redistribute static level-1
引入到L1区域,并且L2区域会学习到,不需要路由泄露
ISIS多拓扑(IPV6)
R2(config)#ipv6 unicast-routing
R2(config)#router isis 115
R2(config-router)#metric-style wide 开启宽度量
R2(config-router)#address-family ipv6 unicast 开启IPV6地址组
R2(config-router-af)#multi-topology 开启多拓扑
R2(config)#int e0/3
R2(config-if)#ipv6 router isis 宣告邻居
路由汇总
在本区域的边界路由上做汇总。(类似于OSPF的域间汇总)
R3(config)#router isis
R3(config-router)#summary-address 3.0.0.0 255.0.0.0 (默认L2)