140 likes | 311 Views
Floodlight Controller; Application Wishlist. SDN Dev Group, Week 3. Aaron Gember Aditya Akella University of Wisconsin-Madison. Testbed Experience. lyrebird. vulture. thrush. Controller and application running? Behaved as expected? Lessons learned?. wings-openflow-1. Controller.
E N D
Floodlight Controller; Application Wishlist SDN Dev Group, Week 3 Aaron GemberAdityaAkella University of Wisconsin-Madison
TestbedExperience lyrebird vulture thrush • Controller and application running? • Behaved as expected? • Lessons learned? wings-openflow-1 Controller WINGS ProCurve 5400
New Application • Create a new class in src/main/java • Package: edu.wisc.cs.wisdom.<appname> • Class name: <AppName> • Interfaces: IOFMessageListener, IFloodlightModule • Write getModuleDependencies() method • Depends on (at least) the loader: IFloodlightProviderService.class • Register module • Add class name to loader and configuration
Important Methods • getName() • Return “<AppName>” • init() • Initialize data structures • Get hook to main Floodlight servicecontext.getServiceImpl(IFloodlightProviderService.class);
Important Methods • startUp() • Register to receive relevant events from OpenFlow switches (e.g., packet in) or other modules • E.g., addOFMessageListener(OFType.PACKET_IN, this); • receive() • Receive and process OpenFlow events • Check the type of the message object
Distributed Firewall VLAN A VLAN B VLAN C Internet
Stateful Firewall • Allow/deny is based on more than just the current packet • E.g., allow if TCP state is established • Extra state is not part of OpenFlow 10-tuple • Install as many static rules as possible • Every packet should not go to controller
Anomaly Detection • Monitor for anomalous traffic • High traffic volumes, specific IPs, etc. • When anomalous traffic is found, route through a middlebox, then to destination • Anomalies determined by • Thresholds in policy file • Monitoring over time + machine learning
Stratos • Data center testbed • Network: tree topology of OpenFlow switches • Compute: Xen + Open vSwitch + • Management: Open Stack or Open Nebula • More efficient load balancing • Finish implementation of tagging • Scaling • GUI to show scaling as it happens • Receive SNMP messages from applications & middleboxes
SDN Dev Group Week 4 • Preparation • Skim Floodlight documentationhttp://floodlight.openflowhub.org/developing-floodlight/http://www.openflowhub.org/display/floodlightcontroller/For+Developers • Create high-level design for SDN application • Meeting topics • Present high-level design for SDN application