使用 LLDP 进行设备发现
链路层发现协议 (LLDP) 是一种行业标准、供应商中立的方法,允许联网设备在 LAN 上通告功能、身份和其他信息。它还为功能发现、网络策略、以太网供电 (PoE) 和库存管理提供了其他类型、长度和值 (TLV)。有关更多信息,请阅读本主题。
了解 LLDP
设备使用 LLDP 来学习和分发网络链路上的设备信息。设备使用此信息快速识别各种设备。这种快速识别使 LAN 能够平稳高效地互操作。
支持 LLDP 的设备将类型、长度和值 (TLV) 消息中的信息传输到相邻设备。设备信息可以包括详细信息,例如机箱标识、端口标识、系统名称和系统功能。TLV 利用已在 中 Junos OS配置的参数中的此信息。
设备支持以下基本 TLV:
-
Chassis Identifier— 与本地系统关联的 MAC 地址。
-
Port Identifier— 本地系统中指定端口的端口标识。
-
Port Description- 用户配置的端口说明。端口描述最多可包含 256 个字符。
-
System Name- 用户配置的本地系统名称。系统名称最多可包含 256 个字符。
-
System Description- 系统描述,其中包含有关系统上运行的软件和当前映像的信息。此信息取自软件。您无法配置此信息。
-
System Capabilities- 系统执行的主要功能,例如网桥或路由器。此信息无法配置,但基于产品的型号。
-
Management Address- 本地系统的 IP 管理地址。
设备支持以下 802.3 TLV:
-
Power via MDI— 通告媒体相关接口 (MDI) 电源支持、电源设备 (PSE) 电源对和电源等级信息的 TLV。
-
MAC/PHY Configuration Status— 通告有关物理接口的信息(如自动协商状态和支持以及 MAU 类型)的 TLV。该信息基于物理接口结构。您无法配置此信息。
-
Link Aggregation— 通告端口是否已聚合及其聚合端口 ID 的 TLV。
-
Maximum Frame Size— 通告发送 LLDP 帧的接口的最大传输单元 (MTU) 的 TLV。
-
Port 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 接口。
EX3200 或 EX4200 交换机(EX4200-PX 型号除外)不支持 LLDP 电源协商。
运行 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
以下示例禁用 ge-2/1/1 接口上的系统描述 TLV:
[edit protocols lldp] user@device# set interface ge-2/1/1 tlv-filter system-description
以下示例禁用除 ge-0/0/1 接口之外的所有接口上的端口描述和系统描述之外的所有 TLV,其中仅禁用系统名称 TLV:
[edit protocols lldp] user@device# set tlv-select [port-description system-description] user@device# set interface ge-0/0/1 tlv-filter system-name
配置 LLDP(J-Web 过程)
本主题仅适用于 J-Web 应用程序包。
使用“LLDP 配置”页面,在 J-Web 界面上为 EX 系列交换机配置 LLDP 全局和端口设置。
要配置 LLDP:
田 |
功能 |
您的行动 |
---|---|---|
播发间隔 |
指定出站 LLDP 通告的频率。您可以增加或减少此间隔。 |
键入秒数。 |
保持乘数 |
指定启用 LLDP 的交换机用于计算其生成并传输到 LLDP 邻居的 LLDP 通告的生存时间 (TTL) 值的乘数因子。 |
在字段中键入所需的数字。 |
快速启动计数 |
指定设备连接后第一秒发送的 LLDP 通告数。默认值为 3。增加此数字会导致端口最初在有限的时间内以更快的速率播发 LLDP–MED。 |
键入快速启动计数。 |
田 |
功能 |
您的行动 |
---|---|---|
LLDP 状态 |
指定是否已在端口上启用 LLDP。 |
选择一个:Enabled、Disabled 或 None。 |
LLDP-MED 状态 |
指定是否已在端口上启用 LLDP–MED。 |
Enable从列表中选择。 |
了解 EX 系列交换机上的 LLDP 和 LLDP-MED
EX 系列以太网交换机使用链路层发现协议 (LLDP) 和链路层发现协议 – 媒体端点发现 (LLDP-MED) 来学习和分发网络链路上的设备信息。这些信息使交换机能够快速识别各种设备,从而形成平稳高效的 LAN 互操作。
LLDP 和 LLDP-MED 的优势
使交换机能够快速识别各种设备。
提供 PoE 电源管理功能。
确保在源本身使用正确的值标记语音流量并确定其优先级。
LLDP 和 LLDP-MED 概述
支持 LLDP 的设备将类型、长度和值 (TLV) 消息中的信息传输到相邻设备。设备信息可以包括机箱和端口标识以及系统名称和系统功能等信息。TLV 利用已在 Junos 操作系统 (Junos OS) 中配置的参数中的此信息。
LLDP-MED 比 LLDP 更进一步,在交换机和 IP 电话之间交换 IP 电话消息。
如果您的 IP 电话配置为 VoIP (VoIP),交换机会自动检测配置并将电话分配给语音 VLAN。IP 电话上语音 VLAN 的实施因供应商而异。有关配置语音 VLAN 的说明,请参阅 IP 电话随附的文档。例如,在Avaya手机上,您可以通过启用DHCP选项176来确保电话即使在没有LLDP-MED的情况下也能获得正确的VoIP VLAN ID。
LLDP 和 LLDP-MED 还提供 PoE 电源管理功能。LLDP 电源协商允许交换机通过与支持 LLDP 的用电设备协商来管理 PoE 功率,从而根据需要动态分配 PoE 功率。LLDP 电源优先级允许启用 LLDP 的用电设备在其连接的交换机接口上设置 PoE 电源优先级。
交换机还使用这些协议来确保语音流量在源本身使用正确的值进行标记和优先级排序。例如,可以将 802.1p CoS 和 802.1Q 标签信息发送到 IP 电话。
支持的 LLDP TLV
EX 系列交换机和 QFX5100 交换机支持以下基本管理 TLV:
机箱 ID — 与本地系统关联的 MAC 地址。
注:机箱 ID TLV 具有网络地址族的子类型。仅当此子类型的值为 1 (IPv4) 或 2 (IPv6) 时,才会验证 LLDP 帧。对于任何其他值,LLDP 会将传输设备检测为邻居并显示在命令输出
show lldp neighbors
中,但不会分配给 VLAN。端口 ID — 本地系统中指定端口的端口标识。
生存时间 - 接收到的信息应保持有效的时间长度。
端口描述 — 接口或逻辑单元的文本描述。使用逻辑单元的说明(如果可用);否则,端口描述 TLV 将包含在物理接口上配置的描述。例如,LAG 成员接口不包含逻辑单元;因此,只能使用在物理接口上配置的说明。
系统名称 - 用户配置的本地系统名称。系统名称最多可包含 256 个字符。系统名称字段包含主机名和域名,格式如下:host-name。domain-name.
系统描述 - 包含有关系统上运行的软件和当前映像的信息的系统描述。此信息不可配置,但取自软件。
系统功能 - 系统执行的主要功能。系统支持的功能,例如网桥或路由器。此信息不可配置,但基于产品的型号。
管理地址 - 本地系统的 IPv4 或 IPv6 管理地址。
EX 系列交换机和 QFX5100 交换机支持以下组织定义的 TLV:
通过 MDI 供电 — 一种 TLV,通告 MDI(介质相关接口)电源支持、PSE(电源设备)电源对和电源等级信息。
MAC/PHY 配置状态 — 通告有关物理接口的信息(如自动协商状态和支持以及 MAU(介质连接单元)类型的 TLV。该信息不可配置,但基于物理接口结构。
注:MAC/PHY 配置状态 TLV 具有 PMD 自动协商播发功能字段的子类型。如果 LLDP 数据包是从 10 千兆 SFP+ 端口传输的,则此
other
unknown
字段包含值。链路聚合 — 一种 TLV,用于通告端口是否已聚合及其聚合端口 ID。
最大帧大小 — 通告发送 LLDP 帧的接口的最大传输单元 (MTU) 的 TLV。
端口 VLAN — 通告接口上配置的 VLAN 名称的 TLV。
支持的 LLDP-MED TLV
EX 系列交换机和 QFX5100 交换机支持以下 LLDP-MED TLV:
LLDP-MED 功能 — 通告端口主要功能的 TLV。功能的值范围为 0 到 15:
0 - 功能
1 - 网络策略
2 - 位置标识
3 - 通过 MDI-PSE 扩展电源
4 - 库存
5-15 - 保留
LLDP-MED 设备类值 — 将媒体端点设备分类为类:
0 - 未定义类
1 - 类 1(通用终结点)。此类定义适用于所有需要基本 LLDP 发现服务的端点。
2 - 类 2(媒体端点)。此类包括具有 IP 媒体功能的终结点。
3 - 类 3(通信端点)。充当最终用户通信设备的设备
4 - 网络连接设备
5-255 - 保留
网络策略 — 通告端口 VLAN 配置以及关联的第 2 层和第 3 层属性的 TLV。属性包括策略标识符、应用程序类型(如语音或流视频)、802.1Q VLAN 标记以及 802.1p 优先级位和 Diffserv 代码点。
端点位置— — 通告端点物理位置的 TLV。
通过 MDI 扩展电源 — 一种 TLV,用于通告端口的电源类型、电源、电源优先级和功率值。PSE 设备(网络连接设备)负责在端口上通告电源优先级。
禁用 TLV
在多供应商网络中,可能不希望发送 TLV 消息,因为它们可能包含有关网络设备的敏感信息。您可以配置 LLDP 或 LLDP-MED 以禁用任何非强制性 TLV 消息。强制性 TLV 是:机箱 ID、端口 ID 和生存时间。可以在特定接口或全局基础上禁用所有其他TLV。有关详细信息,请参阅配置 LLDP(CLI 过程)和配置 LLDP-MED(CLI 过程)。
另请参阅
配置 LLDP-MED(CLI 过程)
链路层发现协议 – 媒体端点发现 (LLDP-MED) 是 LLDP 的扩展。EX 系列交换机使用 LLDP-MED 支持 VoIP 电话的设备发现,并为这些电话位置创建位置数据库。
默认情况下,在 EX 系列交换机上启用 LLDP-MED。
本主题将介绍如下内容:
在接口上启用 LLDP-MED
默认情况下,在所有接口上启用 LLDP-MED。如果禁用,您可以通过在所有接口或特定接口上配置来启用 LLDP-MED。
在运行 Junos OS for EX 系列交换机并支持增强型第 2 层软件 (ELS) 配置样式的交换机上,请在物理接口上配置 LLDP-MED,例如在 ge-0/0/2 上。有关 ELS 的详细信息,请参阅 使用增强型第 2 层软件 CLI。
要在所有接口或特定接口上配置 LLDP-MED,请执行以下操作:
[edit protocols lldp-med] user@switch# set interface interface-name
配置交换机通告的位置信息
您可以配置从交换机播发到 LLDP-MED 设备的位置信息。您可以指定基于公民的位置(地理位置)或基于 ELIN(紧急位置标识号)的位置:
要按地理位置指定位置,请执行以下操作:
[edit protocols lldp-med] user@switch# set interface ge-0/0/2.0 location civic-based country-code country-code user@switch# set interface ge-0/0/2.0 location civic-based ca-type ca-type ca-value ca-value
使用
elin
字符串指定位置:[edit protocols lldp-med] user@switch# set interface ge-0/0/2.0 location elin 4085551212
为 LLDP-MED 配置快速启动
当交换机检测到支持 LLDP-MED 的设备时,它会开始从连接到该设备的端口发送 LLDP 通告。快速启动计数指示交换机检测到 LLDP-MED 设备后的第一秒内将发送多少通告。默认值为 3;将其设置为其他值:
[edit protocols lldp-med] user@switch# set fast-start seconds
例如:
[edit protocols lldp-med] user@switch# set fast-start 6
如果接口配置为 VoIP 接口,则交换机不会等待连接的电话将自己标识为 LLDP-MED 设备,即可在平稳路由引擎切换 (GRES) 或重新启动后执行 LLDP-MED 快速启动。相反,它会在 GRES 或重新启动后立即执行 LLDP-MED 快速启动。此行为可防止某些型号的 IP 电话在 GRES 后重置。
禁用 LLDP-MED TLV
默认情况下,LLDP-MED发送TLV消息。您可以将 LLDP-MED 配置为禁用非强制性 TLV。强制性 TLV 是:机箱 ID、端口 ID 和生存时间。在此过程中,对禁用所有 TLV 的任何引用都意味着禁用所有非强制性 TLV。
有两个选项可用于禁用 TLV:
tlv-select
—选择 LLDP 允许播发哪些 TLV。如果您只想允许几个 TLV,而不想允许其他任何内容,则此方法很有用。tlv-filter
—过滤不应由LLDP播发的TLV。如果您只想过滤几个 TLV,并允许其他所有内容,则此方法很有用。
tlv-select
和tlv-filter
是互斥的,不能同时用于同一配置节。
您可以在特定接口或所有接口上禁用 TLV。接口配置节下的配置优先于全局配置。
要选择LLDP-MED允许广告的TLV:
在所有接口上:
[edit protocols lldp-med] user@switch# set tlv-select tlv-name
在特定接口上:
[edit protocols lldp-med] user@switch# set interface interface-name tlv-select tlv-name
要过滤不应由LLDP-MED播发的TLV,请执行以下操作:
在所有接口上:
[edit protocols lldp-med] user@switch# set tlv-filter tlv-name
在特定接口上:
[edit protocols lldp-med] user@switch# set interface interface-name tlv-filter tlv-name
以下示例禁用除位置 ID 之外的所有 TLV:
[edit protocols lldp-med] user@switch# set tlv-select location-id
以下示例禁用 ge-2/1/1 接口上的 ext-power-via-mdi TLV:
[edit protocols lldp-med] user@switch# set interface ge-2/1/1 tlv-filter ext-power-via-mdi
以下示例禁用所有接口上除位置 ID 和 ext-power-via-mdi 之外的所有 TLV,但 ge-0/0/1 接口上除外,其中仅禁用网络策略 TLV:
[edit protocols lldp-med] user@switch# set tlv-select [location-id ext-power-via-mdi] user@switch# set interface ge-0/0/1 tlv-filter network-policy
您还可以禁用 LLDP 协议的 TLV。有关详细信息,请参阅配置 LLDP(CLI 过程)。