第一次接触H3C S5500-SI交换机时,我就被它的LLDP功能惊艳到了。想象一下,当你面对一个拥有几十台设备的中型企业网络,传统的网络拓扑发现需要手动记录每台设备的连接关系,不仅耗时耗力,还容易出错。而LLDP(Link Layer Discovery Protocol)就像给你的网络装上了"自动扫描仪",它能自动发现相邻设备并建立连接关系图。
H3C S5500-SI作为一款经典的中端交换机,对LLDP协议的支持非常完善。在实际项目中,我发现它的LLDP实现有几个特别实用的特点:
记得有次客户网络出现故障,我通过display lldp neighbor-information命令,5分钟就锁定了是某台接入交换机的上行端口松动。这种效率在传统网络排查中简直不敢想象。
在开始配置前,我们需要确认几个关键点:
以典型的双交换机互联场景为例,假设我们有:
Switch A配置:
bash复制<SwitchA> system-view
[SwitchA] lldp global enable # V7版本命令
[SwitchA] interface gigabitethernet1/0/1
[SwitchA-GigabitEthernet1/0/1] lldp enable
[SwitchA-GigabitEthernet1/0/1] lldp admin-status rx # 只接收不发送
[SwitchA-GigabitEthernet1/0/1] quit
[SwitchA] interface gigabitethernet1/0/2
[SwitchA-GigabitEthernet1/0/2] lldp enable
[SwitchA-GigabitEthernet1/0/2] lldp admin-status tx # 只发送不接收
Switch B配置:
bash复制<SwitchB> system-view
[SwitchB] lldp enable # V5版本命令
[SwitchB] interface gigabitethernet1/0/1
[SwitchB-GigabitEthernet1/0/1] lldp enable
[SwitchB-GigabitEthernet1/0/1] lldp admin-status tx_rx # 双向收发
这里有个容易踩坑的地方:V5和V7版本的命令差异。V7使用lldp global enable,而V5直接是lldp enable。如果输错命令,你会看到"Unrecognized command"的提示。
配置完成后,最重要的就是验证效果。我最常用的几个诊断命令:
bash复制[SwitchA] display lldp status
这个命令会显示关键信息:
bash复制[SwitchA] display lldp neighbor-information
这个命令的输出特别有用,它会显示:
在实际网络中发现拓扑时,我总结了几条经验:
曾经遇到一个案例:某台交换机显示有两个LLDP邻居,但实际物理连接只有一个。后来发现是虚拟化环境中的虚拟交换机也在发送LLDP报文。这种情况就需要结合物理检查来确认。
LLDP最强大的功能之一就是快速定位链路故障。当网络出现问题时,我通常会这样做:
bash复制[SwitchA] display lldp status | include "number of LLDP neighbors"
如果邻居数量突然减少,说明有链路中断。
bash复制[SwitchA] display lldp interface gigabitethernet1/0/1
这个命令可以查看指定端口的LLDP状态,如果显示"Number of neighbors: 0",但配置是正常的,很可能就是物理链路问题。
案例1:单向链路故障
现象:A设备能看到B设备,但B设备看不到A设备。
排查步骤:
案例2:间歇性邻居丢失
现象:LLDP邻居时有时无。
可能原因:
LLDP默认配置可能不适合所有场景,这几个参数值得关注:
bash复制[SwitchA] lldp timer hello 60 # 调整通告间隔,默认30秒
[SwitchA] lldp timer hold-multiplier 6 # 保持时间倍数,默认4
[SwitchA] lldp management-address 192.168.1.1 # 设置管理地址
调整原则:
虽然LLDP很有用,但也要注意安全风险:
在金融行业客户那里,我们就遇到过攻击者利用LLDP信息进行网络测绘的情况。后来通过在DMZ区域禁用LLDP解决了这个问题。
要让网管系统(如SolarWinds、PRTG)正确显示LLDP发现的拓扑,需要:
bash复制[SwitchA] lldp trap enable
[SwitchA] lldp trap interval 30
bash复制[SwitchA] snmp-agent community read public
[SwitchA] snmp-agent sys-info version all
好的网络拓扑图应该做到:
在Cacti系统中,我习惯使用Weathermap插件来呈现LLDP发现的拓扑,效果非常直观。当某条链路中断时,不仅拓扑图上会显示红色警报,还会自动发送邮件通知。
Q1:为什么LLDP邻居信息突然清空了?
A:可能原因有:
reset lldp statistics命令Q2:LLDP信息不完整怎么办?
A:尝试以下步骤:
Q3:如何永久保存LLDP配置?
A:H3C设备上需要执行:
bash复制[SwitchA] save
否则重启后配置会丢失。这个坑我踩过好几次,现在每次配置完都会下意识地敲save。