1 IS-IS概述
(Intermediate System to Intermediate System,中间到中间系统)动态路由协议、链路状态路由协议,在服务提供商网络中被广泛应用。
每台运行 IS-IS 的设备都会产生 LSP,设备产生的 LSP 会被泛洪到网络中适当的范围, 所有的设备都将自己产生的以及网络中泛洪的 LSP 存储在自己的 LSDB 中。IS-IS 设 备基于自己的LSDB采用SPF(ShortestPathFirst,最短路径优先)算法进行计算,最终得到IS-IS 路由信息。另外,与 OSPF 一样,IS-IS 也支持层次化的网络架构,支持 VLSM(可变长子网掩码),支持手工路由汇总等功能。
相对于OSPF,ISIS协议具有的特点
1、报文的结构简单,邻居之间信息交互的效率较高,对网络资源占用较少
2、ISIS与OSPF都是链路状态路由协议,同样采用SPF算法计算路由
3、基于数据链路层工作,不依赖IP地址进行通信
4、对路由的控制更加灵活,适用于复杂的企业网络(×)
2 ISIS与OSPF 区别(同父异母)
同父:都属于IGP,基于LS,采用SPF算法
异母:
2.1 设备之间建立邻居的方式不同
OSPF互连接口必须在相同区域中激活OSPF,直连设备才能建立邻居
IS-IS中,不管设备在不在同一个区域,只要是同一个级别,就可以建立邻居(level 1 、level 2)
2.2 两个区域的交界地方不同(区域是NET地址中看到的)
OSPF两个区域的交界是在OSPF设备上
IS-IS的交界处不在设备上,而在链路上
协议 | 所属协议栈 | 路由器名称 | 终端 | 链路状态报文 | 支持网络类型 | 封装方式 | 地址 | 骨干区域 |
---|---|---|---|---|---|---|---|---|
IS-IS | OSI | IS(中间系统) | ES | LSP | CLNP、IP | 数据链路层 | NSAP地址 | Level 2和level -1-2所在的区域(可能有多个area) |
OSPF | TCP/IP | Router | Host | LSA | IP | IP报文 | IP地址 | Area 0 |
- CLNS(ConnectionLess Network Service,无连接网络服务)
- NSAP(Network Service Access Point,网络服务访问点)是OSI协议栈中用于定位资源的地址,主要用于提供网络层和上层应用之间的接口。
2.3 IP地址和NSAP
IP地址只用于标识设备,而不标识该设备的上层协议类型和服务类型
NSAP不仅标识设备,还标识上层协议服务类型和服务类型的内容
NSAP=IP+TCP/UDP
NSAP包括IDP及DSP,如下图所示:
IDP(Initial Domian Part)相当于IP地址中的主网络号。
DSP(Domian Specific Part)相当于IP地址中的子网号和主机地址。
**AFI(Authority and Format Identifier,授权组织和格式标识符):**长度为 1byte, 用于标识地址分配机构。另外,该字段值同时也指定了地址的格式。一个在实验室环境 中经常被使用到的 AFI 值是 49,该值表示本地管理,也即私有地址空间。
**IDI(Initial Domain Identifier,初始域标识符):**该字段用于标识域(Domain), 其长度是可变的。
**DSP 高位部分(High Order DSP):**也就是 DSP 中的高比特位部分(在二进制数值中,最靠近左边的比特位被视为高位),该字段的长度是可变的,它用于在一个域中进一步划分区域。
系统ID(System Identification):用于在一个区域内标识某台设备。在华为路由 器上,系统ID的长度固定为6byte,而且通常采用16进制格式呈现,例如 0122.a2f1.0031。 在网络部署过程中,必须保证域内设备的系统 ID 的唯一性。考虑到在以太网环境中, 设备的 MAC地址具有全局唯一性,而且正好长度也是6byte,因此使用设备的MAC地 址作为其系统 ID 也是一个不错的方案。
SEL(NSAP-Selector):长度为 1byte,用于标识上层协议类型或服务类型。 在 IS-IS 中,基于路由的目的,NSAP 的 IDP 及 DSP 高位部分加在一起被称为区域地址,该地址是可变长的,最短为 1byte。对于 IS-IS 而言,区域地址就 是区域ID(Area Identification,区域标识符)。
NET地址(重要):NET(Network Entity Title, 网络实体名称),NET 用于在网络层标识一台设备,可以简单地看作 NSEL 为 0x00 的 NSAP。由于 NSEL 为 0x00,因此NET不标识任何上层协议(或服务)类型,只用于标识该设备本身。即使在纯TCP/IP 环境中部署 IS-IS,我们也必须为每一台准备运行IS-IS 的设备分配NET,否则IS-IS将无法正常工作。一旦网络管理员为一台设备指定了NET, 该设备便可以从NET 中解析出区域 ID,以及设备的系统 ID。通常情况下,我们只会为 设备的一个IS-IS 进程指定一个NET,当然,在一些特殊场景中,我们也可能会为一个 IS-IS 进程指定多个NET,此时这些NET中的系统ID必须相同。**在IS-IS中,系统ID 相当于 OSPF 中的 Router-ID。**例如:
处于同一区域的两台IS-IS设备,其NET中的区域ID必须相同,而系统ID则必须不同
在华为路由器上,创建一个IS-IS 进程并为该进程分配 NET 的配置如下:
[Router]isis 1
[Router-isis-1]network-entity 49.ac21.32a1.00c0.fc43.f212.00
49.ac21.32a1 系统ID 00c0.fc43.f212 区域ID
2.4 DR和DIS
- 在IS-IS广播网中,优先级为0的路由器也参与DIS的选举,而在OSPF中优先级为0的路由器则不参与DR的选举。
- 在IS-IS广播网中,当有新的路由器加入,并符合成为DIS的条件时,这个路由器会被选中成为新的DIS,原有的伪节点被删除。此更改会引起一组新的LSP泛洪。而在OSPF中,当一台新路由器加入后,即使它的DR优先级值最大,也不会立即成为该网段中的DR。
- 在IS-IS广播网中,同一网段上的同一级别的路由器之间都会形成邻接关系,包括所有的非DIS路由器之间也会形成邻接关系。而在OSPF中,路由器只与DR和BDR建立邻接关系。
3 IS-IS路由器的分类
级别 | 所属区域 | 负责维护的LSDB | 与哪些level邻接关系 | |
---|---|---|---|---|
level 1(内部路由器) | 负责区域内的路由 | 非骨干区 | 自身的LSDB | 同一区域的L1 和L12 |
level 2(骨干路由器) | 负责区域间的路由 | 骨干区 | 自身的LSDB | 同一区域或不同区域的L2 和L12 |
level 1-2(类似ABR) | 骨干区 | L1和L2的,L1用于域内,L2用于域间 | 同一区域和不同区域的L1 L2 L12 |
对于同时为level-1和level-2 类型的IS-IS路由器,我们称其为level-1-2路由器,实际上,并不是一类单独的路由器
每一个非骨干区域都通过Level-1-2路由器与骨干区域相连。
骨干区域和非骨干区域可能包括多个area
3.1 Level-1路由器
Level-1路由器是一种IS-IS区域内部路由器,它只与属于同一区域的Level-1和Level-1-2路由器形成邻接关系,这种邻接关系称为Level-1邻接关系。Level-1路由器无法与Level-2路由器建立邻接关系。
Level-1路由器只负责维护Level-1的LSDB,该LSDB只包含本区域的路由信息。值得一提的是,Level-1路由器必须通过Level-1-2路由器接入IS-IS骨干区域从而访问其他区域。
level-1区域与OSPF中的totally NSSA非常类似,原因如下:
在该网络中,R1、R2 及 R3 属于 Level-1 区域 Area 49.0001,R2与R1、R3与R1均建立Level-1的邻居关系。R1能够根据本区域内所 泛洪的 Level-1 LSP 计算出本区域内的网络拓扑,以及到达本区域内各网段的路由。而 缺省时,R2及R3不会将到达Area 49.0001 区域外部的路由信息注入到该区域中,R2 及R3都在其向49.0001区域下发的Level-1 LSP 中设置ATT比特位(关于该比特位,本 书将在后续的小节中介绍),而该区域内的 Level-1 路由器则基于该 Level-1 LSP 产生一 条指向R2及R3的默认路由。因此R1不会学习到去往Area 49.0002的路由,**但是它可 以通过指向 R2 及 R3 的默认路由来到达 Area 49.0002 内的各个网段。**与此同时,R1、 R2 及R3是允许将外部路由引入IS-IS的。因此从以上所描述的特性来看,IS-IS的常规 区域的确很像OSPF的Totally NSSA。
3.2 Level-2路由器
Level-2路由器是IS-IS骨干路由器,它可以与同一或者不同区域的Level-2路由器或者Level-1-2路由器形成Level-2的邻接关系。Level-2路由器维护一个Level-2的LSDB,该LSDB包含整个IS-IS域的所有路由信息。
所有Level-2级别(即形成Level-2邻接关系)的路由器组成路由域的骨干网,负责在不同区域间通信。路由域中Level-2级别的路由器必须是物理连续的,以保证骨干网的连续性。
只有Level-2级别的路由器才能直接与区域外的路由器交换数据报文或路由信息。
3.3 Level-1-2路由器
与OSPF中的ABR非常相似,它也是IS-IS骨干网络的组成部分。
Level-1-2路由器维护两个LSDB,Level-1的LSDB用于区域内路由,Level-2的LSDB用于区域间路由。
同时属于Level-1和Level-2的路由器称为Level-1-2路由器,它可以与同一区域的Level-1和Level-1-2路由器形成Level-1邻接关系,也可以与其他区域的Level-2和Level-1-2路由器形成Level-2的邻接关系。
**缺省情况下,华为的路由器全局level 为level 1-2 **
4 ISIS支持的网络类型
IS-IS只支持两种类型的网络,根据物理链路不同可分为:
- 广播链路:如Ethernet、Token-Ring等
- 点到点链路:如PPP、HDLC等
对于NBMA(Non-Broadcast Multi-Access)网络,如ATM,需对其配置子接口,并注意子接口类型应配置为P2P;IS-IS不能在点到多点链路P2MP(Point to MultiPoint)上运行
5 IS-IS邻居建立
- 因为是广播网络,需要选举DIS,所以在邻居关系建立后,路由器会等待两个Hello报文间隔,再进行DIS的选举。Hello报文中包含Priority字段,Priority值最大的将被选举为该广播网的DIS。若优先级相同,接口MAC地址较大的被选举为DIS
IS-IS按如下原则建立邻居关系:
- 只有同一层次的相邻路由器才有可能成为邻接。
- 对于Level-1路由器来说,Area ID必须一致。
- 链路两端IS-IS接口的网络类型必须一致。
- 链路两端IS-IS接口的地址必须处于同一网段(默认情况下)
6 IS-IS数据库同步
- 首先通过IIH报文,建立邻居关系,并选举DIS
- 不同level的路由器产生相应的LSP,并发送给组播地址
(Level-1:01-80-C2-00-00-14;Level-2:01-80-C2-00-00-15)文章来源:https://www.toymoban.com/news/detail-413797.html
- DIS会将LSP放到LSDB中,并发送CSNP
- 路由器收到CSNP,对比自己的LSDB,向DIS发送PSNP请求自己没有的LSP
- 同步完成
7 ISIS报文类型
7.1 IIH =Level-1 LAN IIH +Level-2 LAN IIH+P2P IIH(Hello)
- Hello PDUHello报文用于建立和维持邻居关系,也称为IIH(IS-to-IS Hello PDUs)。
- 广播网中的Level-1 IS-IS使用Level-1 LAN IIH;广播网中的Level-2 IS-IS使用Level-2 LAN IIH;
- 非广播网络中则使用P2P IIH。
- 它们的报文格式有所不同。P2P IIH中相对于LAN IIH来说,多了一个表示本地链路ID的Local Circuit ID字段,缺少了表示广播网中DIS的优先级的Priority字段以及表示DIS和伪节点System ID的LAN ID字段。
7.2 LSP =Level-1 LSP+Level-2 LSP(LSA)
- LSP链路状态报文LSP(Link State PDUs)用于交换链路状态信息。LSP分为两种:Level-1 LSP和Level-2 LSP。Level-1 LSP由Level-1 IS-IS传送,Level-2 LSP由Level-2 IS-IS传送,Level-1-2 IS-IS则可传送以上两种LSP。
7.3 SNP=CSNP(DD)+PSNP(LSACK、LSR)
SNP序列号报文SNP(Sequence Number PDUs)通过描述全部或部分数据库中的LSP来同步各LSDB(Link-State DataBase),从而维护LSDB的完整与同步。
SNP包括全序列号报文CSNP(Complete SNP)和部分序列号报文PSNP(Partial SNP),进一步又可分为Level-1 CSNP、Level-2 CSNP、Level-1 PSNP和Level-2 PSNP。
CSNP包括LSDB中所有LSP的摘要信息,从而可以在相邻路由器间保持LSDB的同步。在广播网络上,CSNP由DIS定期发送(缺省的发送周期为10秒);在点到点链路上,CSNP只在第一次建立邻接关系时发送。PSNP只列举最近收到的一个或多个LSP的序号,它能够一次对多个LSP进行确认,当发现LSDB不同步时,也用PSNP来请求邻居发送新的LSP。文章来源地址https://www.toymoban.com/news/detail-413797.html
8 IS-IS协议的基本配置
//配置进程
//配置网络实体名称.通常情况下,一个IS-IS进程下配置一个NET即可。当区域需要重新划分时,例如将多个区域合并,或者将一个区域划分为多个区域,这种情况下配置多个NET可以在重新配置时仍然能够保证路由的正确性。由于一个IS-IS进程中区域地址最多可配置3个,所以NET最多也只能配3个。在配置多个NET时,必须保证它们的System ID都相同。
//配置全局level的级别
//使能ISIS进程
//配置接口级别.缺省情况下,接口的Level级别为level-1-2。
两台Level-1-2设备建立邻居关系时,缺省情况下,会分别建立Level-1和Level-2邻居关系。如果只希望建立Level-1或者Level-2的邻居关系,可以通过修改接口的Level级别实现。
//配置接口的网络类型,默认时由物理接口决定
//修改接口的优先级,DIS优先级默认64
[Huawei] isis [process-id ]
[Huawei-isis-1] network-entity net
[Huawei-isis-1] is-level { level-1 | level-1-2 | level-2 }
[Huawei-GigabitEthernet0/0/1] isis enable [ process-id ]
[Huawei-GigabitEthernet0/0/1] isis circuit-level [ level-1 | level-1-2 | level-2 ]
[Huawei-GigabitEthernet0/0/1] isis circuit-type p2p
[Huawei-GigabitEthernet0/0/1] isis dis-priority priority [ level-1 | level-2 ]
常用查看命令:
display Isis peer 查看Isis邻居表
display isis lsdb 查看链路状态数据库
display isis route 查看isis路由表
display ip routing-table protocol isis 查看全局路由表,可以看到Isis路由的类型
到了这里,关于ISIS原理与配置,详细的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!