Software Defined Networking COMS 6998-8, Fall 2013 Instructor: Li Erran Li 6998-8SDNFall2013/

Slides:



Advertisements
Similar presentations
SDN Controller Challenges
Advertisements

Software-defined networking: Change is hard Ratul Mahajan with Chi-Yao Hong, Rohan Gandhi, Xin Jin, Harry Liu, Vijay Gill, Srikanth Kandula, Mohan Nanduri,
Logically Centralized Control Class 2. Types of Networks ISP Networks – Entity only owns the switches – Throughput: 100GB-10TB – Heterogeneous devices:
VCRIB: Virtual Cloud Rule Information Base Masoud Moshref, Minlan Yu, Abhishek Sharma, Ramesh Govindan HotCloud 2012.
CloudWatcher: Network Security Monitoring Using OpenFlow in Dynamic Cloud Networks or: How to Provide Security Monitoring as a Service in Clouds? Seungwon.
Nanxi Kang Princeton University
Programmable Measurement Architecture for Data Centers Minlan Yu University of Southern California 1.
OpenSketch Slides courtesy of Minlan Yu 1. Management = Measurement + Control Traffic engineering – Identify large traffic aggregates, traffic changes.
An Overview of Software-Defined Network Presenter: Xitao Wen.
INTRODUCTION Frequent and resource-exhaustive events, such as flow arrivals and network-wide statistics collection events, stress the control plane and.
OpenFlow-Based Server Load Balancing GoneWild
SDN and Openflow.
Towards Virtual Routers as a Service 6th GI/ITG KuVS Workshop on “Future Internet” November 22, 2010 Hannover Zdravko Bozakov.
Scalable Network Virtualization in Software-Defined Networks
Scalable Flow-Based Networking with DIFANE 1 Minlan Yu Princeton University Joint work with Mike Freedman, Jennifer Rexford and Jia Wang.
Flowspace revisited OpenFlow Basics Flow Table Entries Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot L4 sport L4 dport Rule Action.
Web Caching Schemes1 A Survey of Web Caching Schemes for the Internet Jia Wang.
Internet Indirection Infrastructure Ion Stoica UC Berkeley.
Shivkumar KalyanaramanRensselaer Q1-1 ECSE-6600: Internet Protocols Quiz 1 Time: 60 min (strictly enforced) Points: 50 YOUR NAME: Be brief, but DO NOT.
An Overview of Software-Defined Network
ProActive Routing In Scalable Data Centers with PARIS Joint work with Dushyant Arora + and Jennifer Rexford* + Arista Networks *Princeton University Theophilus.
SDN Scalability Issues
Scalable Management of Enterprise and Data Center Networks Minlan Yu Princeton University 1.
Hash, Don’t Cache: Fast Packet Forwarding for Enterprise Edge Routers Minlan Yu Princeton University Joint work with Jennifer.
Microsoft Virtual Academy Module 4 Creating and Configuring Virtual Machine Networks.
OpenFlow Switch Limitations. Background: Current Applications Traffic Engineering application (performance) – Fine grained rules and short time scales.
An Overview of Software-Defined Network Presenter: Xitao Wen.
Not All Microseconds are Equal: Fine-Grained Per-Flow Measurements with Reference Latency Interpolation Myungjin Lee †, Nick Duffield‡, Ramana Rao Kompella†
Computer Networks Layering and Routing Dina Katabi
Cellular Core Network Architecture
Enabling Innovation Inside the Network Jennifer Rexford Princeton University
OpenFlow-Based Server Load Balancing GoneWild Author : Richard Wang, Dana Butnariu, Jennifer Rexford Publisher : Hot-ICE'11 Proceedings of the 11th USENIX.
ECE 526 – Network Processing Systems Design Network Processor Architecture and Scalability Chapter 13,14: D. E. Comer.
Software-Defined Networks Jennifer Rexford Princeton University.
Software Defined Networking COMS , Fall 2014
Measuring Control Plane Latency in SDN-enabled Switches Keqiang He, Junaid Khalid, Aaron Gember-Jacobson, Sourav Das, Chaithan Prakash, Aditya Akella,
Fast Crash Recovery in RAMCloud. Motivation The role of DRAM has been increasing – Facebook used 150TB of DRAM For 200TB of disk storage However, there.
SDN AND OPENFLOW SPECIFICATION SPEAKER: HSUAN-LING WENG DATE: 2014/11/18.
Programming Languages for Software Defined Networks Jennifer Rexford and David Walker Princeton University Joint work with the.
SDN and Openflow. Motivation Since the invention of the Internet, we find many innovative ways to use the Internet – Google, Facebook, Cloud computing,
SDN Management Layer DESIGN REQUIREMENTS AND FUTURE DIRECTION NO OF SLIDES : 26 1.
High-Speed Policy-Based Packet Forwarding Using Efficient Multi-dimensional Range Matching Lakshman and Stiliadis ACM SIGCOMM 98.
1 | © 2015 Infinera Open SDN in Metro P-OTS Networks Sten Nordell CTO Metro Business Group
CellSDN: Software-Defined Cellular Core networks Xin Jin Princeton University Joint work with Li Erran Li, Laurent Vanbever, and Jennifer Rexford.
Improving Network Management with Software Defined Network Group 5 : z Xuling Wu z Haipeng Jiang z Sichen Wu z Aparna Sanil.
SIMPLE-fying Middlebox Policy Enforcement Using SDN
Shadow MACs: Scalable Label- switching for Commodity Ethernet Author: Kanak Agarwal, John Carter, Eric Rozner and Colin Dixon Publisher: HotSDN 2014 Presenter:
CSci8211: SDN Controller Design 1 Overview of SDN Controller Design  SDN Re-cap  SDN Controller Design: Case Studies  NOX Next Week:  ONIX  ONOS 
Basics of the Domain Name System (DNS) By : AMMY- DRISS Mohamed Amine KADDARI Zakaria MAHMOUDI Soufiane Oujda Med I University National College of Applied.
Coping with Link Failures in Centralized Control Plane Architecture Maulik Desai, Thyagarajan Nandagopal.
SDN controllers App Network elements has two components: OpenFlow client, forwarding hardware with flow tables. The SDN controller must implement the network.
Xin Li, Chen Qian University of Kentucky
SDN challenges Deployment challenges
CIS 700-5: The Design and Implementation of Cloud Networks
SDN controller scalability issue
Software defined networking: Experimental research on QoS
15-744: Computer Networking
ETHANE: TAKING CONTROL OF THE ENTERPRISE
Revisiting Ethernet: Plug-and-play made scalable and efficient
NOX: Towards an Operating System for Networks
Overview of SDN Controller Design
of Dynamic NFV-Policies
CS 31006: Computer Networks – The Routers
Software Defined Networking (SDN)
SoftRing: Taming the Reactive Model for Software Defined Networks
Implementing an OpenFlow Switch on the NetFPGA platform
Programmable Networks
Computer Networks Protocols
Control-Data Plane Separation
Chapter 4: outline 4.1 Overview of Network layer data plane
Presentation transcript:

Software Defined Networking COMS , Fall 2013 Instructor: Li Erran Li SDNFall2013/ 9/17/2013: SDN Scalability

Outline Juniper & Comcast SDN competition Homework 1 Review of previous lecture SDN scalability – Scale controller Flat structure multiple controllers [ONIX, OSDI’10] Recursive controller design [Xbar, ONS,13] Hierarchical controller design [Kandoo, HotSDN’12] – Offload to switch Offload to switch control plane [Diffane, SIGCOMM’10] Offload of switch data plane [DevoFlow, SIGCOMM’11] Software Defined Networking (COMS ) 9/17/132

Home Work 1 IFloodlight- Module External Application REST Software Defined Networking (COMS ) There is a learning switch module and a firewall module in Floodlight Implement IFloodlightModule, IOFMessageListener Need to process OpenFlow messages – PacketIn: switch generates PacketIn message for first packet of a flow – PacketOut: used by controller to send a packet through data plane – FlowMod: used by controller to modify flow table entries (add/delete/modify) – FlowRemoved: used by switch to notify controller about flow entry time out 3

Review of Previous Lecture What is the definition of SDN? – The separation of control plane from data plane – A specific SDN: configuration, distribution and forwarding abstraction What is the API between control plane and data plane? – OpenFlow protocol Software Defined Networking (COMS ) 9/17/134

Review of Previous Lecture (Cont’d) Which is the configuration and management protocol? – OF-CONFIG Why does OF-CONFIG do? – Bootstrap OpenFlow network, e.g. configure switches to connect to controllers – Allocate resources within switches, e.g. ports, queues Software Defined Networking (COMS ) 9/17/135

Outline SDN scalability – Scale controller Flat structure multiple controllers [ONIX, OSDI’10] Recursive controller design [Xbar, ONS,13] Hierarchical controller design [Kandoo, HotSDN’12] – Offload to switch Offload to switch control plane [Diffane, SIGCOMM’10] Offload of switch data plane [DevoFlow, SIGCOMM’11] Software Defined Networking (COMS ) 9/17/136

Scalability issues Control Plane Data Plane Frequent events stress the control plane. Stress the control channels. Stress controller’s resources. 9/17/13 Software Defined Networking (COMS ) 7 Source: Soheil Hassas Yeganeh

Solution Space Distributed Controllers : Data Plane Extensions : Control Plane Consider this as an intrinsic limitation. Onix, Devolved Controllers,... Delegate more responsibilities to the data plane. DIFANE, DevoFlow,... Control Plane Data Plane Control Plane Data Plane 9/17/13 Software Defined Networking (COMS ) 8 Source: Soheil Hassas Yeganeh

Solution Space (Cont’d) Control Plane Data Plane Control Plane Data Plane Still, high control channel consumption. Need to modify the data plane. Comes at the cost of visibility. 9/17/13 Software Defined Networking (COMS ) 9 Source: Soheil Hassas Yeganeh

Overheads: Flow Setup Switch w/ finite BW between data / control plane, i.e. overheads between ASIC and CPU Setup capability: 275~300 flows/sec In data center: mean interarrival 30 ms Rack w/ 40 servers  1300 flows/sec 9/17/13 Software Defined Networking (COMS ) 10

Overheads: Flow Setup Experiment: a single switch 9/17/13 Software Defined Networking (COMS ) 11

Overheads: Flow Setup ASIC switching rate Latency: 5  s 9/17/13 Software Defined Networking (COMS ) 12

Overheads: Flow Setup ASIC  CPU Latency: 0.5 ms 9/17/13 Software Defined Networking (COMS ) 13

Overheads: Flow Setup CPU  Controller Latency: 2 ms A huge waste of resources! 9/17/13 Software Defined Networking (COMS ) 14

Overheads: Gathering Statistics [30] most longest-lived flows: only a few sec Counters: (pkts, bytes, duration) Push-based: to controller when flow ends Pull-based: fetch actively by controller 88F bytes for F flows In 5406zl switch: Entries:1.5K wildcard match/13K exact match  total 1.3 MB, 2 fetches/sec, 17 Mbps  Not fast enough! Consumes a lot of BW! [30] S. Kandula, S. Sengupta, A. Greenberg, and P. Patel. The Nature of Datacenter Trac: Measurements & Analysis. In Proc. IMC, /17/13 Software Defined Networking (COMS ) 15

2.5 sec to pull 13K entries 1 sec to pull 5,600 entries 0.5 sec to pull 3,200 entries Overheads: Gathering Statistics 9/17/13 Software Defined Networking (COMS ) 16

Overheads: Gathering Statistics Per-flow setup generates too many entries More the controller fetch  longer Longer to fetch  longer the control loop In Hedera: control loop 5 secs BUT workload too ideal, Pareto distribution Workload in VL2, 5 sec only improves 1~5% over ECMP [41], must be less than 0.5 sec to be better [41] C. Raiciu, C. Pluntke, S. Barre, A. Greenhalgh, D. Wischik, and M. Handley. Data center networking with multipath TCP. In HotNets, /17/13 Software Defined Networking (COMS ) 17

ONIX: Distributed Controller Abstractions: It provides general API for management applications. Basic functionalities: – State distribution primitives between controllers and network elements. – Virtualized network elements 9/17/13 Software Defined Networking (COMS ) 18

Design Requirements Generality: Support a wide range of network management applications Scalability: No inherent limitations due to the platform Reliability: Graceful failure handling Simplicity: Network management applications should become simpler Performance: Sufficient performance 9/17/13 Software Defined Networking (COMS ) 19

Onix Architecture 9/17/13 Software Defined Networking (COMS ) 20

Four components of Onix Physical infrastructure: switches, routers, and other things. Connectivity infrastructure: Channels for control messages. Onix: A distributed system running the controller. Control logic: Network management applications on top of Onix. 9/17/13 Software Defined Networking (COMS ) 21

Onix Abstractions Global View: Observe and control a centralized network view which contains all physical network elements. Flows: The packet and subsequent packets with the same header are treated in the same way. Switch: Event-based operation: The controller operations are triggered by routers or applications. Do you like these abstractions for networking management? Why? 9/17/13 Software Defined Networking (COMS ) 22

Onix API Developers program against a network graph Nodes represent physical network entities Write flow entry List ports Register for updates …… 9/17/13 Software Defined Networking (COMS ) 23

Network Information Base The NIB is the focal point of the system – State for applications to access – External state changes imported into it – Local state changes exported from it 9/17/13 Software Defined Networking (COMS ) 24

Scalability and Reliability A single physical controller will become the bottlenecks: – Memory: to keep NIB – CPU and bandwidth: to process events Solutions: Partitioning and aggregation Now, either performance or consistency will suffer. 9/17/13 Software Defined Networking (COMS ) 25

Scalability/Reliability Requirements Lets the applications decide the preference for durability and consistency. Onix provides two built-in storage options – Replicated transactions (SQL) storage – One-hop memory-based DHT What if there are conflicts? The applications should detect and resolve conflicts. 9/17/13 Software Defined Networking (COMS ) 26

Discussion: Consistency Do we need strong consistency for forwarding state between the controller and routers? Do we need strong consistency for NIB stored in controllers? Can Onix do better than asking applications for consistency preference and resolving conflicts? 9/17/13 Software Defined Networking (COMS ) 27

Scaling: Partitioning Multiple dimensions available to applications: – Onix instances with different computations tasks – Onix instances have only subsets of the NIB – Switches connect to a subset of Onix instances 9/17/13 Software Defined Networking (COMS ) 28

Scaling: aggregation Reduce fidelity of information before disseminating within the cluster 9/17/13 Software Defined Networking (COMS ) 29

Scaling: aggregation Reduce fidelity of information before disseminating within the cluster 9/17/13 Software Defined Networking (COMS ) 30

Reliability Network Element & Link Failures: Applications' responsibility Connectivity Infrastructure Failures: Assumed reliable Onix Failures: Onix provides distributed coordination facilities provided for app failover 9/17/13 Software Defined Networking (COMS ) 31

Summary Onix solves state distribution for developers The designers of management applications still have to understand the scalability implications of their design 9/17/13 Software Defined Networking (COMS ) 32

Outline SDN scalability – Scale controller Flat structure multiple controllers [ONIX, OSDI’10] Recursive controller design [Xbar, ONS,13] Hierarchical controller design [Kandoo, HotSDN’12] – Offload to switch Offload to switch control plane [Diffane, SIGCOMM’10] Offload of switch data plane [DevoFlow, SIGCOMM’11] Software Defined Networking (COMS ) 9/17/1333

Incorporate Recursion into SDN Aggregation/hierarchy/recursion are the proven method for scaling networks Recursive hierarchy is the midway point between centralized and distributed – Looks centralized at any particular level – But introduces points for aggregation, failure domains, etc. 9/17/13 Software Defined Networking (COMS ) 34 Source: Murphy Mccauley

Implementing RSDN Control Logic Controller knows its children and its parent Keeps necessary local state Logic broken up into: – Aggregation functions – transform info from children to local state – Fan-out functions – transform local state to info for children Not a strict requirement 9/17/13 Software Defined Networking (COMS ) 35 Source: Murphy Mccauley

Example: Logical xBars (LXBs) Specific RSDN control logic that supports a recursive programmable switch abstraction Each controller looks like switch to its parent – Transforms table entries from parent to children (more abstract → more specific) – Uses label versioning to support transactional changes at each level 9/17/13 Software Defined Networking (COMS ) 36 Source: Murphy Mccauley

LXBs: Handling Failures 9/17/13 Software Defined Networking (COMS ) 37 Source: Murphy Mccauley

LXBs: Handling Failures 9/17/13 Software Defined Networking (COMS ) 38 Source: Murphy Mccauley

LXBs: Handling Failures 9/17/13 Software Defined Networking (COMS ) 39 Source: Murphy Mccauley

LXBs: Handling Failures State Config 9/17/13 Software Defined Networking (COMS ) 40 Source: Murphy Mccauley

LXBs: Some Questions How good is LXB-based failure localization? How optimal are LXB-based paths? How do you optimally divide network into hierarchical subgraphs (e.g., LXBs)? – We don’t! – Not even for evaluation (we use naïve clustering) 9/17/13 Software Defined Networking (COMS ) 41 Source: Murphy Mccauley

Summary Single mechanism for entire control plane: – Hopefully true even across technologies (we have mostly been thinking about copper) Standard benefits of hierarchy: – Failures localized, churn is contained – Maps to organizational boundaries – Stacks arbitrarily high to meet needs 9/17/13 Software Defined Networking (COMS ) 42 Source: Murphy Mccauley

Next Steps Mapping to provider network topologies Addressing regulatory boundaries Multitechnology issues (e.g., copper, fiber, wireless) … ? 9/17/13 Software Defined Networking (COMS ) 43 Source: Murphy Mccauley

Outline SDN scalability – Scale controller Flat structure multiple controllers [ONIX, OSDI’10] Recursive controller design [Xbar, ONS,13] Hierarchical controller design [Kandoo, HotSDN’12] – Offload to switch Offload to switch control plane [Diffane, SIGCOMM’10] Offload of switch data plane [DevoFlow, SIGCOMM’11] Software Defined Networking (COMS ) 9/17/1344

Kandoo: The IDEA OFFLOADING LOCAL CONTROL APPS TO LOCAL RESOURCES. Applications that do not need the network-wide state. Resources close to switches. 9/17/13 Software Defined Networking (COMS ) 45 Source: Soheil Hassas Yeganeh

But, there are many apps that are local in scope: Applications that require only local switch state. Local Apps An assumption in distributed controllers: –All control apps require the network-wide state. Controller App Switch Switches Local App Switch Local App Switch 9/17/13 Software Defined Networking (COMS ) 46 Source: Soheil Hassas Yeganeh

Local applications : Learning Switch Local Policy Enforcer Link Discovery Local components in control applications : Elephant Flow Detection in an Elephant Flow Rerouting application. Local apps. Local apps have implicit parallelism. Local App Switch Local App Switch Local App Switch Local App Switch 9/17/13 Software Defined Networking (COMS ) 47 Source: Soheil Hassas Yeganeh

End-Host Local Resources Switch Programmable Switch On the same hosts running software switches. Inside programmable switches. We can offload local apps to computing resources next to switches. Local App Soft. Switch End-Host Hosts close to switches. Local App Switch Local App 9/17/13 Software Defined Networking (COMS ) 48 Source: Soheil Hassas Yeganeh

Kandoo Two layers of controllers: –A logically centralized Root Controller. –Local Controllers. Local controllers run local apps. The root controller runs non-local apps. Local controllers shield the root controller. Lightweight and easy to implement. 9/17/13 Software Defined Networking (COMS ) 49 Source: Soheil Hassas Yeganeh

An Example: Elephant flow rerouteing. 9/17/13 Software Defined Networking (COMS ) 50 Source: Soheil Hassas Yeganeh

An Example: Elephant flow rerouteing. Application-specific events. Kandoo’s event channels. Scales linearly with the number of switches. 9/17/13 Software Defined Networking (COMS ) 51 Source: Soheil Hassas Yeganeh

Future directions A Generalized Hierarchy –Filling the gap between local and non-local apps –Finding the right scope is quite challenging 9/17/13 Software Defined Networking (COMS ) 52 Source: Soheil Hassas Yeganeh

Outline SDN scalability – Scale controller Flat structure multiple controllers [ONIX, OSDI’10] Recursive controller design [Xbar, ONS,13] Hierarchical controller design [Kandoo, HotSDN’12] – Offload to switch Offload to switch control plane [Diffane, SIGCOMM’10] Offload of switch data plane [DevoFlow, SIGCOMM’11] Software Defined Networking (COMS ) 9/17/1353

What’s DIFANE? Traditional enterprise – Hard to manage – Limited policies – Distributed Flow-based networking – Easy to manage – Support fine-grained policy – Scalability remains a challenge DIFANE: A scalable way to apply fine-grained policies in enterprises DIFANE: A scalable way to apply fine-grained policies in enterprises 9/17/13 Software Defined Networking (COMS ) 54 Source: Minlan Yu

HTTP Access control – Drop packets from malicious hosts Customized routing – Direct Skype calls on a low-latency path Measurement – Collect detailed HTTP traffic statistics Flexible Policies in Enterprises HTTP 9/17/13 Software Defined Networking (COMS ) 55 Source: Minlan Yu

Flow-based Switches Install rules in flow-based switches – Store rules in high speed memory (TCAM) Perform simple actions based on rules – Rules: Match on bits in the packet header – Actions: Drop, forward, count drop forward via link 1 Flow space src. dst. 9/17/13 Software Defined Networking (COMS ) 56 Source: Minlan Yu

Challenges of Policy-Based Management Policy-based network management – Specify high-level policies in a management system – Enforce low-level rules in the switches Challenges – Large number of hosts, switches and policies – Limited TCAM space in switches – Support host mobility – No hardware changes to commodity switches 9/17/13 Software Defined Networking (COMS ) 57 Source: Minlan Yu

Pre-install Rules in Switches Packets hit the rules Forward Problems: – No host mobility support – Switches do not have enough memory Pre-install rules Controller 9/17/13 Software Defined Networking (COMS ) 58 Source: Minlan Yu

Install Rules on Demand (Ethane, NOX) First packet misses the rules Buffer and send packet header to the controller Install rules Forward Controller Problems: – Delay of going through the controller – Switch complexity – Misbehaving hosts 9/17/13 Software Defined Networking (COMS ) 59 Source: Minlan Yu

DIFANE Architecture (two stages) DIstributed Flow Architecture for Networked Enterprises 9/17/13 Software Defined Networking (COMS ) 60

Stage 1 The controller proactively generates the rules and distributes them to authority switches. 9/17/13 Software Defined Networking (COMS ) 61 Source: Minlan Yu

Partition and Distribute the Flow Rules Ingress Switch Egress Switch Distribute partition information Authority Switch A AuthoritySwitch B Authority Switch C reject accept Flow space Controller Authority Switch A Authority Switch B Authority Switch C 9/17/13 Software Defined Networking (COMS ) 62 Source: Minlan Yu

Stage 2 The authority switches keep packets always in the data plane and reactively cache rules. 9/17/13 Software Defined Networking (COMS ) 63 Source: Minlan Yu

Following packets Packet Redirection and Rule Caching Ingress Switch Authority Switch Egress Switch First packet Redirect Forward Feedback: Cache rules Hit cached rules and forward A slightly longer path in the data plane is faster than going through the control plane 9/17/13 Software Defined Networking (COMS ) 64 Source: Minlan Yu

Locate Authority Switches Partition information in ingress switches – Using a small set of coarse-grained wildcard rules – … to locate the authority switch for each packet Distributed directory service but not DHT – Hashing does not work for wildcards – Keys can have wildcards in arbitrary bit positions Authority Switch A AuthoritySwitch B Authority Switch C X:0-1 Y:0-3  A X:2-5 Y: 0-1  B X:2-5 Y:2-3  C X:0-1 Y:0-3  A X:2-5 Y: 0-1  B X:2-5 Y:2-3  C 9/17/13 Software Defined Networking (COMS ) 65 Source: Minlan Yu

Following packets Packet Redirection and Rule Caching Ingress Switch Authority Switch Egress Switch First packet Redirect Forward Feedback: Cache rules Hit cached rules and forward 9/17/13 Software Defined Networking (COMS ) 66 Source: Minlan Yu

Three Sets of Rules in TCAM TypePriorityField 1Field 2ActionTimeout Cache Rules 21000**111*Forward to Switch B10 sec **Drop10 sec …………… Authority Rules 11000**001*Forward Trigger cache manager Infinity ***Drop, Trigger cache manager …………… Partition Rules 150***000*Redirect to auth. switch 14… …………… In ingress switches reactively installed by authority switches In ingress switches reactively installed by authority switches In authority switches proactively installed by controller In authority switches proactively installed by controller In every switch proactively installed by controller In every switch proactively installed by controller 9/17/13 Software Defined Networking (COMS ) 67 Source: Minlan Yu

Cache Rules DIFANE Switch Prototype Built with OpenFlow switch Data Plane Control Plane Cache Manager Cache Manager Send Cache Updates Recv Cache Updates Only in Auth. Switches Authority Rules Partition Rules Just software modification for authority switches Notification Cache rules 9/17/1368 Source: Minlan Yu

Caching Wildcard Rules Overlapping wildcard rules – Cannot simply cache matching rules 9/17/1369 Source: Minlan Yu

Caching Wildcard Rules Multiple authority switches – Contain independent sets of rules – Avoid cache conflicts in ingress switch Authoritys witch 1 Authoritys witch 2 9/17/1370 Source: Minlan Yu

Partition Wildcard Rules Partition rules – Minimize the TCAM entries in switches – Decision-tree based rule partition algorithm Cut A Cut BCut B is better than Cut A 9/17/13 Software Defined Networking (COMS ) 71 Source: Minlan Yu

Handling Network Dynamics Network dynamics Cache rules Authority Rules Partition Rules Policy changes at controller TimeoutChange Mostly no change Topology changes at switches No change Change Host mobilityTimeoutNo change 9/17/13 Software Defined Networking (COMS ) 72 Source: Minlan Yu

Summary Controller proactively generates the rules and distributes them to authority switches Authority switches keep packets always in the data plane and ingress switches reactively cache rules Can the switch control plane handle all the events? What if high level policy changes often? What about monitoring overhead? Software Defined Networking (COMS ) 9/17/1373

Outline SDN scalability – Scale controller Flat structure multiple controllers [ONIX, OSDI’10] Recursive controller design [Xbar, ONS,13] Hierarchical controller design [Kandoo, HotSDN’12] – Offload to switch Offload to switch control plane [Diffane, SIGCOMM’10] Offload of switch data plane [DevoFlow, SIGCOMM’11] Software Defined Networking (COMS ) 9/17/1374

Dilemma Control dilemma: – Role of controller: visibility and mgmt capability however, per-flow setup too costly – Flow-match wildcard, hash-based: much less load, but no effective control Statistics-gathering dilemma: – Pull-based mechanism: counters of all flows full visibility but demand high BW – Wildcard counter aggregation: much less entries but lose trace of elephant flows Aim to strike in between 9/17/13 Software Defined Networking (COMS ) 75

Main Concept of DevoFlow Devolving most flow controls to switches Maintain partial visibility Keep trace of significant flows Default v.s. special actions: – Security-sensitive flows: categorically inspect – Normal flows: may evolve or cover other flows become security-sensitive or significant – Significant flows: special attention Collect statistics by sampling, triggering, and approximating 9/17/13 Software Defined Networking (COMS ) 76

Design Principles of DevoFlow Try to stay in data-plane, by default Provide enough visibility: – Esp. for significant flows & sec-sensitive flows – Otherwise, aggregate or approximate statistics Maintain simplicity of switches 9/17/13 Software Defined Networking (COMS ) 77

Mechanisms Control – Rule cloning – Local actions Statistics-gathering – Sampling – Triggers and reports – Approximate counters 9/17/13 Software Defined Networking (COMS ) 78

Rule Cloning ASIC clones a wildcard rule as an exact match rule for new microflows Timeout or output port by probability 9/17/13 Software Defined Networking (COMS ) 79

Rule Cloning ASIC clones a wildcard rule as an exact match rule for new microflows Timeout or output port by probability 9/17/13 Software Defined Networking (COMS ) 80

Rule Cloning ASIC clones a wildcard rule as an exact match rule for new microflows Timeout or output port by probability 9/17/13 Software Defined Networking (COMS ) 81

Local Actions Rapid re-routing: fallback paths predefined  Recover almost immediately Multipath support: based on probability dist. Adjusted by link capacity or loads 9/17/13 Software Defined Networking (COMS ) 82

Statistics-Gathering Sampling – Pkts headers send to controller with1/1000 prob. Triggers and reports – Set a threshold per rule – When exceeds, enable flow setup at controller Approximate counters – Maintain list of top-k largest flows 9/17/13 Software Defined Networking (COMS ) 83

DevoFlow Summary Per-flow control imposes too many overheads Balance between – Overheads and network visibility – Effective traffic engineering / network management Switches with limited resources – Flow entries / control-plane BW – Hardware capability / power consumption 9/17/13 Software Defined Networking (COMS ) 84

Questions? Software Defined Networking (COMS ) 9/17/1385