mininet 系列文章链接归类:
【mininet 0x01】mininet环境搭建
【mininet 0x02】如何使用mn工具来操作mininet
【mininet 0x03】如何使用Python API来操作mininet
【mininet 0x04】使用ryu作为mininet的controller完成HUB功能
【mininet 0x05】使用ryu作为mininet的controller完成L2Switch功能
文章目录
前言
安装好了mininet
,我们就要尝试使用一下mininet
了
一、mininet mn工具初体验
mininet
内置了一个方便的工具 mn
sudo mn
输入mn
后,mininet
自动帮助创建了两个节点,并让它们与一台switch
相连:
如图所示:
ovs
中的状态如下:
创建了 三个 Port: s1, s1-eth1, s1-eth2
即如下部分信息:
Port s1
Interface s1
type: internal
Port s1-eth2
Interface s1-eth2
Port s1-eth1
Interface s1-eth1
在ifconfig
中的消息如下:
创建了 s1, s1-eth1, s1-eth2
二、mn 常用命令
mn
启动之后的一些常用命令:
序号 | 命令 | 功能 |
---|---|---|
0 | help | 打印帮助信息 |
1 | nodes | 查看所有节点信息 |
2 | net | 查看网络拓扑信息 |
3 | dump | 输出节点信息 |
4 | h1 ping h2 | 测试主机间的连通性 |
5 | iperf | TCP打流 |
6 | iperfudp | UDP打流 |
7 | xterm | 打开xterm窗口 |
8 | py | 运行py |
9 | sh | 运行shell |
10 | host cmd | 在主机内执行命令,如h1 ifconfig |
11 | exit/quit | 退出Mininet |
三、创建一些不一样的拓扑
mn
工具内置了--topo
的参数供生成不同类型的拓扑,下面是mn工具 help的表述:
--topo=TOPO linear|minimal|reversed|single|torus|tree[,param=value
...] linear=LinearTopo torus=TorusTopo tree=TreeTopo
single=SingleSwitchTopo
下图是mn工具的源码关于内置拓扑的部分:
使用表格总结一下:
序号 | 拓扑类型名称 | 含义 |
---|---|---|
0 | linear | 指直线,一个交换机配一个主机,而主机和交换机的个数都可以任意指定。拓扑呈直线型。 |
1 | minimal | 指最小的,是默认的mininet拓扑,默认一个 交换机挂两个主机,不跟参数。 |
2 | reversed | 指颠倒、反的,这种类型的拓扑与single的拓扑一致。 |
3 | single | 指单个,这种类型的拓扑只有一个交换机,而主机的个数可以任意指定。拓扑呈星型。 |
4 | torus | 较为复杂,适用于需要非常稳定,高冗余量的拓扑,具体解释看下方 |
5 | tree | 树,这种类型的拓扑显然呈数状,交换机呈树杈状分散开来,最下面一层的交换机挂两个主机。tree后面的参数是指树的个数。 |
实际效果
单纯看上方的表格,大家肯定云里雾里,所以画一下图,供大家理解:
0、linear
sudo mn --topo=linear,3