Frenetic Python实验(一)
Follow:
准备:
所有的实验,第一步都需要开启控制器,命令:
$ frenetic http-controller --verbosity debug
每一个实验,维护三个终端,一个控制器,一个mininet,还有一个用来跑你需要测试的应用。
实验1 drop_all
This application very simply drops all packets - the ultimate firewall!
目的:本次实验模拟极限防火墙,丢弃所有的包。
1.终端1:打开控制器:

2.终端2:Mininet Command:
sudo mn --topo=single,2 --controller=remote

3.终端3:
$ python -m frenetic.examples.drop_all.py

4.在终端2 Mininet中pingall,结果全部丢包:
mininet> pingall

实验2 Mac learning
This application implements a single L2 switch with an abitrary number of ports. It'll learn MAC addresses and selectively route traffic for those it knows about.
目的:模拟交换机mac学习的过程。这个应用脚本执行了一个二层交换机,同时有很多任意的端口,它会不断的学习mac地址,并根据它所学习到的内容进行路由选择和流量转发。
1.终端1打开控制器。
2.终端2打开mininet:
sudo mn --topo=single,10 --controller=remote

刚刚开始的控制器:

3.终端3执行应用脚本:
$ python -m frenetic.examples.learning

控制器信息:


4.在终端2里面pingall:
mininet> pingall
第一次pingall全部失败:

但是查看控制器,发现控制器学习了路由信息,不断设置流表:

终端3信息:

第二次pingall,交换机学习了部分路由信息:

第三次pingall,pingall成功率上升:

pingallin the Mininet window should yield 100% successfully sent packets. There will be a lot of Packet Out activity at first, but as MACs are learned the controller traffic should quiet down. Eventually the switch will handle all the traffic itself.
本实验模拟的是一个交换机不断学习mac的过程,因此,总有一天pingall会100%(摊手)。
2016/11/30
Frenetic Python实验(一)的更多相关文章
- Frenetic Python实验(三)
		实验5 repeater 这个实验在HelloSDNWorld里面做的实验是一样的.HelloSDNWorld 目的:模拟一个有多个端口的中继器. This application implement ... 
- Frenetic Python实验(二)
		实验3 packet_in_out 目的:模拟一个普通的双端口中继器. This application implements a very simple 2 port repeater where ... 
- python 实验环境
		python 实验环境的搭建 刚开始在windows环境下尝试过komodo ,eclispse pydev,swing,spyder甚至limodou的编辑器,之后ipython,安装很多科学计算包 ... 
- Python实验案例
		Python 运算符.内置函数 实验目的: 1.熟练运用 Python 运算符. 2.熟练运用 Python 内置函数.实验内容: 1.编写程序,输入任意大的自然数,输出各位数字之和. 2.编写程序, ... 
- python实验一
		安徽工程大学 Python程序设计实验报告 班级物流管理191 姓名彭艺 学号3190505139成绩 日期 2020年3月3日 指导老师 修宇 实验名称 ... 
- Python实验报告——第4章 序列的应用
		实验报告 [实验目的] 1.掌握python中序列及序列的常用操作. 2.根据实际需要选择使用合适的序列类型. [实验条件] 1.PC机或者远程编程环境. [实验内容] 1.完成第四章 序列的应用 实 ... 
- Python实验报告——第3章 流程控制语句
		实验报告 [实验目的] 1.掌握python中流程控制语句的使用,并能够应用到实际开发中. [实验条件] 1.PC机或者远程编程环境 [实验内容] 1.完成第三章流程控制语句实例01-09,实战一到实 ... 
- Python实验报告——第2章 Python语言基础
		实验报告 [实验目的] 1.熟悉在线编程平台. 2.掌握基本的 python 程序编写.编译与运行程序的方法. [实验条件] 1.PC机或者远程编程环境 [实验内容] 1.完成第二章实例01-07,实 ... 
- python实验报告(第五周)
		一.实验目的和要求 学会使用字符串的常用操作方法和正确应用正则表达式. 二.实验环境 软件版本:Python 3.10 64_bit 三.实验过程 1.实例1:使用字符串拼接输出一个关于程序员的笑话 ... 
随机推荐
- MyISAM InnoDB 区别
			MyISAM 和 InnoDB 讲解 InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定.基本的差别为:MyISAM类型不支持事务处理等高级处 ... 
- jquery 展开折叠效果
			仅供参考 图片 jquery.js 自己处理 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"& ... 
- vijos 1028 LIS *
			链接:点我 #include<cstdio> #include<iostream> #include<algorithm> #include<cstring& ... 
- chromium的Backtrace记录
			ffmpeg处理完视频流后,上层的webrtc调用错误,可以看出webrtc的调用过程: Backtrace: webrtc::RTPFragmentationHeader::CopyFrom [0x ... 
- 建模算法(六)——神经网络模型
			(一)神经网络简介 主要是利用计算机的计算能力,对大量的样本进行拟合,最终得到一个我们想要的结果,结果通过0-1编码,这样就OK啦 (二)人工神经网络模型 一.基本单元的三个基本要素 1.一组连接(输 ... 
- 【HTML5】Server-Sent服务器发送事件
			Server-Sent 事件 - 单向消息传递 Server-Sent 事件指的是网页自动获取来自服务器的更新. 以前也可能做到这一点,前提是网页不得不询问是否有可用的更新.通过服务器发送事件,更新能 ... 
- Selenium介绍
			基于selenium的自动化测试,华为已经做了两代了,目前是做到SmartGUI2.0,基于他们自己的AutoSpace平台.不过目前支持的貌似只有IE和火狐(火狐3.6).控件录制支持ID,Name ... 
- Mac terminal 解压压缩
			tar 解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)———————————————.gz解压1:gunz ... 
- 【python游戏编程之旅】第三篇---pygame事件与设备轮询
			本系列博客介绍以python+pygame库进行小游戏的开发.有写的不对之处还望各位海涵. 在上一篇博客中,我们学习了pygame中的IO.数据http://www.cnblogs.com/msxh/ ... 
- CodeForces Round 200 Div2
			这次比赛出的题真是前所未有的水!只用了一小时零十分钟就过了前4道题,不过E题还是没有在比赛时做出来,今天上午我又把E题做了一遍,发现其实也很水.昨天晚上人品爆发,居然排到Rank 55,运气好的话没准 ... 
