📜  链路层发现协议 (LLDP)(1)

📅  最后修改于: 2023-12-03 15:28:34.119000             🧑  作者: Mango

链路层发现协议 (LLDP)

链路层发现协议 (LLDP) 是一种网络协议,用于在计算机网络中发现和识别设备、端口和邻居的属性。它允许网络管理员查询网络设备的属性,并在网络拓扑或地图上查看设备之间的连接。

LLDP 在 OSI 模型的数据链路层上运行,它是一种开放标准协议,被 IEEE 和 IETF 所定义和维护,并且广泛得到了支持和应用。

功能

LLDP 主要提供以下功能:

  • 发现、识别和验证设备的信息和属性,如设备名称、IP 地址、端口号、MAC 地址、设备类型、OS 版本等。
  • 发送和接收告警和通告信息,如链路故障、端口速度、链路带宽、VLAN 标识、管理域等。
  • 构建和维护网络拓扑或地图,以显示设备之间的关系和连接。
消息格式

LLDP 消息由 TLV (Type-Length-Value) 格式组成,其中 Type 表示数据类型,Length 表示数据长度,Value 表示数据内容。常见的 TLV 类型包括:

  • Chassis ID:设备的名称或 MAC 地址。
  • Port ID:端口的名称或编号。
  • Time to Live (TTL):消息在网络中的生存时间。
  • System Name:设备的名称。
  • System Description:设备的描述信息。
  • Port Description:端口的描述信息。
  • VLAN ID:VLAN 标识。
  • Management Address:管理地址。

以下是一个示例 LLDP 消息:

+------------+------------+----------------+----------+
| Chassis ID | Port ID    | TTL            | Vlan ID  |
+------------+------------+----------------+----------+
| MAC        | Port name  | 120 seconds    | 10       |
+------------+------------+----------------+----------+
应用场景

LLDP 在很多场景下都可以得到应用,如:

  • 网络拓扑发现和绘制:LLDP 可以用于发现和识别网络中的设备、端口和邻居,并帮助构建网络拓扑或地图。
  • 网络配置和管理:LLDP 可以用于查询设备属性,如 IP 地址、OS 版本、端口速度等,并帮助进行网络配置和管理。
  • 网络故障排查和调试:LLDP 可以用于检测、诊断和修复网络故障,如链路断开、链路带宽不足、VLAN 问题等。
库和工具

LLDP 已经得到了广泛的支持和应用,并有很多开源库和工具可供使用,如:

  • lldpd:LLDP 守护进程,支持 Linux 和 BSD 系统。
  • go-lldp:LLDP 客户端和服务器实现,基于 Golang。
  • snmpd:SNMP 守护进程,也可以支持 LLDP。
  • Wireshark:网络协议分析工具,可以捕获和解析 LLDP 消息。
总结

LLDP 是一种简单但功能强大的网络协议,可以帮助网络管理员了解和管理网络设备和拓扑,诊断和修复网络故障,提高网络效率和可靠性。它已经成为了网络管理中不可或缺的一部分,也成为了许多开源库和工具的基础。