一、实验目的

掌握 Mininet 的自定义拓扑生成方法:命令行创建、Python 脚本编写

二、实验任务

通过使用命令行创建、Python 脚本编写生成拓扑,熟悉 Mininet 的基本功能。

三、实验步骤

  1. 实验环境

    安装了 Ubuntu 18.04.5 Desktop amd64 的虚拟机
  2. 实验过程

    (1)针对特定拓扑的命令行快速创建

    // 最小拓扑,1 台交换机下挂 2 台主机

    $ sudo mn --topo minimal



    // 简单拓扑,1 台交换机下挂 n 台主机,此处 n=3,n=2 即为最小拓扑

    $ sudo mn --topo single,3



    // 线性拓扑,交换机连成一线,每台交换机下挂 1 台主机,此处有 3 台交换机 3 台主机

    $ sudo mn --topo linear,3



    // 树形拓扑,基于深度 depth 和扇出 fanout,此处均为 2

    $ sudo mn --topo tree, fanout=2,depth=2



    (2)通用情形的 Python 脚本自定义创建

    此种方法需要具备 Python 的编程能力。

    本例拓扑为一个线性拓扑(即交换机和主机数均为3。



    并且脚本中可以自定义网络性能,比如 addHost 当中可以添加参数设置主机的

    cpu,addLink 当中可以添加参数设置链路的带宽 bw、延时 delay、最大队列值

    maxqueuesize、丢包率 loss,相关代码如下



    执行命令:

    $ nano mytopo.py // 复制 Python 代码到 py 文件中

    $ sudo python mytopo.py // 执行 py 文件



    修改之前的 Python 程序,使之可用 iPerf 测试网络拓扑中的指定主机之间的带宽,代码如下:



    结果如下:

最新文章

  1. 一致性hash算法详解
  2. 一个事务复制的bug--更新丢失 续
  3. 面向对象编程语言中的接口(Interface)
  4. MaterialUp - 寻找材料设计灵感必备的网站
  5. Win7 安装Apache 2.2.4报错:<OS 5>拒绝访问. :Failed to open the WinNT service manager
  6. 关于ol有序裂变和ul无序列表前面的列表项标记的位置
  7. ASP.NET MVC过滤器(一)
  8. HDU 5703 Desert (找规律)
  9. PAT-乙级-1039. 到底买不买(20)
  10. SpringSide 3 中的多数据源配置的问题
  11. JavaScript获取HTML页面源代码
  12. 防止apche列出目录以及下载文件
  13. 【Hibernate】--实体状体与主键生成策略
  14. [HeadFirst-JSPServlet学习笔记][第一章:前言与概述]
  15. 【IOS学习基础】归档和解档
  16. JavaScript的日期处理
  17. Windows 记事本的 ANSI、Unicode、UTF-8 这三种编码模式有什么区别?
  18. UGUI Set Anchor And Pivot
  19. ORACLE中用户等系统信息操作
  20. 喜闻乐见-Android应用的生命周期

热门文章

  1. Cobalt strike与内网渗透
  2. 每日JS逆向练习之斗鱼登录密码加密,今天你练了吗?
  3. java控制流程(一)
  4. [BUUOJ记录] [BJDCTF2020]Easy MD5
  5. let与const认识
  6. 10_Python的函数function
  7. 8成以上的java线程状态图都画错了,看看这个-图解java并发第二篇
  8. leetcode刷题-77组合
  9. IDEA项目左侧目录看不到target
  10. Java中枚举的用法