• 实验 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
    " )
        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编辑器

  • 相关阅读:
    不同storyboard间跳转
    WWDC2014:留给微软的时间不多了!
    IBOutletCollection 索引获取顺序问题
    iOS下单例模式实现(二)利用宏定义快速实现
    iOS下单例模式实现(一)(objective-c arc gcd)
    windows phone UI吐槽---跑偏了就再也跑不回来了
    iOS沙盒(SanBox)机制与文件操作
    转载:iOS静态库与动态库
    KVO与KVC理解
    iOS多线程编程的几种方式
  • 原文地址:https://www.cnblogs.com/lance-haha/p/13684490.html
Copyright © 2020-2023  润新知