一:介绍
lldpd是一个LLDP协议的一种实现,给各种Unixes使用。除此之外,它还支持一些专有协议。
lldp 功能: 信息的发现和通告。(提供一种标准方式发现链路连接关系)
交换机通常会发送 LLDP 帧到它的每一个端口上,LLDP 帧包含了该端口的详细信息,如端口号,所连接的设备类型等信息。当接收到 LLDP 帧时,设备可以解析该帧并使用其中的信息来更新拓扑图或查找更多的网络设备。 因此,我们可以利用这种特性,在交换机上抓取 LLDP 帧,从而获得与之相连设备的信息,包括所连接的端口号等信息。这对于网络管理和故障排除非常有用,可以快速定位问题设备,并且可以在不需要访问每个设备的情况下了解整个网络拓扑。
二:优点
lldpd使用方便:lldpd可以将输出的信息转化为json格式,非常方便使用。
三:安装lldpd
yum install lldpd
安装好之后,你可以修改/etc/sysconfig/lldpd文件,来配置一些参数。
四:运行lldpd程序
运行之前我们必须要先添加_lldpd用户和组
1:通过系统服务启动lldpd 服务
启动:systemctl start lldpd
停止:systemctl stop lldpd
2:通过 直接运行程序lldpd 的方式启动的。
启动: lldpd 或者 /具体安装路径/lldpd/lldpd.sh start
停止: 使用 ps 命令查找 lldpd 进程的 PID,并使用 kill 命令结束它。 或者 /具体安装路径/lldpd/lldpd.sh start
五: 模块介绍以及基础使用
一个是lldpd的后台程序,用于接收和发送LLDP报文。
一个是客户端工具lldpcli用来查询和配置后台程序的工具。
lldpd的后台程序 基础使用
-i 参数
例如: lldpd -i eth0 ; -i指定端口
lldpd -i eth0 命令会将 lldpd 启动在 eth0 接口上,并监听该接口上的 LLDP 消息。可以理解为只监听了指定的端口,而不监听其它接口。
如果不指定 -i 参数,则 lldpd 会默认监听所有可用接口上的 LLDP 消息。这意味着,无论哪个接口收到了 LLDP 消息,都会触发 lldpd 进行处理和解码。
因此,使用 -i 参数可以限制 lldpd 只监听特定的接口,从而减少一些不必要的处理和解码,提高程序的性能。但是,如果您需要全面侦听网络中所有可能存在的 LLDP 设备和消息,则不应该使用 -i 参数限制 lldpd 的监听范围。
注意:
lldpd --help 命令输出的 -i 参数解释如下:Disable LLDP-MED inventory TLV transmission.
这是一个有点混淆的方式来表示 -i 参数的功能。
lldpd的客户端 基础使用
1、查看所有端口的交换机信息。
lldpcli show neighbors
2、查看某个端口的交换机信息。
lldpcli show neighbors ports eth0
3、查看所有端口的本地信息。(即使未接线,也会显示)
lldpcli show interfaces
4、查看某个端口的本地信息。(即使未接线,也会显示)
lldpcli show interfaces ports eth0
5、查看本机的信息
lldpcli show chassis
6、格式化数据结果 -f json
将上述命令,加上 -f json 可以转变输出结果。