在此页面上
使用 LLDP 进行设备发现
链路层发现协议 (LLDP) 是一种行业标准、供应商中立的方法,允许联网设备在 LAN 上通告功能、身份和其他信息。它还为功能发现、网络策略、以太网供电 (PoE) 和库存管理提供了其他类型、长度和值 (TLV)。有关更多信息,请阅读本主题。
了解 LLDP
设备使用 LLDP 来学习和分发网络链路上的设备信息。设备使用此信息快速识别各种设备。这种快速识别使 LAN 能够平稳高效地互操作。
支持 LLDP 的设备将类型、长度和值 (TLV) 消息中的信息传输到相邻设备。设备信息可以包括详细信息,例如机箱标识、端口标识、系统名称和系统功能。TLV 利用已在 Junos OS 演化版中配置的参数中的此信息。
设备支持以下基本 TLV:
-
机箱标识符 — 与本地系统关联的 MAC 地址。
-
端口标识符 — 本地系统中指定端口的端口标识。
-
端口说明 - 用户配置的端口说明。端口描述最多可包含 256 个字符。
-
系统名称 - 用户配置的本地系统名称。系统名称最多可包含 256 个字符。
-
系统描述 - 包含有关系统上运行的软件和当前映像的信息的系统描述。此信息取自软件。您无法配置此信息。
-
系统功能 — 系统执行的主要功能,例如网桥或路由器。此信息无法配置,但基于产品的型号。
-
管理地址 - 本地系统的 IP 管理地址。
设备支持以下 802.3 TLV:
-
通过 MDI 供电 — 通告媒体相关接口 (MDI) 电源支持、电源设备 (PSE) 电源对和电源等级信息的 TLV。
-
MAC/PHY 配置状态 — 通告有关物理接口的信息(如自动协商状态和支持以及 MAU 类型)的 TLV。该信息基于物理接口结构。您无法配置此信息。
-
链路聚合 — 一种 TLV,用于通告端口是否已聚合及其聚合端口 ID。
-
最大帧大小 — 通告发送LLDP帧的接口的最大传输单元(MTU)的TLV。
-
端口 VLAN — 通告接口上配置的 VLAN 名称的 TLV。
配置 LLDP(CLI 过程)
请按照以下步骤在设备上配置 LLDP。
- 在接口上启用 LLDP
- 调整 LLDP 通告设置
- 调整 LLDP 更改的 SNMP 通知设置
- 为 LLDP 管理 TLV 指定管理地址
- 为 LLDP 管理 TLV 指定管理接口
- 配置 LLDP 电源协商
- 禁用 LLDP TLV
在接口上启用 LLDP
默认情况下,在所有接口上启用 LLDP。如果禁用它,您可以通过在所有接口或特定接口上配置它来重新启用 LLDP。
-
要在所有接口上配置 LLDP,请执行以下操作:
[edit protocols lldp] user@device# set interface all
-
要在特定接口上配置 LLDP,请执行以下操作:
[edit protocols lldp] user@device# set interface interface-name
调整 LLDP 通告设置
您可以调整 LLDP 播发的以下设置,以便进行故障排除或验证。LLDP 在启用时使用默认值。对于正常操作,建议您不要更改默认值。
-
要指定发送 LLDP 通告的频率(以秒为单位),请执行以下操作:
[edit protocols lldp] user@device# set advertisement-interval seconds
例如,使用默认值 30 秒:
[edit protocols lldp] user@device# set advertisement-interval 30
-
要指定 LLDP 信息在被丢弃之前的秒数:
[edit protocols lldp] user@device# set hold-multiplier number
例如,使用默认值 4:
[edit protocols lldp] user@device# set hold-multiplier 4
该
hold-multiplier
值与advertisement-interval
该值结合使用。使用默认值意味着advertisement-interval
值 30 将乘hold-multiplier
以值 4。导致 LLDP 保持时间为 120 秒。 -
设置传输延迟以指定在 TLV(LLDP 中的元素或本地系统状态)中进行更改后,设备在向邻居发送播发之前等待的秒数。本地系统状态的更改包括主机名或管理地址的更改。默认情况下启用传输延迟,以减少通知邻居本地系统更改的延迟。如果该
advertisement-interval
值设置为小于 8 秒,则默认传输延迟为 1 秒。如果该值设置为 8 秒或更长时间,advertisement-interval
则默认值为 2 秒。[edit protocols lldp] user@device# set transmit-delay seconds
例如:
[edit protocols lldp] user@device# set transmit-delay 2
注意:该
advertisement-interval
值必须大于或等于传输延迟值的四倍;否则,当您尝试提交配置时将返回错误。
调整 LLDP 更改的 SNMP 通知设置
您可以针对 LLDP 更改的 SNMP 通知调整以下设置。如果未指定这些值或间隔值设置为 0,则会禁用通知。
-
要指定发送 LLDP 数据库更改的频率(以秒为单位),请执行以下操作:
[edit protocols lldp] user@device# set lldp-configuration-notification-interval seconds
例如:
[edit protocols lldp] user@device# set lldp-configuration-notification-interval 600
-
要配置 SNMP 陷阱通知等待拓扑更改的时间(以秒为单位),请执行以下操作:
[edit protocols lldp] user@device# set ptopo-configuration-trap-interval seconds
例如:
[edit protocols lldp] user@device# set ptopo-configuration-trap-interval 600
-
要指定保持时间(与
ptopo-configuration-trap-interval
值结合使用)以维护动态拓扑条目(以秒为单位),请执行以下操作:[edit protocols lldp] user@device# set ptopo-configuration-maximum-hold-time seconds
例如:
[edit protocols lldp] user@device# set ptopo-configuration-maximum-hold-time 2147483647
为 LLDP 管理 TLV 指定管理地址
您可以配置要在 LLDP 管理地址 TLV 消息中使用的 IPv4 或 IPv6 管理地址。必须使用带外管理地址作为语句的值 management-address
。
要配置管理地址:
[edit protocols lldp] user@device# set management-address ip-address
使用命令确保 set protocols lldp interface
配置了管理地址的接口已启用 LLDP。如果在禁用 LLDP 的接口上为 LLDP 配置自定义管理地址, show lldp local-information
则命令输出不会显示正确的接口信息。
为 LLDP 管理 TLV 指定管理接口
您可以配置要在 LLDP 管理地址 TLV 消息中使用的接口。
不能同时配置管理地址和管理接口。
要配置管理接口,请执行以下操作:
[edit protocols lldp] user@device# set management-interface interface-name
如果接口没有 IP 地址,则使用默认管理接口的 IP 地址。
配置 LLDP 电源协商
LLDP 电源协商使设备的以太网供电 (PoE) 控制器能够通过与支持 LLDP 的用电设备协商,根据用电设备的需求,将 PoE 功率动态分配给 PoE 接口。
运行 PoE 控制器软件版本 4.04 或更高版本的设备支持 LLDP 电源协商。
当 PoE 管理模式设置为 class
时,将自动启用 LLDP 电源协商:
-
[edit poe] user@device# set management class
要禁用 LLDP 电源协商,请执行以下操作:
-
在所有设备接口上:
[edit protocols lldp interface all power-negotiation] user@device# set disable
-
在特定接口上:
[edit protocols lldp interface interface-name power-negotiation] user@device# set disable
禁用 LLDP TLV
默认情况下,LLDP 发送 TLV 消息。您可以配置 LLDP 以禁用非强制性 TLV。必需的 TLV 包括:机箱 ID、端口 ID 和生存时间。在此过程中,对禁用所有 TLV 的任何引用都意味着禁用所有非强制性 TLV。
有两个选项可用于禁用 TLV:
-
tlv-select
—选择 LLDP 允许播发哪些 TLV。如果您只想允许几个 TLV,而不想允许其他任何内容,则此方法很有用。 -
tlv-filter
—过滤不应由LLDP播发的TLV。如果您只想过滤几个 TLV 并允许其他所有内容,请使用此选项。
tlv-select
和tlv-filter
选项是互斥的,不能同时用于同一配置节。
您可以在特定接口或所有接口上禁用 TLV。接口配置节下的配置优先于全局配置。
要选择 LLDP 允许通告哪些 TLV,请执行以下操作:
-
在所有接口上:
[edit protocols lldp] user@device# set tlv-select tlv-name
-
在特定接口上:
[edit protocols lldp] user@device# set interface interface-name tlv-select tlv-name
要过滤不应由 LLDP 播发的 TLV,请执行以下操作:
-
在所有接口上:
[edit protocols lldp] user@device# set tlv-filter tlv-name
-
在特定接口上:
[edit protocols lldp] user@device# set interface interface-name tlv-filter tlv-name
以下示例禁用除端口说明之外的所有 TLV:
[edit protocols lldp] user@device# set tlv-select port-description
以下示例禁用 et-1/0/1 接口上的系统描述 TLV:
[edit protocols lldp] user@device# set interface et-1/0/1 tlv-filter system-description
以下示例禁用除 et-1/0/1 接口之外的所有接口上的端口描述和系统描述之外的所有 TLV,其中仅禁用系统名称 TLV:
[edit protocols lldp] user@device# set tlv-select [port-description system-description] user@device# set interface et-1/0/1 tlv-filter system-name