SCALING SOFTWARE DEFINED NETWORKS. Chengyu Fan (edited by Lorenzo De Carli)

Similar documents
SOFTWARE DEFINED NETWORKS. Jonathan Chu Muhammad Salman Malik

Scalable Enterprise Networks with Inexpensive Switches

Software-Defined Networking (SDN) Overview

DevoFlow: Scaling Flow Management for High Performance Networks

Lecture 14 SDN and NFV. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

Languages for SDN (Frenetic)

Lecture 10.1 A real SDN implementation: the Google B4 case. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

Traffic Engineering with Forward Fault Correction

OpenFlow: What s it Good for?

Software Defined Networks and OpenFlow. Courtesy of: AT&T Tech Talks.

Managing and Securing Computer Networks. Guy Leduc. Chapter 2: Software-Defined Networks (SDN) Chapter 2. Chapter goals:

On the Practical Applicability of SDN Research

Scalable Flow-Based Networking with DIFANE

Programmable Software Switches. Lecture 11, Computer Networks (198:552)

DevoFlow: Scaling Flow Management for High-Performance Networks

Web-Based User Interface for the Floodlight SDN Controller

Software Defined Networking(SDN) Wireless application

Advanced Computer Networks. Network Virtualization

Scalable Flow-Based Networking with DIFANE

Stateless Network Functions:

CS-580K/480K Advanced Topics in Cloud Computing. Software-Defined Networking

ONOS: TOWARDS AN OPEN, DISTRIBUTED SDN OS. Chun Yuan Cheng

Taxonomy of SDN. Vara Varavithya 17 January 2018

What is SDN, Current SDN projects and future of SDN VAHID NAZAKTABAR

15-744: Computer Networking. Middleboxes and NFV

Stochastic Pre-Classification for SDN Data Plane Matching

OpenADN: A Case for Open Application Delivery Networking

ANR-13-INFR-013 ANR DISCO

Cisco APIC-EM Components and Architecture, page 3. About the Cisco Application Policy Infrastructure Controller Enterprise Module (APIC-EM), page 1

Interactive Monitoring, Visualization, and Configuration of OpenFlow-Based SDN

Introduction. Network Architecture Requirements of Data Centers in the Cloud Computing Era

A Hybrid Hierarchical Control Plane for Software-Defined Network

IQ for DNA. Interactive Query for Dynamic Network Analytics. Haoyu Song. HUAWEI TECHNOLOGIES Co., Ltd.

CAB: A Reactive Wildcard Rule Caching System for Software-Defined Networks

ETSI FUTURE Network SDN and NFV for Carriers MP Odini HP CMS CT Office April 2013

Building Efficient and Reliable Software-Defined Networks. Naga Katta

Application of SDN: Load Balancing & Traffic Engineering

A Scalable, Commodity Data Center Network Architecture

Software Defined Networking

Professor Yashar Ganjali Department of Computer Science University of Toronto.

CS 4226: Internet Architecture

Introduction to Software-Defined Networking UG3 Computer Communications & Networks (COMN)

Interdomain Routing Design for MobilityFirst

Cisco Wide Area Bonjour Solution Overview

Chapter 5 Network Layer: The Control Plane

IP Forwarding. CSU CS557, Spring 2018 Instructor: Lorenzo De Carli

CS434/534: Topics in Networked (Networking) Systems

Software Defined Networks

SDN SEMINAR 2017 ARCHITECTING A CONTROL PLANE

15-744: Computer Networking. Data Center Networking II

Application Delivery Using Software Defined Networking

Network Layer: The Control Plane

Software Defined Networking

AWS Reference Design Document

Chapter 5 Network Layer: The Control Plane

Cloud 3.0 and Software Defined Networking October 28, Amin Vahdat on behalf of Google Technical Infratructure Google Fellow

Packet Scheduling in Data Centers. Lecture 17, Computer Networks (198:552)

Network Virtualization and Application Delivery Using Software Defined Networking

SDN in Wide-Area Networks

Professor Yashar Ganjali Department of Computer Science University of Toronto

Maximize the Speed and Scalability of Your MuleSoft ESB with Solace

Software-Defined Networking:

Can the Production Network Be the Testbed?

Overview of the Cisco OpenFlow Agent

Lecture 7: Data Center Networks

Service Mesh and Microservices Networking

Pass-Through Technology

CellSDN: Software-Defined Cellular Core networks

Dynamic Graph Query Support for SDN Management. Ramya Raghavendra IBM TJ Watson Research Center

CS 5114 Network Programming Languages Data Plane. Nate Foster Cornell University Spring 2013

The Virtual Machine Aware SAN

OPENFLOW & SOFTWARE DEFINED NETWORKING. Greg Ferro EtherealMind.com and PacketPushers.net

OpenADN: Mobile Apps on Global Clouds Using OpenFlow and SDN

Research on Firewall in Software Defined Network

Dynamic Analytics Extended to all layers Utilizing P4

Lecture 11: Packet forwarding

Carrier SDN for Multilayer Control

National Taiwan University. Software-Defined Networking

Basic Concepts. Network Management. Spring Bahador Bakhshi CE & IT Department, Amirkabir University of Technology

T9: SDN and Flow Management: DevoFlow

"Charting the Course... TSHOOT Troubleshooting and Maintaining Cisco IP Networks Course Summary

Cisco Nexus Data Broker

A Comparison of Performance and Accuracy of Measurement Algorithms in Software

Identity Firewall. About the Identity Firewall

DEPLOYMENT GUIDE Version 1.1. DNS Traffic Management using the BIG-IP Local Traffic Manager

EECS 122: Introduction to Computer Networks Switch and Router Architectures. Today s Lecture

Be Fast, Cheap and in Control with SwitchKV. Xiaozhou Li

Več kot SDN - SDA arhitektura v uporabniških omrežjih

So#ware Defined Networks and OpenFlow

Project Calico v3.2. Overview. Architecture and Key Components. Project Calico provides network security for containers and virtual machine workloads.

OpenFlow Performance Testing

Making Network Functions Software-Defined

Network Virtualization and Application Delivery Using Software Defined Networking

lecture 18: network virtualization platform (NVP) 5590: software defined networking anduo wang, Temple University TTLMAN 401B, R 17:30-20:00

Advanced Computer Networks. RDMA, Network Virtualization

Virtual Security Gateway Overview

OpenADN: Service Chaining of Globally Distributed VNFs

MidoNet Scalability Report

CSC 401 Data and Computer Communications Networks

Project Calico v3.1. Overview. Architecture and Key Components

Transcription:

SCALING SOFTWARE DEFINED NETWORKS Chengyu Fan (edited by Lorenzo De Carli)

Introduction Network management is driven by policy requirements Network Policy Guests must access Internet via web-proxy Web Proxy Switch (Router) Firewall Internet 22

Option1: Command-line Interface (CLI) Vendor-specific, low-level -> misconfiguration Script needs frequent maintenance CLI? (Huawei) Switch# display interface ethernet 1/0/0.1 Ethernet1/0/0.1 current state : UP Line protocol current state : UP Description : HUAWEI, AR Series, Ethernet1/0/0.1 Interface. (Cisco) Switch# show interfaces ethernet 0 Ethernet0 is up, line protocol is up Hardware is Lance, address is 0060.3ef1.702b (bia 0060.3ef1.702b) Internet address is 172.21.102.33/24. 33

Option 2: Simple Network Management Protocol (SNMP)! A framework that provides facilities for managing or monitoring network devices in IP networks Query/Set provided variables in devices SNMP Agent TCPIP Subagent 1.3.6.1.2.1.6.9.0 = 239 Managed device Get 1.3.6.1.2.1.6.9.0 239 SNMP Manager What is tcpcurrestab?! Takeaway: limited capabilities (e.g. cannot forward packet to manager) 4

Network Management is Challenging Current networks don t have good management approaches! CLI: vendor-specific, low-level! SNMP: limited capabilities! Third party management tools: bind to software vendor Today s management requires! Easy configuration, fine-grained control, and react to continually changing network conditions timely Traditional approaches cannot satisfy today s management requirements 5 5

What Is the Root Cause for the Complex Network Management? Control plane has no good abstractions! Okay for a single device, not good for the whole network! No modularity and no standard way of defining forwarding state Decide how to handle packets (routing, isolation, traffic engineering et al.) Control Plane Simple packet processing Control Plane Data Plane Data Plane Control Plane Control Plane Data Plane Data Plane Control Plane Data Plane 6

Software Defined Networking (SDN) Architecture A network architecture where network control is decoupled from forwarding and is directly programmable Application Layer Business Applications API API Control Layer (Controller) API SDN Control Software Network Service Control Plane OF agent Data Plane Infrastructure Layer OpenFlow (OF) OF switch 7

Programmable Control Plane Controller Network Services SDN control software Events from switches Topology changes Traffic statistics Arriving packets Commands to switches (un)install rules Query statistics Send packets [1] OpenFlow: enabling innovation in campus networks. (SigComm CCR 08) 8

Standard SDN Workflow Network Policy Guests must access Interest via web-proxy Guest User Forward through Web Proxy Controller Web Proxy Firewall Internet [2] Rethinking Enterprise Network Control, TON 09 9

Summary of SDN Decouple control plane and data plane! The software control of the network can evolve independently of the hardware Logically centralized network control! Network-wide view, more deterministic, more efficient 10

A SDN Use Case Google inter-datacenters WAN (B4) is the first and largest SDN/OpenFlow deployment Overprovisioning introduces low link utilization (30-40%) [3] B4: Experience with a globally-deployed software defined WAN. SigComm 13 11

SDN Improves Link Utilization Traffic Engineering (TE) Server Latency insensitive flows Controllers Controllers North Carolina Controllers Latency sensitive flows Georgia South Carolina SDN drives link utilization to almost 100%! TE server assign flows to idle network links according to the application priority! Controllers enforce the assignment and control bursts 12

Scalability Issues of SDN Flow-level granularity places significant stress on switch state size and controller involvement A switch can support a limited number of OpenFlow entries! OpenFlow rules are stored in TCAM (only support ~1500 entries in HP 5406zl switch)! Ethernet forwarding uses hash lookup in standard memory (support ~64k entries) Limited computation resources on controller! NOX controller can handle 30k flows/s! Datacenters with 100 edge-switches may have more than 10M flows/s [4] DevoFlow: scaling flow management for high-performance networks, SigComm 11 13

Scalability Issues of SDN (cont.) Flow setup delay! Forward the initial packet: 5us on ASIC vs. 5ms if controller involved! Unacceptable flow setup delay for high performance networks Frequent statistics-pulling reduces the flow setup rate! Tasks (e.g. traffic engineering) need statistics gathering! 275 connections/s (no pull) vs. 50 connections/s (5 requests/s) using HP 5406zl switch [4] DevoFlow: scaling flow management for high-performance networks, SigComm 11 14

Objectives Categorize current approaches used to scale SDN networks Identify research topics yet to be addressed 15

Outline Introduction Taxonomy of Scaling SDN Approaches Summary of Research Area Gaps Conclusion 16

Taxonomy of Scaling SDN Approaches Scaling SDN Architecture-based Control-plane ElastiCon Rule-based Rule Deployment One big switch Data-plane CPU as Co-processing Unit Rule Optimization Maple Hybrid DIFANE 17

Scaling Control-plane Approaches in this category aim to improve the limited computation resources on control layer! Use better hardware, make it distributed, etc. Distributed system is better than centralized system! Better fault tolerance! Better scalability! Better load balancing How to turn networking problems into distributed system problems? 18

ElastiCon Make central controller a controller pool Dynamically adds/removes controllers according to traffic conditions Load Adaptation Decisions Scale Up Scale Down Load Balance Load Measurements Distributed Controllers Actions: Migrate switch Remove controller Add controller Controller 1 Distributed Data Store Controller N [5] ElastiCon: An Elastic Distributed SDN Controller, ANCS 14 19 19

Evaluation Adding controller nodes increases the throughput More controllers can make the response time stay in a certain level Limitations: it does not address the issue of flow setup delay directly, and introduces another layer of complexity 20

Taxonomy of Scaling SDN Approaches Scaling SDN Architecture based Control-plane ElastiCon Rule-based Rule Deployment One big switch Data-plane CPU as Co-processing Unit Rule Optimization Maple Hybrid DIFANE 21

Data-plane Extension High latency for the initial packet forwarding via controller! 5us on ASIC vs. 5ms if controller involved! Reduce controller s involvement can improve the flow setup delay Introduce new functionalities, improve statistic gathering approaches, and increase flow table size, etc. Functionality-based! Introduce new functionalities in switches (e.g. DevoFlow [4] ) Workflow-based! Change the default workflow (e.g. Using CPU as a Traffic Coprocessing Unit [6] ) [4] DevoFlow: Scaling Flow Management for High- Performance Networks, SIGCOMM 11 [6] Using CPU as a Traffic Co-processing Unit in Commodity Switches, HotSDN 12 22

Using CPU as a Traffic Co-processing Unit Make traffic stay in data plane by installing complete forwarding table in software TCAM holds partial forwarding table for the fast flows! CPU ranks the flows periodically, and swap flows if necessary CPU Software Fwding Table HW Fwding Table Fast flows Switch ASIC Results Synthetic traffic shows 1,743 flows swaps per second in average, below the TCAM capacity on most switches Limitation: need to change all switches; assumption of high BW between CPU and TCAM may not hold 23

Taxonomy of Scaling SDN Approaches Scaling SDN Architecture based Control-plane ElastiCon Rule-based Rule Deployment One big switch Data-plane CPU as Co-processing Unit Rule Optimization Maple Hybrid DIFANE 24

DIFANE Controller delegates some switches to handle real-time jobs! Authority switches with larger TCAM space and processing capability Controller Controller generates the rules, and installs them on switches Distribute partition information Authority Switch A AuthoritySwitch B Authority Switch C accept reject Ingress Switch Authority Switch B Flow space Egress Switch Authority Switch A [7] Scalable Flow-based Networking with DIFANE, SIGCOMM 10 Authority Switch C 25

DIFANE (cont.) First packet Feedback: Cache rules Redirect Authority Switch Forward Following packets Ingress Switch Hit cached rules and forward Egress Switch 26

DIFANE (cont.) DIFANE outperforms NOX DIFANE achieves small delay for first packet (0.4ms vs 10ms) Throughput in DIFANE increases linearly with the number of switches. 27

Architecture-based approach: Summary ElastiCon CPU Co-processing DIFANE Switch change Delay Reactive/ proactive None All Authority switches Local switch Switchcontroller Switchauthority switch Reactive Proactive Hybrid Observations:! No all-mighty solution! Possible to combine some approaches 28

Taxonomy of Scaling SDN Approaches Scaling SDN Architecture based Control-plane ElastiCon Rule-based Rule Deployment One big switch Data-plane DevoFlow CPU as Co-processing Unit Rule Optimization Maple Hybrid DIFANE 29

Rule Deployment Approaches SDN controller naturally has the network wide view Controller properly utilizes TCAM space to install more rules in the data plane, reducing controller involvement (e.g. One big switch [8]) [8] Optimizing the One Big Switch Abstraction in Software-Defined Networks. CoNEXT 13 30

One Big Switch Controller installs rules along the path while obeys the table size constraints! Assign subset of the endpoint rules (e.g. ACL) to a routing path! Place part of the rules on each switch along the path according to the table size Subnet 1 Subnet 2 S1 S2 S3 C1 = 4 C2 = 3 C3 = 2 31

One Big Switch (cont.) Synthetic 100-node topologies with real firewall configurations More than 60% unwanted traffic are dropped in the first 20% of the path Limitations! Introduce unwanted traffic! Statistic gathering is slow 32

Taxonomy of Scaling SDN Approaches Scaling SDN Architecture based Control-plane ElastiCon Rule-based Rule Deployment One big switch Data-plane DevoFlow CPU as Co-processing Unit Rule Optimization Maple Hybrid DIFANE 33

Rule Optimization Rule optimization approaches aim to produce high quality rules! Rules that finish the same task with less number of rules, and/or less number of priority! Rules that trigger controller less frequently e.g. rules with proper timeout Proactive approach! Generate rules without the runtime information (e.g. SwitchReduce [9]) Reactive approach! Generate rules based on the runtime information (e.g. Maple [10]) [9] SwitchReduce: Reducing switch state and controller involvement in OpenFlow networks. IFIP Networking, 2013 [10] Maple: Simplifying SDN Programming Using Algorithm Policies, SigCOMM 13 34

Maple Reactively record reusable rules for each switch Optimize in-order traversal algorithm to generate high quality rules Controller Trace Tree TT TT Flow Table FT FT 35

Aggregated Rules Improve the Flow Table Hit Rates Exact match controller introduces high flow table miss rates Priority TcpDst EthSrc EthDst Action 0 23 4 6 Port 30 0 22 4 6 Drop 0 80 2 7 Drop if (TcpDst == 22) drop; else { if (EthSrc == 2) drop; if (EthSrc == 4 && EthDst == 6) forward along the path; } New flow: TcpDst=80, EthSrc=4, EthDst=6 Maple could aggregate rules based on TT Priority TcpDst EthSrc EthDst Action 1 22 * * Drop 0 * 4 6 Port 30 0 * 2 * Drop TcpDst:22 False EthSrc 2 4 Drop EthDst True Drop 6 Port 30 36

Maple (cont.) Maple generates high quality rules! Compact switch flow tables (1006 rules for 973 ACL filters)! Small number of priorities (9 priorities for 973 ACL filters) Maple reduces flow setup time by aggregating rules 37

Rule-based approaches: summary One Big Switch Reduce #rules N Y Additional control overhead Controller involvement N Rarely Maple N Sometimes Conclusions:! No design changes on switches, can be done locally by ISPs 38

Architecture-based vs. Rule-based Architecture-based Pros Can improve the limited computation resources on control plane Can make smarter/powerful switches, reduce controller s involvement Possible to reduce statistics gathering overhead greatly Cons Design change is usually expensive, need vendors involved Conclusions: Rule-based No design change on switches or controller Easier to deploy, can be done locally Limited computation resources issue still exists, may throttle performance Hard to solve the statistics gathering issue! Both have pros and cons, but it is possible to combine them 39

Outline Introduction Taxonomy of Scaling SDN Approaches Summary of Research Area Gaps Conclusion 40

Summary of Research Area Gaps Distributed controllers need further research Need further optimization on TCAM! E.g. How to remove inactive rules ASAP? Utilize new features to improve scalability, or even propose new protocols 41

Outline Introduction Taxonomy of Scaling SDN Approaches Summary of Research Area Gaps Conclusion 42

Conclusion SDN is an emerging network architecture with scalability issues Rule-based approaches can be implemented and deployed as SDN applications, could be short term solutions Scaling control plane approaches do not address flow setup delay directly, need more research Data plane extension and hybrid approaches need to change switch design, could be long term solutions 43

Paper list [1] McKeown, Nick, et al. "OpenFlow: enabling innovation in campus networks." ACM SIGCOMM CCR 38.2 (2008): 69-74. [2] Casado, Martin, et al. "Rethinking enterprise network control." IEEE/ACM Transactions on Networking (TON) 17.4 (2009): 1270-1283. [3] Jain, Sushant, et al. "B4: Experience with a globally-deployed software defined WAN. SIGCOMM, 2013. [4] Curtis, Andrew R., et al. "Devoflow: scaling flow management for high-performance networks." SIGCOMM, 2011. [5] Dixit, Advait, et al. ElastiCon: An Elastic Distributed SDN Controller. ANCS, 2014. [6] Lu, Guohan, et al. "Using cpu as a traffic co-processing unit in commodity switches." HotSDN, 2012. [7] Yu, Minlan, et al. "Scalable flow-based networking with DIFANE." SIGCOMM 2010. [8] Kang, Nanxi, et al. "Optimizing the one big switch abstraction in software-defined networks. CoNext, 2013. [9] Iyer, Aakash S., Vijay Mann, and Naga Rohit Samineni. "SwitchReduce: Reducing switch state and controller involvement in OpenFlow networks." IFIP Networking Conference, 2013. [10] Voellmy, Andreas, et al. "Maple: Simplifying SDN programming using algorithmic policies. SIGCOMM, 2013. 44

Q&A 45