网络协议之LLDP

网络协议之LLDP一、协议简介为什么会出现LLDP?随着网络技术的发展,接入网络的设备的种类越来越多,配置越来越复杂,来自不同设备厂商的设备也往往会增加自己特有的功能,这就导致在一个网络中往往会有很多具有不同特性的、来自不同厂商的设备,为了方便对这样的网络进行管理,就需要使得不同厂商的设备能够在网络中相互发现并交互各自的系统及配置信息。LLDP(LinkLayerDiscoveryProtocol,链路层发…

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

一、协议简介
为什么会出现LLDP?
随着网络技术的发展,接入网络的设备的种类越来越多,配置越来越复杂,来自不同设备厂商的设备也往往会增加自己特有的功能,这就导致在一个网络中往往会有很多具有不同特性的、来自不同厂商的设备,为了方便对这样的网络进行管理,就需要使得不同厂商的设备能够在网络中相互发现并交互各自的系统及配置信息。
LLDP(Link Layer Discovery Protocol,链路层发现协议)就是用于这个目的的协议。
它提供了一种标准的链路层发现方式,可以将本端设备的的主要能力、管理地址、设备标识、接口标识等信息组织成不同的TLV(Type/Length/Value,类型/长度/值),并封装在LLDPDU(Link Layer Discovery Protocol Data Unit,链路层发现协议数据单元)中发布给与自己直连的邻居,邻居收到这些信息后将其以标准MIB(Management Information Base,管理信息库)的形式保存起来,以供网络管理系统查询及判断链路的通信状况。
二、基本概念
LLDP报文封装有两种格式,一是ethernet II另外一个是SNAP。
网络协议之LLDP
Destination MAC address:目的MAC地址,为固定的组播MAC地址0x0180-C200-000E。
Source MAC address:源MAC地址,为端口MAC地址或设备桥MAC地址(如果有端口地址则使用端口MAC地址,否则使用设备桥MAC地址)。
Type:报文类型,为0x88CC。
Data:数据,为LLDPDU。
FCS:帧检验序列。

网络协议之LLDP
Destination MAC address:目的MAC地址,为固定的组播MAC地址0x0180-C200-000E。
Source MAC address:源MAC地址,为端口MAC地址或设备桥MAC地址(如果有端口地址则使用端口MAC地址,否则使用设备桥MAC地址)。
Type:报文类型,为0xAAAA-0300-0000-88CC。
Data:数据,为LLDPDU。
FCS:帧检验序列
关于Ethernet帧格式的发展与种类之间的区别后面再细说。

LLDPDU
网络协议之LLDP
必须携带chassisID,port id,ttl,和end这四种tlv,其余为optional tlv可选的。

网络协议之LLDP

除了以上基本的TLV,还有一些为了增强网络管理功能的TLV
网络协议之LLDP
网络协议之LLDP
网络协议之LLDP
说明:LLDP-MED TLV是为VoIP(Voice over IP,在IP上传送语音)提供了许多高级的应用,包括基本配置、网络策略配置、地址信息以及目录管理等。

三、工作机制

  1. LLDP的工作模式
    LLDP有以下四种工作模式:
    TxRx:既发送也接收LLDP报文。
    Tx:只发送不接收LLDP报文。
    Rx:只接收不发送LLDP报文。
    Disable:既不发送也不接收LLDP报文。

当端口的LLDP工作模式发生变化时,端口将对协议状态机进行初始化操作。为了避免端口工作模式频繁改变而导致端口不断执行初始化操作,可配置端口初始化延迟时间,当端口工作模式改变时延迟一段时间再执行初始化操作。

  1. LLDP报文的发送机制
    当端口工作在TxRx或Tx模式时,设备会周期性地向邻居设备发送LLDP报文。如果设备的本地配置发生变化则立即发送LLDP报文,以将本地信息的变化情况尽快通知给邻居设备。但为了防止本地信息的频繁变化而引起LLDP报文的大量发送,每发送一个LLDP报文后都需延迟一段时间后再继续发送下一个报文。

当设备的工作模式由Disable/Rx切换为TxRx/Tx,或者发现了新的邻居设备(即收到一个新的LLDP报文且本地尚未保存发送该报文设备的信息)时,该设备将自动启用快速发送机制,即将LLDP报文的发送周期缩短为1秒,并连续发送指定数量的LLDP报文后再恢复为正常的发送周期。

  1. LLDP报文的接收机制
    当端口工作在TxRx或Rx模式时,设备会对收到的LLDP报文及其携带的TLV进行有效性检查,通过检查后再将邻居信息保存到本地,并根据TTL(Time To Live,生存时间) TLV中TTL的值来设置邻居信息在本地设备上的老化时间,若该值为零,则立刻老化该邻居信息。

四、配置(HCL)
有很多可以仿真网络设备的软件,如Cisco packet tracker,h3c的HCL,华为的eNSP。我这里使用的是HCL。可以去h3c官网获取现在最新的版本是v2.1.1,安装后我运行一直报错,查看log后显示“ImportError: DLL load failed: 操作系统无法运行 %1。”,后来觉得应该是之前系统升到了win10,果断右键兼容性运行win7,再运行就好了。
先部署3个交换机
网络协议之LLDP
双击设备的图标会进入命令视图的窗口。
在系统视图下全局开启lldp,然后查看,一般默认都是开启的。
网络协议之LLDP
lldp设置还有很多在具体的端口上进一步设置。
网络协议之LLDP
admin-status就是设置tx,rx,txrx的。
compliance就是与cisco CDP互通兼容的设置。
其他的内容有兴趣的可以实际操作试试。

转载于:https://blog.51cto.com/12374206/2126824

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/138759.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux 查看Java 进程的内存使用情况[通俗易懂]

    linux 查看Java 进程的内存使用情况[通俗易懂]top-b-n1|grepjava|awk'{print”PID:”$1″,mem:”$6″,CPUpercent:”$9″%”,”mempercent:”$10″%”}’…

    2022年8月23日
    5
  • 在anaconda中安装/卸载TensorFlow

    在anaconda中安装/卸载TensorFlow进入AnacondaPrompt控制台查看python版本Python–version创建TensorFlow环境Condacreate–nametensorflow2.0python==3.7激活该环境Activatetensorflow2.0下载TensorFlowpipinstall–upgrade–ignore-installedtensorflow==2.4.0查看condalist测试pythonimporttensorflo

    2022年6月22日
    80
  • Linux#使用ll命令

    Linux#使用ll命令     ubuntu和mac环境下,没有ll命令,对于习惯在Linux环境使用ll命令的开发人员来说,着实不便。     介绍两种添加ll命令的方法:     一、设置别名        1、编辑~/.bashrc mac环境为~./bash_profile             sudovim~/.bash_profile        2、…

    2022年9月16日
    0
  • 氚云erp_氚云登录

    氚云erp_氚云登录1产品价值1.1核心优势1.2销售管理者的烦恼1.3产品价值-解决销售人员的烦恼1.4氚云CRM帮助企业提高工作效率、促进团队业绩顺利达成从客户开发、外勤,联系人的维护,客户的跟进商机的有效推进到合同的签定成交以及发票、回款等销售生命周期管理,让销售过程更精细透明。协助销售精英对销售过程进行管理科学预测销售业…

    2025年6月11日
    0
  • Python 画图常用颜色 – 单色、渐变色、混色 – 够用

    Python 画图常用颜色 – 单色、渐变色、混色 – 够用单色  装了seaborn扩展的话,在字典seaborn.xkcd_rgb中包含所有的xkcdcrowdsourcedcolornames。如下:plt.plot([1,2],lw=4,c=seaborn.xkcd_rgb[‘babypoopgreen’])虽然觉得上面的已经够用了,但是还是备份一下这个最全的吧。 渐变色:  混色…

    2022年6月6日
    77
  • pycharm2021.9 激活码(JetBrains全家桶)[通俗易懂]

    (pycharm2021.9 激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月26日
    50

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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