什么是LLDP

文章目录

    • 为什么需要LLDP
    • LLDP应用场景有哪些
    • LLDP报文格式
    • LLDP是如何工作的



LLDP(Link Layer Discovery Protocol)是IEEE 802.1ab中定义的链路层发现协议。LLDP是一种标准的二层发现方式,可以将本端设备的管理地址、设备标识、接口标识等信息组织起来,并发布给自己的邻居设备,邻居设备收到这些信息后将其以标准的管理信息库MIB(Management Information Base)的形式保存起来,以供网络管理系统查询及判断链路的通信状况。


为什么需要LLDP

随着网络规模越来越大,网络设备种类繁多,并且各自的配置错综复杂,对网络管理能力的要求也越来越高。传统网络管理系统多数只能分析到三层网络拓扑结构,无法确定网络设备的详细拓扑信息、是否存在配置冲突等。因此需要有一个标准的二层信息交流协议。

LLDP提供了一种标准的链路层发现方式。通过LLDP获取的设备二层信息能够快速获取相连设备的拓扑状态;显示出客户端、交换机、路由器、应用服务器以及网络服务器之间的路径;检测设备间的配置冲突、查询网络失败的原因。企业网用户可以通过使用网管系统,对支持运行LLDP协议的设备进行链路状态监控,在网络发生故障的时候快速进行故障定位。

LLDP应用场景有哪些

LLDP有以下几种常见应用场景应用:

  • 单邻居组网应用场景

单邻居组网应用场景是指交换机设备的接口之间或者交换机与媒体终端ME(Media Endpoint)的接口之间是直接相连,中间没有跨任何的设备,而且接口只有一个邻居设备的情况。单邻居组网如下图所示,SwitchA和SwitchB之间以及SwitchA和ME之间均是直接相连,SwitchA和SwitchB的每一个接口都只有一个邻居。


单邻居组网应用场景

  • 多邻居组网应用场景

多邻居组网应用场景是指交换机设备的接口之间不是直接相连,这时每个接口的邻居不止一个。多邻居组网如下图所示,SwitchA、SwitchB和SwitchC之间通过Switch连接(Switch需要支持LLDP报文透传)。这样SwitchA、SwitchB和SwitchC的接口都不止有一个邻居。


多邻居组网应用场景

  • 链路聚合组网应用场景

链路聚合组网应用场景是指交换机设备的接口之间存在链路聚合,接口之间是直接相连,链路聚合之间的每个接口只有一个邻居设备。如下图所示SwitchA和SwitchB之间存在链路聚合,SwitchA和SwitchB的每一个接口都只有一个邻居。


链路聚合组网应用场景

LLDP报文格式

LLDP报文结构

封装有LLDP数据单元LLDPDU(LLDP Data Unit)的以太网报文称为LLDP报文。LLDP报文结构如下图所示。


LLDP报文结构

各字段含义如下:

  • 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结构

如上图所示,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的结构如下图所示。

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中发送。

  • 基本TLV

在基本TLV中,有4种类型的TLV对于实现LLDP功能是必选的,即必须在LLDPDU中发布。

表1-1 基本TLV

  • IEEE 802.1组织定义的TLV

表1-2 IEEE 802.1组织定义的TLV

  • IEEE 802.3组织定义的TLV

表1-3 IEEE 802.3组织定义的TLV

  • MED TLV

MED TLV为VoIP(Voice over IP)提供了许多高级的应用,包括基本配置、网络策略配置、地址信息以及目录管理等,满足了语音设备的不同生产厂商在成本有效、易部署性、易管理性等方面的要求,并解决了在以太网中部署语音设备的问题,为语音设备的生产者、销售者以及使用者提供便利。

当交换机识别到其某一接口的LLDP邻居发送的LLDP报文中包含任一类型的MED TLV时,交换机会将该接口能发布的所有MED TLV均发布给该LLDP邻居。但该LLDP邻居可能仅支持交换机发布的部分MED TLV,此时会导致LLDP协商失败。可以通过执行undo lldp tlv-enable med-tlv命令配置该接口不发布其LLDP邻居不支持的MED TLV。例如,某终端不支持802.3af标准,即无法识别Extended Power-via-MDI TLV,则必须在连接该终端的接口下执行undo lldp tlv-enable med-tlv power-over-ethernet命令配置该接口不发布Extended Power-via-MDI TLV。

表1-4 LLDP-MED TLV

LLDP报文收发机制

LLDP报文发送机制

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

LLDP报文接收机制

当使能LLDP功能时,设备会对收到的LLDP报文及其携带的TLV进行有效性检查,通过检查后再将邻居信息保存到本地设备,并根据LLDPDU报文中TLV携带的TTL值设置邻居信息在本地设备的老化时间。如果接收到的LLDPDU中的TTL值等于零,将立刻老化掉该邻居信息。

LLDP是如何工作的

LLDP可以将本地设备的信息组织起来并发布给自己的远端设备,本地设备将收到的远端设备信息以标准MIB的形式保存起来。工作原理如下图所示。

LLDP原理框图

LLDP基本实现原理为

  1. LLDP模块通过LLDP代理与设备上物理拓扑MIB、实体MIB、接口MIB以及其他类型MIB的交互,来更新自己的LLDP本地系统MIB,以及本地设备自定义的LLDP扩展MIB。
  2. 将本地设备信息封装成LLDP帧发送给远端设备。
  3. 接收远端设备发过来的LLDP帧,更新自己的LLDP远端系统MIB,以及远端设备自定义的LLDP扩展MIB。
  4. 通过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告警。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1125516.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度学习毕设选题推荐:基于python-cnn深度学习的猫的种类识别基于人工智能-cnn深度学习的猫的种类识别

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

华为OD技术面真题 - 计算机网络 - 1

文章目录计算机网络体系计算机网络为什么要分层应用进程的数据在各层之间传递过程端口、IP地址和MAC地址分别的作用说说不同层经典网络协议计算机网络体系 计算机网络体系结构标准主要分为三种: OSI体系结构:概念清楚,理论也比较完整,但是它既复杂又不…

基于氢储能的热电联供型微电网优化调度方法Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和数学建模资料 &#x1f34…

编程实战:从原理到代码的完整指南

请提供具体的编程语言和代码要求,以便生成符合需求的代码示例。例如:编程语言:Python代码要求:实现一个函数,计算两个数的和并返回结果或编程语言:JavaScript代码要求:创建一个异步函数&#xf…

深度学习毕设选题推荐:基于 python深度学习的罗马数据集训练识别人工智能

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

深入解析HMAC:消息认证码的核心原理

好的!我们来对 HMAC(Hash-based Message Authentication Code,基于哈希的消息认证码) 进行一次全面、深入且结构清晰的详解。 HMAC 是现代密码学和网络安全中确保数据完整性与身份认证的核心工具。它不是用来加密数据的&#xff…

iir滤波器的理论分析与matlab仿真,对比butter/cheby1/cheby2/ellip/yulewalk

目录 1.butter函数,巴特沃斯滤波器 2. cheby1函数,切比雪夫I型滤波器 3. cheby2函数,切比雪夫II型滤波器 4.ellip函数,椭圆滤波器 5.yulewalk函数,Yule-Walker滤波器 6.各函数对比分析 IIR滤波器即无限长单位冲激响应滤波器…

java进阶--多线程学习

java进阶–多线程学习 java进阶–多线程学习(1) java进阶–多线程学习(1) 1.并行与并发的概念 并发是指一个处理器同时处理多个任务。 并行是指多个处理器或者是多核的处理器同时处理多个不同的任务。 并发是逻辑上的同时发生&…

Java进阶教程(一)关键字

Java进阶教程(一) 关键字 synchronized:当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。 instanceof:在运行时指出对象是否是特定类的一个实例。 result object instanc…

AI(人工智能)是模拟人类智能行为的技术,如学习、推理、识别

AI(人工智能)是模拟人类智能行为的技术,如学习、推理、识别等。大模型通常指参数量巨大的深度学习模型(如GPT、BERT),依赖海量数据和算力进行训练,在自然语言处理、图像生成等领域表现卓越。前端…

C++内存序

在 C 中&#xff0c;内存序&#xff08;Memory Order&#xff09;是多线程编程中原子操作的重要概念&#xff0c;它用于控制原子操作的内存同步行为。C11 引入了 <atomic> 头文件&#xff0c;提供了内存序来控制多线程环境下的内存访问顺序。内存序的作用内存序主要解决两…

【课程设计/毕业设计】基于机器学习python深度学习的道路坑洼识别

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

FPGA应用开发和仿真【3.3】

7.1.4 离散量化信号的信噪比 不失一般性,考虑一个幅度为1、频率为1的正弦信号a(t)=sin(2πt),经过采样周期Ts的采样离散化之后,如果被DAC以零阶保持特性输出,将得到信号: 如果还经过分辨力δ的量化,取最接近的量化阶梯,将得到信号: 其中 符号表示取最接近自变量的…

linux redis简单操作

linux redis简单操作 1、centOS 系统安装redis https://blog.csdn.net/weixin_42835409/article/details/119562074 2、安装完成后终端输入redis-cli 报 redis-cli -bash: redis-cli: command not found 问题解决 进入到redis文件下src/bin目录下 将redis-cli 复制到 /usr/loc…

要实现应用的高弹性、可扩展性与快速迭代,可以结合现代云原生技术栈,包括容器化(如Docker)、Kubernetes编排、微服务架构

要实现应用的高弹性、可扩展性与快速迭代&#xff0c;可以结合现代云原生技术栈&#xff0c;包括容器化&#xff08;如Docker&#xff09;、Kubernetes编排、微服务架构、服务网格&#xff08;如Istio&#xff09;以及CI/CD流水线。以下是整体架构设计与关键实践&#xff1a;容…

Java进阶文件输入输出实操(图片拷贝)

Java进阶文件输入输出实操&#xff08;图片拷贝&#xff09;把某个目录下的全部图片&#xff0c;全部拷贝到另外一个目录 package test; import domee.chapter6_7.B; import java.io.*; public class Ex10_10 { public static void main(String[] args) throws IOException { S…

深度测评8个一键生成论文工具,专科生毕业论文轻松搞定!

深度测评8个一键生成论文工具&#xff0c;专科生毕业论文轻松搞定&#xff01; AI 工具如何助力论文写作&#xff1f; 在当今学术环境中&#xff0c;越来越多的专科生开始借助 AI 工具来提升论文写作效率。这些工具不仅能够快速生成初稿&#xff0c;还能有效降低 AIGC&#xff…

爆火!7款AI写论文神器,20分钟生成2.5万字问卷类论文,真实参考文献!

深夜急救&#xff01;论文Deadline倒计时3天&#xff1f;这7款AI工具能救你 凌晨2点&#xff0c;电脑屏幕上的论文文档还是空白页——导师催稿的消息弹了出来&#xff0c;问卷数据还没整理&#xff0c;参考文献格式一团糟&#xff0c;查重率更是飙到40%以上……如果你正在经历…

深度测评2026最新!9款AI论文软件评测:本科生毕业论文全场景推荐

深度测评2026最新&#xff01;9款AI论文软件评测&#xff1a;本科生毕业论文全场景推荐 2026年AI论文工具测评&#xff1a;为何值得一看&#xff1f; 随着人工智能技术的不断进步&#xff0c;AI论文辅助工具在学术领域的应用日益广泛。对于本科生而言&#xff0c;撰写毕业论文不…

在软件开发中,熟练掌握一些常用工具如 Git、Docker 和 IDE 可以极大提升开发效率和协作质量

在软件开发中&#xff0c;熟练掌握一些常用工具如 Git、Docker 和 IDE 可以极大提升开发效率和协作质量。以下是这些工具的实用使用技巧&#xff1a; Git 使用技巧 合理使用分支管理 使用 git feature/xxx 命名功能分支&#xff0c;hotfix/xxx 修复紧急问题。推荐使用 Git Flow…