1.4Mininet可视化构建网络拓扑

发布时间 2023-06-08 08:53:10作者: ChuenSan

Mininet可视化构建网络拓扑

实验目的

1、熟悉Mininet可视化界面。
2、掌握自定义拓扑及拓扑设备设置的方法,实现自定义脚本。

实验环境

Mininet可视化构建网络拓扑实验的拓扑如下图所示。
image-20230524131925309

设备名称 软件环境 硬件环境
主机 Mininet-2.2.0-desktop-cv1.0 CPU:1核 内存:2G 磁盘:20G

注:系统默认的账户为:
管理员权限用户名:root,密码:root@openlab;
普通用户用户名:openlab,密码:user@openlab。
可查看当前实验环境右侧“钥匙” 按钮获取对应的密码。

任务内容

1、通过Mininet学习miniedit可视化操作。
2、可直接在界面上编辑任意想要的拓扑,生成python自定义拓扑脚本。
3、在实验过程中,学会启动miniedit、并配置设备信息。

实验原理

Miniedit可视化,直接在界面上编辑任意拓扑,生成python自定义拓扑脚本,使用Mininet可视化界面方便了用户自定义拓扑创建,为不熟悉python脚本的使用者创造了更简单的环境,界面直观,可操作性强。
Mininet 2.2.0+内置miniedit 。在mininet/examples下提供miniedit.py脚本,执行脚本后显示可视化界面,可自定义拓扑及配置属性。
MiniEdit使用主要分三个步骤:

  • Miniedit启动
  • 自定义创建拓扑,设置设备信息
  • 运行拓扑并生成拓扑脚本
操作步骤

步骤1 单击终端图标,打开终端。

步骤2 执行如下命令启动Mininet可视化界面MiniEdit。

$ cd /home/openlab/openlab/mininet/mininet/examples
$ sudo ./miniedit.py

image-20230524132051432

步骤3 Miniedit拓扑建立,拓扑如下所示。

选择左侧的网络组件,在空白区域单击鼠标左键即可添加网络组件,可选择的组件主要有主机、OpenFlow交换机、传统交换机,传统路由器、链路、控制器。
image-20230524132147703

步骤4 Miniedit属性配置。

(1)在控制器上进行鼠标右击长按,选择Properties即可对控制器进行配置,如下所示。
image-20230524132226541
(2)在交换机上进行鼠标右击长按,选择Properties即可对交换机进行配置,交换机属性需配置16位的DPID,如下所示。
image-20230524132326091
(3)在主机上进行鼠标右击长按,选择Properties即可对主机进行配置,主机属性需配置IP地址,如下所示。
image-20230524132409080
image-20230524132431529
image-20230524132450895
(4)也可对链路进行属性配置,主要配置带宽、时延、丢包率等,此项可配置亦可不配置,如下所示。
image-20230524132516619
(5)设备属性配置后,将会在终端界面产生日志,告知所添加的设备属性,如下所示。
image-20230524132541252

步骤5 Miniedit全局配置。

Miniedit左上角“Edit”中可以剪切删除设备,及对整个网络进行全局配置,如下所示。
image-20230524132601684

步骤6 Miniedit运行。

(1)单击左下角“run”,即可运行设置好的网络拓扑,同时在后台可以看到相应的配置信息。
(2)运行后对交换机、主机进行右击长按,可查看交换机的bridge信息及打开Host的终端,交换机信息如下:
image-20230524132644237
主机终端界面如下:
image-20230524132700049

步骤7 Miniedit保存脚本。

Miniedit设置好拓扑后,可通过选择“File > Export Level 2 Script”,将其保存为python脚本,默认在mininet/examples目录下。
image-20230524132717924
说明:以后直接运行Python脚本即可重现拓扑,重现拓扑后可在命令行直接操作。

步骤8 单击可视化界面的“X”图标,退出可视化。

说明:若无法退出,请切换到Mininet CLI中执行exit退出Mininet,将自动关闭Mininet可视化界面。

步骤9 Miniedit脚本执行。

(1)通过后台查看保存的sdnlab.py脚本文件,并给脚本赋予权限:
$ sudo chmod -R 777 sdnlab.py
(2)执行sdnlab.py脚本:
$ sudo ./sdnlab.py
image-20230524132741916