1.3Mininet 调用API扩展自定义拓扑

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

Mininet 调用API扩展自定义拓扑

实验目的
实验环境

Mininet调用API扩展自定义拓扑实验的拓扑如下图所示。
image-20230524131118999

设备名称 软件环境 硬件环境
主机 Ubuntu 14.04桌面版 Mininet 2.2.0 CPU:1核 内存:2G 磁盘:20G

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

任务内容

1、调用API接口扩展自定义的拓扑,并丰富链路。
2、在原有拓扑的情况下,更改拓扑级链路信息。

实验原理

Mininet作为一个基于Python的网络仿真工具,可以分为两大部分:Python库和运行文件。前者对网络中元素进行抽象和实现,例如定义主机类来表示网络中的一台主机;后者则基于这些库完成模拟过程。
topo 类中包含构建网络的函数如:

  • addHost(“host name”): 添加主机
  • addSwitch(“sw name”): 添加交换机
  • addLink(node,node): 添加链路
  • attach(port):添加端口
操作步骤

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

步骤2 执行命令进入custom目录。

cd /home/openlab/openlab/mininet/custom

步骤3 执行如下命令,在custom目录下创建自定义拓扑,如下所示。

sudo mn --custom topo-2sw-2host.py --topo mytopo
image-20230524131316782

步骤4 执行如下命令,在Mininet交互环境中添加主机h3,如下所示。

py net.addHost(‘h3’)

image-20230524131423753

步骤5 执行如下命令,在Mininet交互环境中添加s3与主机h3之间的链路。

py net.addLink(s3,net.get(‘h3’))

image-20230524131448979

步骤6 执行如下命令,在Mininet交互环境中添加接口。

py s3.attach(‘s3-eth3’)

image-20230524131506608

步骤7 执行如下命令,在Mininet交互环境中对主机进行配置IP地址。

py net.get(‘h3’).cmd(‘ifconfig h3-eth0 10.3’)

image-20230524131529319

步骤8 执行如下命令,查看节点信息。

dump
nodes

image-20230524131552833

步骤9 执行如下命令,验证主机间的连通性(建议先不用pingall,先使用两个主机间的ping操作)。

h1 ping h3
pingall

image-20230524131619587
由上可知,扩展拓扑在原有拓扑的基础上成功添加主机。