Mininet创建网络拓扑

一、Mininet创建网络拓扑常用参数

1). -c 释放之前创建拓扑时占用的未释放的资源
2). -h 产看帮助
3). --topo 在mininet启动时通过命令行定义拓扑
4). --custom 用于创建自定义拓扑
5). --switch 定义要使用的交换机,默认使用OVSK交换机
6). --controller 定义要使用的控制器,如果没有指定则使用mininet中默认的控制器
7). --mac 自动设置设备的MAC地址,从而使MAC地址更易读。

二、命令行创建网络拓扑

1、单一网络拓扑
整个网络拓扑中有且只有一个交换机,交换机可下挂一个或多个主机。

sudo mn --topo=single,3  #创建拓扑,包含3个用户,1台交换机
nodes #查看节点信息
links #查看连接信息
pingall #查看用户之间是否能ping通
exit  #退出运行

Mininet创建网络拓扑_第1张图片
2、线型拓扑
交换机连接呈线性排列,且每个交换机所连接主机数目有且只有一个(交换机与主机数相同)

sudo mn --topo=linear,3  #创建3个用户,3台交换机,每台交换机下有一个用户。

Mininet创建网络拓扑_第2张图片
3、树形拓扑
交换机连接呈树形排列,且每个交换机下挂的主机一般有多个,类似于数据结构的二叉树。其中depth指的是交换机的深度,depth=2表示交换机有两层,fanout表示广度/扇出,fanout=3表示每台交换机均下挂3台设备。

sudo mn --topo=tree,depth=2,fanout=3 

Mininet创建网络拓扑_第3张图片
二、自定义拓扑
可以直接执行编写好的Python脚本创建拓扑,在此不做过多介绍,后面会有相关说明。
三、可视化界面创建拓扑
首先进入mininet的examples目录,然后运行miniedit,进入可视化界面创建网络拓扑。

./miniedit.py     #或者python miniedit.py

Mininet创建网络拓扑_第4张图片
Mininet创建网络拓扑_第5张图片
然后在可视化界面创建网络拓扑。
Mininet创建网络拓扑_第6张图片
点击编辑行Edit->Preferences,勾选Start CLI和OpenFlow1.3,Default Switch选择open vSwitch Kernel Mode,点击ok。
Mininet创建网络拓扑_第7张图片
对控制器c0右击鼠标,选择属性,然后编辑控制类型,改为远程控制器,点击OK。
Mininet创建网络拓扑_第8张图片
编辑交换机s1的属性,DPID是16位,这里改为0000000000000001,然后修改交换机的类型,为open vSwitch Kernel Mode,点击OK。
Mininet创建网络拓扑_第9张图片
s2交换机属性设置同上。
编辑终端属性,只需将IP地址更改即可,如下图
Mininet创建网络拓扑_第10张图片
其他终端的属性设置同上。
紧接着,重新打开一个终端,打开ryu,运行

ryu-manager simple_switch.py

然后回到可视化界面,点击左下角的run,开始运行,就会在ryu中看到远程控制端ryu已经发现了这个网络拓扑,
Mininet创建网络拓扑_第11张图片
然后将该拓扑保存为Python文件,点击左上角的File->Export the topology as…选择保存的目录,并添加文件名,这里我的文件名为001.py点击save如下图所示。
Mininet创建网络拓扑_第12张图片
这样,这个拓扑文件就保存好嘞,那么如何测试它呢?
首先打开ryu,然后运行我们刚刚保存的Python文件001.py,ryu可以发现这个网络拓扑,并且该拓扑的每个节点都可以ping通,连接正常,即没有出现问题。

python 001.py

Mininet创建网络拓扑_第13张图片
OK,来吧,现在请让我们打开这个python文件吧,看一看它肚子里的东西吧

vi 001.py

在这里插入图片描述
Mininet创建网络拓扑_第14张图片
然后让我们做一下python文件的修改吧,在交换机s2下面添加一个用户,照葫芦画瓢,修改信息很简单,看下图即可。
Mininet创建网络拓扑_第15张图片
然后保存退出vim编辑模式,那么现在检查一下新的拓扑吧。
方式同上,先打开ryu,然后运行pythhon 文件
Mininet创建网络拓扑_第16张图片
可以清楚地看到,在交换机s2下面多了一个用户h5,并且连接正常。
OK,到此为止,mininet创建网络拓扑的三种方式已经全部介绍完毕啦,快去练练手吧。

你可能感兴趣的:(技术)