服务器实现链路层发现协议

概述:

链路层发现协议(Link Layer Discovery Protocol,LLDP)是一种由 IEEE 802.1AB 标准定义的链路层协议,旨在帮助局域网(LAN)中的设备自动发现彼此,并交换各自的相关信息。LLDP 工作在数据链路层,无需网络层协议的支持,因此可以在各种类型的网络设备之间使用。

工作机制:

发送:支持 LLDP 的设备会周期性地在每个启用 LLDP 的端口上发送 LLDP 报文,默认发送间隔通常为 30 秒。这些报文以组播方式发送,目的 MAC 地址是01:80:C2:00:00:0E。
接收:相邻设备在接收到 LLDP 报文后,会对其进行解析,并将提取的信息存储在本地的 LLDP 数据库中。设备可以根据这些信息了解相邻设备的情况。
更新与老化:设备会定期更新自己的 LLDP 数据库。如果在一定时间内(通常是发送间隔的 3 倍,即 90 秒)没有收到某个邻居的 LLDP 报文,设备会认为该邻居已离线,并从数据库中删除相应的信息。

实现:

LLDP 的实现主要有 lldpd 和 lldpad(注意:lldpd 与 lldpad 是两款不同的软件)。

1.安装lldpad服务

yum install -y lldpad

2.启动并设置开机自启

systemctl enable lldpad --now

3.启动网卡脚本

#!/bin/bash
for i in $(ls /sys/class/net/ | grep -E "ens|em|eth|p"); do  # 设置需要配置的网卡
	echo "enabling lldp for interface: $i";
	lldptool set-lldp -i $i adminStatus=rxtx;
	lldptool -T -i $i -V sysName enableTx=yes;
	lldptool -T -i $i -V portDesc enableTx=yes ;
	lldptool -T -i $i -V sysDesc enableTx=yes;
	lldptool -T -i $i -V sysCap enableTx=yes;
	lldptool -T -i em1 -V mngAddr ipv4='hostname -I';
	lldptool -T -i $i -V mngAddr enableTx=yes;
done

4.查看接口信息

lldptool -t -n -i ens33  # 查看所有属性
lldptool -t -n -i ens33 -V portDesc  # 只查看端口属性

注:需要在交换机上开启lldp协议

命令解释:

lldptool set-lldp -i $i adminStatus=rxtx # 配置LLDP模式
TxRx:既发送也接收LLDP报文。
Tx:只发送不接收LLDP报文。
Rx:只接收不发送LLDP报文。
Disable:既不发送也不接收LLDP报文。
lldptool -T -i $i -V sysName enableTx=yes; # 启用系统名称标识符
lldptool -T -i $i -V portDesc enableTx=yes ; # 启用端口描述标识符
lldptool -T -i $i -V sysDesc enableTx=yes; # 启用系统描述标识符
TLV:(Type/Length/Value)
portDesc :Port Description TLV
sysName:System Name TLV
sysDesc :System Description TLV

网卡 LLDP 功能

有的网卡已经实现了 LLDP 功能并默认开启状态,相关命令如下:

ethtool --show-priv-flags eth0
ethtool --set-priv-flags eth0 lldp on
ethtool --set-priv-flags eth0 lldp off

lldpd 有关 MAC 地址抖动的问题:
https://packetpushers.net/blog/linux-bonding-lldp-and-mac-flapping/

lldpcli
configure system bond-slave-src-mac-type real
systemctl restart lldpd

echo "configure system bond-slave-src-mac-type real" > /etc/lldpd.d/bond_real.conf
systemctl restart lldpd
posted @   wanghongwei-dev  阅读(35)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示