问题标签 [mininet]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ping - 在 OF 开关和非 OF 开关之间 Ping
在给定的拓扑中,只有 s3 和 s4 是 OFSwitches 和其他 Non-OF 交换机。对于非 OF 交换机,我在超类 Switch 下创建了 L2_switch 子类,类似于启用了 stp 的 LinuxBridge(nodelib.py)。
这里只有 h2 和 h4 能够相互 ping 通。其他主机无法ping通。为什么?
但是把 s2 和 s5 改成 OF-Switch 所有的主机都可以互相 ping 通。为什么?
这是我的代码:
openflow - 如何在 mininet 中找出端口信息
我使用 python 创建自定义 mininet 拓扑。详细了解拓扑对于这个问题并不重要。
我使用 ryu 作为控制器。特别是我使用应用程序“ofctl_rest.py”。此控制器不会自行在交换机中安装规则。你必须发出 rest - 命令来建立规则。在每个休息请求(规则)中,您必须指定一个传出端口。要指定此端口,我需要有关网络拓扑的信息。
我需要知道哪个链接连接到端口。我需要知道端口在哪个接口上运行。了解实际端口的外部接口、外部交换机/主机和外部端口也很有帮助。我怎样才能找回这些信息???
请帮我。我现在真的很沮丧,因为我不知道如何弄清楚。
openflow - 从 Open Flow 交换机获取丢包
我正在使用 ryu 控制器(3.22)来监控交换机(Open vSwitch 2.0.2,支持 Open Flow 1.3),它们是使用 mininet(2.1.0)创建的虚拟网络的一部分。它是深度 = 2 和扇出 = 5 的树形拓扑。我使用的是switch_monitor.py
EventOFPPortStatsReply
在控制器的帮助下,我可以使用装饰器获取端口统计信息。我可以得到rx_packets
, rx_bytes
, rx_errors
, tx_packets
, tx_bytes
, tx_errors
,rx_dropped
等的值tx_dropped
。
但是 , 的值rx_dropped
总是tx_dropped
为零,即使交换机实际上正在丢弃数据包,如 qdisc(linux 命令)所报告的那样。
如何从 Open Flow 交换机获取丢包统计信息?
一个。如何获得非零值?
湾。有没有替代方法?
linux - 从 bash 脚本初始化 Mininet 拓扑
我想自动化设置Mininet虚拟机、通过 SSH 连接到 VM、在 VM 中启动 Mininet 以及初始化拓扑的过程。我需要会话保持打开状态,以便我可以使用创建的网络向 Mininet 发出命令。一切正常,包括初始化网络,但是一旦 bash 脚本结束,Mininet 就会破坏拓扑并退出虚拟机。我的代码的相关部分如下:
我尝试过的事情:
- 以;结束此处的文档
s0 bash
s0 $SHELL
以;结尾- 删除此处文档末尾的分隔符(在黑暗中拍摄)。
(1) 和 (2) 退出 Mininet 并在 VM 中给我留下提示,但由于某种原因我无法从它发出命令。(3) 什么都不做。
icmp - 设置 ICMP 与 POX 控制器匹配
我正在尝试使用 POX 控制器向交换机添加流条目,我的代码是:
但是,当我从 10.0.0.1 ping 到 10.0.0.5 时,没有回复。可能是什么问题?(我还为 ICMP 回复添加了对称流)
谢谢
openflow - 带有多个交换机和 POX 控制器的 Mininet 中设置了空操作的流条目
我正在使用 Mininet 和 POX 控制器。网络拓扑有多个交换机。每当我为某个交换机安装流,然后我检查该交换机中的流表时,它的操作集是空的。dump-flows 显示actions=
但是,当网络中只有一台交换机时,操作集不为空。动作集为空的原因可能是什么?
谢谢
networking - 带 ONOS 的 Mininet:ARP 工作正常,Ping 无法启动
我构建了一个自定义 mininet 拓扑:2 个主机,它们之间有 2 个交换机:
用 ONOS 填充流表后,设置工作正常。但我无法处理转发到 SDN 控制器的数据包。
作为控制器,我使用自己的 onos-app。
我尝试了一些 ping 并用 tcpdump 嗅探接口。当一台主机 ping 另一台主机时,主机会发送一个 arp 请求。该请求到达另一台主机并回复。即使回复到达正确的 ping 主机。但后来……什么都没有发生。我希望第一个主机在收到正确的 arp 回复后发送 ping。但相反,它完全没有任何作用。这甚至不能只使用一个开关。
为什么 ping 本身不启动?你知道我做错了什么吗?谢谢你。
mininet - get_all_link(self) 为一个拓扑输出所有可能的链接
我有 4 个交换机和 4 个主机的拓扑。开关构成一个回路。我的目标是了解交换机连接到控制器时的网络拓扑。问题是该函数get_all_links()
返回所有可能的链接,或者至少返回一些没有意义的东西。port_modify
我在触发事件时调用该函数。
这是我用来构建拓扑的代码:
这是我的 Ryu 代码:
所以当我检查链接时,它给了我 24 个链接,而只有 4 个。
该代码部分位于SDNLab上。我删除了一些事件以节省一些空间。完整代码请访问:https ://github.com/Ehsan70/RyuApps/blob/master/topo_learner.py
mininet - 拓扑中存在循环时 Mininet pingall 失败
我使用 Ryu 作为我的 SDN 控制器来控制具有循环的拓扑。
我正在使用学习交换机技术来路由数据包。我的主要功能/处理程序是:
我需要在我的拓扑中有循环。有谁知道如何正确配置拓扑/控制器以使循环可ping?
我的完整控制器代码:https ://github.com/Ehsan70/RyuApps/blob/master/topo_learner.py 我的拓扑代码:https ://github.com/Ehsan70/RyuApps/blob/master/Pkt_Topo_with_loop.py