LLDP是一种工业标准协议,用于取代EDP或CDP等专用链路层协议。LLDP的目标是提供一个inter-vendor兼容机制,向相邻网络设备发送链路层通知。
lldpd是一个LLDP协议的一种实现,给各种Unixes使用。除此之外,它还支持一些专有协议。
实现交换机端口的抓取,目前我知道的有两种工具,一种是lldpad,另一种是lldpd。
这两个工具做了一下对比,最终选择了lldpd。原因如下:
lldpad: https://github.com/jrfastab/lldpad
lldpd: https://github.com/vincentbernat/lldpd
通过对比可以看到lldpad最近一次更新,已经是5年前了。而lldpd的最近一次更新在本月。
lldpd可以将输出的信息转化为json格式,非常方便使用。
需要先配置好配置好epel-release源,然后直接yum安装即可。
安装好之后,你可以修改/etc/sysconfig/lldpd文件,来配置一些参数。
lldpd有两个模块。一个是lldpd的后台程序,用于接收和发送LLDP报文;一个是lldpcli用来查询和配置后台程序的工具。
将上述命令,加上 -f json 可以转变输出结果。这个功能非常有用,有利于自动化处理这些数据。
使用x722 LOM,当lldpad启动时,lldptool -L adminStatus = rxtx -i <interface name>然后lldptool -tni <interface name>运行时,NIC端口连接到启用了LLDP的交换机,不会返回LLDP信息。 (其中LLDP =链路层发现协议)
运行commnand " echo lldp stop >/ sys / kernel / debug / i40e / <PCIe路径>/ command" .由于LOM没有FCoE功能,没有DCBx要求,所以没有真正的功能影响。 (FCoE =以太网光纤通道)
根据Intel设计,x722适配器默认处理所有LLDP流量,LLDP流量将不会转到主机CPU,除非使用在x722中停止LLDP功能的命令。
(1)在把项目打成jar包部署的时候,该jar包不能做成镜像容器运行,因为某些设备是采用485通讯,即是将设备的485线转成一个USB插入到服务器,之后服务运行的时候,是通过查询系统有哪些串口,并且是该USB的串口与服务进行通讯。整个流程通讯都是在物理服务器上面,做成镜像容器运行无法连接串口通讯。(2)在运行jar包的时候,需要在服务器部署jdk,同时需要在部署好的jdk里面需要上传一些串口服务运行的RXTXcomm.jar和librxtxParallel.so,librxtxSerial.so,具体可以百度;在一些其他的物理服务器上面librxtxSerial.so这个文件的版本有时候有问题,需要安装x86_64-unknown-linux-gnu文件夹里面的librxtxSerial.so文件;同理window上的jdk也需要这些;
(3)程序运行出错提示的没有串口相关的文件jar包,这个需要需要考虑服务运行时候用的是那个jdk,是否把(2)里面的文件放到程序运行的jdk里面
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)