• 实验 1:Mininet 源码安装和可视化拓扑工具


    实验 1:Mininet 源码安装和可视化拓扑工具

    (群里实验一的PDF说:“记录结果,无需步步截图”,然后天真的我真的信了只截了最后几步,结果一看大家都截了好多图,哭辽QAQ)

    一、实验目的

    掌握 Mininet 的源码安装方法和 miniedit 可视化拓扑生成工具。

    二、实验任务

    使用源码安装 Mininet 的 2.3.0d6 版本,并使用可视化拓扑工具生成一个最简拓扑(1 台交换机连接 2 台主机)。

    三、实验步骤

    1.实验环境

    安装了 Ubuntu 16.04.6 Desktop amd64 的虚拟机

    2.实验过程

    (1)源码安装

    源码安装过程中可能使用到的命令

    $ mkdir sdn //新建 sdn 目录(名称可自定义),所有的应用安装在该目录下

    $ sudo apt-get install git //安装 git

    $ cd sdn //进入 sdn 目录

    $ git clone git://github.com/mininet/mininet //下载 mininet 源码

    $ cd mininet

    $ sudo util/install.sh -a //在 mininet 目录下执行,-a 表示完整安装

    $ sudo mn --version //查看版本

    安装时间较长,请耐心等待。安装过程中需要从 github 上获取 openflow、pox、oftest、oflops 等组件,当出现 Enjoy Mininet! 字样时,安装完成。
     

    使用 Mininet 的 CLI 命令行测试基本功能:$ sudo mn --test pingall

    注意:如果执行上述命令提示:“Cannot find required executable ifconfig.”执行下面的命令安装网络工具 net-tools。

    $ sudo apt install net-tools

    (2)使用可视化工具

    使用到的命令:$ sudo ./mininet/examples/miniedit.py //在 Mininet 安装目录下执行

    拖动左侧边栏的主机 Host、交换机 Switch、路由器 Router、网络链路 NetLink、控制器 Controller 等组件到右侧空白处,实现网络拓扑的可视化仿真。

    鼠标右键点击 Host 和 Controller,选择设置属性(Properties):

    Host 部分主要是设置主机 ip,以及 VLAN 等扩展设置。每台主机逐台操作;Controller 部分主要是设置控制器类型,此处可按默认设置,如果是外部控制器,要选择 Remote Controller,之后填上 Controller 的 ip,如果是本机则按照默认的 127.0.0.1 即可。

    点击左上角的 Edit,进行全局设置,此时在默认设置的基础上,勾选“Start CLI”,将 OpenFlow 1.1 1.2 1.3 全部勾选。

    系统的 Terminal 上会显示当前确认的设置。

     

    点击左下角的 Run,运行拓扑,由于开启了 CLI,可使用 pingall 命令测试主机的连通性,并做其他扩展操作。

    拓扑生成并确认无误之后,可以点击 miniedit 左上角的 File 菜单,选择 Export Level 2 Script,将拓扑保存为 Python 脚本,方便之后执行脚本一键生成。

    四、实验心得

    1.实验过程中出现的问题

    刚开始安的是比较不稳定的18.04版本,卡在了倒数第二步,后来按老师推荐的安装了16.04版本,仍然还是出现了一个问题,但是通过网上查阅资料我顺利解决了这个问题:

            安装git失败:

            解决方法:输入以下命令

           $ sudo apt-get update

           $ sudo apt-get upgrade

           $ sudo apt-get install git //即可成功!

    2.心得

    实验过程中遇到失败不要慌,可以网上查阅资料解决问题,要是解决不了就重启虚拟机或者重新安装(流下了重安三次的泪水)。

  • 相关阅读:
    DHCP Option 60 的理解
    几种开源分词工具的比較
    推荐交互设计师阅读的一本书
    iOS IAP教程
    艰苦的RAW格式数据恢复之旅
    BestCoder Round #11 (Div. 2) 前三题题解
    罗马数字
    mysql 加入列,改动列,删除列。
    杂项:ASP.NET Web API
    杂项:Web API
  • 原文地址:https://www.cnblogs.com/xjl000/p/13629963.html
Copyright © 2020-2023  润新知