IS-IS基础
部分文章提炼自 CSDN。
isis 的基本知识
-
ISIS:中间系统到中间系统
-
ISIS 是公有协议,属于 IGP 协议,主要应用于一个 AS(企业)自治系统内部
-
ISIS 是一种链路状态协议,使用 SPF 算法
-
早期的 ISIS 是基于 CLNP(无网络连接协议)而开发的,为了继续追逐 TCP/IP 的发展,为了支持 IP 网络,ISIS 也升级称为了集成 ISIS
注:集成的 ISIS 工作在数据链路层,支持 CLNP 和 IP,而 OSPF 只支持 IP 协议
isis 协议的应用:
-
ISIS :骨干网,超大型网络,运营商数据中心、服务型网络 - 工作在数据链路层
-
OSPF:园区网,企业网等中大型网络,企业网数据中心, 云数据中心, 应用型网络 - 工作在网络层
骨干网和园区网的区别和特点
骨干网:服务型网络,由运营商(ISP)组建,为不同的企业用户提供互联网服务
特点:网络架构特别大,路由器数量特别多,流量特别大
园区网:应用型网络,主要面向企业
特点:路由器相对数量不是特别多,但是不同的企业, 不同的要求非常多, 需要满足不同的企业, 需求的精细化控制比较高
isis 工作过程(和 ospf 一样):
isis 路由器的分类;
level-1 :区域内部路由器 level-1 只维护 level-1 的 lsdb
Level-2:骨干区域路由器 拥有整个 isis 区域的路由
Leve1-2:同时维护 leve-1 和 level-2 的 lsdb 默认等级 (类似于 ospf 的 abr)
isis 的报文类型
直接在数据链路层封装,isis 报文载荷封装在以太网数据帧,使用下面的 pdu 报文
iih 报文(hello 报文):
作用:用于建立维护邻居关系
level-1 路由器使用 level-1iih 报文
level-2 路由器使用 level-2 iih 报文
level-1-2 路由器使用 level-1-2 iih 报文
LSP 报文:
作用:传递路由信息,交换链路状态信息
独立的协议报文,存在 level-1 lsp 和 level-2 lsp ,当 A 和 B 同为 level-1-2 路由器,则会交互两种报文
csnp 报文(完全序列号报文):
作用:CSNP 包括 LSDB 中所有 LSP 的摘要信息,从而可以在相邻路由器间保持 LSDB 的同步。
在广播网络上,CSNP 由 DIS 定期发送(缺省的发送周期为 10 秒)
在点到点链路上,CSNP 只在第一次建立邻接关系时发送
psnp 报文(部分序列号报文):
作用:psnp 包含 lsdb 中部分 lsp 信息,主要是请求更新和对收到的 lsp 表示确认
存在 level-1 和 level-2 区分
集成 isis 的实验
拓扑:
配置(运用 isis 协议实现互通):
<Huawei>sys
[Huawei]sys R1
[R1]isis 1 //开启ISIS功能
[R1-isis-1]network-entity 49.0010.0000.0000.0001.00 //配置NET地址
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip add 192.168.10.1 24
[R1-GigabitEthernet0/0/0]isis enable 1 //在接口上启用ISIS
<Huawei>sys
[Huawei]sys R2
[R2]isis 1
[R2-isis-1]network-entity 49.0010.0000.0000.0002.00
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip add 192.168.10.2 24
[R2-GigabitEthernet0/0/0]isis enable 1
[R2-GigabitEthernet0/0/1]ip add 192.168.20.2 24
[R2-GigabitEthernet0/0/1]isis enable 1
<Huawei>sys
[Huawei]sys R3
[R3]isis 1
[R3-isis-1]network-entity 49.0020.0000.0000.0003.00
[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ip add 192.168.20.3 24
[R3-GigabitEthernet0/0/0]isis enable 1
NET 地址
49. 0010. 0000.0000.0001. 00
区域号 系统 ID 选择器
- 作用:在 ISIS 网络中,唯一的标识一台设备的网络信息(属于哪个区域,属于哪个路由器)
备注:
1. 在 ISIS 中, 这个 NET 地址, 你就可以理解为,OSPF 中的 Router-ID + Area ID
2.ISIS 中有一个很特殊的地址, 这个地址叫做 NSAP (网络服务访问点), NET 地址是一种非常特殊的 NSAP
这里给大家提供进制的转换
一个字节 =8 个 bit=8 个二进制数 =2 个 16 进制的数
&:区域号:Area ID(例:49 /49.0010/10.0010/20.0000.0010)
- 长度可变:1-13 字节【类似于 OSPF 中区域号】
&:系统 ID:System ID (例:0000.0000.0001)
- 长度固定:6 个字节 【类似于 OSPF 中 Router-ID】
&: 选择器:SEL (协议标识符)
- 长度:1 个字节,在 IPv4 和 IPv6 网络中,该字段为 00
1.NET 地址是通过 16 进制数组成的
2.NET 地址是已 2 个 16 进制数开始(一个字节开始),和 2 个 16 进制数结束(一个字节结束)
3.NET 地址中间的部分是由 4 个 16 进制数组成,每组与每组之间用「.」分割
4.NET 地址长度是可变的,是 8-20 个字节,最低是 8 个字节
- 在一台设备上,NET 地址最多可以配置 3 个 ,在配置 NET 地址的时候,必须保证 System ID 相同(在不同的设备上,System ID 不能相同)
dis 和伪节点
dis 作用:记录该广播网络内所有 isis 协议的路由器,保证数据库的同步
dis 是一个和 ospf 的 dr 相似的概念,他主要用于 lan(区域)中虚拟一个伪节点,从而产生伪节点,伪节点是一台虚拟的设备,为了确保 lsdb 的同步,dis(伪节点)会在 lan 里面周期性的泛洪 csnp 报文,确保 lsdb 和 dis 同步
dis 选举:
先比较优先级,优先级一样再比较 mac 地址,优先级越大越好,mac 地址越大越好,且 dis 具有抢占性,且优先级为 0 也可以进行选举
isis 建立邻居过程
广播:
1.r1 在接口上激活 isis,他将在接口上周期性的发送 level1 hello 报文 ,这些 pdu 报文以组播的形式发送,hello 报文记录了 r1 的系统 id,此外还含有多个 tlv,记录了 r1 的区域 id
注:level-1 路由器的发送的 hello 报文的组播地址是:01:80:c2:00:00:14
level-2 路由器的发送的 hello 报文的组播地址是:01:80:c2:00:00:15
2.r2 收到 r1 的发送的 hello 报文,然后会进行 pdu 检查(例如区域 id 是否一样),检查通过后,r2 在 isis 邻居表里面将 r1 的状态设置为 init 状态,在自己的接口发送 hello 报文,并在 tlv 中,写下 r1 的 mac 地址,用于告诉 r1:我发现你了
3.r1 收到 r2 的 hello 报文后,将 r2 的状态设置为 up 状态,并在 tlv 中的写下 r2 的接口地址的 mac 地址,
4.r2 收到 r1 的 hello 报文后,将 r1 的状态设置为 up 状态,这样两台路由器的 isis 邻居就建立起来了
TLV(类型 + 长度 + 版本)
LSP(Link State PDU)包含多个 TLVs,用于描述邻居节点和它们之间的联系。
IIH(IS-IS Hello PDU)包含多个 TLVs,用于发现邻居节点和建立邻居关系。
CSNP(Complete Sequence Number PDU)包含多个 TLVs,用于在网络中广播链路状态变化,csnp 报文是用 tlv 来承载 lsp 条目
PSNP(Partial Sequence Number PDU)包含多个 TLVs,用于请求邻居节点发送缺失的 LSP。
点对点:
收到对方的 hello 报文,就将对方的状态设置为 up 状态
isis 骨干和非骨干区域的实验
拓扑图:
配置:
sysname R6
#
isis 1
is-level level-1 //设置为level-1路由器
network-entity 49.0010.0000.0000.0006.00
#
interface GigabitEthernet0/0/0
ip address 192.168.46.6 255.255.255.0
isis enable 1
#
interface LoopBack0
ip address 192.168.1.1 255.255.255.0
isis enable 1
sysname R4
#
isis 1
network-entity 49.0010.0000.0000.0004.00
#
interface GigabitEthernet0/0/0
ip address 192.168.14.4 255.255.255.0
isis enable 1
#
interface GigabitEthernet0/0/1
ip address 192.168.46.4 255.255.255.0
isis enable 1
sysname R1
#
isis 1
is-level level-2
network-entity 49.0020.0000.0000.0001.00
#
interface GigabitEthernet0/0/0
ip address 192.168.12.1 255.255.255.0
isis enable 1
#
interface GigabitEthernet0/0/1
ip address 192.168.14.1 255.255.255.0
isis enable 1
sysname R2
#
isis 1
is-level level-2
network-entity 49.0020.0000.0000.0002.00
#
interface GigabitEthernet0/0/0
ip address 192.168.12.2 255.255.255.0
isis enable 1
#
interface GigabitEthernet0/0/1
ip address 192.168.23.2 255.255.255.0
isis enable 1
sysname R3
#
isis 1
is-level level-2
network-entity 49.0020.0000.0000.0003.00
#
interface GigabitEthernet0/0/0
ip address 192.168.23.3 255.255.255.0
isis enable 1
#
interface GigabitEthernet0/0/1
ip address 192.168.35.3 255.255.255.0
isis enable 1
#
sysname R5
#
isis 1
network-entity 49.0030.0000.0000.0005.00
#
interface GigabitEthernet0/0/0
ip address 192.168.35.5 255.255.255.0
isis enable 1
#
interface GigabitEthernet0/0/1
ip address 192.168.57.5 255.255.255.0
isis enable 1
#
sysname R7
#
isis 1
is-level level-1
network-entity 49.0030.0000.0000.0007.00
#
interface GigabitEthernet0/0/0
ip address 192.168.57.7 255.255.255.0
isis enable 1
#
interface LoopBack0
ip address 192.168.2.1 255.255.255.0
isis enable 1
注:就相当于把路由器等级设置为 level-1-2,level-2 等级
路由渗透
Level1 路由器的数据库里面只有 level1 lan 的路由条目 ,level 2 的路由器的数据库里面只有 level2 lan 的路由条目,相互隔离,要让 level 2 的路由条目进入 level 1 就要进行路由渗透
命令:
[r4]isis 1
[r4-isis-1]import-route isis level-2 into level-1
注:为什么要进行路由渗透,因为 isis 协议里面没有像 ospf 的 3 类 lsa,只能进行路由渗透
IS-IS(Intermediate System to Intermediate System)协议是一种链路状态路由协议,广泛用于大型网络尤其是运营商网络中。以下是 IS-IS 协议的核心概念和内容。
1. IS-IS 协议的概述
IS-IS 协议属于 IGP(Interior Gateway Protocol)协议,用于同一自治系统(AS)内的路由选择。它和 OSPF 类似,都是链路状态协议,但 IS-IS 最初是为 OSI 模型设计的,适用于 IPv4 和 IPv6。IS-IS 依赖 CLNP(Connectionless Network Protocol)来进行路由信息的传播。
2. IS-IS 协议的网络结构
IS-IS 协议的网络结构基于两个主要的层级(Level):
-
Level-1:适用于同一区域内的路由器,用来维护区域内部的链路状态数据库。
-
Level-2:跨区域进行通信,Level-2 路由器形成一个「骨干」来实现不同区域之间的通信。
这两种层级构成了 IS-IS 的分层结构,使网络设计可以具有更高的扩展性和稳定性。
3. IS-IS 路由器类型
在 IS-IS 中,路由器的角色根据所处的层级有所不同,主要有以下三种类型:
-
Level-1 路由器:只进行区域内的路由学习和转发。
-
Level-2 路由器:负责不同区域之间的路由学习和转发,类似于 OSPF 中的骨干路由器。
-
Level-1-2 路由器:同时具备 Level-1 和 Level-2 功能,可以在区域内部和跨区域之间进行路由信息的交换。
4. IS-IS 协议的报文类型
IS-IS 协议的链路状态信息通过以下三类报文传递:
-
IIH(IS-IS Hello)报文:用于在相邻的 IS 之间建立和维持邻接关系。
-
LSP(Link State PDU)报文:用来通告链路状态信息。
-
CSNP(Complete Sequence Number PDU)和 PSNP(Partial Sequence Number PDU)报文:用于数据库的同步,确保所有路由器拥有一致的链路状态信息。
5. IS-IS 路由更新和算法
IS-IS 使用 SPF(Shortest Path First)算法,通过链路状态数据库计算最短路径。当网络拓扑变化时,IS-IS 会通过 Flooding 机制快速传播更新的 LSP,触发全网的 SPF 重计算。
6. IS-IS 协议的配置
在配置 IS-IS 时,需要为路由器指定其所处的层级并设置系统 ID,同时在接口上启用 IS-IS。常见的配置步骤包括:
-
配置 IS-IS 的进程和网络层级。
-
为各接口指定 IS-IS 协议并设置合适的度量值。
-
设置认证、路由过滤等高级功能以提高网络的安全性和可靠性。
7. IS-IS 协议的优缺点
优点:
-
扩展性强:适合大型网络,并在不同区域间灵活管理路由信息。
-
快速收敛:链路状态协议的特性使 IS-IS 在拓扑变化时能迅速收敛。
缺点:
-
配置复杂:相对于 RIP 等简单协议,IS-IS 配置和维护要求较高。
-
兼容性问题:虽然支持 IPv4 和 IPv6,但 IS-IS 主要用于运营商环境,不适合小型网络。
8. IS-IS 和 OSPF 的比较
-
协议模型:OSPF 基于 IP 层(TCP/IP),而 IS-IS 基于 OSI 模型。
-
扩展能力:IS-IS 更适合大规模运营商网络,OSPF 在企业网络中应用更广泛。
-
功能特性:OSPF 支持更多的网络区域类型和认证机制,但 IS-IS 的协议结构更简单,便于维护。
学习 IS-IS 时,建议您对比 OSPF 协议,掌握它们之间的异同点,加深对 IS-IS 协议的理解。同时,多做实验和配置练习,将帮助您掌握 IS-IS 在实际场景中的应用。希望这些信息对您的 HCIP 备考有所帮助!
- 感谢你赐予我前进的力量