LLDP工作原理
LLDP可以将本地设备的信息组织起来并发布给自己的远端设备,本地设备将收到的远端设备信息以标准MIB的形式保存起来。工作原理如图5-1所示。
图5-1 LLDP原理框图
LLDP基本实现原理为:- LLDP模块通过LLDP代理与设备上物理拓扑MIB、实体MIB、接口MIB以及其他类型MIB的交互,来更新自己的LLDP本地系统MIB,以及本地设备自定义的LLDP扩展MIB。
- 将本地设备信息封装成LLDP帧发送给远端设备。
- 接收远端设备发过来的LLDP帧,更新自己的LLDP远端系统MIB,以及远端设备自定义的LLDP扩展MIB。
- 通过LLDP代理收发LLDP帧,设备就很清楚地知道远端设备的信息,包括连接的是远端设备的哪个接口、远端设备的MAC地址等信息。
LLDP本地系统MIB用来保存本地设备信息。包括设备ID、接口ID、系统名称、系统描述、接口描述、网络管理地址等信息。
LLDP远端系统MIB用来保存远端设备信息。包括设备ID、接口ID、系统名称、系统描述、接口描述、网络管理地址等信息。
LLDP代理完成下列任务:- 维护LLDP本地系统MIB和LLDP远端系统MIB。
- 在本地状态发生变化的情况下,提取LLDP本地系统MIB信息并向远端设备发送。在本地设备状态信息没有变化的情况下,按照一定的周期提取LLDP本地系统MIB信息向远端设备发送。
- 识别并处理收到的LLDP帧。
- LLDP本地系统MIB或LLDP远端系统MIB的状态发生变化的情况下,向网管发送LLDP告警。
LLDP报文结构封装有LLDP数据单元LLDPDU(LLDP Data Unit)的以太网报文称为LLDP报文。LLDP报文结构如图5-2所示。
图5-2 LLDP报文结构
各字段含义如下:
- DA(Destination MAC Address):目的MAC地址,为固定的组播MAC地址0x0180-C200-000E。
- SA(Source MAC Address):源MAC地址,为发送端的MAC地址。
- Type:报文类型,LLDP报文中该字段的值为0x88CC。
- LLDPDU:LLDP数据单元,LLDP信息交换的主体。
- FCS:帧检验序列。
LLDPDULLDPDU就是封装在LLDP报文中本地信息的数据单元。在组成LLDPDU之前,先将本地信息封装成TLV(Type/Length/Value)格式,再由若干个TLV组合成一个LLDPDU封装在LLDP报文的数据部分进行传送。LLDPDU结构如图5-3所示。
图5-3 LLDPDU结构
如图5-3所示,Chassis ID TLV、Port ID TLV、Time to Live TLV和End of LLDPDU TLV,为必须携带的TLV。其余均为可选TLV,可以由设备自行定义是否包含在LLDPDU中。
当接口的状态发生变化(去使能LLDP、接口shutdown)时,接口会向邻居设备发送一个LLDP报文,其中Time To Live TLV字段的Value值为0,这个报文称为shutdown报文。shutdown报文不包含任何可选TLV。
TLV结构TLV是组成LLDPDU的单元,每个TLV都代表一个信息。
TLV的结构如图5-4所示。
图5-4 TLV结构
各字段含义如下:
- TLV Type:TLV的类型,每个TLV的类型值不同,比如End of LLDPDU TLV的类型值为0,Chassis ID TLV的类型值为1等。
- TLV Length:TLV的长度,占9个bit。
- TLV Value:TLV的值,第一个字节指此TLV的子类型,剩余的字节为TLV真正的值。
TLV类型LLDP可以封装的TLV类型包括基本TLV、802.1组织定义的TLV、802.3组织定义的TLV和媒体终端发现MED(Media Endpoint Discovery)TLV。基本TLV是一组对设备进行管理的基础TLV,802.1组织定义的TLV、802.3组织定义的TLV和MED TLV则是由标准组织或其他机构定义的TLV,用于增强对设备的管理功能,可根据实际需要选择是否在LLDPDU中发送。