Skip to content

bupthzd/undergrad_thesis

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is my undergraduate thesis project. It is about tracking hosts' 
connection status in real time. For doing that, I used the PortStatus 
in OpenFlow message to find any host that is leaving the network. 
Also, for host joining the network, I tracked DHCP communication to 
determine if the host have a valid IP address.

I put the HostEvent module and POXDesk in the ext dir. The start up
command is:

python pox.py HostEvent samples.pretty_log web messenger \
messenger.log_service messenger.ajax_transport openflow.of_service \
poxdesk openflow.discovery poxdesk.tinytopo

Then visit http://127.0.0.1:8000/poxdesk/, you will see the POXDesk
web UI.
---------------------------------------------------------------------------
POX is a network controller written in Python.

POX officially requires Python 2.7 (though much of it will work fine
fine with Python 2.6), and should run under Linux, Mac OS, and Windows.
You can place a pypy distribution alongside pox.py (in a directory
named "pypy"), and POX will run with pypy (this can be a significant
performance boost!).

POX currently communicates with OpenFlow 1.0 switches and includes
special support for Open vSwitch.

pox.py boots up POX. It takes a list of module names on the command line,
locates the modules, calls their launch() function (if it exists), and
then transitions to the "up" state.

Modules are looked for everywhere that Python normally looks, plus the
"pox" and "ext" directories.  Thus, you can do the following:

  ./pox.py forwarding.l2_learning

You can pass options to the modules by specifying options after the module
name.  These are passed to the module's launch() funcion.  For example,
to set the address or port of the controller, invoke as follows:

  ./pox.py openflow.of_01 --address=10.1.1.1 --port=6634

pox.py also supports a few command line options of its own which should
be given first:
 --verbose      print stack traces for initialization exceptions
 --no-openflow  don't start the openflow module automatically

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 90.2%
  • Python 8.7%
  • HTML 0.6%
  • CSS 0.4%
  • Shell 0.1%
  • C++ 0.0%