本文档整合了IS-IS协议理论知识与华为eNSP实战配置,包含详细的命令解析、配置示例和故障排查方法,适合网络工程师学习和参考。
一、IS-IS协议核心概念
1.1 协议概述
**IS-IS(Intermediate System to Intermediate System)**是一种链路状态路由协议,采用SPF(最短路径优先)算法进行路由计算。
| 特性 | 说明 |
|---|---|
| 起源 | 最初为OSI CLNP(无连接网络协议)设计 |
| 扩展性 | 通过集成化IS-IS(Integrated IS-IS)支持IPv4和IPv6双栈路由 |
| 运行层 | 直接承载于数据链路层之上 |
| 适用场景 | 大型运营商网络、骨干网 |
1.2 为什么大型ISP网络选择IS-IS?
核心优势
-
超大规模网络支持
- 路由承载能力可达BGP级别
- 天生避免路由环路问题
- 快速收敛,适应网络拓扑变化
-
卓越的扩展性
- 基于TLV(Type-Length-Value)结构,扩展性极强
- 原生支持OSI CLNP,通过扩展支持IPv4/IPv6
- 新协议需求只需开发新TLV,无需修改基础结构
-
扁平化网络架构
- 区域边界在链路上,一台路由器的不同接口可属于不同区域
- 骨干网由所有连续的Level-2路由器和Level-1-2路由器逻辑构成
- 不要求物理连续,适合运营商扁平化网络部署
二、IS-IS与OSPF深度对比
| 特性 | IS-IS | OSPF |
|---|---|---|
| 运行层 | 直接承载于数据链路层 | 运行在IP层之上(协议号89) |
| 标识符 | 使用NET地址(包含Area ID) | 使用Router-ID(IP地址) |
| 区域边界 | 在链路上 | 在路由器上(ABR) |
| 骨干区域 | 所有L2和L1/2路由器逻辑构成,不要求物理连续 | Area 0必须连续,适合层次化部署 |
| 网络类型 | 定义简单(广播、点到点) | 定义复杂(广播、非广播、点到点等) |
| 报文格式 | 基于TLV,灵活可扩展 | 固定格式,扩展性一般 |
| 扩展性 | 极强,支持多协议 | 一般,需要新版本支持新功能 |
| 收敛速度 | 很快 | 快 |
| 适用场景 | 大型运营商网络、骨干网 | 企业网、中小型网络 |
| 路由器类型 | Level-1、Level-2、Level-1-2 | IR、ABR、ASBR等 |
三、IS-IS区域设计详解
3.1 三级路由器架构
| 路由器类型 | 功能描述 | 邻居关系 | 维护LSDB |
|---|---|---|---|
| Level-1 | 区域内路由 | 同一区域的L1和L1/2路由器 | Level-1 LSDB |
| Level-2 | 区域间路由 | 同一或不同区域的L2和L1/2路由器 | Level-2 LSDB |
| Level-1-2 | 区域边界路由器 | 所有级别的路由器 | Level-1和Level-2 LSDB |
3.2 扁平化部署优势
运营商网络拓扑示例:
Area1: L1路由器 + L1/2路由器
Area2: L1路由器 + L1/2路由器
Area3: L1路由器 + L1/2路由器
骨干网: 所有L2路由器 + 所有L1/2路由器
四、NET地址格式详解
4.1 NET地址结构
NET(Network Entity Title)是NSAP地址的特殊形式,用于标识IS-IS路由器。
示例:49.0001.0000.0000.0001.00
| 部分 | 长度 | 说明 | 示例 |
|---|---|---|---|
| Area ID | 1-13字节 | 区域标识符 | 49.0001 |
| System ID | 6字节 | 系统标识符(类似Router-ID) | 0000.0000.0001 |
| SEL/NSEL | 1字节 | 选择器(固定为00) | 00 |
4.2 各部分详细解析
Area ID(区域ID)
- 组成:AFI(地址分配机构)+ IDI(域标识符)+ HO-DSP(高阶域服务部分)
- 示例解析 :
49.000149:AFI,表示私有地址空间0001:区域编号
System ID(系统ID)
- 长度:固定6字节(48位)
- 作用:在区域内唯一标识路由器
- 建议 :使用设备Loopback地址转换
- 例如:Loopback地址
1.1.1.1→ System ID0000.0000.0001
- 例如:Loopback地址
SEL/NSEL(选择器)
- 长度:1字节
- 作用:类似于IP协议中的"协议标识符"
- 固定值 :
00(表示网络层实体)
4.3 NET地址规划建议
规划示例:
Area 10: 49.0010.xxxx.xxxx.xxxx.00
Area 20: 49.0020.xxxx.xxxx.xxxx.00
Area 30: 49.0030.xxxx.xxxx.xxxx.00
System ID转换规则:
Loopback: 1.1.1.1 → System ID: 0000.0000.0001
Loopback: 2.2.2.2 → System ID: 0000.0000.0002
Loopback: 10.1.1.1 → System ID: 0010.0001.0001
五、实验环境准备
5.1 软件环境
| 项目 | 配置 |
|---|---|
| 模拟器 | 华为eNSP V100R003C00SPC100 |
| 设备类型 | AR2220路由器 |
| 设备数量 | 4台(R1、R2、R3、R4) |
5.2 拓扑设计
┌──────────┐ ┌──────────┐
│ R1 │ │ R2 │
│ L1/L2 │─────────│ L1/L2 │
│ Area10 │ GE0/0/0│ Area10 │
└────┬─────┘ └────┬─────┘
│GE0/0/1 │GE0/0/1
│ │
│GE0/0/0 │GE0/0/0
┌────┴─────┐ ┌────┴─────┐
│ R3 │ │ R4 │
│ L1 │─────────│ L2 │
│ Area10 │ GE0/0/1│ Area20 │
└──────────┘ └──────────┘
5.3 IP地址规划
| 设备 | 接口 | IP地址 | 子网掩码 | 说明 |
|---|---|---|---|---|
| R1 | GE0/0/0 | 10.0.12.1 | 255.255.255.0 | 连接R2 |
| R1 | GE0/0/1 | 10.0.13.1 | 255.255.255.0 | 连接R3 |
| R1 | Loopback0 | 1.1.1.1 | 255.255.255.255 | Router ID |
| R2 | GE0/0/0 | 10.0.12.2 | 255.255.255.0 | 连接R1 |
| R2 | GE0/0/1 | 10.0.24.2 | 255.255.255.0 | 连接R4 |
| R2 | Loopback0 | 2.2.2.2 | 255.255.255.255 | Router ID |
| R3 | GE0/0/0 | 10.0.13.3 | 255.255.255.0 | 连接R1 |
| R3 | GE0/0/1 | 10.0.34.3 | 255.255.255.0 | 连接R4 |
| R3 | Loopback0 | 3.3.3.3 | 255.255.255.255 | Router ID |
| R4 | GE0/0/0 | 10.0.24.4 | 255.255.255.0 | 连接R2 |
| R4 | GE0/0/1 | 10.0.34.4 | 255.255.255.0 | 连接R3 |
| R4 | Loopback0 | 4.4.4.4 | 255.255.255.255 | Router ID |
六、单区域IS-IS基础配置
6.1 R1路由器配置(Level-1-2)
# ═══════════════════════════════════════════════════════════════
# R1路由器完整配置 - Level-1-2路由器
# ═══════════════════════════════════════════════════════════════
# 进入系统视图
system-view
# 命令解析:进入系统配置模式,可以配置全局参数
# 配置设备名称
sysname R1
# 命令解析:设置设备名称为R1,便于识别和管理
# ═══════════════════════════════════════════════════════════════
# 配置接口IP地址
# ═══════════════════════════════════════════════════════════════
interface GigabitEthernet0/0/0
ip address 10.0.12.1 255.255.255.0
quit
# 命令解析:
# - interface GigabitEthernet0/0/0:进入GE0/0/0接口视图
# - ip address 10.0.12.1 255.255.255.0:配置接口IP地址和子网掩码
# - quit:退出接口视图,返回系统视图
interface GigabitEthernet0/0/1
ip address 10.0.13.1 255.255.255.0
quit
interface LoopBack0
ip address 1.1.1.1 255.255.255.255
quit
# 命令解析:配置Loopback接口,通常用作Router ID
# ═══════════════════════════════════════════════════════════════
# 启用IS-IS进程
# ═══════════════════════════════════════════════════════════════
isis 1
# 命令解析:创建IS-IS进程1,进入IS-IS配置视图
# - isis:启用IS-IS协议
# - 1:进程号,可以配置多个IS-IS进程(1-65535)
# 配置NET地址(NSAP地址)
network-entity 49.0001.0000.0000.0001.00
# 命令解析:
# - network-entity:配置NET地址
# - 49.0001:Area ID(区域标识符)
# - 0000.0000.0001:System ID(系统标识符,类似Router-ID)
# - 00:NSEL(网络选择器,固定为00)
# 配置路由器级别为Level-1-2
is-level level-1-2
# 命令解析:
# - is-level:配置IS-IS路由器级别
# - level-1-2:同时参与Level-1和Level-2路由计算
# 可选值:level-1(仅区域内)、level-2(仅区域间)、level-1-2(默认)
# ═══════════════════════════════════════════════════════════════
# 在接口上启用IS-IS
# ═══════════════════════════════════════════════════════════════
interface GigabitEthernet0/0/0
isis enable 1
# 命令解析:
# - isis enable 1:在该接口上启用IS-IS进程1
# - 1:进程号,必须与前面创建的进程号一致
quit
interface GigabitEthernet0/0/1
isis enable 1
quit
interface LoopBack0
isis enable 1
quit
quit
# 命令解析:quit退出IS-IS视图,返回系统视图
6.2 R2路由器配置(Level-1-2)
system-view
sysname R2
# 配置接口IP地址
interface GigabitEthernet0/0/0
ip address 10.0.12.2 255.255.255.0
quit
interface GigabitEthernet0/0/1
ip address 10.0.24.2 255.255.255.0
quit
interface LoopBack0
ip address 2.2.2.2 255.255.255.255
quit
# 启用IS-IS进程
isis 1
network-entity 49.0001.0000.0000.0002.00
# System ID: 0000.0000.0002 (对应Loopback: 2.2.2.2)
is-level level-1-2
interface GigabitEthernet0/0/0
isis enable 1
quit
interface GigabitEthernet0/0/1
isis enable 1
quit
interface LoopBack0
isis enable 1
quit
quit
6.3 R3路由器配置(Level-1)
system-view
sysname R3
# 配置接口IP地址
interface GigabitEthernet0/0/0
ip address 10.0.13.3 255.255.255.0
quit
interface GigabitEthernet0/0/1
ip address 10.0.34.3 255.255.255.0
quit
interface LoopBack0
ip address 3.3.3.3 255.255.255.255
quit
# 启用IS-IS进程
isis 1
network-entity 49.0001.0000.0000.0003.00
# System ID: 0000.0000.0003 (对应Loopback: 3.3.3.3)
# 配置为Level-1路由器(仅区域内路由)
is-level level-1
# 命令解析:level-1路由器只与同一区域的路由器建立邻居关系
# 只维护Level-1 LSDB,不参与区域间路由计算
interface GigabitEthernet0/0/0
isis enable 1
quit
interface GigabitEthernet0/0/1
isis enable 1
quit
interface LoopBack0
isis enable 1
quit
quit
6.4 R4路由器配置(Level-2)
system-view
sysname R4
# 配置接口IP地址
interface GigabitEthernet0/0/0
ip address 10.0.24.4 255.255.255.0
quit
interface GigabitEthernet0/0/1
ip address 10.0.34.4 255.255.255.0
quit
interface LoopBack0
ip address 4.4.4.4 255.255.255.255
quit
# 启用IS-IS进程
isis 1
network-entity 49.0001.0000.0000.0004.00
# System ID: 0000.0000.0004 (对应Loopback: 4.4.4.4)
# 配置为Level-2路由器(仅区域间路由)
is-level level-2
# 命令解析:level-2路由器可以与不同区域的路由器建立邻居关系
# 只维护Level-2 LSDB,负责区域间路由计算
interface GigabitEthernet0/0/0
isis enable 1
quit
interface GigabitEthernet0/0/1
isis enable 1
quit
interface LoopBack0
isis enable 1
quit
quit
七、验证配置结果
7.1 查看IS-IS邻居关系
# 在R1上查看邻居
display isis peer
# ═══════════════════════════════════════════════════════════════
# 输出示例及解析:
# ═══════════════════════════════════════════════════════════════
# Peer information for ISIS(1)
# System Id Interface Circuit Id State HoldTime Type PRI
# --------------------------------------------------------------------------------
# 0000.0000.0002 GE0/0/0 R1.01 Up 27s L1/L2 64
# 0000.0000.0003 GE0/0/1 R1.02 Up 25s L1 64
# 命令解析:
# - System Id:邻居路由器的System ID
# - Interface:建立邻居关系的本地接口
# - Circuit Id:电路标识符(DIS选举相关)
# - State:邻居状态(Up表示正常)
# - HoldTime:保持时间,超时后邻居关系断开
# - Type:邻居路由器的级别(L1/L2表示Level-1-2)
# - PRI:DIS优先级(默认64)
7.2 查看IS-IS路由表
# 在R1上查看IS-IS路由
display isis route
# ═══════════════════════════════════════════════════════════════
# 输出示例及解析:
# ═══════════════════════════════════════════════════════════════
# Route information for ISIS(1)
# -----------------------------
# ISIS(1) Level-1 Forwarding Table
# --------------------------------
# IPV4 Destination IntCost ExtCost ExitInterface NextHop Flags
# --------------------------------------------------------------------------------
# 1.1.1.1/32 0 NULL Loop0 Direct D/-/L/-
# 2.2.2.2/32 10 NULL GE0/0/0 10.0.12.2 A/-/-/-
# 3.3.3.3/32 10 NULL GE0/0/1 10.0.13.3 A/-/-/-
# 10.0.12.0/24 10 NULL GE0/0/0 Direct D/-/L/-
# 10.0.13.0/24 10 NULL GE0/0/1 Direct D/-/L/-
# ISIS(1) Level-2 Forwarding Table
# --------------------------------
# IPV4 Destination IntCost ExtCost ExitInterface NextHop Flags
# --------------------------------------------------------------------------------
# 2.2.2.2/32 10 NULL GE0/0/0 10.0.12.2 A/-/-/-
# 4.4.4.4/32 20 NULL GE0/0/0 10.0.12.2 A/-/-/-
# 10.0.24.0/24 20 NULL GE0/0/0 10.0.12.2 A/-/-/-
# 命令解析:
# - IPV4 Destination:目的网络地址
# - IntCost:内部开销(默认10)
# - ExtCost:外部开销(引入外部路由时使用)
# - ExitInterface:出接口
# - NextHop:下一跳地址
# - Flags:路由标志
# - D:直连路由
# - A:通过SPF算法计算的路由
# - L:Level-1路由
# - /-/-:其他标志位
7.3 查看LSDB(链路状态数据库)
# 在R1上查看Level-1 LSDB
display isis lsdb level-1
# 在R1上查看Level-2 LSDB
display isis lsdb level-2
# 命令解析:
# - display isis lsdb:显示IS-IS链路状态数据库
# - level-1:只显示Level-1的LSP(链路状态报文)
# - level-2:只显示Level-2的LSP
# LSP包含:路由器信息、链路信息、开销等
7.4 查看IS-IS协议状态
# 查看IS-IS协议简要信息
display isis brief
# 命令解析:
# 显示IS-IS进程状态、路由器级别、NET地址等基本信息
# 查看IS-IS接口状态
display isis interface
# 命令解析:
# 显示各接口的IS-IS状态、级别、DIS信息等
# 查看IS-IS统计信息
display isis statistics
# 命令解析:
# 显示IS-IS报文收发统计、错误统计等
八、多区域IS-IS配置(路由渗透)
8.1 拓扑
Area10 (L1) Area10 (L1/L2) Area20 (L2)
R3 ─────────────── R1 ─────────────── R4
│
│
Area10 (L1/L2)
R2
8.2 R1配置路由渗透
system-view
sysname R1
# 进入IS-IS视图
isis 1
# 配置路由渗透(将Level-2路由渗透到Level-1)
import-route isis level-2 into level-1
# 命令解析:
# - import-route:引入路由
# - isis level-2:源路由类型(Level-2 IS-IS路由)
# - into level-1:目标级别(渗透到Level-1)
# 作用:让Level-1路由器能够学习到其他区域的路由
# 可选:配置路由渗透时的开销
import-route isis level-2 into level-1 cost 10
# 命令解析:设置渗透路由的开销为10
# 可选:配置路由渗透时的路由策略
import-route isis level-2 into level-1 route-policy RP_IMPORT
# 命令解析:通过路由策略控制哪些路由可以渗透
quit
8.3 验证路由渗透效果
# 在R3(Level-1)上查看路由表
display ip routing-table
# 应该能看到Area20的路由(通过默认路由或渗透路由)
# 如果没有配置路由渗透,R3只能看到Area10内的路由
九、IS-IS认证配置(安全加固)
9.1 认证类型说明
| 认证类型 | 作用范围 | 适用场景 | 安全级别 |
|---|---|---|---|
| 接口认证 | Hello报文 | 邻居建立认证 | ⭐⭐ |
| 区域认证 | Level-1 LSP/CSNP/PSNP | 区域内报文认证 | ⭐⭐⭐ |
| 路由域认证 | Level-2 LSP/CSNP/PSNP | 区域间报文认证 | ⭐⭐⭐⭐ |
9.2 接口认证配置(MD5/HMAC-SHA256)
system-view
sysname R1
isis 1
interface GigabitEthernet0/0/0
# 配置接口MD5认证(不推荐,存在安全风险)
isis authentication-mode md5 Huawei@123
# 命令解析:
# - isis authentication-mode:配置IS-IS认证模式
# - md5:认证算法(MD5)
# - Huawei@123:认证密码(明文)
# 推荐:配置HMAC-SHA256认证(更安全)
isis authentication-mode hmac-sha256 key-id 1 cipher Huawei@123
# 命令解析:
# - hmac-sha256:使用HMAC-SHA256算法(推荐)
# - key-id 1:密钥ID(1-255)
# - cipher:密码加密存储(安全)
# - Huawei@123:认证密码
# 可选:仅发送认证报文,不检查接收报文
isis authentication-mode hmac-sha256 key-id 1 cipher Huawei@123 send-only
# 命令解析:send-only表示只发送带认证的报文,不检查接收的报文
# 适用于单向认证场景
quit
quit
9.3 区域认证配置(Level-1)
system-view
sysname R1
isis 1
# 配置Level-1区域认证
authentication-mode hmac-sha256 key-id 1 cipher Huawei@123 level-1
# 命令解析:
# - authentication-mode:配置认证模式
# - hmac-sha256:认证算法
# - level-1:应用到Level-1报文(LSP、CSNP、PSNP)
# 作用:确保区域内所有路由器的报文都经过认证
quit
9.4 路由域认证配置(Level-2)
system-view
sysname R1
isis 1
# 配置Level-2路由域认证
authentication-mode hmac-sha256 key-id 1 cipher Huawei@123 level-2
# 命令解析:
# - level-2:应用到Level-2报文(区域间报文)
# 作用:确保骨干网(Level-2)的报文安全性
quit
9.5 Keychain认证(高级认证)
system-view
sysname R1
# 创建Keychain
keychain KC_ISIS
key-id 1
key-string cipher Huawei@123
# 命令解析:配置密钥字符串,cipher表示加密存储
quit
quit
# 在IS-IS中应用Keychain
isis 1
interface GigabitEthernet0/0/0
isis authentication-mode keychain KC_ISIS
# 命令解析:使用Keychain进行认证,支持密钥轮换
quit
quit
十、DIS(指定中间系统)选举配置
10.1 DIS选举原理
| 特性 | 说明 |
|---|---|
| 作用 | 在广播网络中选举DIS,负责生成伪节点LSP |
| 选举依据 | 优先级(0-127)→ MAC地址(越大越优先) |
| 可抢占性 | 可以被抢占(与OSPF的DR不同) |
| Hello间隔 | DIS发送Hello间隔是普通路由器的1/3 |
10.2 手动配置DIS优先级
system-view
sysname R1
isis 1
interface GigabitEthernet0/0/0
# 设置DIS优先级为100(默认64,范围0-127)
isis dis-priority 100
# 命令解析:
# - isis dis-priority:配置DIS优先级
# - 100:优先级值(0-127)
# 优先级越高,越容易被选为DIS
# 建议在高性能设备上配置高优先级
# 可选:配置Level-1或Level-2的DIS优先级
isis dis-priority 100 level-1
isis dis-priority 80 level-2
# 命令解析:可以分别为Level-1和Level-2设置不同的DIS优先级
quit
quit
10.3 查看DIS选举结果
# 查看DIS选举信息
display isis interface
# ═══════════════════════════════════════════════════════════════
# 输出示例及解析:
# ═══════════════════════════════════════════════════════════════
# Interface information for ISIS(1)
# --------------------------------
# Interface Id IPV4.State IPV6.State MTU Type DIS
# GE0/0/0 001 Up Down 1497 L1/L2 R1.01
# 命令解析:
# - DIS列:显示DIS的Circuit ID
# - R1.01:表示R1是该接口的DIS(.01表示Level-1 DIS)
十一、IS-IS负载分担配置
11.1 拓扑设计(等价路径)
R1
/ \
/ \
GE0/0/0 GE0/0/1
/ \
R2─────────R3
\ /
GE0/0/1 GE0/0/0
\ /
\ /
R4
11.2 配置等价路径负载分担
system-view
sysname R1
isis 1
# 配置最大负载分担路径数(默认4条,范围1-64)
maximum load-balancing 8
# 命令解析:
# - maximum load-balancing:配置最大负载分担路径数
# - 8:允许最多8条等价路径进行负载分担
# 作用:充分利用多条等价路径的带宽
quit
11.3 验证负载分担效果
# 查看路由表,确认等价路径
display isis route 4.4.4.4
# ═══════════════════════════════════════════════════════════════
# 输出示例:
# ═══════════════════════════════════════════════════════════════
# IPV4 Destination IntCost ExtCost ExitInterface NextHop Flags
# --------------------------------------------------------------------------------
# 4.4.4.4/32 20 NULL GE0/0/0 10.0.12.2 A/-/-/-
# 4.4.4.4/32 20 NULL GE0/0/1 10.0.13.3 A/-/-/-
# 命令解析:
# 两条路径开销相同(20),说明实现了等价负载分担
十二、IS-IS路由聚合配置
12.1 在Level-1-2路由器上配置路由聚合
system-view
sysname R1
isis 1
# 配置Level-1路由聚合到Level-2
summary 10.0.0.0 255.255.0.0 level-1
# 命令解析:
# - summary:配置路由聚合
# - 10.0.0.0 255.255.0.0:聚合网段(10.0.0.0/16)
# - level-1:在Level-1区域进行聚合
# 作用:减少Level-2区域的路由条目数量
# 可选:配置聚合路由的开销
summary 10.0.0.0 255.255.0.0 level-1 cost 20
# 可选:配置聚合路由的Tag
summary 10.0.0.0 255.255.0.0 level-1 tag 100
quit
12.2 验证路由聚合效果
# 在R4上查看路由表
display isis route
# 应该看到聚合后的路由条目(10.0.0.0/16)
# 而不是详细的子网路由(如10.0.12.0/24、10.0.13.0/24等)
十三、IS-IS定时器调整(性能优化)
13.1 Hello间隔和保持时间
system-view
sysname R1
isis 1
interface GigabitEthernet0/0/0
# 配置Level-1 Hello间隔(默认10秒)
isis timer hello 5 level-1
# 命令解析:设置Level-1 Hello报文发送间隔为5秒
# 配置Level-2 Hello间隔(默认10秒)
isis timer hello 5 level-2
# 配置Hello保持时间乘数(默认3倍)
isis timer holding-multiplier 4
# 命令解析:保持时间 = Hello间隔 × 保持时间乘数
# 例如:5秒 × 4 = 20秒(20秒内收不到Hello报文则邻居断开)
quit
quit
13.2 LSP相关定时器
system-view
sysname R1
isis 1
# 配置LSP最大生存时间(默认1200秒)
timer lsp-max-age 1200
# 命令解析:LSP在LSDB中的最大存活时间
# 配置LSP刷新时间(默认900秒)
timer lsp-refresh 900
# 命令解析:定期刷新LSP,防止过期
# 配置LSP生成间隔(默认50毫秒)
timer lsp-throttle 50
# 命令解析:连续生成LSP的最小间隔,防止频繁更新
quit
十四、故障排查命令详解
14.1 常用诊断命令汇总
# ═══════════════════════════════════════════════════════════════
# 1. 基础检查命令
# ═══════════════════════════════════════════════════════════════
# 查看IS-IS协议状态
display isis brief
# 用途:快速查看IS-IS进程是否正常运行
# 查看IS-IS邻居关系
display isis peer
# 用途:检查邻居是否正常建立
# 查看IS-IS路由表
display isis route
# 用途:检查路由学习是否正常
# ═══════════════════════════════════════════════════════════════
# 2. 接口状态检查
# ═══════════════════════════════════════════════════════════════
# 查看IS-IS接口状态
display isis interface
# 用途:检查接口是否正确启用IS-IS
# ═══════════════════════════════════════════════════════════════
# 3. LSDB检查
# ═══════════════════════════════════════════════════════════════
# 查看Level-1 LSDB
display isis lsdb level-1
# 查看Level-2 LSDB
display isis lsdb level-2
# ═══════════════════════════════════════════════════════════════
# 4. 统计信息检查
# ═══════════════════════════════════════════════════════════════
# 查看IS-IS统计信息
display isis statistics
# 用途:查看报文收发统计、错误统计等
# ═══════════════════════════════════════════════════════════════
# 5. 调试命令(谨慎使用)
# ═══════════════════════════════════════════════════════════════
# 开启终端监控
terminal monitor
terminal debugging
# 调试IS-IS报文
debugging isis packet
# 用途:查看IS-IS报文收发情况
# 调试IS-IS错误
debugging isis error
# 用途:查看IS-IS协议错误信息
# 关闭调试(使用后务必关闭)
undo debugging all
14.2 常见问题及解决方法
| 问题现象 | 可能原因 | 解决方法 | 检查命令 |
|---|---|---|---|
| 邻居无法建立 | 接口未启用IS-IS | 在接口下执行isis enable |
display isis interface |
| 邻居无法建立 | 区域不匹配 | 检查NET地址的Area ID部分 | display isis brief |
| 邻居无法建立 | 认证失败 | 检查认证配置是否一致 | display isis interface |
| 路由无法学习 | 级别不匹配 | 检查路由器级别配置 | display isis brief |
| 路由无法学习 | 路由过滤 | 检查路由策略配置 | display isis route |
| DIS选举异常 | 优先级配置错误 | 调整DIS优先级 | display isis interface |
| 收敛慢 | 定时器设置过大 | 调整Hello间隔和保持时间 | display isis interface |
14.3 故障排查流程
1. 检查物理链路
↓
2. 检查IP地址配置
↓
3. 检查IS-IS进程是否启用
↓
4. 检查接口是否启用IS-IS
↓
5. 检查NET地址配置
↓
6. 检查路由器级别配置
↓
7. 检查认证配置
↓
8. 检查路由策略
十五、总结与最佳实践
15.1 关键配置要点
NET地址规划
- Area ID:前缀部分,建议统一规划(如49.0001、49.0002)
- System ID:唯一标识,建议使用设备Loopback地址转换
- NSEL:固定为00
路由器级别选择
- 纯区域内:Level-1(节省资源,隔离区域)
- 骨干网:Level-2(负责区域间路由)
- 区域边界:Level-1-2(连接Level-1和Level-2)
认证策略
- 生产环境必须配置认证
- 推荐使用HMAC-SHA256或Keychain
- 接口认证、区域认证、路由域认证结合使用
15.2 性能优化建议
| 优化项 | 建议配置 | 说明 |
|---|---|---|
| 负载分担 | maximum load-balancing 8 |
充分利用带宽 |
| 路由聚合 | 在L1/2路由器聚合 | 减少路由表规模 |
| DIS优化 | 高性能设备配置高优先级 | 提升网络稳定性 |
| 定时器调整 | 根据网络规模调整 | 平衡收敛速度和稳定性 |
15.3 安全加固措施
-
启用认证
- 所有IS-IS接口配置认证
- 使用HMAC-SHA256或Keychain
-
限制邻居
- 使用
isis peer-ip-ignore限制邻居建立 - 配置访问控制列表(ACL)
- 使用
-
路由过滤
- 使用路由策略控制路由发布
- 防止路由泄露
-
监控告警
- 配置LSDB容量阈值告警
- 监控邻居状态变化
十六、实验提示注意事项
16.1 实验步骤
-
搭建拓扑
- 在eNSP中拖拽4台AR2220路由器
- 连接相应接口(使用GE接口)
-
配置IP地址
- 先配置所有接口的IP地址
- 使用
ping测试直连链路连通性
-
启用IS-IS
- 逐台配置IS-IS,每配置一台就验证一次
- 使用
display isis peer检查邻居建立
-
验证路由
- 使用
display isis route检查路由学习 - 使用
ping和tracert验证连通性
- 使用
-
保存配置
- 使用
save命令保存配置文件 - 便于后续实验复用
- 使用
16.2 注意事项
- 配置IS-IS前必须先配置接口IP地址
- NET地址的Area ID必须一致才能建立邻居
- Level-1路由器只能学习本区域路由
- 认证配置必须两端一致
- 调试命令使用后务必关闭(
undo debugging all)
常用命令速查表
| 功能 | 命令 | 说明 |
|---|---|---|
| 启用IS-IS | isis 1 |
创建IS-IS进程 |
| 配置NET | network-entity 49.0001.xxxx.xxxx.xxxx.00 |
配置NET地址 |
| 设置级别 | is-level level-1-2 |
配置路由器级别 |
| 接口启用 | isis enable 1 |
在接口启用IS-IS |
| 查看邻居 | display isis peer |
显示邻居关系 |
| 查看路由 | display isis route |
显示IS-IS路由 |
| 查看LSDB | display isis lsdb |
显示链路状态数据库 |
| 接口认证 | isis authentication-mode hmac-sha256 |
配置接口认证 |
| 区域认证 | authentication-mode hmac-sha256 level-1 |
配置区域认证 |
| DIS优先级 | isis dis-priority 100 |
配置DIS优先级 |
| 负载分担 | maximum load-balancing 8 |
配置负载分担 |
| 路由聚合 | summary 10.0.0.0 255.255.0.0 level-1 |
配置路由聚合 |
文档版本 :V1.0
最后更新 :2026-04-14
适用设备 :华为AR系列路由器(eNSP模拟器)
适用协议:IS-IS(IPv4)