LLDP简介

LLDP简介1.1.1LLDP产生背景目前,网络设备的种类日益繁多且各自的配置错综复杂,为了使不同厂商的设备能够在网络中相互发现并交互各自的系统及配置信息,需要有一个标准的信息交流平台。LLDP(LinkLayerDiscoveryProtocol,链路层发现协议)就是在这样的背景下产生的,它提供了一种标准的链路层发现方式,可以将本端设备的信息(包括主要能力、管理地址、设备标识、接口标识等)组织成不同的TLV(Type/Length/Value,类型/长度/值),并封装在LLDPDU(Lin…

大家好,又见面了,我是你们的朋友全栈君。

LLDP简介

 

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邻居关系示意图

LLDP简介

 

2. LLDP报文

封装有LLDPDU的报文称为LLDP报文,其封装格式有两种:Ethernet II和SNAP(Subnetwork Access Protocol,子网访问协议)。

(1)       Ethernet II格式封装的LLDP报文

图1-2 Ethernet II格式封装的LLDP报文

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报文

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:帧检验序列,用来对报文进行校验。

3. LLDPDU

LLDPDU就是封装在LLDP报文数据部分的数据单元。在组成LLDPDU之前,设备先将本地信息封装成TLV格式,再由若干个TLV组合成一个LLDPDU封装在LLDP报文的数据部分进行传送。

图1-4 LLDPDU的封装格式

LLDP简介

 

图1-4所示,蓝色的Chassis ID TLV、Port ID TLV、Time To Live TLV和End of LLDPDU TLV是每个LLDPDU都必须携带的,其余的TLV则为可选携带。每个LLDPDU最多可携带32种TLV。

4. 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所示。

表1-1 基本TLV

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所示。

表1-4 LLDP-MED TLV

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将不会被发布,不论其是否被允许发布。

 

5. 管理地址

管理地址是供网络管理系统标识网络设备并进行管理的地址。管理地址可以明确地标识一台设备,从而有利于网络拓扑的绘制,便于网络管理。管理地址被封装在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账号...

(0)


相关推荐

  • 看懂 Serverless,这一篇就够了

    看懂 Serverless,这一篇就够了文章目录1.无服务器(Serverless)计算是什么2.理解Serverless技术—FaaS和BaaS2.1Faas(FunctionasaService,函数即服务)2.2Baas(BackendasaService,后端即服务)3.无服务器(Serverless)计算如何工作?4.无服务器(Serverless)适用于哪些场景?4.1场景一:应用负载有显著的波…

  • git clone与git pull区别

    git clone与git pull区别原地址最近一直焦虑换工作与面试,自然面试过程中也被问到了很多问题,在一家公司中,被问到了git相关的知识。面试官提出了gitclone与gitpull有什么区别。由于自己对git的掌握情况不是特别深入,感觉瞬间被问蒙圈一样。后来,查了相关的文档,看了一些文章,自己有了一丁点的理解,觉得应该…

  • 渗透之——使用reaver傻瓜式破解wifi之利用路由器WPS漏洞

    渗透之——使用reaver傻瓜式破解wifi之利用路由器WPS漏洞跟这篇破解教程一样,网上破解教程多是基于路由器的WPS漏洞破解,但是这样的路由器只占少数。一般wifi是依据WPA/WPA2加密的,因此想要破解一般的wifi,还得破解这个协议,虽然近期这个协议也被破解了,不过也是很不容易的。刚入门破解,不是很熟悉,在网上找各种破解资料,终于破解成功了临近工作室的wifi,沾沾自喜~本文破解wifi针对一些路由器的WPS(Wi-fiprotectedset…

  • pycharm pip源修改以及包管理

    pycharm pip源修改以及包管理pycharm下如何将默认的pip源改成国内能快速访问的源,以及如何进行包管理pycharm 是一款进行python项目开发的利器,不过还是有新手在使用pycharm时,并不知道如何进行包管理,pip包管理pycharm 如何进行包管理呢,其实很简答安装安装包流程如下注意2位置,是选择相应版本的py

  • 【雕爷学编程】零基础Python(01)—“投机取巧”的三条途径[通俗易懂]

    【雕爷学编程】零基础Python(01)—“投机取巧”的三条途径[通俗易懂]从3月13日报名尝试上网课学习(4天课8.9元),开始接触Python(中文发音“派森”),到今天有一星期了。这两天广泛搜索了一下相关的学习途径,本着“投机取巧”的出发点,居然小有心得,这里一并分享出

  • vlookup函数的使用方法模糊查找_重复图片查找软件

    vlookup函数的使用方法模糊查找_重复图片查找软件Navicat使用教程:如何用非唯一键识别重复项

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号