![]() |
ViewsAggregationFrom OpenFlow WikiPage is still under construction
OverviewThe Aggregation Demo highlights OpenFlow's flexibility for dynamic definition of flow granularity. Traffic can be aggregated based on any combination of 11 header fields from Layers 1,2,3 &4. We showcase a simple backbone network routing HTTP and VOIP traffic from multiple customers. Using a GUI the user (network operator) can dynamically define and re-route bundles. You may have seen the Aggregation Demo in SIGComm 2009 best demonstration at the OpenFlow "Room" and/or during the OpenFlow workshop. If not, you can see the demonstration in video here. (video coming soon...) The related poster can be found here. This demo runs on top of the FlowVisor along with other individual experiments. Recreating the DemoTopology/TerminologyFor this demo, we assume a backbone network. Customers connect to the core network through edge switches. Within the network, we need a redundant topology of core switches to showcase bundle re-routing. A bundle is defined by the user and represents a set of flows with common characteristics. From a switch perspective, a bundle is a single flow (with wildcarded fields). The bundle path is the path associated with a bundle. A flow that belongs to a bundle will be routed (based on shortest path) from source to the beginning of bundle path, and from the end of the bundle path to the final destination. An edge flow is a flow that belongs to a bundle, but is not bundled at the specific part of the network (i.e. going to/leaving the bundle path). The picture below explains better these terms.ControllerThe source code for the controller can be retrieved from the related git branch git clone git://openflowswitch.org/nox-aggregation.git To run the controller : ./nox_core --verbose="nox.coreapps.aggregation.pyaggregation:ANY:DBG" -i ptcp:6633 pyaggregationdb Traffic GeneratorTo create a meaningful aggregation scenario we need multiple traffic sources. Each customer is represented by a traffic generator, tuned to send traffic from/to specified IP ranges and TCP ports. The traffic generator is implemented in python and resides within the aggregation nox code (under packetgen). For help using the packet generator type cd packetgen-directory python packetgen.py GUIThe graphical visualization is created by extending ENVI. It can be retrieved from the following git repository : git clone git://openflowswitch.org/envi-aggregation.git After making sure you have Java 1.6, it can be compiled using cd envi-aggregation/gui make and run with java -jar bin/openflow_gui.jar <fs> <config_file> <controller>
Here are a few shortcuts for the GUI :
People |
Quick NavigationOpenFlow White PaperOpenFlow Demo Video![]() Watch the Demo that received the best demo award at SIGCOMM 2008. About OpenFlow OpenFlow is supported bythe Stanford Clean Slate Program. Wiki ToolsPersonal toolsProjects |