目录
-
- 1.Mininet简介
- 2.Mininet常用命令
-
- 2.1创建网络拓扑常用参数
- 2.2常用的内部交换命令
- 3.创建网络拓扑的三种方式
-
- 3.1通过命令行创建
- 3.2通过miniedit可视化界面创建
- 3.3通过python脚本创建
- 4.问题总结
1.Mininet简介
- Mininet 是由一些虚拟的终端节点 (end-hosts) 、交换机、路由器连接而成的一个网络仿真器,是一个轻量级软件定义网络和测试平台,支持 OpenFlow、OpenvSwith 等各种协议。
- Mininet的原理是通过虚拟化技术在单个主机上创建虚拟网络设备,并建立虚拟链路来连接它们。它提供了简单的接口和工具来定义和管理网络拓扑,以及监控和调试虚拟网络。这使得用户可以方便地进行网络原型设计、测试和教育。
2.Mininet常用命令
2.1创建网络拓扑常用参数
命令 | 含义 |
---|---|
-clean | 释放之前创建拓扑时占用的未释放的资源 |
-h | 查看帮助 |
–custom | 用于创建自定义拓扑 |
–topo | 在mininet启动时通过命令行定义拓扑 |
–switch | 定义要使用的交换机,默认使用oVSK交换机 |
–mac | 自动设置设备的MAC地址从而使MAC地址更易读 |
–controller | 定义要使用的控制器,如果没有指定则使用mininet中默认的控制器(可选的有default、remote等) |
mn | 创建默认最小拓扑 |
2.2常用的内部交换命令
命令 | 含义 |
---|---|
mininet >help | 获取帮助列表 |
mininet >nodes | 查看网络拓扑中结点的状态 |
mininet >links | 显示链路健壮性信息 |
mininet >net | 显示网络拓扑 |
mininet >dump | 显示每个节点的接口设置和表示每个节点的进程的PID |
mininet > pingall | 在网络中的所有主机之间执行ping测试 |
mininet > pingpair | 只测试前两个主机的连通性 |
mininet >xterm h1 | 打开host 1的终端 |
mininet >iperf | 两个节点之间进行iperftcp带宽测试 (iperf h1 h2) |
mininet >iperfudp | 两节点之间进行iperfudp带宽测试 (iperfudp bw h1 h2) |
mininet >link | 禁用/启用节点间链路 (启用 s1 s2间的链路 link s1 s2 up;禁用s1 s2间的链路 link s1 s2 down) |
mininet >h1 ping h2 | h1和h2节点之间执行 ping测试 |
mininet >h1ifconfig | 查看host1的IP 等信息 |
mininet >exit / quit | 退出mininet登录 |
3.创建网络拓扑的三种方式
需要注意的是,运行网络拓扑之前,均需打开另一个终端,在/home/shy/distribution-karaf-0.6.4-Carbon/bin目录下,通过sudo ./karaf命令启动OpenDaylight控制器。
3.1通过命令行创建
① 最小化(minimal)拓扑:整个网络中只有一台交换机,交换机下挂两台主机(也就是mn)。
例如:sudo mn --controller=remote,ip=127.0.0.1 --switch ovsk,protocols=OpenFlow13 表示创建了一台交换机,交换机下挂2台主机
② 单一(single)拓扑:整个网络拓扑中有且只有一个交换机,交换机可下挂一个或多个主机。
例如:sudo mn --topo=single,4 --controller=remote,ip=127.0.0.1 --switch ovsk,protocols=OpenFlow13 表示创建了一台交换机,交换机下挂4台主机
③ 反转(reversed)拓扑:网络中只有一台交换机,交换机可连一台或多台主机。与单一拓扑不同的是,单一拓扑中,交换机与主机的连接端口号从小到大使用,而在反转拓扑中端口号从大到小使用。
例如:sudo mn --topo=reversed,4 --controller=remote,ip=127.0.0.1 --