我可以在Mininet仿真期间动态修改链接特征吗?

时间:2018-07-03 18:22:05

标签: python-2.7 mininet

我目前正在使用可用的Python API在Mininet上模拟一个简单的网络,并获得了一些Internet教程和其他来源的帮助。 Mininet中的当前网络仿真仅使用 Mininet 类下的 configLinkStatus()方法支持链接修改。
这仅允许2种状态:-
其他特性(如传播延迟,带宽和误码率)只能在添加链接时设置。
我的问题是交换机和主机处于运动状态,进而导致链接状态动态变化。 Mininet中是否有解决方案,可以修改链接以满足我的要求?

2 个答案:

答案 0 :(得分:0)

是的,可以。 您有几种方法可以帮助您:

  • getNodeByName(node)-通过其ID返回节点对象。这是Mininet类的方法。
  • connectionsTo(dst)-这是节点类的方法。返回从源节点对象到目的地节点的链接列表。

因此,例如,如果要删除从h1到h2的链接(假设net是Mininet对象):

h1 = net.getNodeByName('h1') 
h2 = net.getNodeByName('h2') 

links = h1.connectionsTo(h2)
del links[int(index)]

其中index是要删除的链接号(如果节点之间有多个链接)。

要添加链接,请使用Mininet类的addLink方法。

借助这些方法,您可以删除并重新创建带有新参数的链接。

答案 1 :(得分:0)

我最近遇到了这个问题,并在互联网上尝试了许多解决方案,但是没有一个能很好地工作。最后,经过一些尝试和错误,下面的代码对我有用。

TypeError: unsupported operand type(s) for +=: 'int' and 'str'

正如mininet api解释的有关配置功能(请在此link中进行检查)一样,您可以使用此功能修改带宽,延迟和其他链接属性。

希望这对某人有帮助