Anda di halaman 1dari 1

POX

Network control with Python


Murphy McCauley, Kyriakos Zarifis, Amin Tootoonchian, Scott Shenker
Rationale
POX is an open platform for the rapid development and prototyping of network
control software in a high level language, upon which we are starting to experiment
with distribution, debugging, network virtualization and other SDN topics, with the
ultimate goal being to develop an archetypal, modern network operating system.

Features

Relationship to NOX

Pythonic OpenFlow interface


POX provides migration path for
Python-based NOX applications
Reusable components for path
Successful ideas from POX fed back
selection, topology discovery, etc.
into NOX
Runs anywhere Can bundle with
Supports the same GUI and
install-free PyPy runtime
Uses advanced Network Object Model visualization tools
POX isnt a total loss performancewise! (See cbench results)
Software

cbench latency (flows per second)


POX
NOX-Python
NOX-C++
0

20,000
60,000
100,000
40,000
80,000

cbench "throughput" (flows per second)


POX
NOX-Python
NOX-C++
0

20,000

40,000

60,000

Network Object Model

Virtualized NOM object


Low-level NOM objects

Virtualized Switch
Switch

Host

Host

Host

Switch
Switch

Host

Hardware

Object-oriented global network


view
Low-level objects have 1:1
mapping to actual hardware
Expose hardware-specific
functionality (e.g., OpenFlow,
middlebox features)
Control/configuration through a
single interface -- Python
Higher-level objects support
virtualization
Switch slicing and aggregation
Forwarding abstraction
Suitable for experimentation with
distribution

Status and Usage


Under active development
Framework and basic applications
done
Definition and development of NOM
ongoing
Public source release coming soon

Used in the classroom (200+


undergrads)
Used by POX-At-Home (see poster)
Used for SDN Debugging (see poster)
Minor use in production!

Anda mungkin juga menyukai