Programmable forwarding planes are here to stay

Slides:



Advertisements
Similar presentations
OpenFlow and Software Defined Networks. Outline o The history of OpenFlow o What is OpenFlow? o Slicing OpenFlow networks o Software Defined Networks.
Advertisements

Logically Centralized Control Class 2. Types of Networks ISP Networks – Entity only owns the switches – Throughput: 100GB-10TB – Heterogeneous devices:
Programming Protocol-Independent Packet Processors
Internetworking II: MPLS, Security, and Traffic Engineering
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle’s Next-Generation SDN Platform Andrew Thomas Architect Corporate Architecture.
© 2009 Cisco Systems, Inc. All rights reserved. SWITCH v1.0—4-1 Implementing Inter-VLAN Routing Deploying Multilayer Switching with Cisco Express Forwarding.
An Overview of Software-Defined Network Presenter: Xitao Wen.
OpenFlow Costin Raiciu Using slides from Brandon Heller and Nick McKeown.
Software-Defined Networking, OpenFlow, and how SPARC applies it to the telecommunications domain Pontus Sköldström - Wolfgang John – Elisa Bellagamba November.
OpenFlow : Enabling Innovation in Campus Networks SIGCOMM 2008 Nick McKeown, Tom Anderson, et el. Stanford University California, USA Presented.
An Overview of Software-Defined Network
Networking Components
Router Architectures An overview of router architectures.
Building Compilers for Reconfigurable Switches Lavanya Jose, Lisa Yan, Nick McKeown, and George Varghese 1 Research funded by AT&T, Intel, Open Networking.
An Overview of Software-Defined Network Presenter: Xitao Wen.
Professor Yashar Ganjali Department of Computer Science University of Toronto
Data Center Network Redesign using SDN
How SDN will shape networking
Information-Centric Networks10b-1 Week 13 / Paper 1 OpenFlow: enabling innovation in campus networks –Nick McKeown, Tom Anderson, Hari Balakrishnan, Guru.
OpenFlow: Enabling Technology Transfer to Networking Industry Nikhil Handigol Nikhil Handigol Cisco Nerd.
Introduction to SDN & OpenFlow Based on Tutorials from: Srini Seetharaman, Deutsche Telekom Innovation Center FloodLight Open Flow Controller, floodlight.openflowhub.org.
Software-Defined Networks Jennifer Rexford Princeton University.
Software Defined Networks and OpenFlow SDN CIO Summit 2010 Nick McKeown & Guru Parulkar Stanford University In collaboration with Martin Casado and Scott.
Common Devices Used In Computer Networks
OpenFlow: Enabling Innovation in Campus Networks
Aditya Akella (Based on slides from Aaron Gember and Nick McKeown)
SDN, open-source and ONOS Nick McKeown Stanford University.
Switching Topic 2 VLANs.
Extending OVN Forwarding Pipeline Topology-based Service Injection
SOFTWARE DEFINED NETWORKING/OPENFLOW: A PATH TO PROGRAMMABLE NETWORKS April 23, 2012 © Brocade Communications Systems, Inc.
Information-Centric Networks Section # 13.2: Alternatives Instructor: George Xylomenos Department: Informatics.
PISCES: A Programmable, Protocol-Independent Software Switch
Experiences with Programmable Dataplanes Ronald van der Pol SURFnet TNC 2016, June, Prague (CZ)
1 Building big router from lots of little routers Nick McKeown Assistant Professor of Electrical Engineering and Computer Science, Stanford University.
Nick McKeown (Many thanks to Lisa and Lavanya) CS244 Programmable Switches Forwarding metamorphosis: fast programmable match-action processing … Pat Bosshart,

Data Center Networks and Software-defined Networking
InterVLAN Routing 1. InterVLAN Routing 2. Multilayer Switching.
Open Networking and SDN
P4: Programming Protocol-Independent Packet Processors
COS 561: Advanced Computer Networks
Ready-to-Deploy Service Function Chaining for Mobile Networks
Instructor Materials Chapter 1: LAN Design
AppSwitch Application-layer Load Balancing within a Software Switch
ETHANE: TAKING CONTROL OF THE ENTERPRISE
NOX: Towards an Operating System for Networks
April 28, 2017 SUMIT MAHESHWARI INES UGALDE
6.829 Lecture 13: Software Defined Networking
SDN Overview for UCAR IT meeting 19-March-2014
Software Defined Networking (SDN)
Chapter 7 Backbone Network
Stanford University Software Defined Networks and OpenFlow SDN CIO Summit 2010 Nick McKeown & Guru Parulkar In collaboration with Martin Casado and Scott.
Software Defined Networking
湖南大学-信息科学与工程学院-计算机与科学系
Chapter 5 Network Layer: The Control Plane
The Stanford Clean Slate Program
CS 31006: Computer Networks – The Routers
Software Defined Networking (SDN)
Software Defined Networking
Handout # 18: Software-Defined Networking
EVPN a very short introduction
Reprogrammable packet processing pipeline
All or Nothing The Challenge of Hardware Offload
Attilla de Groot | Sr. Systems Engineer, HCIE #3494 | Cumulus Networks
Programmable Switches
Project proposal: Questions to answer
Software Defined Networking
Chapter 5 Network Layer: The Control Plane
An Introduction to Software Defined Networking and OpenFlow
Chapter 4: outline 4.1 Overview of Network layer data plane
Presentation transcript:

Programmable forwarding planes are here to stay Nick McKeown Stanford University

In which network owners take charge of their control plane SDN Act 1 In which network owners take charge of their control plane

Computer Industry Disaggregation Proprietary Applications Proprietary Linux Mac OS Windows (OS) or Open Interface Proprietary Operating System Disaggregation Open Interface Proprietary Hardware Microprocessor

Networking Industry Control Plane 1 Control Plane 2 Disaggregation App Proprietary Features Open Interface Disaggregation NOX Beacon ONIX POX ONOS Flood light Trema ODL Ryu Control Plane 1 Control Plane 2 Proprietary Operating System Open Interface Merchant Switch Chips Proprietary Hardware

SDN inevitable because… Rise of Linux. Rise of whitebox servers and data centers. Rise of merchant switching silicon.

Servers Network switches Applications Applications Linux OS CPU x86 Legacy Whitebox Network switches Control Programs Applications OS CPU + ASIC Linux x86 + ASIC Legacy Whitebox

Example: Big Data Center Cost 500,000 servers 25,000 switches $10k per legacy switch = $250M $2k disaggregated switch = $50M Savings in 5 data centers = $1Bn Control Centralized remote control is easier “Centralize if you can, distribute if you can’t” Customized, differentiated network Home grown traffic engineering 50% utilization → 95% utilization

All networking equipment is disaggregating Basestation 5G GW Optical and Metro Transport WiFi AP Residential broadband access Enterprise network equipment: switch, router, firewall “Software is eating the world (of networking)”

Rise of Merchant Switch Chips Android/Linux 3/4 new smartphones 2/3 servers 2/3 websites 2/3 mainframes 99% supercomputers 2013 IBM, Compaq, Dell run Linux 1998 Google incorporated 1st MSDC with switch chip + Linux 2008 # Virtual Ethernet ports > # Physical ports Linux v1 v2 1996 1st WAN with Switch chip + Linux 2012 dNOSS OVN ONAP OVS 2010 NEC + HP Stratum 2011 OCP Server OCP Switch OCP Wedge SONiC P4 Runtime HP Open Switch ONIE ONL Rise of Merchant Switch Chips ODL ONOS FBOSS OpenNFV CORD 1994 2015 2016 2017/8

Now I can tailor my network to meet my needs! Quickly deploy new protocols. Monitor precisely what my forwarding plane is doing. Fold expensive middlebox functions into the network, for free. Try out beautiful new ideas. Tailor my network to meet my needs. Differentiate. Now I own my intellectual property.

But wait a minute…

Switch OS Driver OSPF BGP etc. New

Network Equipment Vendor Software Team Weeks Feature Feature Network Owner Network Equipment Vendor Years Years Feature ASIC Team

When you need a new feature… Equipment vendor can’t just send you a software upgrade New forwarding features take years to develop By then, you’ve figured out a kludge to work around it Your network gets more complicated, more brittle Eventually, when the upgrade is available, it either No longer solves your problem, or You need a fork-lift upgrade, at huge expense.

Network systems are built “bottoms-up” Switch OS Driver “This is how I process packets …” Fixed-function switch

“Programmable switches are 10-100x slower than fixed-function switches” Conventional wisdom in networking

SDN Act 2 In which network system developers take charge of their forwarding plane too

Network systems are starting to be programmed “top-down” “This is precisely how you must process packets” Switch OS Driver Programmable Switch

Why are programmable forwarding planes happening now?

Domain Specific Processors DSP Signal Processing Matlab Compiler Machine Learning ? TPU TensorFlow Compiler CPU Computers Java Compiler GPU Graphics OpenCL Compiler Networking ? Language Compiler >>>

Domain Specific Processors DSP Signal Processing Matlab Compiler Machine Learning ? TPU TensorFlow Compiler PISA CPU Computers Java Compiler GPU Graphics OpenCL Compiler Networking P4 Compiler >>>

PISA: Protocol Independent Switch Architecture Match+Action Stage Memory ALU Programmable Parser Programmable Match-Action Pipeline

PISA: Protocol Independent Switch Architecture

Programmable Match-Action Pipeline Example P4 Program Parser Program parser parse_ethernet { extract(ethernet); return switch(ethernet.ethertype) { 0x8100 : parse_vlan_tag; 0x0800 : parse_ipv4; 0x8847 : parse_mpls; default: ingress; } Tables and Control Flow table port_table { … } control ingress { apply(port_table); if (l2_meta.vlan_tags == 0) { process_assign_vlan(); } } header_type ethernet_t { … } header_type l2_metadata_t { … } header ethernet_t ethernet; header vlan_tag_t vlan_tag[2]; metadata l2_metadata_t l2_meta; Header and Data Declarations Memory ALU Programmable Parser Programmable Match-Action Pipeline

To learn more, visit P4.org

Barefoot Tofino 6.5Tb/s Switch December 2016 Same power. Same cost. The world’s fastest switch in production. Forwarding defined in software (P4). Programs always run at line-rate.

How programmability is being used Reducing complexity 1

Reducing complexity Switch OS Compiler Programmable Switch Driver switch.p4 Driver IPv4 and IPv6 routing Tunneling NAT and L4 Load Balancing - Unicast Routing - IPv4 and IPv6 Routing & Switching - Routed Ports & SVI - IP-in-IP (6in4, 4in4) Security Features - VRF - VXLAN, NVGRE, GENEVE & GRE - Storm Control, IP Source Guard - Unicast RPF - Strict and Loose - Segment Routing, ILA Monitoring & Telemetry - Multicast MPLS Ingress Mirroring and Egress Mirroring - PIM-SM/DM & PIM-Bidir - LER and LSR Negative Mirroring - IPv4/v6 routing (L3VPN) Sflow Ethernet switching - L2 switching (EoMPLS, VPLS) INT - VLAN Flooding - MPLS over UDP/GRE - MAC Learning & Aging Counters - STP state ACL Route Table Entry Counters - VLAN Translation - MAC ACL, IPv4/v6 ACL, RACL VLAN/Bridge Domain Counters - QoS ACL, System ACL, PBR Port/Interface Counters Load balancing - Port Range lookups in ACLs - LAG Protocol Offload - ECMP & WCMP QOS - BFD, OAM - Resilient Hashing - QoS Classification & marking - Flowlet Switching - Drop profiles/WRED Multi-chip Fabric Support - RoCE v2 & FCoE - Forwarding, QOS Fast Failover - CoPP (Control plane policing) – LAG & ECMP Compiler Programmable Switch

Reducing complexity Switch OS Compiler Programmable Switch Driver My switch.p4 Driver Compiler Programmable Switch

How programmability is being used Adding new features 2

Protocol complexity 20 years ago Ethernet ethtype ethtype IPv4 IPX

Datacenter switch today switch.p4

Adding features: Some examples so far New encapsulations and tunnels New ways to tag packets for special treatment New approaches to routing: e.g. source routing in MSDCs New approaches to congestion control New ways to process packets: e.g. processing ticker-symbols

New applications: Some examples so far Layer-4 Load Balancer1 Replace 100 servers or 10 dedicated boxes with one programmable switch Track and maintain mapping for 5-10 million http flows Fast stateless firewall Add/delete and track 100s of thousands of new connections per second Cache for Key-value store2 Memcache in-network cache for 100 servers 1-2 billion operations per second [1] “SilkRoad: Making Stateful Layer-4 Load Balancing Fast and Cheap Using Switching ASICs.” Rui Miao et al. Sigcomm 2017. [2] “NetCache: Balancing Key-Value Stores with Fast In-Network Caching”, Xin Jin et al. SOSP 2017

How programmability is being used Network telemetry 3

“I visited Switch 1 @780ns, Switch 9 @1.3µs, Switch 12 @2.4µs” “Which path did my packet take?” 1 # Rule 1 2 3 … 75 192.168.0/24 “In Switch 1, I followed rules 75 and 250. In Switch 9, I followed rules 3 and 80. ” “Which rules did my packet follow?” 2

“Delay: 100ns, 200ns, 19740ns” “How long did my packet queue at each switch?” 3 Time Queue “Who did my packet share the queue with?” 4

“Delay: 100ns, 200ns, 19740ns” “How long did my packet queue at each switch?” 3 Aggressor flow! Queue “Who did my packet share the queue with?” 4 Time

We’d like the network to answer these questions “Which path did my packet take?” “Which rules did my packet follow?” “How long did it queue at each switch?” “Who did it share the queues with?” 1 2 3 4 A PISA device programmed using P4 can answer all four questions at line rate, for the first time. Without generating additional packets.

INT: Inband Network Telemetry Add: SwitchID, Arrival Time, Queue Delay, Matched Rules, … Original Packet Visualize Log, Analyze Replay

Visualize Log, Analyze Replay /* INT: add switch id */ action int_set_header_0() { add_header(int_switch_id_header); modify_field(int_switch_id_header.switch_id, global_config_metadata.switch_id); } /* INT: add ingress timestamp */ action int_set_header_1() { add_header(int_ingress_tstamp_header); modify_field(int_ingress_tstamp_header.ingress_tstamp, i2e_metadata.ingress_tstamp); /* INT: add egress timestamp */ action int_set_header_2() { add_header(int_egress_tstamp_header); modify_field(int_egress_tstamp_header.egress_tstamp, eg_intr_md_from_parser_aux.egress_global_tstamp); P4 code snippet: Insert switch ID, ingress and egress timestamp Visualize Log, Analyze Replay

How programmability is being used 1 Reducing complexity Adding new features Network telemetry 2 3

In summary… SDN is about who is in charge! Act 1: Network owners and operators took charge of how their networks are controlled. Act 2: They also decide how packets are processed. Chip technology: Programmable forwarding now has the same power, performance and cost as fixed function. New ideas: Beautiful new ideas now owned by the programmer, not the chip designer.

Thank you!