Mininet实验 使用l2_multi模块寻找最短路径实验

时间:2023-11-26 12:39:32

参考:使用l2_multi模块寻找最短路径实验

1. 实验目的

1、认识VND并且掌握其基本使用方法。

2、学会使用pox控制器的l2_multi模块寻找主机间的最短传输路径。

2. 实验原理

VND是一个基于web的图形用户界面,布局和用法有点类似于packet tracer,用户利用所提供的网络元件自主搭建拓扑,双击某个元件可以查看、编辑该元件的基本信息。拓扑搭建完成后,用户可以根据需要导出生成NSDL文件,SDN版本的VND还可以生成mininet和openflow控制器脚本。

forwarding.l2_multi是一个交换机mac地址学习模块,其他模块采用的地址学习方式是基于“交换机——交换机”,交换机与相邻的交换机交换地址信息。而l2_multi模块使用openflow.discovery学习整个网络的拓扑,所有交换机同步地址信息。

VND图形界面(Ubuntu迷一样的自带截图工具):

Mininet实验 使用l2_multi模块寻找最短路径实验

3. 实验任务

本实验介绍了一个工具VND,要求利用VND绘制网络拓扑并导出生成mininet脚本。此外利用pox控制器中的l2_multi模块找出该拓扑中两个主机间的最短路径。

4.实验操作

做这个实验的时候,我在同一个虚拟环境中跑pox和mininet,IP地址通过ifconfig命令查看:

Mininet实验 使用l2_multi模块寻找最短路径实验

IP:10.0.2.15

打开VNDweb可视化网页:http://www.ramonfontes.com/vnd/#

Mininet实验 使用l2_multi模块寻找最短路径实验

搭建以下拓扑:

Mininet实验 使用l2_multi模块寻找最短路径实验

导出mininet脚本:file -> Export -> Export to Mininet

Mininet实验 使用l2_multi模块寻找最短路径实验

自动保存在/Download目录下,我用的是Ubuntu中文版,所以这个目录的名称叫做/下载

更改下这个mininet脚本,使mininet能够和pox交换机联系起来:

cd /Download
vim mininetCode37669.sh

将脚本中关于拓扑中唯一的控制器语句进行更改,我这里的控制器名为c5:

Mininet实验 使用l2_multi模块寻找最短路径实验

执行mininet脚本:

./mininetCode37669.sh

查看拓扑信息:

Mininet实验 使用l2_multi模块寻找最短路径实验

pingall:

Mininet实验 使用l2_multi模块寻找最短路径实验

查看流表:

s4:

Mininet实验 使用l2_multi模块寻找最短路径实验

s3:

Mininet实验 使用l2_multi模块寻找最短路径实验

s2 & s1:

Mininet实验 使用l2_multi模块寻找最短路径实验

实验结论

从h6-h7有两条路径,分别是“h6-s3-s4-h7”和“h6-s3-s1-s2-s4-h7”。由s1、s2、s3、s4的流表可以看出,s3、s4中有相关流表,而s1、s2中并没有流表,说明数据包没有通过s1、s2,h6、h7之间最短的路径是h6-s3-s4-h7。

2016/11/20