SDN Dev Group, Week 3 Aaron GemberAditya Akella University of Wisconsin-Madison 1 Floodlight...
-
Upload
miranda-foster -
Category
Documents
-
view
217 -
download
0
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.](https://reader036.fdocuments.net/reader036/viewer/2022062408/56649e9e5503460f94ba039c/html5/thumbnails/1.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062408/56649e9e5503460f94ba039c/html5/thumbnails/2.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062408/56649e9e5503460f94ba039c/html5/thumbnails/3.jpg)
3
Controller
![Page 4: SDN Dev Group, Week 3 Aaron GemberAditya Akella University of Wisconsin-Madison 1 Floodlight Controller; Application Wishlist.](https://reader036.fdocuments.net/reader036/viewer/2022062408/56649e9e5503460f94ba039c/html5/thumbnails/4.jpg)
4
Floodlight Architecture
![Page 5: SDN Dev Group, Week 3 Aaron GemberAditya Akella University of Wisconsin-Madison 1 Floodlight Controller; Application Wishlist.](https://reader036.fdocuments.net/reader036/viewer/2022062408/56649e9e5503460f94ba039c/html5/thumbnails/5.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062408/56649e9e5503460f94ba039c/html5/thumbnails/6.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062408/56649e9e5503460f94ba039c/html5/thumbnails/7.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062408/56649e9e5503460f94ba039c/html5/thumbnails/8.jpg)
8
ApplicationWishlist
![Page 9: SDN Dev Group, Week 3 Aaron GemberAditya Akella University of Wisconsin-Madison 1 Floodlight Controller; Application Wishlist.](https://reader036.fdocuments.net/reader036/viewer/2022062408/56649e9e5503460f94ba039c/html5/thumbnails/9.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062408/56649e9e5503460f94ba039c/html5/thumbnails/10.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062408/56649e9e5503460f94ba039c/html5/thumbnails/11.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062408/56649e9e5503460f94ba039c/html5/thumbnails/12.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062408/56649e9e5503460f94ba039c/html5/thumbnails/13.jpg)
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