参考:使用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迷一样的自带截图工具):
3. 实验任务
本实验介绍了一个工具VND,要求利用VND绘制网络拓扑并导出生成mininet脚本。此外利用pox控制器中的l2_multi模块找出该拓扑中两个主机间的最短路径。
4.实验操作
做这个实验的时候,我在同一个虚拟环境中跑pox和mininet,IP地址通过ifconfig
命令查看:
IP:10.0.2.15
打开VNDweb可视化网页:http://www.ramonfontes.com/vnd/#
搭建以下拓扑:
导出mininet脚本:file -> Export -> Export to Mininet
自动保存在/Download目录下,我用的是Ubuntu中文版,所以这个目录的名称叫做/下载
。
更改下这个mininet脚本,使mininet能够和pox交换机联系起来:
cd /Download
vim mininetCode37669.sh
将脚本中关于拓扑中唯一的控制器语句进行更改,我这里的控制器名为c5:
执行mininet脚本:
./mininetCode37669.sh
查看拓扑信息:
pingall:
查看流表:
s4:
s3:
s2 & s1:
实验结论
从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