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


    一、实验目的

    在实验 2 的基础上进一步熟悉 Mininet 自定义拓扑脚本,以及与损耗率相关的设

    定;初步了解 Mininet 安装时自带的 POX 控制器脚本编写,测试路径损耗率。

    拓扑

    二、实验任务

    h0 向 h1 发送数据包,由于在 Mininet 脚本中设置了连接损耗率,在传输过程中

    会丢失一些包,本次实验的目的是展示如何通过控制器计算路径损耗速率(h0-

    s0-s1-h1)。这里假设控制器预先知道网络拓扑。控制器将向 s0 和 s1 发送

    flow_stats_request,当控制器接收到来自 s0 的 response 时,将特定流的数据包

    数保存在 input_pkts 中,当控制器接收到来自 s1 的 response 时,将接收到特定

    流的数据包数保存在 output_pkts 中,差值就是丢失的数据包数量。

    基于上述拓扑,编写 Mininet 脚本,设置特定的交换机间的路径损耗速率,然后

    编写 POX 控制器脚本,实现对路径的损耗率的测量。

    三、实验步骤

    (1)新建并编辑 pox 脚本 flowstat.py:

    新建flow

    ​ 插入代码:

    传输代码

    (2)编辑 Mininet 脚本 mymininet3.py

    pox代码

    执行命令运行 Mininet 脚本 mymininet3.py

    $ sudo python mymininet3.py

    传输

    • 共 ping 了 20次,每次都能通,丢包率是 0。

    • 观察 pox 侧的实时状态更新

      pox

    • 修改代码中 s0 和 s1 之间链路的丢包率为 10。

      修改

      • 重新运行 Mininet 脚本 mymininet3.py

      传输01

    • 20 秒时间的 ping 过程中有 icmp_seq 为1/4/5/7/17 ping不通,丢包率为25%

    • POX 端重新测试,会发现出现丢包现象:

    pox10

    四、实验总结

    • 初步了解了pox控制器的脚本编写,也进一步熟悉了 Mninet 自定义拓扑脚本,以及与损耗率相关的设定,同时因为实验实在Linux系统上操作,需要了解一些Linux基础操作命令。
  • 相关阅读:
    mysql数据库函数 concat 字段类型转化、字段拼接
    SSH2中的No result defined for action的问题
    导致表单重复提交(两次)的原因--css{url()}与a标签
    详解jar命令打包生成双击即可运行的Java程序
    21IO流 和缓冲流 和处理流
    20File
    19(1)hashmap,hashtable
    IntelliJ IDEA注册码激活
    19映射
    18泛型
  • 原文地址:https://www.cnblogs.com/bergscl/p/13681018.html
Copyright © 2020-2023  润新知