一、实验准备
1.实验环境
- 安装了 Ubuntu 18.04.5 Desktop amd64 的虚拟机
- 本实验需要安装POX、支持OpenFlow1.3协议的Mininet。(Mininet 完整安装包含了 pox)
- POX是一款快速的平台和网络原型的控制软件。(使用python语言开发。)
详见链接
2.参考资料
3.任务要求
- 在实验 2 的基础上进一步熟悉 Mininet 自定义拓扑脚本,以及与损耗率相关的设
定; - 初步了解 Mininet 安装时自带的 POX 控制器脚本编写,测试路径损耗率。
- 基于上述拓扑,编写 Mininet 脚本,设置特定的交换机间的路径损耗速率,然后编写 POX 控制器脚本,实现对路径的损耗率的测量。
二、开始实验
步骤一:开启终端,运行pox
参考脚本:flowstat.py
1.在 pox 安装目录下执行以下命令运行 pox 脚本
cd lancl/pox
sudo touch flowstat.py
sudo nano flowstat.py
- 123456
- ctrl+o
- enter
- ctrl+x
./pox.py flowstat
2.运行结果
- 注意事项:
- 调出sudo权限才能写入文件
- 【不要用root运行pox!!!】 - 遇到问题————关闭pox:
ctrl+c
步骤二:在开启pox端的前提下,再开启一个终端,做下列操作
参考脚本:mymininet3.py
1.参照拓扑图,新建并编辑 Mininet 脚本 mymininet3.py
cd lancl
sudo touch mymininet3.py
sudo nano mymininet3.py
sudo python mymininet3.py
2.运行结果
- pox端————观察 pox 侧的实时状态更新
3.如果修改代码中 s0 和 s1 之间链路的丢包率为 10。
info( "*** Creating links
" )
linkopts0=dict(bw=100, delay='1ms', loss=0)
linkopts1=dict(bw=100, delay='1ms', loss=10)
link0=TCLink( h0, switch, **linkopts0)
link1 = TCLink( switch, switch1, **linkopts1)
link2 = TCLink( h1, switch1, **linkopts0)
- 重新运行 Mininet 脚本 mymininet3.py
- POX 端重新测试,会发现出现丢包现象,但是实际测量出的丢包率会有浮动,链路的性能总体受到了限制。
4.异常处理
- 【Exception: Error creating interface pair (s0-eth1,s1-eth0): RTNETLINK answers: File exists】要清除端口占用
sudo mn -c
- 【出现:waiting for switch to connect to controller…………】
ctrl+c,可以强制中止
知识点补充
1.终端操作:
- 打开终端
ctrl+alt+t - 向上级目录移动文件
sudo mv mymininet3.py ../ - 删除文件
sudo rm x.py
删除文件夹:rmdir newfolderName
删除带有文件的文件夹:rm -r newfolderName - 创建文件
touch X.xx
创建文件夹:mkdir newfolderName
2.nano编辑器
- ctrl + K删除一整行
- 参考资料
nano文本编辑器基本使用 - 疑问:
nano编辑器如何操作多行文本?