链路层发现协议LLDP详解
LLDP简介介绍LLDP的定义和目的。
定义
LLDP(Link Layer Discovery Protocol)是IEEE 802.1ab中定义的链路层发现协议。LLDP是一种标准的二层发现方式,可以将本端设备的管理地址、设备标识、接口标识等信息组织起来,并发布给自己的邻居设备,邻居设备收到这些信息后将其以标准的管理信息库MIB(Management Information Base)的形式保存起来,以供网络管理系统查询及判断链路的通信状况。
目的
随着网络规模越来越大,网络设备种类繁多,并且各自的配置错综复杂,对网络管理能力的要求也越来越高。传统网络管理系统多数只能分析到三层网络拓扑结构,无法确定网络设备的详细拓扑信息、是否存在配置冲突等。因此需要有一个标准的二层信息交流协议。
LLDP提供了一种标准的链路层发现方式。通过LLDP获取的设备二层信息能够快速获取相连设备的拓扑状态;显示出客户端、交换机、路由器、应用服务器以及网络服务器之间的路径;检测设备间的配置冲突、查询网络失败的原因。企业网用户可以通过使用网管系统,对支持运行LLDP协议的设备进行链路状态监控,在网络发生故障的时候快速进行故障定位。
LLDP工作原理
LLDP可以将本地设备的信息组织起来并发布给自己的远端设备,本地设备将收到的远端设备信息以标准MIB的形式保存起来。工作原理如图5-1所示。图5-1LLDP原理框图
https://download.huawei.com/mdl/image/download?uuid=59fddeb5e1a0444aa792fa965962a842
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-2LLDP报文结构
https://download.huawei.com/mdl/image/download?uuid=7c80630b83b8450297c12e3406ace743
各字段含义如下:
[*]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-3LLDPDU结构
https://download.huawei.com/mdl/image/download?uuid=ce3d79d27b03415d88b9e8934f2f1401
如图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-4TLV结构
https://download.huawei.com/mdl/image/download?uuid=4be8b24da63049938e8ad357300f806c
各字段含义如下:
[*]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中发布。表5-1基本TLV
TLV名称说明是否必须发布
Chassis ID TLV发送设备的桥MAC地址。是
Port ID TLV标识LLDPDU发送端的端口。
[*]当设备不发送MED TLV时,内容为端口名称。
[*]当设备发送MED TLV时,内容为端口的MAC地址,没有端口MAC时使用桥MAC。
是
Time To Live TLV本设备信息在邻居设备上的存活时间。是
End of LLDPDU TLV标志LLDPDU结束。是
Port Description TLV以太网端口的描述字符串。否
System Name TLV设备的名称。否
System Description TLV系统描述。否
System Capabilities TLV系统的主要功能以及有哪些主要功能被使能。否
Management Address TLV供网管系统标识网络设备并进行管理的地址。管理地址可以明确地标识一台设备,有利于网络拓扑的绘制,便于网络管理。否
[*]IEEE 802.1组织定义的TLV表5-2IEEE 802.1组织定义的TLV
TLV名称说明
Port VLAN ID TLV端口VLAN ID。
Port And Protocol VLAN ID TLV端口的协议VLAN ID。
VLAN Name TLV端口VLAN名称。
Protocol Identity TLV端口支持的协议类型。
[*]IEEE 802.3组织定义的TLV表5-3IEEE 802.3组织定义的TLV
TLV名称说明
Link Aggregation TLV端口是否支持链路聚合以及是否已使能链路聚合。
MAC/PHY Configuration/Status TLV端口的速率和双工状态、是否支持端口速率自动协商、是否已使能自动协商功能以及当前的速率和双工状态。
Maximum Frame Size TLV端口支持的最大帧长度,取端口最大传输单元MTU(Max Transmission Unit)。
Power Via MDI TLV端口的供电能力,比如是否支持PoE,是供电设备还是受电设备。
[*]MED TLVMED TLV为VoIP(Voice over IP)提供了许多高级的应用,包括基本配置、网络策略配置、地址信息以及目录管理等,满足了语音设备的不同生产厂商在成本有效、易部署性、易管理性等方面的要求,并解决了在以太网中部署语音设备的问题,为语音设备的生产者、销售者以及使用者提供便利。表5-4LLDP-MED TLV
TLV名称说明
LLDP-MED Capabilities TLV当前设备的设备类型以及在LLDPDU中可封装的LLDP-MED TLV类型。
Inventory TLV设备的制造厂商。
Location Identification TLV位置标识信息,供其它设备发现设备的位置。
Network Policy TLVVoice VLAN的VLAN ID、二层优先级以及DSCP值等。
Extended Power-via-MDI TLV当前设备的供电能力。
Hardware Revision TLV媒体终端ME(Media Endpoint)设备的硬件版本。
Firmware Revision TLVME设备的硬件版本,只支持在本地设备查询,不支持作为TLV封装在报文中发送给邻居。
Software Revision TLVME设备的软件版本,只支持在本地设备查询,不支持作为TLV封装在报文中发送给邻居。
Serial Number TLVME设备的序列号,只支持在本地设备查询,不支持作为TLV封装在报文中发送给邻居。
Model Name TLVME设备的Model Name,只支持在本地设备查询,不支持作为TLV封装在报文中发送给邻居。
Asset ID TLVME设备的资产标识符,只支持在本地设备查询,不支持作为TLV封装在报文中发送给邻居。
**** Hidden Message *****
全面详细讲解,666
{:6_267:} 好家伙,LLDP协议用了这么久,第一次这么深入研究 666 66666 丁顶顶顶 OK的很啊{:6_264:} 讲解的很细致 666 6666 講解的很細緻
感謝 {:6_273:}{:6_273:} 写的很详细,感谢分享!
页:
[1]