sdn dev group, week 3 aaron gemberaditya akella university of wisconsin-madison 1 floodlight...
TRANSCRIPT
1
SDN Dev Group, Week 3
Aaron Gember Aditya AkellaUniversity of Wisconsin-Madison
Floodlight Controller; Application Wishlist
2
Testbed Experience
WINGSProCurve 5400
thrush lyrebird vulture
wings-openflow-1
Controller
• Controller and application running?• Behaved as expected?• Lessons learned?
3
Controller
4
Floodlight Architecture
5
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
6
Important Methods
• getName() – Return “<AppName>”
• init()– Initialize data structures– Get hook to main Floodlight service
context.getServiceImpl(IFloodlightProviderService.class);
7
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
8
ApplicationWishlist
9
Distributed Firewall
VLAN A VLAN B
VLAN C
Internet
10
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
11
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
12
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
13
SDN Dev Group Week 4
• Preparation– Skim Floodlight documentation
http://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