1. IS-IS的基本概念
2. IS-IS工作原理
NSAP解决了设备在不同网络中的唯一识别问题,确保数据能够正确地路由到目标设备。
NET是NSAP的一种特殊格式,专门用于IS-IS路由协议中的设备标识。
IS-IS使用链路状态算法,通过交换链路状态信息来构建网络拓扑,从而计算最佳路径。
IS-IS协议利用NSAP和NET来进行路由选择。设备通过其NET标识进行相互通信,并使用NSAP地址进行数据传输。
IS-IS支持 Broadcast 和 P2P
IS-IS工作原理
DIS(Designated Intermediate System)和伪节点(Pseudo Node)是IS-IS(Intermediate System to Intermediate System)协议中的重要概念
1. DIS(Designated Intermediate System)
- 定义:DIS是一个在某个广播或多访问网络上被选举出的路由器,负责生成和发送链路状态广告(LSA)。
- 功能:DIS的主要职责是减少网络中的路由信息的冗余,避免每个路由器都发送自己的LSA,从而减少网络流量和提高效率。
2. 伪节点(Pseudo Node)
- 定义:伪节点是指在IS-IS协议中,DIS会将多访问网络视为一个逻辑节点,这个逻辑节点就是伪节点。伪节点并不是真实的物理设备,而是一个虚拟的节点,用于代表网络上的所有路由器。
- 功能:伪节点的存在使得DIS可以集中管理多访问网络中的链路状态信息,通过伪节点发送LSA,简化了网络中的信息交换。
实例说明
假设有一个以太网段,连接了多个路由器A、B、C和D。
- 选举DIS:在这个以太网段中,路由器A被选举为DIS。
- 发送LSA:路由器A作为DIS,负责生成一个伪节点,代表整个以太网段。它会将网络的链路状态信息整合后,生成一条LSA。
- 其他路由器:路由器B、C和D不会单独发送自己的LSA,而是通过DIS(伪节点)来更新网络状态。这减少了广播流量,提升了网络的效率。
在IS-IS和OSPF这两种协议中,邻接关系的建立方式存在显著差异,主要是因为它们在网络设计和效率上的不同考虑。以下是对两者的具体解释和例子。
1)IS-IS中的邻接关系
示例
在一个以太网段中,有四个路由器:A、B、C和D。假设它们都是同一级别的路由器,并且位于同一个广播网络中。
- 邻接关系:在IS-IS中,所有的路由器(A、B、C、D)都会与其他路由器形成邻接关系。即A与B、C、D,B与A、C、D,依此类推,所有路由器都相互直接建立邻接。
设计原因
- 链路状态更新:IS-IS使用链路状态协议,每个路由器需要了解网络中所有邻居的状态,以便构建完整的网络拓扑。因此,形成全面的邻接关系能够确保每个路由器都能接收和处理来自其他路由器的链路状态更新。
- 网络冗余:在多访问网络中,IS-IS通过全邻接的设计来提供冗余,确保即使某个路由器失效,其他路由器也能够迅速地适应变化。
OSPF中的邻接关系
示例
在同样的以太网段中,有四个路由器:A、B、C和D。在OSPF中,路由器会选举出一个DR(Designated Router)和一个BDR(Backup Designated Router)。假设A被选为DR,B被选为BDR,C和D则是其他路由器。
- 邻接关系:在OSPF中,只有路由器A(DR)和B(BDR)会与C和D建立邻接关系,C和D不会直接与彼此建立邻接。
设计原因
- 减少网络流量:OSPF的DR/BDR机制减少了邻接关系的数量,从而减少了LSA(链路状态广告)的传播和更新频率。这在大型网络中尤其重要,避免了因为每个路由器相互邻接而导致的冗余和不必要的网络流量。
- 简化网络管理:通过选举DR和BDR,OSPF能够集中管理多访问网络的路由信息,使得更新和路由计算更加高效。
总结
- IS-IS:通过全邻接的设计,实现了路由器之间的全面状态交换,适用于需要快速适应变化的环境,但可能增加网络流量和复杂性。
- OSPF:通过DR/BDR机制,减少了邻接关系的数量,降低了网络流量和复杂性,适用于大型广播网络,提供了一种更加高效的管理方式。
2)链路状态数据库同步
IS-IS中的LSP(链路状态协议数据单元)和OSPF中的LSA(链路状态广告)在功能上非常相似,都是用于传播网络拓扑和路由信息的结构
LSP的主要组成部分
- LSP头部:包含LSP的版本、长度、标识符和路由器信息等。
- 链路状态信息:包括路由器的连接状态、带宽、延迟等。
- 邻居信息:描述与本路由器相邻的其他路由器。
路由器A生成LSP后,它会将其发送到网络中。路由器B和C接收到A的LSP后,会更新自己的拓扑视图,从而了解A与其他路由器的连接状态。
伪节点ID:当该参数不为零时,表示该LSP为伪节点生成。
分片号:当IS-IS要发布的链路状态协议数据报文PDU(Protocol Data Unit)中的信息量太大时,IS-IS路由器将会生成多个LSP分片,用来携带更多的IS-IS信息。分片号用来区分不同的LSP分片。
在IS-IS(Intermediate System to Intermediate System)协议中,CSNP(Complete Sequence Number PDU)和PSNP(Partial Sequence Number PDU)是用于链路状态信息同步的两种不同的协议数据单元。它们在网络中起着重要的作用,帮助路由器维护一致的链路状态数据库(LSDB)。
1. CSNP(Complete Sequence Number PDU)
- 定义:CSNP用于提供整个链路状态数据库的快照。它包含了网络中所有LSP的序列号,允许其他路由器了解整个网络的状态。
- 功能:CSNP用于在网络中传递所有已知的LSP的序列号,确保所有邻接路由器之间的链路状态信息保持一致。
实例
假设有一个网络由三个路由器A、B和C组成。路由器A有LSP1、LSP2和LSP3。路由器B和C需要确保它们的LSDB与路由器A一致。
- 路由器A生成CSNP,列出LSP1、LSP2和LSP3的序列号。
- 路由器B和C接收到CSNP后,会检查自己的LSDB,如果发现缺失的LSP,会请求相应的LSP来同步。
2. PSNP(Partial Sequence Number PDU)
实例
继续使用之前的例子,假设路由器B在接收到路由器A的CSNP后发现缺少LSP2。
- 路由器B会生成PSNP,请求路由器A发送缺失的LSP2。
- 路由器A接收到PSNP后,会响应B,发送LSP2以完成同步。
3)路由计算
在IS-IS协议中,路由渗透是指将某个区域(Area)内的路由信息通过特定的路由器传递到另一个区域的过程。通常,Level-1路由器只会在其所在的区域内传播路由信息,而Level-2路由器负责在不同区域之间传播路由信息。
图中的路由渗透解释:
- 在图中,R2是一台Level-1-2路由器,它同时属于两个区域(Area 49.0001 和 Area 49.0002),并负责在这两个区域之间传播路由信息。
- 路由渗透在这里的作用是将区域 49.0002(右侧)中的192.168.10.0/24网段,通过R2路由器传递到区域 49.0001(左侧),使得区域49.0001的路由器(如R1、R3)能够学习到这些路由。
作用:
-
Level-1 路由器学习到外部区域的详细路由:通常,Level-1路由器只知道如何到达默认路由,而通过路由渗透,Level-1路由器可以学习到外部区域的详细路由信息,这样可以计算出更优的路由路径。
-
跨区域路由:路由渗透使得不同区域之间的路由信息能够共享,形成跨区域的路由连接,避免了路由隔离。
3. IS-IS的基本配置
这三步是配置IS-IS(Intermediate System to Intermediate System)协议的基本步骤,分别涉及到创建IS-IS进程、配置网络实体名称(NET),以及配置全局的Level级别。这些步骤的主要目的是使设备能够在网络中正确运行IS-IS协议,并在不同区域间进行路由交换。让我们详细解释这三步的含义和解决的问题。
1. 创建IS-IS进程并进入IS-IS进程
-
命令:
isis [process-id]
-
作用:创建一个IS-IS路由协议进程,
process-id
用于标识不同的进程。如果没有指定,默认的进程ID为1。 -
解决的问题:每个IS-IS实例都需要有一个进程,以便系统区分不同的IS-IS实例。如果同一台设备上需要同时运行多个IS-IS实例(例如在不同的VRF或网络环境中),
process-id
用于区分这些实例。例如:如果你有多个网络区域需要独立运行IS-IS,可以通过多个进程ID来隔离这些区域的路由信息。
2. 配置网络实体名称(NET)
-
命令:
network-entity net
-
作用:配置NET(Network Entity Title),这是IS-IS协议中唯一标识路由器在IS-IS网络中的身份信息。NET包含区域ID和系统ID,保证了路由器在不同区域中唯一识别。
例如:如果两个路由器在不同区域(如Area 49.0001和Area 49.0002),它们必须有唯一的NET来进行身份识别。
3. 配置全局Level级别
-
命令:
is-level { level-1 | level-1-2 | level-2 }
-
作用:配置IS-IS的Level级别。IS-IS中有两个Level:Level-1用于域内路由,Level-2用于跨域路由。Level-1-2路由器可以充当桥梁,连接不同的区域。
-
解决的问题:不同Level的路由器处理不同层级的路由信息。
Level-1
设备只会与同一域中的其他路由器通信,Level-2
设备负责跨区域路由的传播。Level-1-2
路由器则可以充当区域之间的“网关”,负责区域间的路由信息交换。例如:如果设备需要同时在两个区域之间传递路由信息,必须配置为Level-1-2级别。否则,Level-1的设备将无法与其他区域通信。
总结:
- 第一步:创建IS-IS进程,让设备能够运行IS-IS协议。
- 第二步:配置NET,确保设备在IS-IS网络中的唯一性,以正确参与路由交换。
- 第三步:配置Level级别,决定设备在IS-IS网络中是作为域内路由器、域间路由器,还是同时担任这两种角色。
在IS-IS的配置中,circuit-level
和全局的Level
配置是两个不同层面的配置,主要区别在于它们的作用范围不同,但它们之间又有联系。
1. 全局Level配置
-
配置命令:
is-level { level-1 | level-1-2 | level-2 }
-
作用范围:整个路由器
-
作用:这个配置决定了该路由器在整个IS-IS网络中是作为Level-1路由器、Level-2路由器,还是同时充当这两种角色(Level-1-2)。它影响的是路由器如何与其他路由器交换路由信息,以及在哪些区域中传播路由。
Level-1:仅与同一域(区域)中的路由器交换路由信息,不跨域传递路由。
Level-2:跨域传递路由信息,负责与其他域(区域)中的路由器进行通信。
Level-1-2:既负责域内路由传播,也负责域间路由传播。
2. Circuit-level配置
-
配置命令:
isis circuit-level { level-1 | level-2 | level-1-2 }
-
作用范围:单个接口
-
作用:决定该接口在IS-IS网络中运行的是Level-1、Level-2,还是同时支持这两种级别的邻居关系。不同接口可以配置不同的
circuit-level
,以决定该接口上运行的邻居关系类型。Level-1:接口只和同一区域内的路由器建立邻接关系,形成Level-1邻接关系。
Level-2:接口只和不同区域的路由器建立邻接关系,形成Level-2邻接关系。
Level-1-2:接口可以同时和同一区域和跨区域的路由器建立邻接关系,支持两种邻接。
联系
- 全局Level配置决定了整个路由器的角色,例如它是仅在一个区域内工作(Level-1),还是作为多个区域的边界路由器(Level-2)。
- circuit-level配置则是对单个接口的具体设定,决定该接口与哪些类型的邻居建立关系。
例如:如果一个路由器全局配置为Level-1-2(可以同时在两个层级运行),而某个接口配置为circuit-level level-1
,那么该接口只会与Level-1邻居建立邻接关系,而不会参与Level-2邻居的路由交换。