2

私の友人と私は、この mininet-test 実験を再現しようとしました: https://github.com/mininet/mininet-tests/tree/master/dctcp

VM を自己作成し、カーネル バージョン 3.18.9 を使用して ubuntu に Mininet 2.2 をインストールしました。これには dctcp と tcp_probe 関数が含まれていました。

著者は、カーネル バージョン 3.0.1 が Mininetnet で必要な機能をサポートしていないことを示唆しているためです。dctcp.py の一部の関数名を単純に変更しました。たとえば、 add_host をaddHostに変更し、add_switchをaddSwitchに変更し、add_linkをaddLinkに変更しました。

また、 python-matplotlibpython-termcolorbwm-ngなど、必要な python 関数もいくつかインポートしました。

しかし、グラフをプロットすると、cwnd.png という問題が発生します。

重要なライブラリや変更が必要なコードがありませんか?

    .Traceback (most recent call last):
      File "dctcp.py", line 250, in <module>
        main()
      File "dctcp.py", line 244, in main
        net.stop()
      File "build/bdist.linux-x86_64/egg/mininet/net.py", line 514, in stop
      File "build/bdist.linux-x86_64/egg/mininet/link.py", line 479, in stop
      File "build/bdist.linux-x86_64/egg/mininet/link.py", line 472, in delete
      File "build/bdist.linux-x86_64/egg/mininet/link.py", line 199, in delete
      File "build/bdist.linux-x86_64/egg/mininet/link.py", line 64, in cmd
      File "build/bdist.linux-x86_64/egg/mininet/node.py", line 350, in cmd
      File "build/bdist.linux-x86_64/egg/mininet/node.py", line 269, in sendCmd
    AssertionError
    s1
    s1-eth1
    s1-eth2
    s1-eth3
    total
    ['tcp-n3-bw100/qlen_s1-eth1.txt']
4

3 に答える 3

1

私にとってh1.monitor()は、同様の状況では機能しなかったmininet 2.3.0ため、 を に置き換えてからsendCmd()、関数popen()を使用しましたterminate()

上記の例を使用して、次のように変更しました。

p1 = h1.popen(startbackground_service)
h2.cmd(something_else)
h3.cmd(use_h1_service)
.....

p1.terminate()
于 2021-05-23T05:57:46.920 に答える