2020~2021

LLDP Protocol

## 1. What’s LLDP
Link Layer Discovery Protocol (LLDP)链路层发现协议 ,是网络设备用来在网络中相互发现的链路层协议;主要用于在基于IEEE 802技术(主要是有线以太网)的局域网上通告其身份。LLDP类似于几种私有协议:例如Cisco Discovery Protocol, Foundry Discovery Protocol, Nortel Discovery Protocol and Link Layer Topology Discovery。
LLDP提供了一种标准的链路层发现方式,可以将本端设备的信息组织成不同的TLV,并封装LLDPDU(Link Layer Discovery Protocol Data Unit,链路层发现协议数据单元)中发布给与自己直连的邻居,邻居收到这些信息后将其以标准MIB(Management Information Base,管理信息库)的形式保存起来,以供网络管理系统查询及判断链路的通信状况;可发布的信息包括:
1. System name and description
2. Port name and description
3. VLAN name
4. IP management address
5. System capabilities (switching, routing, etc.)
6. MAC/PHY information
7. MDI power
8. Link aggregation

2. 应用场景

LLDP可以用作网络管理和网络监视应用程序中的组件。应用之一就是它在数据中心桥接需求中的使用。 数据中心桥接能力交换协议(DCBX)是一种发现和能力交换协议,用于在邻居之间传递上述功能的能力和配置,以确保整个网络上的配置一致。
LLDP用于通告以太网POE功能、协商传输功率。

3. 工作方式

LLDP有以下四种工作模式:

TxRx:既发送也接收LLDP报文。

Tx:只发送不接收LLDP报文。

Rx:只接收不发送LLDP报文。

Disable:既不发送也不接收LLDP报文。

当设备端口的LLDP工作模式发生变化时,端口将对协议状态机进行初始化操作。为了避免端口工作模式频繁改变而导致端口不断执行初始化操作,可配置端口初始化延迟时间,当端口工作模式改变时延迟一段时间再执行初始化操作。

3.1 LLDP报文的发送机制

当端口工作在TxRx或Tx模式时,设备会周期性地向邻居设备发送LLDP报文。如果设备的本地配置发生变化则立即发送LLDP报文,以将本地信息的变化情况尽快通知给邻居设备。但为了防止本地信息的频繁变化而引起LLDP报文的大量发送,每发送一个LLDP报文后都需延迟一段时间后再继续发送下一个报文。

当设备的工作模式由Disable/Rx切换为TxRx/Tx,或者发现了新的邻居设备(即收到一个新的LLDP报文且本地尚未保存发送该报文设备的信息)时,该设备将自动启用快速发送机制,即将LLDP报文的发送周期缩短为1秒,并连续发送指定数量的LLDP报文后再恢复为正常的发送周期。

3.2 LLDP报文的接收机制

当端口工作在TxRx或Rx模式时,设备会对收到的LLDP报文及其携带的TLV进行有效性检查,通过检查后再将邻居信息保存到本地,并根据TTL(Time To Live,生存时间) TLV中TTL的值来设置邻居信息在本地设备上的老化时间,若该值为零,则立刻老化该邻居信息。

4. 报文结构

封装有LLDPDU的报文称为LLDP报文,其封装格式有两种:Ethernet II和SNAP(Subnetwork Access Protocol,子网访问协议),结构如下:
屏幕截图 2020-02-03 22.56.56.png
其中三个目的MAC地址均为组播地址;
其TLV结构:

Type Length Value
7 bits 9 bits 0-511 octets

TLC参考值:

TLV type TLV name Usage in LLDPDU
0 End of LLDPDU Mandatory
1 Chassis ID Mandatory
2 Port ID Mandatory
3 Time To Live Mandatory
4 Port description Optional
5 System name Optional
6 System description Optional
7 System capabilities Optional
8 Management address Optional
9–126 Reserved
127 Custom TLVs Optional

参考:
wikipedia

发表评论

电子邮件地址不会被公开。 必填项已用*标注