Mininet踩坑:启用生成树协议与自定义topo

需积分: 0 6 下载量 189 浏览量 更新于2024-08-05 收藏 240KB PDF 举报
在本篇文章《mininet踩坑记录1》中,作者分享了在使用Mininet进行SDN(Software-Defined Networking)实验时遇到的一些常见问题及其解决方案。主要讨论了以下几个关键知识点: 1. **拓扑环路导致的ping不通**: 在构建网络拓扑时,如果出现环路,可能导致节点间无法互相ping通。这是由于生成树协议(Spanning Tree Protocol, STP)的作用,它能够防止网络中的数据包循环流动,形成无终止的环路。由于作者使用的Mininet版本可能不支持某些现成的STP解决方案,如brctl stp,因此需要寻找其他途径来实现。在某些情况下,如使用pox控制器,可以使用`sudo ~/pox/pox.py forwarding.l2_learning openflow.spanning_tree --no-flood --hold-down openflow.discovery host_tracker openflow.of_01 --port=6633`命令启用STP。如果该命令未能成功,可以尝试更换端口。 2. **清理环境与启动pox控制器**: 在解决问题前,首先要清理旧的控制器进程,使用`sudo mn -c`清除mininet环境,然后通过`sudo killall ovs-controller`停止Open vSwitch控制器。接着,使用pox控制器创建SDN应用,通过指定`--port`参数启动。 3. **自定义topology和使用工具**: 实验过程中推荐使用mininet的图形编辑工具miniedit,它可以帮助用户轻松创建和修改网络拓扑,同时提供截图功能,减少了出错的可能性。手敲代码的方式是通过`sudo mn --custom ./yourtopo.py --topo mytopo --controller remote,port=6633`启动自定义topology。注意,如果使用Python 3,可能会遇到保存问题,建议切换回Python 2。 这篇文章着重介绍了在使用Mininet进行SDN实验时,如何处理拓扑环路问题、清理环境、启动pox控制器以及利用miniedit工具自定义topology。对于特定版本的Mininet兼容性问题,作者提供了可能的解决路径,并提醒读者注意版本选择和命令行选项的调整。