Follow:

Github-Frenetic

准备:

所有的实验,第一步都需要开启控制器,命令:

$ 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成功率上升:

pingall in 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实验(一)的更多相关文章

  1. Frenetic Python实验(三)

    实验5 repeater 这个实验在HelloSDNWorld里面做的实验是一样的.HelloSDNWorld 目的:模拟一个有多个端口的中继器. This application implement ...

  2. Frenetic Python实验(二)

    实验3 packet_in_out 目的:模拟一个普通的双端口中继器. This application implements a very simple 2 port repeater where ...

  3. python 实验环境

    python 实验环境的搭建 刚开始在windows环境下尝试过komodo ,eclispse pydev,swing,spyder甚至limodou的编辑器,之后ipython,安装很多科学计算包 ...

  4. Python实验案例

    Python 运算符.内置函数 实验目的: 1.熟练运用 Python 运算符. 2.熟练运用 Python 内置函数.实验内容: 1.编写程序,输入任意大的自然数,输出各位数字之和. 2.编写程序, ...

  5. python实验一

    安徽工程大学 Python程序设计实验报告 班级物流管理191 姓名彭艺    学号3190505139成绩          日期  2020年3月3日     指导老师    修宇 实验名称    ...

  6. Python实验报告——第4章 序列的应用

    实验报告 [实验目的] 1.掌握python中序列及序列的常用操作. 2.根据实际需要选择使用合适的序列类型. [实验条件] 1.PC机或者远程编程环境. [实验内容] 1.完成第四章 序列的应用 实 ...

  7. Python实验报告——第3章 流程控制语句

    实验报告 [实验目的] 1.掌握python中流程控制语句的使用,并能够应用到实际开发中. [实验条件] 1.PC机或者远程编程环境 [实验内容] 1.完成第三章流程控制语句实例01-09,实战一到实 ...

  8. Python实验报告——第2章 Python语言基础

    实验报告 [实验目的] 1.熟悉在线编程平台. 2.掌握基本的 python 程序编写.编译与运行程序的方法. [实验条件] 1.PC机或者远程编程环境 [实验内容] 1.完成第二章实例01-07,实 ...

  9. python实验报告(第五周)

    一.实验目的和要求 学会使用字符串的常用操作方法和正确应用正则表达式. 二.实验环境 软件版本:Python 3.10 64_bit 三.实验过程 1.实例1:使用字符串拼接输出一个关于程序员的笑话 ...

随机推荐

  1. static_cast, dynamic_cast, const_cast

    http://www.cnblogs.com/chio/archive/2007/07/18/822389.html 首先回顾一下C++类型转换: C++类型转换分为:隐式类型转换和显式类型转换 第1 ...

  2. PIGOSS

    http://blog.sina.com.cn/s/blog_865bc4c60102wkb1.html

  3. 2.Abstract Factory 抽象工厂(创建型模式)之简单工厂

    简单工厂 1.只有一个工厂(具体的,没有抽象) 2.只生产一种产品(抽象的产品) 3.这种产品可以有多种具体产品类型(派生) 代码实现 class Program { static void Main ...

  4. 面向服务的体系结构(SOA)——(3)关于BPM

    什么是BPM 很多情况下企业当中所提供的服务不是由一个分布式业务流程就可以完成的,整个服务的提供需要多个分布式流程有机的组合,于是BPM就应运而生了.要将现有的服务通过配置.编排(关于配置与编排的区别 ...

  5. CC2540开发板学习笔记(二)——按键

    一.实验内容 用按键S1控制LED1的亮和灭 二.实验过程 1.电路原理: 可以看出,当S按下P0.0和P0.1接地,反之则接高电压. 2.寄存器使用: 依旧应该首先进行3个基本寄存器的设定,对LED ...

  6. Android Touch事件传递机制解析

    android系统中的每个ViewGroup的子类都具有下面三个和TouchEvent处理密切相关的方法: 1)public boolean dispatchTouchEvent(MotionEven ...

  7. 不能继承OrmLiteBaseActivity时,这样获取getHelper

    private DatabaseHelper databaseHelper = null; public DatabaseHelper getHelper() { if (databaseHelper ...

  8. android—获取网络数据

    取网络数据主要靠发交易(或者说请求,接口等),而这些交易由java中的网络通信,HttpURLConnection和HttpClient实现,以下是具体例子.   大家都知道,网络通信,发送请求有两种 ...

  9. 贪心 Codeforces Round #301 (Div. 2) B. School Marks

    题目传送门 /* 贪心:首先要注意,y是中位数的要求:先把其他的都设置为1,那么最多有(n-1)/2个比y小的,cnt记录比y小的个数 num1是输出的1的个数,numy是除此之外的数都为y,此时的n ...

  10. CodeForces Round 195 Div2

    A. Vasily the Bear and Triangletime limit per test1 secondmemory limit per test256 megabytesinputsta ...