简介:
定义
LLDP(Link Layer Discovery Protocol)是IEEE 802.1ab中定义的链路层发现协议。LLDP是一种标准的二层发现方式,可以将本端设备的管理地址、设备标识、接口标识等信息组织起来,并发布给自己的邻居设备,邻居设备收到这些信息后将其以标准的管理信息库MIB(Management Information Base)的形式保存起来,以供网络管理系统查询及判断链路的通信状况。
目的
随着网络规模越来越大,网络设备种类繁多,并且各自的配置错综复杂,对网络管理能力的要求也越来越高。传统网络管理系统多数只能分析到三层网络拓扑结构,无法确定网络设备的详细拓扑信息、是否存在配置冲突等。因此需要有一个标准的二层信息交流协议。
LLDP提供了一种标准的链路层发现方式。通过LLDP获取的设备二层信息能够快速获取相连设备的拓扑状态;显示出客户端、交换机、路由器、应用服务器以及网络服务器之间的路径;检测设备间的配置冲突、查询网络失败的原因。企业网用户可以通过使用网管系统,对支持运行LLDP协议的设备进行链路状态监控,在网络发生故障的时候快速进行故障定位。
工作原理:
LLDP可以将本地设备的信息组织起来并发布给自己的远端设备,本地设备将收到的远端设备信息以标准MIB的形式保存起来。工作原理如图1所示。
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数据单元LLDPDU(LLDP Data Unit)的以太网报文称为LLDP报文。LLDP报文结构如图1所示。
各字段含义如下:
- DA(Destination MAC Address):目的MAC地址,为固定的组播MAC地址0x0180-C200-000E。
- SA(Source MAC Address):源MAC地址,为发送端的MAC地址。
- Type:报文类型,LLDP报文中该字段的值为0x88CC。
- LLDPDU:LLDP数据单元,LLDP信息交换的主体。
- FCS:帧检验序列。
LLDPDU
LLDPDU就是封装在LLDP报文中本地信息的数据单元。在组成LLDPDU之前,先将本地信息封装成TLV(Type/Length/Value)格式,再由若干个TLV组合成一个LLDPDU封装在LLDP报文的数据部分进行传送。LLDPDU结构如图2所示。
如图2所示,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的结构如图3所示。
各字段含义如下:
- 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中发送。
-
基本TLV
在基本TLV中,有4种类型的TLV对于实现LLDP功能是必选的,即必须在LLDPDU中发布。表1 基本TLV TLV名称 说明 是否必须发布 Chassis ID TLV
发送设备的桥MAC地