大家好,又见面了,我是你们的朋友全栈君。
1.1.1 LLDP产生背景
目前,网络设备的种类日益繁多且各自的配置错综复杂,为了使不同厂商的设备能够在网络中相互发现并交互各自的系统及配置信息,需要有一个标准的信息交流平台。
LLDP(Link Layer Discovery Protocol,链路层发现协议)就是在这样的背景下产生的,它提供了一种标准的链路层发现方式,可以将本端设备的信息(包括主要能力、管理地址、设备标识、接口标识等)组织成不同的TLV(Type/Length/Value,类型/长度/值),并封装在LLDPDU(Link Layer Discovery Protocol Data Unit,链路层发现协议数据单元)中发布给与自己直连的邻居,邻居收到这些信息后将其以标准MIB(Management Information Base,管理信息库)的形式保存起来,以供网络管理系统查询及判断链路的通信状况。有关MIB的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”。
1.1.2 LLDP基本概念
1. LLDP代理
LLDP代理是LLDP协议运行实体的一个抽象映射。一个接口下,可以运行多个LLDP代理。目前LLDP定义的代理类型包括:Nearest Bridge(最近桥代理)、Nearest non-TPMR Bridge(最近非TPMR桥代理)和Nearest Customer Bridge(最近客户桥代理)。其中TPMR(Two-Port MAC Relay,双端口MAC中继),是一种只有两个可供外部访问桥端口的桥,支持MAC桥的功能子集。TPMR对于所有基于帧的介质无关协议都是透明的,但如下协议除外:以TPMR为目的地的协议、以保留MAC地址为目的地址但TPMR定义为不予转发的协议。LLDP在相邻的代理之间进行协议报文交互,并基于代理创建及维护邻居信息。如图1-1所示,是LLDP不同类型的代理邻居关系示意图。其中,CB(Customer Bridge,客户桥)和SB(Service Bridge,服务桥)表示LLDP的两种桥模式。
图1-1 LLDP邻居关系示意图
2. LLDP报文
封装有LLDPDU的报文称为LLDP报文,其封装格式有两种:Ethernet II和SNAP(Subnetwork Access Protocol,子网访问协议)。
(1) Ethernet II格式封装的LLDP报文
图1-2 Ethernet II格式封装的LLDP报文
如图1-2所示,是以Ethernet II格式封装的LLDP报文,其中各字段的含义如下:
·Destination MAC address:目的MAC地址。为区分同一接口下不同类型代理发送及接收的LLDP报文,LLDP协议规定了不同的组播MAC地址作为不同类型代理的LLDP报文的目的MAC地址。其中固定的组播MAC地址0x0180-c200-000E供最近桥代理类型的LLDP报文使用,0x0180-c200-0000供最近客户桥代理类型的LLDP报文使用,0x0180-c200-0003供最近非TPMR桥代理类型的LLDP报文使用。
·Source MAC address:源MAC地址,为端口MAC地址。
·Type:报文类型,为0x88CC。
·Data:数据内容,为LLDPDU。
·FCS:帧检验序列,用来对报文进行校验。
(2) SNAP格式封装的LLDP报文
图1-3 SNAP格式封装的LLDP报文
如图1-3所示,是以SNAP格式封装的LLDP报文,其中各字段的含义如下:
·Destination MAC address:目的MAC地址,与Ethernet II格式封装的LLDP报文目的MAC地址相同。
·Source MAC address:源MAC地址,为端口MAC地址。
·Type:报文类型,为0xAAAA-0300-0000-88CC。
·Data:数据内容,为LLDPDU。
·FCS:帧检验序列,用来对报文进行校验。
LLDPDU就是封装在LLDP报文数据部分的数据单元。在组成LLDPDU之前,设备先将本地信息封装成TLV格式,再由若干个TLV组合成一个LLDPDU封装在LLDP报文的数据部分进行传送。
图1-4 LLDPDU的封装格式
如图1-4所示,蓝色的Chassis ID TLV、Port ID TLV、Time To Live TLV和End of LLDPDU TLV是每个LLDPDU都必须携带的,其余的TLV则为可选携带。每个LLDPDU最多可携带32种TLV。
TLV是组成LLDPDU的单元,每个TLV都代表一个信息。LLDP可以封装的TLV包括基本TLV、802.1组织定义TLV、802.3组织定义TLV和LLDP-MED(Link Layer Discovery Protocol Media Endpoint Discovery,链路层发现协议媒体终端发现) TLV。
基本TLV是网络设备管理基础的一组TLV,802.1组织定义TLV、802.3组织定义TLV和LLDP-MED TLV则是由标准组织或其他机构定义的TLV,用于增强对网络设备的管理,可根据实际需要选择是否在LLDPDU中发送。
(1) 基本TLV
在基本TLV中,有几种TLV对于实现LLDP功能来说是必选的,即必须在LLDPDU中发布,如表1-1所示。
TLV名称 | 说明 | 是否必须发布 |
Chassis ID | 发送设备的桥MAC地址 | 是 |
Port ID | 标识LLDPDU发送端的端口。如果LLDPDU中携带有LLDP-MED TLV,其内容为端口的MAC地址;否则,其内容为端口的名称 | 是 |
Time To Live | 本设备信息在邻居设备上的存活时间 | 是 |
End of LLDPDU | LLDPDU的结束标识,是LLDPDU的最后一个TLV | |
Port Description | 端口的描述 | 否 |
System Name | 设备的名称 | 否 |
System Description | 系统的描述 | 否 |
System Capabilities | 系统的主要功能以及已开启的功能项 | 否 |
Management Address | 管理地址,以及该地址所对应的接口号和OID(Object Identifier,对象标识符) | 否 |
(2) 802.1组织定义TLV
IEEE 802.1组织定义TLV的内容如表1-2所示。
表1-2 IEEE 802.1组织定义的TLV
TLV名称 | 说明 |
Port VLAN ID(PVID) | 端口VLAN ID |
Port and protocol VLAN ID(PPVID) | 端口协议VLAN ID |
VLAN Name | 端口所属VLAN的名称 |
Protocol Identity | 端口所支持的协议类型 |
DCBX | 数据中心桥能力交换协议(Data Center Bridging Exchange Protocol) |
EVB模块 | 边缘虚拟桥接(Edge Virtual Bridging)模块,具体包括EVB TLV和CDCP(S-Channel Discovery and Configuration Protocol,S通道发现和配置协议) TLV这两种TLV |
Link Aggregation | 端口是否支持链路聚合以及是否已开启链路聚合 |
Management VID | 管理VLAN |
VID Usage Digest | 包含VLAN ID使用摘要的数据 |
ETS Configuration | 增强传输选择(Enhanced Transmission Selection)配置 |
ETS Recommendation | 增强传输选择推荐 |
PFC | 基于优先级的流量控制(Priority-based Flow Control) |
APP | 应用协议(Application Protocol) |
QCN | 量化拥塞通知(Quantized Congestion Notification) |
·目前,H3C设备不支持发送Protocol Identity TLV和VID Usage Digest TLV,但可以接收这两种类型的TLV。
·三层以太网接口仅支持Link Aggregation TLV。
(3) 802.3组织定义TLV
IEEE 802.3组织定义TLV的内容如表1-3所示。
表1-3 IEEE 802.3组织定义的TLV
TLV名称 | 说明 |
MAC/PHY Configuration/Status | 端口支持的速率和双工状态、是否支持端口速率自动协商、是否已开启自动协商功能以及当前的速率和双工状态 |
Power Via MDI | 端口的供电能力,包括PoE(Power over Ethernet,以太网供电)的类型(包括PSE(Power Sourcing Equipment,供电设备)和PD(Powered Device,受电设备)两种)、PoE端口的远程供电模式、是否支持PSE供电、是否已开启PSE供电、供电方式是否可控、供电类型、功率来源、功率优先级、PD请求功率值、PSE分配功率值 |
Maximum Frame Size | 端口支持的最大帧长度,取端口配置的MTU(Maximum Transmission Unit,最大传输单元)值 |
Power Stateful Control | 端口的电源状态控制,包括PSE/PD所采用的电源类型、供/受电的优先级以及供/受电的功率 |
Energy-Efficient Ethernet | 节能以太网 |
Power Stateful Control TLV是在IEEE P802.3at D1.0版本中被定义的,之后的版本不再支持该TLV。H3C设备只有在收到Power Stateful Control TLV后才会发送该类型的TLV。
(4) LLDP-MED TLV
LLDP-MED TLV为VoIP(Voice over IP,在IP网络上传送语音)提供了许多高级的应用,包括基本配置、网络策略配置、地址信息以及目录管理等,满足了语音设备的不同生产厂商在投资收效、易部署、易管理等方面的要求,并解决了在以太网中部署语音设备的问题,为语音设备的生产者、销售者以及使用者提供了便利。LLDP-MED TLV的内容如表1-4所示。
TLV名称 | 说明 |
LLDP-MED Capabilities | 网络设备所支持的LLDP-MED TLV类型 |
Network Policy | 网络设备或终端设备上端口的VLAN类型、VLAN ID以及二三层与具体应用类型相关的优先级等 |
Extended Power-via-MDI | 网络设备或终端设备的扩展供电能力,对Power Via MDI TLV进行了扩展 |
Hardware Revision | 终端设备的硬件版本 |
Firmware Revision | 终端设备的固件版本 |
Software Revision | 终端设备的软件版本 |
Serial Number | 终端设备的序列号 |
Manufacturer Name | 终端设备的制造厂商名称 |
Model Name | 终端设备的模块名称 |
Asset ID | 终端设备的资产标识符,以便目录管理和资产跟踪 |
Location Identification | 网络设备的位置标识信息,以供终端设备在基于位置的应用中使用 |
如果禁止发布802.3的组织定义的MAC/PHY Configuration/Status TLV,则LLDP-MED TLV将不会被发布,不论其是否被允许发布;如果禁止发布LLDP-MED Capabilities TLV,则其他LLDP-MED TLV将不会被发布,不论其是否被允许发布。
管理地址是供网络管理系统标识网络设备并进行管理的地址。管理地址可以明确地标识一台设备,从而有利于网络拓扑的绘制,便于网络管理。管理地址被封装在LLDP报文的Management Address TLV中向外发布。
1.1.3 LLDP工作机制
1. LLDP的工作模式
在指定类型的LLDP代理下,LLDP有以下四种工作模式:
·TxRx:既发送也接收LLDP报文。
·Tx:只发送不接收LLDP报文。
·Rx:只接收不发送LLDP报文。
·Disable:既不发送也不接收LLDP报文。
当端口的LLDP工作模式发生变化时,端口将对协议状态机进行初始化操作。为了避免端口工作模式频繁改变而导致端口不断执行初始化操作,可配置端口初始化延迟时间,当端口工作模式改变时延迟一段时间再执行初始化操作。
2. LLDP报文的发送机制
在指定类型LLDP代理下,当端口工作在TxRx或Tx模式时,设备会周期性地向邻居设备发送LLDP报文。如果设备的本地配置发生变化则立即发送LLDP报文,以将本地信息的变化情况尽快通知给邻居设备。但为了防止本地信息的频繁变化而引起LLDP报文的大量发送,使用令牌桶机制对LLDP报文发送作限速处理。有关令牌桶的详细介绍,请参见“ACL和QoS配置指导”中的“流量监管、流量整形和接口限速”。
当设备的工作模式由Disable/Rx切换为TxRx/Tx,或者发现了新的邻居设备(即收到一个新的LLDP报文且本地尚未保存发送该报文设备的信息)时,该设备将自动启用快速发送机制,即将LLDP报文的发送周期设置为快速发送周期,并连续发送指定数量的LLDP报文后再恢复为正常的发送周期。
3. LLDP报文的接收机制
当端口工作在TxRx或Rx模式时,设备会对收到的LLDP报文及其携带的TLV进行有效性检查,通过检查后再将邻居信息保存到本地,并根据Time To Live TLV中TTL(Time to Live,生存时间)的值来设置邻居信息在本地设备上的老化时间,若该值为零,则立刻老化该邻居信息。
1.1.4 LLDP与Track联动
LLDP通过与Track联动,可以根据Track项的状态来检测LLDP邻居是否存在:
·当Track项的状态为Positive时,接口下存在LLDP邻居。
·当Track项的状态为Negative,接口下不存在LLDP邻居。
关于LLDP与Track联动的的详细介绍和相关配置,请参见“可靠性配置指导”中的“Track”。
1.1.5 协议规范
与LLDP相关的协议规范有:
·IEEE 802.1AB-2005:Station and Media Access Control Connectivity Discovery
·IEEE 802.1AB 2009:Station and Media Access Control Connectivity Discovery
·ANSI/TIA-1057:Link Layer Discovery Protocol for Media Endpoint Devices
·DCB Capability Exchange Protocol Specification Rev 1.0
·DCB Capability Exchange Protocol Base Specification Rev 1.01
·IEEE Std 802.1Qaz-2011:Media Access Control (MAC) Bridges and Virtual Bridged Local Area Networks-Amendment 18: Enhanced Transmission Selection for Bandwidth Sharing Between Traffic Classes
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/140122.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...