网络协议之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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【python量化】用python搭建一个股票舆情分析系统

    【python量化】用python搭建一个股票舆情分析系统写在前面下面的这篇文章将手把手教大家搭建一个简单的股票舆情分析系统,其中将先通过金融界网站爬取指定股票在一段时间的新闻,然后通过百度情感分析接口,用于评估指定股票的正面和反面新闻的占比,以…

    2022年9月20日
    3
  • NodeJs的安装和环境变量配置[通俗易懂]

    NodeJs的安装和环境变量配置[通俗易懂]一、NodeJs的安装和环境变量配置第一步,下载安装NodeJS1.本文在windows平台下NodeJS安装实例,独立安装而不是在安装VisualStudio的过程中2.NodeJS中文官网下载:http://nodejs.cn/#download3.双击可执行文件,安装操作过程中可以修改安装目录,这样的话如果操作系统重装后nodejs不需要再次安装,只要配置一下环境变量就

    2022年6月7日
    37
  • 火狐浏览器删除表单自动提示登陆账号密码

    火狐浏览器删除表单自动提示登陆账号密码

    2021年11月5日
    41
  • 关于VUE双向绑定失效的问题「建议收藏」

    关于VUE双向绑定失效的问题「建议收藏」双向绑定失效的原因有很多。lz就说最近遇到的。是的,单价下的那个输入框我用了双向绑定(比如叫price,比如100)。然后ipnut键入中文时,(即使我做了输入验证)。回车时虽然框中不会保留中文,但事实上VUE的双向绑定已经失效了。不管你后面输入什么,绑定的price保存的值只会是中文前的那个值(100)。这样就导致表面好像没事,但是当你提交时就数据不对了。还有

    2022年9月14日
    3
  • SDIO接口WiFi驱动浅析[通俗易懂]

    SDIO接口WiFi驱动浅析[通俗易懂]SDIO-Wifi模块是基于SDIO接口的符合wifi无线网络标准的嵌入式模块,内置无线网络协议IEEE802.11协议栈以及TCP/IP协议栈,能够实现用户主平台数据通过SDIO口到无线网络之间的转换。SDIO具有传输数据快,兼容SD、MMC接口等特点。   对于SDIO接口的wifi,首先,它是一个sdio的卡的设备,然后具备了wifi的功能,所以,注册的时候还是先以sdio的卡的

    2022年10月4日
    2
  • json_decod导致精度丢失问题「建议收藏」

    json_decod导致精度丢失问题「建议收藏」json_decod导致精度丢失问题

    2022年4月24日
    45

发表回复

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

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