学习mininet所遇到的问题及总结(一)
下载mininet方法一:
直接下载mininet,然后在vmware中打开,初始登录账户和密码都是:mininet。
如果要切换管理员权限,输入命令:sudo passwd root,此时会弹出让你输入新密码,即创建一个就可,创建完成后,输入su切换成功。
在根目录下输入命令ls,查看当前子目录。
这时遇到了第一个问题,没有找到mininet一些子目录custom、bin等等。然后进入了当前目录下的home文件。
到这时才找到mininet文件结构。
- custom/:文件下放置自定义python文件,用来自定义拓扑。
- bin/mn:主运行文件用python编写,定义了mininetRunner类。
- util/:放置辅助文件,包括安装脚本、文档辅助生成。
- examples/:含有很多使用案例miniedit可视化
自定义拓扑:
进入custom/,会有一个python文件示例README,vi +文件名打开。
强制保存退出 ‘:wq!’,一些命令都和Linux一样。
mn:默认创建网络
实验一:
模拟多数据带宽实验:
- 进入mininet/net.py 修改net.py 。(注意:这里的mininet文件夹,我是在进入了三个mininet才找到net.py文件。)
" : set nu "可以显示行数,
" : set nonu "取消显示行数;
" : 数字 "可以直接跳转到指定行数。
直接敲 " i " 进入编辑模式(后来发现直接敲s也可以进入编辑模式,但是会占用一个字符的位置),按esc退出编辑模式。
vim net.py进入文件,将下面的函数加入net.py中。
- 进入mininet/cli.py 修改
- 进入bin/mn : vim mn ,在如图所示位置添加iperfmulti
- 进入mininet/util 重新编译安装mininet。./install.sh -n
debug : "skipping mininet as it is not install "这个错误一般是写错了某些词。对比修改即可。
(测试一下是否成功可以先随机创建网络mn,进行随机流量模型测试。)
下一步: - cd custom vi fattree.py 将下图的内容全部输入
注意缩进一致。
- 要在custom目录下执行,mn --custom fattree.py --topo mytopo --controller=,ip =
,port=(mytopo后面可以不写,直接用mininet默认的。)
正确反馈如下:
这里之后出现了问题:
- 进行iperf操作发现无法得到结果,询问后是因为主机没有通,所以还有一个步骤,既需要进行pingall
,如果全通就可以进行TCP带宽测试了。如果全都不通,可以在之前的
mn --custom fattree.py --topo mytopo
改为
mn --custom fattree.py --topo mytopo --switch ovsrb,stp=1
这个能够提高传输速度还有防止环路。(如果一次没有通,可以多ping几次)
然后就可以进入实验操作了:
每一次修改都需要重装,即进入mininet/util 重新编译安装mininet。./install.sh -n。并且每一次创建网络也要重新pingall。
操作:
在h1 和h2进行inperf操作:iperf h1 h2。
执行iperfmulti操作,设置带宽参数为0.025M。