Week 6 Software Defined Networking (SDN): Concepts Acknowledgement: Material for several slides is taken from: The SDN academy, and Stanford’s “clean slate” program
Traditional Network Data plane: forwards packets Control plane: protocols (spanning tree, OSPF, …) Distributed protocols (switches are peers)
Distributed Network Protocols Pros: Resilient to failures Scalable to large networks Cons (complexity): Expensive to manage: protocol experts Hard to troubleshoot: isolating faults Hard to evolve: new protocols require standards Lack of agility is key bottleneck to innovation
How to innovate? Experimenter’s dream – vendor’s nightmare Standard Network Processing User- defined Processing Experimenter writes experimental code on switch/router sw hw The Stanford Clean Slate Program http://cleanslate.stanford.edu
No obvious way Commercial vendor won’t open software and hardware development environment Complexity of support Market protection and barrier to entry Hard to build my own Prototypes are flakey Software only: Too slow Hardware/software: Fanout too small (need >100 ports for wiring closet) The Stanford Clean Slate Program http://cleanslate.stanford.edu
Furthermore, we want… Isolation: Regular production traffic untouched Virtualized and programmable: Different flows processed in different ways Equipment we can trust in our wiring closet Open development environment for all researchers (e.g. Linux, Verilog, etc). Flexible definitions of a flow Individual application traffic Aggregated flows Alternatives to IP running side-by-side … The Stanford Clean Slate Program http://cleanslate.stanford.edu
OpenFlow Switching Controller OpenFlow Switch PC Secure sw Channel OpenFlow Switch specification OpenFlow Switch PC OpenFlow Protocol SSL Secure Channel sw Flow Table hw The Stanford Clean Slate Program http://cleanslate.stanford.edu
SDN: Key Idea Separate the data and control planes
[1] Forwarding abstraction: Flow Table Entry Rule Action Stats Packet + byte counters Forward packet to port(s) Encapsulate and forward to controller Drop packet Send to normal processing pipeline Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot TCP sport TCP dport + mask The Stanford Clean Slate Program http://cleanslate.stanford.edu
[2] Distributed State Abstraction: Global network view
SDN abstractions Scott Shenker’s talk at ONS: https://www.youtube.com/watch?v=YHeyuD89n1Y
OpenFlow Usage Models Experiments at the flow level User-defined routing protocols Admission control Network access control Network management Energy management VOIP mobility and handoff … Experiments at the packet level Slow: Controller handles packet processing Fast: Redirect flows through programmable hardware Modified routers, firewalls, NAT, congestion control… Alternatives to IP Experiment-specific controllers Static or dynamic flow-entries The Stanford Clean Slate Program http://cleanslate.stanford.edu
Example Experiment at the flow level Mobility Lots of interesting questions Management of flows Control of switches Access control of users and devices Tracking user location and motion The Stanford Clean Slate Program http://cleanslate.stanford.edu
Experiments at the packet level Controller PC OpenFlow-enabled Commercial Switch Flow Table Secure Channel Normal Software Datapath Laboratory The Stanford Clean Slate Program http://cleanslate.stanford.edu NetFPGA
Benefits of SDN
Thinking differently about networking
SDN: Platforms (next week) Hardware (switches): HP, Juniper, NEC, Cisco, Extreme, Force10 Brocade, Arista, Ericsson, IBM, Intel, Larch, Pica8 Software (controllers): DC/Cloud: Nicira, Vyatta, Citrix Enterprise: BigSwitch, Pertino(?) SP: Cariden, LineRate Open source: NOX, POX, Floodlight Research opportunities: Scalable / distributed / hierarchical controller ? Programming / policy / debugging ? Security / agility ? Application API ? Migration to SDN ?
UNSW SDN Infrastructure Internet Anchor Controller Wireless clients to SDN testbed Uniwide WiFi Campus Controller VLAN A (mobile) UNSW Wired network DHCP server will use EET address block 149.171.37.0/27 VLAN B (fixed) EET Port 1 SDN testbed in EET Port 4 Port 3 Wired clients to SDN testbed Port 2 Egress 2: back into campus network via EET port Egress 1: via AARNet wavelength from UNSW to CSIRO Internet Exchange Point
AnzSDN: http://www.anzsdn.net/ UQ Traffic generator Exchange point UPS Controller PC SDN switch 1 SDN switch 2 SDN switch 3 Switched rack PDU Console tray Cable mgmt Macquarie Uni UTS SDN rack UNSW CSIRO Marsfield Layer-2 inter-connectivity amongst sites (via AARNet) Adelaide Uni Uni Wollongong RMIT Swinburne Uni ANU SDN rack at each site
SDN use-cases (later in course) Data Center / Cloud services Inter-DC WAN Enterprise networks Service provider WAN Access/home network (NBN) Mobile Networks CDNs