Mininet: Squeezing a 1000 node OpenFlow Network onto a Laptop

Bob Lantz, [email protected] November 19, 2009

How To Do Network Research - I'm trying to figure this out! - Use OpenFlow, do cool stuff! - But, you need a network to experiment/prototype on! - Solution: virtual network on laptop - my bias: large scale behavioral simulation Virtual Networking Approaches • Simulation: NS2 ! - high detail/accuracy, low speed • Custom SW switch: Click ! - more flexibility, less detail than ref. impl. ! - but need to fit multiple routers on single box • Virtual network: VNS ! - closer to what we want for OF prototyping! Goal: make something more like VNS that works with OpenFlow.

Virtual networking with Virtual machines controller

ofprotocol

User App

kernel datapath Linux Kernel

Linux Kernel

Linux Kernel

controller vm

switch vm

host vm

virtual machine monitor Virtual Networking with Virtual Machines [diagram: VMs running openflow] - Many advantages: • Great work done on this already! • Works great with OpenFlow • Can use kernel-level implementation • Fit a real network onto your laptop • Migration, scalability to cluster - Disadvantages: •  Need to run a VMM • Complexity ! - may be hard to set up, use, script • Overhead • Yiannis' poor laptop • Overkill!!

1991: PowerBook 100

2009: MacBook

16 MHz CMOS 68000, 4.4K Dhrystones

2.26 GHz Core 2 Duo, 7.8M Dhrystones

2-8 MB RAM

2-8 GB RAM, 3MB Cache

20 MB SCSI HD, 1 MB/s

250 GB SATA HD, 120 MB/s

230 Kb/s Localtalk

1000 Mb/s Ethernet

5.1 lbs, $2300 ($3600)

5.4 lbs, $1000

Apple laptops have in fact improved over time! 1900x faster (3800x if parallel! >>>x on GPU) 1000x memory 10,000x storage ... but only 100x disk read speed ;-( 4000x network 4.8 oz heavier ;-( $300 cheaper (list price) $1600 cheaper (2008 dollars) (note I have a “pro” notebook, but hey) Limitations: DRAM (1000x), disk performance (200x) So: barring disk, we should be able to simulate 1000 1991-era laptops! But: nobody does this, right?

Processes controller

ofprotocol ofdatapath

OS kernel Alternative to VMs: Process-based virtualization - Nearly every OS already has virtualization built in ! - it's called "processes" - Extend processes with ! - own file system ('chroot') ! - own process space ('/proc') ! - own network devices ('network namespaces') ! - resource limits - Examples: Solaris zones, FreeBSD jails, Linux containers - Lower overhead, easier to set up! - For networks, we only need the network part

User App

Mininet architecture controller eth0 controller namespace

ofprotocol

User App

ofdatapath eth0 eth1

...

switch namespace

eth0 host namespace

Linux 2.26 (or greater) kernel (e.g. Debian stable) - For now: Linux kernel + network namespaces = happiness - Very simple architecture: ! - supervisor process (mininet.py) ! - subprocesses (nodes) ! ! - /bin/bash in network namespace ! ! - local network devices (veth ends) ! ! - pipes to communicate to supervisor ! - switch nodes also have: ! ! - management interface ! ! - OpenFlow switch (udatapath or openvswitch) ! - controller nodes also have: ! ! - management interface ! ! - controller of your choice (nox, controller(8), etc.)

Mininet architecture controller

ofprotocol

ofprotocol

User App

s0-eth0...

s1-eth0...

eth0

root namespace nl:0

host namespace nl:1

Linux 2.26 (or greater) kernel (e.g. Debian stable) Kernel datapath version

Demo(s)

controller host

switch

Demo: 512 node OpenFlow Network! - iperf results for 1024-node network - interactive (Tk) graph of throughput for various network sizes Results: - squeezes large network onto your laptop ! - caveat: 2 MHz processors, 2MB RAM, xxx Mbps - simple: mininet.py is 200 lines of python

host

Status/preliminary results • Performance: 2-host iperf through udatapath w/reference controller: 512 Mbps

• Scalability: 512-node network: ping test

works; 1000-node network: starts up in ~5 minutes

• Simplicity: core is ~200 lines of Python

Mininet: cluster edition ctrlr host

sw

tunnels

host

Linux

sw

sw

host

host

Linux

Mininet: Cluster Edition (future work) - would like more scalability and performance - more like VNS! - solution: run mininet on a cluster ! - replace bash with sshd ! ! - now all nodes need management interface ! - add tunnels to connect devices on different machines - goal: simulate all of Stanford (25000 nodes) on our NetFPGA cluster!

sw

host

host

host

Linux

Mininet Conclusions • Process-based virtualization is great! • Easy: basically a few lines of python • Scalable: net ns, fork/exec vs. boot, shared fs, OS, pages with low overhead -> 1000 nodes seems doable

• Fun/Powerful: Composable, parametrized topologies, fast startup

• Hope to merge into OpenFlow testing/ tutorial/prototyping infrastructure

!

Key ideas:

! ! ! ! !

- Cheap virtualization: processes vs. vms ! - network namespace: the only virtual feature we need ! - fork/exec vs. boot ! - shared fs saves disk space ! - linux page sharing vs. vmware page sharing

! ! !

- Simplicity ! - 500 lines of python ! - composable, parametrized network topologies

! ! ! ! !

- Easy way to get a miniature OpenFlow network ! - testing infrastructure ! - prototyping ! - tutorials ! - research

Mininet: Squeezing a 1000 node OpenFlow Network onto a Laptop

Laptop. Bob Lantz, [email protected]. November 19, 2009 ... Solution: virtual network on laptop. - my bias: large scale behavioral simulation ... Page 9 ...

2MB Sizes 10 Downloads 184 Views

Recommend Documents

TWIN Node, A Flexible Wireless Sensor Network Testbed - EWSN
node via a Raspberry Pi. • WiFi based back channel that replaces active USB ca- bles. • Performance evaluation of battery and USB powered wireless sensor nodes. • Remote programming and monitoring of wireless sen- sor nodes. 237. International

A Rural Implementation of a 52 Node Mixed Wireless Mesh Network ...
A Rural Implementation of a 52 Node Mixed Wireless Mesh Network in Macha, Zambia, AfriComm 2009.pdf. A Rural Implementation of a 52 Node Mixed ...

Mininet - Stanford's NetSeminar
property. Modeling mechanism. Configuration command(s). Hosts. Processes in network namespaces ip netns. Links. Virtual Ethernet pairs ip link. Switches .... Micro/macrobenchmarks? http://hci.stanford.edu/cstr/reports/. 2012-02.pdf. Better (and bigge

[Fei Hu]Network Innovation through OpenFlow and SDN Principles ...
Page 1 of 517. Page 1 of 517 ..... [Fei Hu]Network Innovation through OpenFlow and SDN Principles and Design(pdf){Zzzzz}.pdf. [Fei Hu]Network Innovation ...

Time-based Updates in OpenFlow: A Proposed ... - Semantic Scholar
Jul 7, 2013 - same scheduled execution time. A controller can also invoke a time-based sequence. ∗The Israel Pollak academic chair at Technion; this work ...

Partial Offloading of OpenFlow Rules on a Traditional ... - Fulvio Risso
level view depicted in Figure 2. When a packet arrives at ..... CPU load. RAM (MB). CPU load. RAM (MB). 64. 3.61 / 4. 540. 0.21 / 4. 360. 128. 3.52 / 4. 532. 0.13 / ...

The Cauchy problem at a node with buffer
Nov 29, 2011 - existence and well posedness of solutions to the Cauchy problem, by ..... Definition 6 We say that a wave (ρl,ρr) in an arc is a big shock if ρl < σ

A Split Node Cache Scheme for Fast Ray Tracing
size. Table 1 shows the test results. In most cases, our scheme leads to reduced cache miss ratio. BART Robot. (7K triangles). BART Kitchen. (11K triangles).

NoviSwitch™ 2128 High Performance OpenFlow Switch
NoviFlow Inc.™ aims to change the traditional approach to networking by making switching smarter. ... Up to 1 Million wildcard match flow entries in TCAM,.

Mechanical squeezing by light modulation
Correlation matrix. • If 〈a〉 ≫ 1 we can linearize the Langevin equations around the time dependent first moments [4]. • The correlation matrix V (t) is the solution ...

openflow tutorial pdf
Loading… Page 1. Whoops! There was a problem loading more pages. openflow tutorial pdf. openflow tutorial pdf. Open. Extract. Open with. Sign In. Main menu.