Mininet实验 使用l2_multi模块寻找最短路径实验
参考:使用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
Mininet实验 使用l2_multi模块寻找最短路径实验的更多相关文章
- mininet(三)简单的NAT实验
mininet(一)实验环境搭建 mininet(二)简单的路由实验 mininet(三)简单的NAT实验 本次实验拓扑图如下: 假设 Openvswitch switch1是一个带有NAT功能的路由 ...
- mininet(二)简单的路由实验
mininet(一)实验环境搭建 mininet(二)简单的路由实验 mininet(三)简单的NAT实验 在网上找了 好几个代码都是不能直接复现成功,这里把自己实现成功的代码给大家演示一下. 实验的 ...
- 计算机组成原理实验之CPU组成与指令周期实验
(实验五 CPU组成与指令周期实验) 课程 计算机组成原理实验 实验日期 2015 年 12 月 8 日 一.实验目的 1.将微程序控制器同执行部件(整个数据通路)联机,组成一台模型计算机. 2. ...
- 20145314郑凯杰《网络对抗技术》可选实验 shellcode注入与Return-to-libc攻击实验
20145314郑凯杰<网络对抗技术>可选实验 shellcode注入与Return-to-libc攻击实验 1.0 实践内容 Return-to-libc攻击是一种特殊的缓冲区溢出攻击, ...
- OpenDayLight Helium实验三 OpenDaylight二层转发机制实验 2
鉴于在个人笔记本上虚拟机运行ODL实在太慢,把实验的场景搬到了实验室. 实验上:OpenDayLight Helium实验三 OpenDaylight二层转发机制实验 抓包实验 紧接着,在运行Mini ...
- OpenDayLight Helium实验三 OpenDaylight二层转发机制实验
本文基于OpenDaylight二层转发机制实验 而成 在SDN网络中,处于末端的主机并不知道其连接的网络是SDN,某台主机要发送数据包到另一台主机,仍然需要进行IP到MAC地址的ARP解析.SDN网 ...
- 20155202 《Java程序设计》实验二(面向对象程序设计)实验报告
20155202 <Java程序设计>实验二(面向对象程序设计)实验报告 代码托管 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉 ...
- 20201123 实验三《python程序设计》实验报告
20201123 2020-2021-2 <python程序设计>实验三报告 课程:<Python程序设计>班级:2011姓名:晏鹏捷学号:20201123实验教师:王志强实验 ...
- 20145216 20145330 《信息安全系统设计基础》 实验五 简单嵌入式WEB 服务器实验
20145216 20145330 <信息安全系统设计基础> 实验五 简单嵌入式WEB 服务器实验 实验报告封面 实验步骤 1.阅读理解源码 进入/arm2410cl/exp/basic/ ...
随机推荐
- mysql_4(解决中文乱码问题)
mysql> create database if not exists xdb default character set utf8;Query OK, 1 row affected (0.0 ...
- SQL 总汇
/* 启动MySQL */ net start mysql /* 连接与断开服务器 */ mysql -h 地址 -P 端口 -u 用户名 -p 密码 /* 跳过权限验证登录MySQL */ mysq ...
- Android源码编译
参考百度文章: http://jingyan.baidu.com/article/a501d80ce61ad0ec630f5e0b.html
- 敏捷开发之Scrum扫盲篇(转)
转:http://www.cnblogs.com/taven/archive/2010/10/17/1853386.html 现在敏捷开发是越来越火了,人人都在谈敏捷,人人都在学习Scrum和XP.. ...
- AppInventor学习笔记(二)——Hello Purr
一.设计组件 1.定义: 就是WPF中的控件一个意思,直接调用不需要知道怎么写的,只需要写响应函数即可. 2.Designer: (1)界面如下: (2)分区: ①预览窗口: 用于放置应用中所需的组件 ...
- Selenium学习
Web测试:Selenium使用 2008-12-23 10:49 by 敏捷的水, 17940 阅读, 16 评论, 收藏, 编辑 本文包含的主要内容: Selenium简介 我应该使用哪一个Sel ...
- filter()函数 条件筛选
filter()函数 filter()函数是 Python 内置的另一个有用的高阶函数,filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回 True或 ...
- CodeForces 300C --数论
A - A Time Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u Submit Statu ...
- 转:EasyHook远程代码注入
EasyHook远程代码注入 最近一段时间由于使用MinHook的API挂钩不稳定,经常因为挂钩地址错误而导致宿主进程崩溃.听同事介绍了一款智能强大的挂钩引擎EasyHook.它比微软的detours ...
- ZOJ1655 Transport Goods(Floyd)
利用Floyd的DP状态转移方程. #include<cstdio> #include<cstring> #include<queue> #include<a ...