sdns: hot topics, evolution & research opportunities
TRANSCRIPT
SDNs: hot topics, evolution & research opportunities
Diego Kreutz [email protected]
LASIGE - Large-Scale Informatics Systems Laboratory FCUL - Faculty of Sciences of University of Lisbon
2!NavTalks, October, 2012!
Roadmap
1. HotSDN & HotNets hot topics
2. SDNs: evolution & improvements
3. On SDN controllers
4. Final notes & pointers
3!NavTalks, October, 2012!
Roadmap
1. HotSDN & HotNets hot topics
2. SDNs: evolution & improvements
3. On SDN controllers
4. Final notes & pointers
4!NavTalks, October, 2012!
HotSDN & HotNets 2012 (hot topics & open research/engineering)
Ø Troble Shooting and Debugging Ø Delivering assured SDNs § Make sure they work correctly
Ø Look more at operators practices Ø Think more about OpenFlow-like protocols Ø High level abstractions to put intelligence
into the network Ø OpenFlow-based WANs are becoming a
reality
5!NavTalks, October, 2012!
HotSDN & HotNets 2012 (hot topics & open research/engineering)
Ø Seriously engineering (e.g. performance) Ø Improve SDNs with things from security and
reliability areas Ø Reduce the gap between research and
practical stuff Ø Think again (“call to arms”)! SDNs are not
yet there. § We are only on chapter 1. There are at least 9
more chapters to go.
6!NavTalks, October, 2012!
HotSDN & HotNets 2012 (examples of papers/ideas)
Paper: Where is the Debugger for my Software-Defined Network? Ø Faced problem: debug the network while
developing an in-network load balancer § Bug 1: no match rule in the middle of the network § Bug 2: servers at wrong location § Bug 3: servers that do not connect to clients
Ø Solution: ndb (similar to gdb) § Allow online debugging § Use small postcards to reconstruct and debug § First primitives: breakpoint and backtrace
7!NavTalks, October, 2012!
HotSDN & HotNets 2012 (examples of papers/ideas)
Paper: Hey, You Darned Counters! Get Off My ASIC! Ø Faced problem: counters are a big issue in
hardware design and development § It is not easy and cheap to put specific counters inside
ASICs § OpenFlow has many counters (per flow/rule: received
packets, received bytes, duration, …) Ø Solution: Software-Defined Counters (SDCs)
§ Use off-the-shelf CPUs § Let the software/CPUs deal with the counters § End up with: flexibility, scalability and less hw costs
8!NavTalks, October, 2012!
HotSDN & HotNets 2012 (examples of papers/ideas)
Paper: Programming Your Network at Run-time for Big Data Applications Ø Problem: waste of networking resources
§ Applications are not optimized for the network § The network is not optimized for the applications
Ø Solution: NaaS for specific applications (e.g. Hadoop) inside datacenters § Goal: optimize app performance and net utilization § Applications can request resources § Applications can drive the network use § Routing is done based on each app’s requirements
9!NavTalks, October, 2012!
HotSDN & HotNets 2012 (examples of papers/ideas)
Paper: Towards Programmable Enterprise WLANs with Odin Ø Problem: association decisions are made by
clients and not the infrastructure § Handoffs are expensive § Things such as load distribution are yet not feasible
Ø Solution: light virtual APs (LVAP) with Odin § Framework do empower network operators
v No changes on 802.11 standard v One LVAP abstraction per client (unique BSSID) v For the app, a user is attached to an “Ethernet port”
§ Applications: seamless mobility, load balancing, … v Re-association is done by the management software
10!NavTalks, October, 2012!
HotSDN & HotNets 2012 (towards future Internet architectures)
Papers:
Ø Fabric: A Retrospective on Evolving SDN § Borrowing ideas from MPLS (simple cores/data planes) § Separation: fabric and edge elements § Two OpenFlows? One for edge and one for core/fabric?
Ø Software-Defined Internet Architecture: Decoupling Architecture from Infrastructure § Key elements: MPLS, SDNs, Middleboxes, Software Forwarding § Core routers/backbones: any technology (Fabric-like) § Edge routers: Software-Defined Routers (SDRs?)
v Software-based forwarding and control (e.g. OpenFlow)
11!NavTalks, October, 2012!
Roadmap
1. HotSDN and HotNets hot topics
2. SDNs: evolution & improvements
3. On SDN controllers
4. Final notes & pointers
12!NavTalks, October, 2012!
SDNs: evolution (from LANs to end user NaaS)
1. LANs: Ethane - Taking Control of the Enterprise 2. WANs (Wi-Fi): Towards Programmable Enterprise WLANs With Odin 3. WANs: Inter-Datacenter WAN with centralized TE using SDN and OpenFlow 4. Backbones: Fabric: A Retrospective on Evolving SDN 5. Internet architecture: Software-Defined Internet Architecture:
Decoupling Architecture from Infrastructure 6. Cellular Networks: Toward Software-Defined Cellular Networks
7. xDSL (and related) Networks: ??? 8. NaaS (LAN): Programming Your Network at Run-time for Big Data
Applications 9. NaaS (WAN/LAN): ???
13!NavTalks, October, 2012!
SDNs: evolution
14!NavTalks 2012!
SDNs: evolution (on future NaaS to end users)
MPLS GMPLS
Optical (L1)
SaaS Users
PaaS Users
IaaS Users
SaaS Provider
IaaS Provider
Content Provider
PaaS Provider
Wireless
Broadband
15!NavTalks 2012!
SDNs: improvements (scalability: from 30K to 1M flows/s)
Challenge: 100 edge switches = 10M flows/s Ø Original NOX: 30K flows/s Ø Maestro: 300K & 600K flows/s
§ Scales linearly (?) with the number of machines v 10M / 300K = 34 Maestro instances
Ø NOX-MT: 1M flows/s § 1.8M flows/s for 32/64 edge switches (105 MACs/switch) § 1.0M flows/s for 256 edge switches
v 10M / 1M = 10 NOX-MT instances
Ø Kandoo: ? flows/s § Two-layers of controllers (local and root) § Can easily scale to N (?) on-demand edge switches
16!NavTalks 2012!
SDNs: improvements (scalability: from 30K to 1M flows/s)
Challenge: 100 edge switches = 10M flows/s Ø Original NOX: 30K flows/s Ø Maestro: 300K & 600K flows/s
§ Scales linearly (?) with the number of machines v 10M / 300K = 34 Maestro instances
Ø NOX-MT: 1M flows/s § 1.8M flows/s for 32/64 edge switches (105 MACs/switch) § 1.0M flows/s for 256 edge switches
v 10M / 1M = 10 NOX-MT instances
Ø Kandoo: ? flows/s § Two-layers of controllers (local and root) § Can easily scale to N (?) on-demand edge switches
17!NavTalks 2012!
SDNs: improvements (scalability: fighting with the counters)
Ø DevoFlow § Reduce control traffic (updates of counters)
Ø Software-Defined Counters (SDCs) § Solve the counters’ ASIC design problem
Ø DIFANE § Reduce control overhead (counters)
Ø Software-Defined Cell Networks (SDCNs?) § Reduce control overhead (counters) § Use specific TCAMs/tables for DPI
Ø Kandoo § Scalable controllers (reduce the monitoring overhead)
18!NavTalks 2012!
SDNs: improvements (scalability: fighting with the counters)
Ø DevoFlow § Reduce control traffic (updates of counters)
Ø Software-Defined Counters (SDCs) § Solve the counters’ ASIC design problem
Ø DIFANE § Reduce control overhead (counters)
Ø Software-Defined Cell Networks (SDCNs?) § Reduce control overhead (counters) § Use specific TCAMs/tables for DPI
Ø Kandoo § Scalable controllers (reduce the monitoring overhead)
19!NavTalks 2012!
Roadmap
1. HotSDN and HotNets hot topics
2. SDNs: evolution & improvements
3. On SDN controllers
4. Final notes & pointers
20!NavTalks 2012!
On SDN controllers (the OpenFlow example)
… … … …
Data plane tier
Controller tier
Application tier
Controller (Server Software) Controller (Server Software)
21!NavTalks 2012!
On SDN controllers (software is now king: take care of it)
… … … …
Controller (Server Software) Controller (Server Software)
Challenge: modular,
updatable and secure software
Challenges: modular, hot-
updatable and secure software
Challenges: modular, hot-updatable, secure and
reliable software
22!NavTalks 2012!
On SDN controllers (inside a controller)
Raw-Packet Task
Queue
Input Stage
Output Stage
Discovery Intradomain
Routing Routing
Table
Authenti-cation
Route Flow
Periodic Timer Discovery
Updates Topology Changes
LLDP Packets
Flow Requests
Flow Requests
Config Msgs
LLDP Packets Triggers
Controller (Server Software)
23!NavTalks 2012!
On SDN controllers (simple app/policies using NOX with FML)
FML (Flow-based Management Language) Basic format: allow(Us, Hs, As, Ut, Ht, At, Prot, Req) <= … Policy P3
allow(Flow) <= Prot = arp allow(Flow) <= Prot = dhcp allow(Flow) <= Ht = auth_server ^ Prot = http
allow(Flow) <= Hs = auth_server ^ Prot = http
Policy P2 httpRedirect(Flow, 307, auth_server) <= Us = unknown ^ Prot = http
Policy P1 deny(Flow) <= Us = unknown
Deny all flows from non-
authenticated users
24!NavTalks 2012!
On SDN controllers
SDN Controller
Interdomain routing Quagga => RouteFlow
25!NavTalks 2012!
On SDN controllers (challenges)
Ø Secure & Resilient Controllers
Ø Examples of open issues § Distributed controllers (e.g. Onix, HyperFlow)
v Only weak data consistency v Only crash faults are tolerated
§ Centralized controllers (e.g. NOX, Foodlight, Beacon, Maestro) v Single points of failure
§ Common issues (lack of) v Assured strong data and operation integrity v Support for tolerating Byzantine behavior
26!NavTalks 2012!
Ø Redundancy § e.g. controller clusters (e.g. Onix)
Ø Efficient fail-over mechanisms Ø Distribution taking into consideration: § Strong data consistency mechanisms § Techniques for strong mutual authentication,
integrity and confidentiality Ø Fault and Intrusion Tolerant (FIT)
Controllers Ø …
On SDN controllers (things to do/evaluate/improve)
27!NavTalks 2012!
Roadmap
1. HotSDN and HotNets hot topics
2. SDNs: evolution & improvements
3. On SDN controllers
4. Final notes & pointers
28!NavTalks 2012!
Controllers out there (ready to use tools)
Name Lang Platforms License Link
NOX C++/Python Linux GPL http://www.noxrepo.org/
Floodlight Java Any Apache http://floodlight.openflowhub.org/
Maestro Java Win, Linux, Mac LGPL http://code.google.com/p/maestro-
platform/
Beacon Java Linux, Mac, Win
GPL & FOSS
http://openflow.stanford.edu/display/Beacon
Trema C/Ruby Linux GPL2 http://trema.github.com/trema/
NodeFlow JavaScript http://garyberger.net/?p=537
RouteFlow Linux Apache https://sites.google.com/site/routeflow/
FlowVisor Java https://openflow.stanford.edu/display/DOCS/Flowvisor
See more examples at http://yuba.stanford.edu/~casado/of-sw.html
29!NavTalks 2012!
Ø Flexibility is the main turn key in SDNs Ø Scalability/performance issues are solvable
§ Ongoing and future engineering & research tasks Ø Software is the king!
§ Going back to software-based forwarding § Network virtualization is going wild
Ø Keep it simple! Decoupling infra from arch. § Very simple and efficient data planes (ASICs, …) § Very simple abstractions (designs & programming) § Advanced control planes & software apps
Final Notes (try to keep in mind)
30!NavTalks 2012!
Ø ONRC Reseach (Stanford, Berkeley, ON.LAB) § http://onrc.stanford.edu/research.html
Ø SDNCentral § http://www.sdncentral.com/
Ø Conferences & Workshops § Hot-Nets, Hot-SDN, Hot-ICE, … § SIGCOMM, Usenix NSDI, …
Ø Some tech stuff § OpenFlow: http://www.openflow.org/ § OpenvSwitch: http://openvswitch.org/ § …
Some pointers (cool projects, publications & tech stuff)