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

13
SDN Dev Group, Week 3 Aaron Gember Aditya Akella University of Wisconsin- Madison 1 Floodlight Controller; Application Wishlist

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

Page 1: SDN Dev Group, Week 3 Aaron GemberAditya Akella University of Wisconsin-Madison 1 Floodlight Controller; Application Wishlist.

1

SDN Dev Group, Week 3

Aaron Gember Aditya AkellaUniversity of Wisconsin-Madison

Floodlight Controller; Application Wishlist

Page 2: SDN Dev Group, Week 3 Aaron GemberAditya Akella University of Wisconsin-Madison 1 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?

Page 3: SDN Dev Group, Week 3 Aaron GemberAditya Akella University of Wisconsin-Madison 1 Floodlight Controller; Application Wishlist.

3

Controller

Page 4: SDN Dev Group, Week 3 Aaron GemberAditya Akella University of Wisconsin-Madison 1 Floodlight Controller; Application Wishlist.

4

Floodlight Architecture

Page 5: SDN Dev Group, Week 3 Aaron GemberAditya Akella University of Wisconsin-Madison 1 Floodlight Controller; Application Wishlist.

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

Page 6: SDN Dev Group, Week 3 Aaron GemberAditya Akella University of Wisconsin-Madison 1 Floodlight Controller; Application Wishlist.

6

Important Methods

• getName() – Return “<AppName>”

• init()– Initialize data structures– Get hook to main Floodlight service

context.getServiceImpl(IFloodlightProviderService.class);

Page 7: SDN Dev Group, Week 3 Aaron GemberAditya Akella University of Wisconsin-Madison 1 Floodlight Controller; Application Wishlist.

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

Page 8: SDN Dev Group, Week 3 Aaron GemberAditya Akella University of Wisconsin-Madison 1 Floodlight Controller; Application Wishlist.

8

ApplicationWishlist

Page 9: SDN Dev Group, Week 3 Aaron GemberAditya Akella University of Wisconsin-Madison 1 Floodlight Controller; Application Wishlist.

9

Distributed Firewall

VLAN A VLAN B

VLAN C

Internet

Page 10: SDN Dev Group, Week 3 Aaron GemberAditya Akella University of Wisconsin-Madison 1 Floodlight Controller; Application Wishlist.

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

Page 11: SDN Dev Group, Week 3 Aaron GemberAditya Akella University of Wisconsin-Madison 1 Floodlight Controller; Application Wishlist.

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

Page 12: SDN Dev Group, Week 3 Aaron GemberAditya Akella University of Wisconsin-Madison 1 Floodlight Controller; Application Wishlist.

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

Page 13: SDN Dev Group, Week 3 Aaron GemberAditya Akella University of Wisconsin-Madison 1 Floodlight Controller; Application Wishlist.

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