实验 3:Mininet 实验——测量路径的损耗率

>>>实验结果一键速览<<<

一、实验准备

1.实验环境

  • 安装了 Ubuntu 18.04.5 Desktop amd64 的虚拟机
  • 本实验需要安装POX、支持OpenFlow1.3协议的Mininet。(Mininet 完整安装包含了 pox)
    - POX是一款快速的平台和网络原型的控制软件。(使用python语言开发。)
    详见链接

2.参考资料

SDNLAB:基于Mininet测量路径的损耗率

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\n" )
    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编辑器

posted @ 2020-09-17 12:48  兰小路  阅读(409)  评论(0编辑  收藏  举报