关键词:IS-IS、网络类型、DIS 选举、Broadcast、P2P、优先级、抢占式、CSNP
第74篇:IS-IS 网络类型与 DIS 选举
一、引言
IS-IS 支持多种网络类型,不同类型的网络对邻居建立、邻接关系和数据库同步机制有着不同的要求。在 IS-IS 中,指定中间系统(DIS, Designated Intermediate System)扮演着关键角色,负责在广播网络中协调 LSP 的泛洪和 LSDB 的同步。
理解 IS-IS 的网络类型和 DIS 选举机制,是正确部署 IS-IS 网络的基础。与 OSPF 的 DR/BDR 选举不同,IS-IS 的 DIS 选举采用抢占式策略,这使得网络行为在故障恢复时表现出不同的特征。
二、核心概念
2.1 IS-IS 网络类型
IS-IS 主要支持两种网络类型:
| 网络类型 | 说明 | 适用场景 |
|---|---|---|
| 广播(Broadcast) | 多路访问网络,所有路由器在同一广播域内 | 以太网、交换机互联 |
| 点对点(Point-to-Point) | 仅连接两台路由器 | PPP、HDLC、专用链路 |
注意:IS-IS 没有 OSPF 中的 NBMA(非广播多路访问)和 P2MP(点到多点)网络类型。对于帧中继等非广播网络,IS-IS 将其配置为点对点类型。
2.2 DIS 的作用
DIS(Designated Intermediate System)在广播网络中的作用:
- 生成伪节点 LSP(Pseudonode LSP):代表广播网段,减少多路由器互联时的 LSP 数量
- 周期性泛洪 CSNP:DIS 定期发送 CSNP(Complete Sequence Number PDU),包含本地区域内所有 LSP 的摘要信息
- 控制 LSP 泛洪:在广播网络中,所有 LSP 通过 DIS 泛洪,避免重复泛洪
- 协调数据库同步:新加入的路由器通过 CSNP 快速同步 LSDB
2.3 DIS 选举规则
DIS 选举遵循以下优先级(按优先级递减顺序):
- 接口 IS-IS 优先级:数值越大优先级越高(范围 0~127,默认 64)
- System ID:优先级相同时,System ID 最大的路由器当选
| 特性 | 说明 |
|---|---|
| 抢占式 | 优先级更高的路由器随时可以抢占 DIS 角色 |
| 无备份 | 没有类似 OSPF 的 BDR,DIS 故障后立即重新选举 |
| Level 独立 | Level-1 和 Level-2 分别选举各自的 DIS |
| 优先级 0 | 仍可以参选,但不会被选为 DIS |
2.4 DIS 与 OSPF DR/BDR 的对比
| 对比维度 | IS-IS DIS | OSPF DR/BDR |
|---|---|---|
| 角色数量 | 单一(DIS) | 双重(DR + BDR) |
| 选举方式 | 抢占式 | 非抢占式 |
| 优先级范围 | 0~127(默认 64) | 0~255(默认 1) |
| 优先级 0 | 可参选,不会被选中 | 不参与 DR/BDR 选举 |
| 备份机制 | 无 | BDR 作为热备份 |
| 邻居关系 | 所有路由器间建立邻接(全互联) | 仅 DR/BDR 与其他路由器建立邻接 |
| LSP 数量 | 伪节点 LSP 减少泛洪 | 网络 LSA 减少泛洪 |
三、技术细节
3.1 广播网络中的 DIS 工作流程

3.2 伪节点(Pseudonode)概念
在广播网络中,如果有多台路由器互联,每台路由器都需要知道网段上连接了哪些邻居。如果不使用伪节点,每两台路由器之间都需要一个邻接关系条目,LSP 数量会随路由器数量呈组合式增长。
伪节点 LSP 由 DIS 生成,代表整个广播网段。所有连接到该网段的路由器只需要在 LSP 中添加一条到伪节点的邻接关系,大幅减少了 LSP 条目数量。
| 路由器数量 | 无伪节点的邻接条目 | 有伪节点的邻接条目 |
|---|---|---|
| 4 台 | C(4,2) = 6 条 | 4 × 1 = 4 条 |
| 8 台 | C(8,2) = 28 条 | 8 × 1 = 8 条 |
| 16 台 | C(16,2) = 120 条 | 16 × 1 = 16 条 |
伪节点 LSP 的格式:
LSP ID: <DIS System ID>.00.<Pseudonode ID>
示例: 0000.0000.0001.00-00 (L1 伪节点)
0000.0000.0001.01-00 (L2 伪节点)
3.3 点对点网络中的行为
在点对点网络中,IS-IS 不进行 DIS 选举,直接建立邻接关系:
- 双方直接交换 IIIH(Point-to-Point IIH)报文
- 双方直接泛洪 LSP
- 不生成伪节点 LSP
- 使用 P2P Hello 报文(与广播网络的 IIH 格式不同)
3.4 DIS 抢占式选举的影响
DIS 的抢占式特性意味着:当一台优先级更高的路由器加入网络或从故障中恢复时,它会立即成为新的 DIS。这可能导致:
- 短暂的 DIS 切换期间,CSNP 泛洪暂时中断
- 伪节点 LSP 需要重新生成(LSP ID 变化)
- 所有路由器需要更新伪节点邻接关系
因此,在实际部署中,通常将核心路由器配置为高优先级,确保 DIS 角色稳定。
四、实战配置/案例分析
4.1 配置广播网络类型
# 默认以太网接口为 Broadcast 类型
sysname R1
isis 1
net 49.0001.0000.0000.0001.00
#
interface GigabitEthernet0/0/0
ip address 10.1.0.1 24
isis enable 1
isis network-type broadcast # 默认即为 broadcast
isis dis-priority 100 # 设置 DIS 优先级为 100
isis dis-priority 100 level-2 # 仅设置 Level-2 优先级
4.2 配置点对点网络类型
# 将以太网接口强制配置为 P2P 类型
interface GigabitEthernet0/0/0
ip address 10.1.0.1 30
isis enable 1
isis network-type p2p # 强制 P2P
#
# PPP 接口自动为 P2P 类型
interface Serial1/0/0
link-protocol ppp
ip address 10.2.0.1 30
isis enable 1
4.3 查看 DIS 信息
# 查看接口 DIS 信息
<Huawei> display isis interface GigabitEthernet0/0/0
Interface : GigabitEthernet0/0/0
Circuit ID : R1.GigabitEthernet0/0/0
Network type : Broadcast
DisHoldTime : 31s
Level-1 DIS System Id : 0000.0000.0003 # L1 DIS 为 R3
Level-1 DIS Priority : 100
Level-1 DIS HoldTime : 31s
Level-2 DIS System Id : 0000.0000.0003 # L2 DIS 为 R3
Level-2 DIS Priority : 100
Level-2 DIS HoldTime : 31s
4.4 案例分析:DIS 抢占导致的路由震荡
故障背景:某园区网络有三台路由器 R1、R2、R3 互联在同一广播网段。R1 的 DIS 优先级配置为 127(最高),R2 和 R3 使用默认优先级 64。当 R1 进行短暂重启后,网络出现路由震荡。
故障现象:
# R1 重启期间,R2 成为临时 DIS(优先级 64,System ID 较大)
# R1 恢复后,由于抢占式选举,R1 立即重新成为 DIS
# 伪节点 LSP 从 R2 切换到 R1,触发全网 SPF 重新计算
排查:
# 查看 IS-IS 事件日志
*Sep 1 14:20:00.000 +0800 R2 %%%-0262025 IsIsCircuitStateChange
Circuit on interface GigabitEthernet0/0/0 changed to Up.
*Sep 1 14:20:05.000 +0800 R2 %%%-0262026 IsIsDISChange
DIS changed from 0000.0000.0002 to 0000.0000.0001 on Level-2
根因:R1 重启后 DIS 角色从 R2 抢占回 R1,伪节点 LSP 重新生成,导致 Level-2 全网 SPF 重新计算。
优化方案:
# 方案1:降低 R1 的 DIS 优先级,避免抢占(不推荐)
# 方案2:配置 DIS 优先级的同时缩短 IS-IS Hello 间隔,加快收敛
interface GigabitEthernet0/0/0
isis timer hello 1 level-2 # Hello 间隔缩短为 1 秒
# 方案3:配置 BFD 联动,快速感知邻居状态
isis 1
bfd enable
#
interface GigabitEthernet0/0/0
isis bfd enable
4.5 案例分析:P2P 网络误配为 Broadcast
故障背景:两台路由器通过点对点专线互联,但接口配置为 broadcast 类型,导致 IS-IS 邻居反复震荡。
排查:
# R1 和 R2 之间是专线(P2P 链路),但配置为 Broadcast
# R1 发送的 IIH 中携带 DIS 信息,但链路上只有两台路由器
# R1 和 R2 都认为自己应该是 DIS(优先级相同,比较 System ID)
# 虽然邻居最终能建立,但会生成不必要的伪节点 LSP
<R1> display isis interface
Network type : Broadcast # 实际应为 P2P
Level-1 DIS : 0000.0000.0001 # 自己当选 DIS(无意义)
修复:
# 修改为 P2P 类型
interface GigabitEthernet0/0/0
isis network-type p2p
修复后:
<R1> display isis interface
Network type : Point-to-Point # 正确
# 不再选举 DIS,也不再生成伪节点 LSP
五、总结
| 网络类型 | DIS 选举 | 伪节点 LSP | 推荐场景 |
|---|---|---|---|
| Broadcast | 是(抢占式) | 是 | 以太网多路由器互联 |
| Point-to-Point | 否 | 否 | PPP/HDLC/专线 |
| DIS 设计要点 | 说明 |
|---|---|
| 抢占式选举 | 优先级高的路由器随时可以成为 DIS |
| 无 BDR | DIS 故障后需重新选举,存在短暂中断 |
| L1/L2 独立 | Level-1 和 Level-2 分别选举 DIS |
| 伪节点优化 | 减少广播网络中的 LSP 邻接条目数量 |
| 优先级规划 | 核心设备配置高优先级确保 DIS 稳定 |
| P2P 强制 | 点对点链路应配置为 P2P 避免无意义 DIS 选举 |
思考
- IS-IS 的 DIS 选举是抢占式的,如果网络中频繁有设备重启,DIS 角色会频繁切换。在这种情况下,如何设计 DIS 优先级来减少网络震荡?
- IS-IS 广播网络中所有路由器之间建立全互联邻接(Full-Mesh Adjacency),而 OSPF 广播网络中只有 DR 和其他路由器建立邻接。IS-IS 这种设计对邻接关系数量有什么影响?
- 为什么 IS-IS 没有 OSPF 那样的 BDR(备份指定路由器)角色?从协议设计角度看,这种简化带来了哪些利弊?
下篇预告:第75篇:IS-IS 报文类型:Hello、LSP、PSNP、CSNP