openlldp-0.4alpha实现详解(一)

7 篇文章 4 订阅

         LLDP协议由802.1ab所定义。它是一个二层协议,一般称之为数据链路发现协议。这里对于该协议的实现原理不做详细介绍。具体原理可以参见IEEE 802.1ab文档(http://www.ieee802.org/1/pages/802.1ab.html)。

         OpenLLDP为802.1ab的开源实现,号称支持Linux,macOS,FreeBSD,NetBSD等众多类unix系统。参见维基百科对于openlldp的介绍http://en.wikipedia.org/wiki/OpenLLDP

         下面为OpenLLDP的项目主页http://openlldp.sourceforge.net/

sourceforge页面http://sourceforge.net/projects/openlldp/

         不过好像自从2010年发布0.4alpha版本之后,后续没有再更新过了。


         这里要提前指出的是,OpenLLDP的实现的并非非常标准的lldp。可以说它只是简单的实现了最基本的lldp功能。若需要lldp功能更多的实现,恐怕还要自己进行功能的添加了。

         首先来讲:

1) 考虑linux下的情况,若运行OpenLLDP的主机的底层端口有多个,但是系统显示的网络接口只有1个,比如eth0。(这种情况多见于用linux实现的交换机)。那么OpenLLDP所能达到的效果就不如预期了。因为它只会把上层的接口索引通过lldp发送出去,而不是底层的端口。所以若要跑在交换机上,得想办法将底层端口索引获取,封装在lldp报文中发送出去。

2)OpenLLDP没有快速发送机制。也就是说当一个运行OpenLLDP的设备收到一个新邻居的lldp报文或是本地信息更改,它不会立马将自己的lldp报文发送出去。它只会以固定的30秒为周期,发送lldp报文。当然这个其实可以通过小量改动代码实现快速发送机制。

3) OpenLLDP没有实现发送shutdownlldp报文或者说它发送shutdown lldp报文错误。


本人享有博客文章的版权,转载请标明出处http://blog.csdn.net/baidu20008

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值