opendaylight - OpenDayLight 如何发现网络?
问题描述
当我使用使用 OpenFlow 发现协议的 ONOS 控制器时,每个交换机都将 PacketIN 封装的 LLDP 消息发送回控制器。这些 PacketIN 正在回答控制器发送的 LLDP 消息以发现网络。这是使用wireshark检查的。我想检查 OpenDayLight 是否有相同的行为,但没有 PacketIN。
这就是为什么我想知道 ODL 如何在不接收任何 LLDP 包的情况下获取拓扑信息?
解决方案
尝试安装这三个功能:
odl-openflowplugin-flow-services-rest
odl-openflowplugin-app-table-miss-enforcer
odl-openflowplugin-app-topology-lldp-discovery
odl-openflowplugin-app-lldp-speaker
第一个应该为您提供基本的 openflow 功能和带有 ODL 的 restconf。第二个应该对每个交换机进行编程,以默认将数据包发送到控制器。第三个应该有助于通过 lldp 数据包发现拓扑,最后一个应该定期将 lldp 数据包从每个交换机端口中抽出。
之前(你问过这个问题),我猜 l2switch 做过这个,但现在这是一个死项目。l2switch 还做了一些额外的模拟生成树,以消除网络中的环路并允许主机在网络中相互 ping 通。上面的 openflow 特性不会做最后的部分。不过,您可以编写自己的流程。
推荐阅读
- azure - 天蓝色的错误?,即使禁用了多因素也会询问多因素
- powershell - 将 ADSI 输出传送到另一个 powershell 脚本以查找域计算机
- apache-spark - 在写入 S3 时,为什么我得到 FileNotFoundException
- sql - 在休眠中定义唯一键以及如何定义?
- azure - 在 Microsoft 合作伙伴中心和 Azure AD 门户中删除域/租户或关闭帐户
- javascript - Project Euler #39:有没有更有效的方法来解决这个问题?
- python - 如果该值在范围内,则查找值
- javascript - 如何使所选项目在反应js的侧栏中处于活动状态?
- python - Spyder 更新后打不开
- python - 在Python中没有ORM的http服务器(Flask)中处理sql连接的最佳方法是什么?