4. 网络拓扑发现与可视化
CloudVision 的拓扑视图并不是靠人工画出来的,而是由设备上报的协议数据自动推导出来的。理解这一点非常关键:拓扑图本质上是"协议邻居关系的可视化投影"。当拓扑出现缺失或错误连接时,问题往往不在 CloudVision 本身,而在于底层协议邻居关系没有正确建立或上报。因此,排查拓扑问题的正确思路是"先看协议,再看图"。
一、三类拓扑数据源及其适用场景
CloudVision 主要依赖三类协议数据构建拓扑,它们各自覆盖不同的网络层次:
- LLDP(链路层发现协议):提供物理直连关系,是物理拓扑的主要来源。每台设备周期性向所有启用 LLDP 的接口发送 LLDPDU,其中携带本端机箱 ID、端口 ID、系统名称和 TTL。邻居收到后记录在 LLDP 邻居表中,CloudVision 通过采集这些邻居表构建物理链路。LLDP 只能发现"一跳"邻居,且要求两端接口都启用 LLDP。
- BGP-LS(BGP 链路状态):用于采集 IGP 拓扑和 BGP 路由信息,是逻辑拓扑(尤其是三层 Underlay 拓扑)的重要来源。BGP-LS 通过 BGP 会话把 IGP 的链路状态数据库(LSDB)以 NLRI 形式上报给采集器,包含节点、链路、前缀及其属性(如 IGP 度量、带宽、TE 参数)。它能看到跨多跳的拓扑结构,不局限于直连。
- OSPF/IS-IS 邻居关系:提供三层邻接关系,用于验证逻辑拓扑与物理拓扑是否一致。OSPF 邻居状态(Down/Init/2-Way/ExStart/Exchange/Loading/Full)直接反映链路是否可用。
三类数据的关系可以这样理解:LLDP 回答"谁和谁物理相连",OSPF/IS-IS 回答"谁和谁建立了三层邻接",BGP-LS 回答"整个 IGP 域内的拓扑结构长什么样"。CloudVision 将三者叠加,形成物理层与逻辑层的双视图。
二、拓扑缺失的常见原因与排查路径
拓扑图上"少了一条线"或"多了一条线",通常对应以下四类问题:
- LLDP 未启用或未上报:接口下没有
lldp transmit/lldp receive,或全局未开启 LLDP。此时物理拓扑会缺失该链路。排查命令:show lldp neighbors查看本端邻居表是否为空。 - 邻居关系未建立:OSPF 邻居卡在 Init 或 ExStart,说明 Hello 包能收到但参数不匹配(如 MTU、区域 ID、认证)。此时逻辑拓扑会缺失该邻接。排查命令:
show ip ospf neighbor查看状态。 - BGP-LS 会话未建立:采集器与设备之间的 BGP-LS 会话 Down,导致 IGP 拓扑无法上报。排查命令:
show bgp link-state查看会话状态和 NLRI 数量。 - 接口被过滤或未纳入采集:某些接口(如管理口、未配置 IP 的接口)可能被采集策略排除,导致拓扑中不显示。
三、错误连接的识别与修正
错误连接通常表现为两种:一是物理拓扑与逻辑拓扑不一致(如 LLDP 显示 A-B 直连,但 OSPF 邻居却通过 C 建立);二是拓扑中出现"幽灵链路"(如已拆除的链路仍显示)。前者往往由链路聚合(LAG)或中间传输设备导致,后者通常是邻居老化时间未到或采集缓存未刷新。
修正方法:对于物理与逻辑不一致,检查 LAG 成员口和中间传输设备;对于幽灵链路,等待 LLDP TTL 过期(默认 120 秒)或手动清除邻居表 clear lldp neighbors。CloudVision 侧可通过重新采集或刷新拓扑视图触发更新。
四、实操示例:验证一条链路的拓扑呈现
假设 SW1 的 Ethernet1 与 SW2 的 Ethernet1 直连,预期在物理拓扑中显示为一条链路。验证步骤如下:
SW1# show lldp neighbors Ethernet1
Port Neighbor Device ID Neighbor Port ID TTL
Et1 SW2 Ethernet1 120
SW1# show ip ospf neighbor Ethernet1
Neighbor ID Pri State Dead Time Address
10.0.0.2 1 FULL/DR 00:00:38 10.0.0.2
SW1# show bgp link-state
BGP router identifier 10.0.0.1, local AS number 65001
Neighbor 10.0.0.100 AS 65001 State ESTABLISHED
NLRI: 12 nodes, 18 links, 24 prefixes
若 LLDP 邻居表有记录但拓扑图不显示,检查 CloudVision 采集策略是否包含该接口;若 OSPF 邻居为 FULL 但逻辑拓扑缺失,检查 BGP-LS 会话是否 ESTABLISHED 且 NLRI 数量是否包含该链路。三项数据都正常时,拓扑图应在数秒内更新。
五、拓扑可视化的工程价值
自动拓扑发现的价值不仅在于"看图",更在于为变更验证和故障定位提供基线。例如,执行一次链路割接后,对比变更前后的拓扑快照,可以快速确认新链路是否被正确发现、旧链路是否已消失。CloudVision 的拓扑视图支持按物理/逻辑层切换,也支持按设备角色、区域、VLAN 等维度过滤,这些能力都建立在协议数据准确上报的基础上。
因此,日常运维中应把"协议邻居健康度"作为拓扑准确性的前置指标:LLDP 邻居数、OSPF 邻接数、BGP-LS NLRI 数三者与预期一致时,拓扑图才可信。一旦发现拓扑异常,优先回到协议层排查,而不是在图上反复刷新。