2. Catalyst网络资产发现机制

在园区网中,资产发现不是靠单一协议完成的。Catalyst平台要自动识别“有哪些设备、哪些终端、它们接在哪个端口、属于哪个VLAN”,需要把二层邻居发现、三层地址解析和交换表信息拼合起来。CDP、LLDP解决的是“设备与设备之间直连关系”,ARP解决的是“IP与MAC的对应关系”,MAC地址表解决的是“MAC挂在哪个物理端口”。四者各管一段,组合后才形成完整的资产视图。

一、四类信息源的分工

CDP(Cisco Discovery Protocol)是Cisco私有协议,默认在Catalyst交换机端口上启用,周期约60秒发送一次,保持时间180秒。它携带设备ID、平台型号、软件版本、管理IP、本地端口与对端端口等TLV字段,因此能直接告诉交换机“对面是一台什么设备、接在我哪个口”。LLDP(Link Layer Discovery Protocol,IEEE 802.1AB)是厂商中立协议,Catalyst同样支持,默认发送周期30秒、保持时间120秒,字段结构与CDP类似,但可跨厂商识别对端。二者共同构成邻居拓扑的骨架。

ARP工作在第三层,把IPv4地址解析为MAC地址。Catalyst的ARP表记录IP、MAC、VLAN、老化时间(通常300秒)和接口。当终端首次通信或网关触发ARP请求时,表项被写入。MAC地址表工作在第二层,记录源MAC、VLAN和出端口,老化时间默认300秒。它不关心IP,只回答“这个MAC从哪个口学到”。

关键区别:CDP/LLDP描述的是“设备到设备”的链路邻居;ARP描述的是“IP到MAC”的绑定;MAC地址表描述的是“MAC到端口”的位置。资产识别就是把这三类关系做连接(join)。

二、协同识别的基本逻辑

假设一台接入交换机Gi1/0/10口下挂了一台PC。交换机从该口学到PC的MAC(例如 00:1A:2B:3C:4D:5E),写入MAC地址表,VLAN 10。PC与网关通信时产生ARP,交换机ARP表中出现 10.10.10.25 → 00:1A:2B:3C:4D:5E,VLAN 10,接口Vlan10。此时把ARP表与MAC地址表按“MAC+VLAN”关联,就能得到:IP 10.10.10.25 位于 Gi1/0/10,VLAN 10。若该口还收到CDP/LLDP邻居,则说明对端是网络设备而非终端,应归入“基础设施”而非“终端资产”。

下面这张图展示了四类信息源如何汇聚成一条资产记录,以及判断分支:

Catalyst 资产发现:四源信息汇聚与判定 CDP 设备ID / 平台 / 版本 本地口 ↔ 对端口 LLDP 厂商中立邻居 系统名 / 端口ID ARP 表 IP ↔ MAC VLAN / 老化300s MAC 地址表 MAC ↔ 端口 VLAN / 老化300s 关联引擎 按 MAC + VLAN 连接 ARP 与 MAC 表 邻居表补充设备属性 输出:IP-MAC-端口-VLAN 分支A:该口有 CDP/LLDP 邻居 对端为交换机 / AP / 路由器 归入“网络基础设施” 记录型号、版本、管理IP 分支B:该口无邻居,仅有ARP/MAC 对端为 PC / 打印机 / 摄像头 归入“终端资产” 记录IP、MAC、接入端口 分支C:同一MAC出现在多个端口 可能存在环路、MAC漂移 或私接小交换机,需告警核查 示例参数:CDP 60s/180s,LLDP 30s/120s,ARP与MAC老化默认300s

三、在Catalyst上实际查看与验证

发现机制是否生效,必须用命令确认。以下为常见查看方式(示例输出为教学假设,非实测):

Switch# show cdp neighbors
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
                  S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone
Device ID        Local Intrfce   Holdtme  Capability  Platform  Port ID
Core-SW1         Gi1/0/1         152      R S I       C9300     Gi1/0/24
AP-3F-01         Gi1/0/12        170      T           C9120     Gi0/0

Switch# show lldp neighbors
Device ID        Local Intf   Hold-time  Capability  Port ID
Printer-F3       Gi1/0/20     95         B           eth0

Switch# show ip arp vlan 10
Protocol  Address       Age(min)  Hardware Addr     Type  Interface
Internet  10.10.10.25   3         001a.2b3c.4d5e    ARPA  Vlan10
Internet  10.10.10.1    12        0011.2233.4455    ARPA  Vlan10

Switch# show mac address-table vlan 10
Vlan  Mac Address       Type       Ports
10    001a.2b3c.4d5e    DYNAMIC    Gi1/0/10
10    0011.2233.4455    DYNAMIC    Gi1/0/1

把上面输出做关联:ARP中 10.10.10.25 对应 MAC 001a.2b3c.4d5e;MAC表中该MAC在 Gi1/0/10;该口没有CDP/LLDP邻居,因此判定为终端资产,接入VLAN 10。而 Gi1/0/1 的 MAC 0011.2233.4455 对应网关IP 10.10.10.1,且该口有CDP邻居Core-SW1,判定为基础设施。

四、发现过程中的常见问题与判断

第一,CDP/LLDP被关闭。部分安全加固会关闭CDP,此时邻居关系缺失,只能靠ARP和MAC表推断,设备型号、版本等信息无法自动获取。可用 show cdp 或 show lldp 确认全局与接口状态。

第二,ARP老化与MAC老化不同步。ARP默认300秒,MAC默认300秒,但若终端长时间静默,两者可能先后消失,导致资产记录短暂缺失。可通过缩短采集周期(如每5分钟轮询一次)降低漏采概率。

第三,MAC漂移。同一MAC在短时间内出现在两个端口,说明存在环路或私接设备。Catalyst可通过 show mac address-table move update 或端口安全日志发现,应触发告警而非直接覆盖资产记录。

第四,VLAN与接口对应错误。ARP表接口显示为SVI(如Vlan10),而MAC表显示物理口,关联时必须用VLAN字段对齐,否则会把不同VLAN的相同MAC误判为同一资产。

注意:CDP/LLDP只反映直连邻居,不反映跨设备路径。要得到完整拓扑,需把每台交换机的邻居表逐跳拼接,而不是依赖单台设备。

五、资产识别的最小字段与采集建议

基于上述四类信息,一条可用的资产记录至少应包含:IP地址、MAC地址、VLAN、接入端口、设备类型(基础设施/终端)、发现来源(ARP+MAC / CDP / LLDP)、首次发现时间、最近确认时间。采集周期建议:邻居表5分钟一次,ARP与MAC表5分钟一次,端口状态变化时触发即时采集。这样既能覆盖终端上下线,又不会给设备带来过大负担。

实际落地时,可先在一台接入交换机上验证关联逻辑:用 show ip arp 与 show mac address-table 手工比对,确认IP-MAC-端口三者能正确串起来,再推广到全网。只有把CDP、LLDP、ARP、MAC地址表四类信息按VLAN和MAC正确连接,Catalyst平台才能稳定输出可信的园区网资产清单。