1.3Mininet 调用API扩展自定义拓扑
Mininet 调用API扩展自定义拓扑
实验目的
实验环境
Mininet调用API扩展自定义拓扑实验的拓扑如下图所示。
设备名称 | 软件环境 | 硬件环境 |
---|---|---|
主机 | 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
步骤4 执行如下命令,在Mininet交互环境中添加主机h3,如下所示。
py net.addHost(‘h3’)
步骤5 执行如下命令,在Mininet交互环境中添加s3与主机h3之间的链路。
py net.addLink(s3,net.get(‘h3’))
步骤6 执行如下命令,在Mininet交互环境中添加接口。
py s3.attach(‘s3-eth3’)
步骤7 执行如下命令,在Mininet交互环境中对主机进行配置IP地址。
py net.get(‘h3’).cmd(‘ifconfig h3-eth0 10.3’)
步骤8 执行如下命令,查看节点信息。
dump
nodes
步骤9 执行如下命令,验证主机间的连通性(建议先不用pingall,先使用两个主机间的ping操作)。
h1 ping h3
pingall
由上可知,扩展拓扑在原有拓扑的基础上成功添加主机。