SDN Dev Group, Week 3 Aaron GemberAditya Akella University of Wisconsin-Madison 1 Floodlight...

Post on 12-Jan-2016

216 views 0 download

Tags:

Transcript of SDN Dev Group, Week 3 Aaron GemberAditya Akella University of Wisconsin-Madison 1 Floodlight...

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