现象:IS‑IS 邻居正常 UP;部分路由出现,部分路由缺失;已经配置
cost‑style compatible,但问题依旧。
cost‑style compatible必须带上relax‑spf‑limit关键字【最高概率根因】H3C华三:
cost‑style compatible默认丢弃总开销>1023 的路由;很多华为设备引入外部路由生成 wide 类型 TLV,路径总开销超过 1023,直接被华三设备丢弃,表现为:LSDB 能看到 LSP,IP 路由表没有这条路由,就是你看到 “只能学到部分路由”。
❌错误:
isis 1
cost‑style compatible
✅正确(华三 S5560 配置):
isis 1
cost‑style compatible relax‑spf‑limit
含义:兼容 narrow/wide 两种 TLV,同时允许接收总开销大于 1023 的路由,不会直接丢弃路由条目H3C。
华为侧对应配置:
isis 1
cost‑style narrow‑compatible
不建议一端 compatible,另一端直接
wide,容易出现 TLV 不匹配。
排查命令:
#华三侧
display isis peer #确认邻居完整UP(L1、L2)
display isis lsdb verbose #看缺失路由是否存在于LSDB数据库
display ip routing‑table protocol isis
relax‑spf‑limit缺失导致 SPF 计算丢弃路由;isis dis‑level level‑2;华为、华三对 ATT 标记处理逻辑一致;L1 设备只能学到本区域明细,其他区域靠 L1‑2 下发默认路由。 如果 S5560 是 L1 设备,不会收到其他区域明细路由,只有默认路由,属于正常机制,不是 bug。
华为重分布外部路由,默认会生成 wide 格式 IP‑Reachability TLV。
relax‑spf‑limit,收到大开销外部路由直接丢弃;不要一边 narrow、一边 wide,邻居可以 UP,但部分路由收不到华为。
filter‑policy import:过滤计算后放入路由表,LSDB 仍然完整;filter‑policy export:过滤本设备向外发布 LSP 的前缀;华三与华为 filter‑policy 行为大体一致,注意前缀列表匹配规则。
认证不匹配会邻居 Down;但部分版本异常场景邻居 UP、LSP 泛洪不全。
IS‑IS LSP 报文默认 1497 字节;互联两端接口 MTU 尽量保持 1500。
华为设备大量引入路由会生成超大 LSP,华三需要开启lsp‑fragments‑extend分片扩展。
isis 1
lsp‑fragments‑extend mode‑1
华三 S5560 侧:
isis 1
network‑entity 49.xxxx.xxxxxxxx.0001.00
is‑level level‑1‑2
cost‑style compatible relax‑spf‑limit
lsp‑fragments‑extend mode‑1
graceful‑restart
address‑family ipv4
quit
#互联对接接口
interface Vlan‑interface 10
ip address x.x.x.x 255.255.255.252
isis enable 1
isis dis‑level level‑2 #跨区域对接强制L2邻居
华为对接侧:
isis 1
network‑entity 49.yyyy.yyyyyyyy.0002.00
cost‑style narrow‑compatible
graceful‑restart
interface GigabitEthernet 0/0/1
isis enable 1
isis dis‑level level‑2
cost‑style compatible relax‑spf‑limit,执行reset isis all重置 IS‑IS 进程;display isis lsdb verbose,确认缺失路由前缀是否已经存在 LSDB;
cost‑style compatible不加relax‑spf‑limit,路径总开销大于 1023 路由被 SPF 计算丢弃;LSDB 有 LSP,IP 路由表看不到路由,表现只能学到部分路由H3C。cost‑style narrow‑compatible,不要直接用 wide。暂无评论
你遇到的这个问题,核心原因很可能在于兼容模式(compatible)下,IS-IS 的开销值(Cost)范围被限制在了 0~63。当对端华为设备发布的路由 Cost 值超过这个范围时,这些路由就会被华三设备直接丢弃,导致只能学习到一部分路由。
在 compatible 或 narrow-compatible 模式下,IS-IS 的接口开销值范围是 1~63。如果某条链路的开销值配置超过了 63,或者累计路径开销超过了设备能接受的最大 1023,那么携带这些路由的 LSP 报文可能就无法被正确接收和计算。
你需要检查以下几个方面:
接口 Cost 配置:检查华三和华为设备上,IS-IS 接口的 isis cost 配置值是否都在 63 以内。
路径累计 Cost:如果路径经过多跳,累计的 Cost 值很容易超过 1023。你可以通过 display isis lsdb verbose 或 display isis route 命令,查看未能学习到的路由的 Cost 值。
对端引入路由的 Cost:华为设备在 import-route 引入外部路由时,如果设置了较大的种子度量值(如默认的 64 或更大),也可能导致 Cost 超限。
解决方案:将两端设备的 cost-style 统一修改为 wide(宽模式)。宽模式下,接口开销值范围是 1~16777215,能彻底避免 Cost 超限问题。如果因某些原因必须保持 compatible,则需要确保全网所有接口和引入路由的 Cost 值都严格小于 63。
华为设备在 import-route 引入外部路由(如直连、静态)时,默认的 cost-type 是 external。这会导致引入的路由 Cost 值自动 +64,在兼容模式下极易超过 63 的限制。
排查与解决:在华为设备上执行 display current-configuration | include import-route,确认是否配置了 cost-type internal。将其修改为 internal 可以避免 Cost 值被额外增加。
华三和华为在路由引入的逻辑上存在差异:华三设备默认不会自动引入 IS-IS 使能接口的直连网段路由,而华为设备通常会引入。这可能导致华三侧的部分直连网段无法被通告出去。
排查与解决:在华三设备上,检查 IS-IS 进程中是否显式配置了 import-route direct,以确保直连网段被发布。
如果网络中路由条目非常多,单个 LSP 无法承载全部信息,华为设备可能会启用 LSP 分片扩展。
关键配置:当网络中存在其他厂商设备时,华为的 LSP 分片扩展必须配置为 Mode-1,否则华三设备可能无法识别虚拟系统发布的 LSP 报文。
排查命令:在华为设备上检查 lsp-fragments-extend 的配置模式。
IS-IS 支持接口认证、区域认证和路由域认证。如果两端的认证方式(simple/MD5)或密钥不一致,可能会导致邻居关系不稳定或 LSP 更新报文被丢弃,从而影响路由学习。
排查命令:检查两端的 isis authentication-mode 配置。
如果网络划分为多个区域,且你的路由需要从 Level-2 渗透到 Level-1,这个功能在华为设备上默认是关闭的,需要手动配置 import-route isis level-2 into level-1。
排查命令:在相关的 Level-1/2 设备上检查是否配置了路由渗透。
IS-IS 的默认优先级(Preference)为 15。如果对端华为设备或网络中还有其他协议(如 OSPF,默认优先级 10)也发布了相同的路由,且优先级更高,那么 IS-IS 学习到的路由可能因优先级较低而无法进入路由表。
排查命令:执行 display ip routing-table <目标网段>,查看最终生效的路由是通过哪个协议学习的。
暂无评论
5560到底是什么路由器,我怎么没有找到?
参考手册案例。如图4-2所示,H3C设备与华为设备通过各自的三层以太网接口相互连接,现要求实现H3C设备与华为设备对接建立ISIS邻居。
打开你的电脑,在浏览器输入知了社区,找到这个帖子,要么在别人下面评论,要么点我名字。
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论