Software Defined Networking What is it, how does it work, and what is it good for?

Similar documents
Software Defined Networking What is it, how does it work, and what is it good for?

How To Understand The Power Of The Internet

The Internet: A Remarkable Story. Inside the Net: A Different Story. Networks are Hard to Manage. Software Defined Networking Concepts

Software Defined Networks

Network Management: - SNMP - Software Defined networking

How To Understand The Power Of A Network In A Microsoft Computer System (For A Micronetworking)

Open Source Network: Software-Defined Networking (SDN) and OpenFlow

Software Defined Networking

SDN AND SECURITY: Why Take Over the Hosts When You Can Take Over the Network

OpenFlow: Enabling Innovation in Campus Networks

OpenFlow Overview. Daniel Turull

Software Defined Networks (SDN)

OpenFlow and Onix. OpenFlow: Enabling Innovation in Campus Networks. The Problem. We also want. How to run experiments in campus networks?

Outline. Institute of Computer and Communication Network Engineering. Institute of Computer and Communication Network Engineering

OpenFlow: History and Overview. Demo of routers

COMPSCI 314: SDN: Software Defined Networking

SDN 交 換 機 核 心 技 術 - 流 量 分 類 以 及 應 用 辨 識 技 術. 黃 能 富 教 授 國 立 清 華 大 學 特 聘 教 授, 資 工 系 教 授 nfhuang@cs.nthu.edu.tw

OpenFlow: Concept and Practice. Dukhyun Chang

Network Virtualization Based on Flows

Securing Local Area Network with OpenFlow

Getting to know OpenFlow. Nick Rutherford Mariano Vallés

IFIP TC6 Advanced Tutorials in Networking. Software Defined Networking! University of Kelaniya Kelaniya, Sri Lanka June 2015

Tutorial: OpenFlow in GENI

OpenFlow. Ihsan Ayyub Qazi. Slides use info from Nick Mckeown

Lecture 12 Overview. Last Lecture Delay-tolerant Network. This Lecture. Next Lecture

Software Defined Networking (SDN)

Ethernet-based Software Defined Network (SDN) Cloud Computing Research Center for Mobile Applications (CCMA), ITRI 雲 端 運 算 行 動 應 用 研 究 中 心

The State of OpenFlow: Advice for Those Considering SDN. Steve Wallace Executive Director, InCNTRE SDN Lab Indiana University

Frenetic: A Programming Language for OpenFlow Networks

How SDN will shape networking

Introduction to Software Defined Networking. Xenofontas Dimitropoulos 21/5/2015

OpenFlow/So+ware- defined Networks. Srini Seetharaman Clean Slate Lab Stanford University July 2010

Software Defined Networking

Funded in part by: NSF, Cisco, DoCoMo, DT, Ericsson, Google, Huawei, NEC, Xilinx

LTE - Can SDN paradigm be applied?

Towards Software Defined Cellular Networks

Software Defined Networking A quantum leap for Devops?

Software Defined Networking and the design of OpenFlow switches

SDN. What's Software Defined Networking? Angelo Capossele

Cloud Networking Disruption with Software Defined Network Virtualization. Ali Khayam

OpenFlow Technology Investigation Vendors Review on OpenFlow implementation

Software Defined Networking (SDN) T Computer Networks II Hannu Flinck

Software Defined Networking (SDN)

Software Defined Networking & Openflow

SDN and OpenFlow. Naresh Thukkani (ONF T&I Contributor) Technical Leader, Criterion Networks

From Active & Programmable Networks to.. OpenFlow & Software Defined Networks. Prof. C. Tschudin, M. Sifalakis, T. Meyer, M. Monti, S.

DEMYSTIFYING ROUTING SERVICES IN SOFTWAREDEFINED NETWORKING

Data-intensive computing systems

SDN, OpenFlow and the ONF

基 於 SDN 與 可 程 式 化 硬 體 架 構 之 雲 端 網 路 系 統 交 換 器

Software-Defined Networking for the Data Center. Dr. Peer Hasselmeyer NEC Laboratories Europe

Software Defined Networking and OpenFlow: a Concise Review

YI-CHIH HSU & JEI-WEI ESTINET TECHNOLOGIES

Software Defined Networking Basics

Software Defined Networking

Information- Centric Networks. Section # 13.2: Alternatives Instructor: George Xylomenos Department: Informatics

Software Defined Networking

Multiple Service Load-Balancing with OpenFlow

Software-Defined Networks (SDN): Bridging the application-network divide

Ten Things to Look for in an SDN Controller

Limitations of Current Networking Architecture OpenFlow Architecture

An Introduction to Software-Defined Networking (SDN) Zhang Fu

Facilitating Network Management with Software Defined Networking

What is SDN? And Why Should I Care? Jim Metzler Vice President Ashton Metzler & Associates

WHITE PAPER. SDN Controller Testing: Part 1

Comparisons of SDN OpenFlow Controllers over EstiNet: Ryu vs. NOX

A collaborative model for routing in multi-domains OpenFlow networks

Cloud Computing Security: What Changes with Software-Defined Networking?

Network Virtualization and Application Delivery Using Software Defined Networking

Software Defined Networking. Matthew Davy, Indiana University September 8th, 2011

Does SDN accelerate network innovations? Example of Flexible Service Creation

Multicasting on SDN. Prof. Sunyoung Han Konkuk University 23 July 2015

Software Defined Networking

The Past, Present, and Future of Software Defined Networking

IMPLEMENTATION AND EVALUATION OF THE MOBILITYFIRST PROTOCOL STACK ON SOFTWARE-DEFINED NETWORK PLATFORMS

CSCI-1680 So ware-defined Networking

OpenFlow & Software Defined Networking

OpenFlow and Software Defined Networking presented by Greg Ferro. OpenFlow Functions and Flow Tables

Multi-Gigabit Intrusion Detection with OpenFlow and Commodity Clusters

SOFTWARE-DEFINED NETWORKING AND OPENFLOW

BROADCOM SDN SOLUTIONS OF-DPA (OPENFLOW DATA PLANE ABSTRACTION) SOFTWARE

Software Defined Networking technology details and openlab research overview

Introduction to OpenFlow:

Data Analysis Load Balancer

Software Defined Networking (SDN) OpenFlow and OpenStack. Vivek Dasgupta Principal Software Maintenance Engineer Red Hat

LuaFlow, an open source Openflow Controller

MASTER THESIS. Performance Comparison Of the state of the art Openflow Controllers. Ahmed Sonba, Hassan Abdalkreim

SOFTWARE-DEFINED NETWORKING AND OPENFLOW

9/8/14. Outline. SDN Basics. Concepts OpenFlow Controller: Floodlight OF- Config Mininet. SDN Concepts. What is socware defined networking? Why SDN?

Software Defined Networking Architecture

INTRODUCTION TO FIREWALL SECURITY

Part2: Lecture 03! Network Virtualization and SDNs!

Implementation of Address Learning/Packet Forwarding, Firewall and Load Balancing in Floodlight Controller for SDN Network Management

OpenFlow with Intel Voravit Tanyingyong, Markus Hidell, Peter Sjödin

Openflow: Enabling Innovation in Campus Networks

Better management of large-scale, heterogeneous networks toward a programmable management plane

Software Defined Networking & OpenFlow

OpenFlow Based Load Balancing

OpenFlow: Enabling Innovation in Campus Networks

Disaster-Resilient Backbone and Access Networks

Transcription:

Software Defined Networking What is it, how does it work, and what is it good for? slides stolen from Jennifer Rexford, Nick McKeown, Michael Schapira, Scott Shenker, Teemu Koponen, Yotam Harchol and David Hay

Agenda What is Software Defined Networking (SDN)? What is OpenFlow? How does it work?

What is SDN?

The Internet: A Remarkable Story Tremendous success from research experiment to global infrastructure Enables innovation in applications Web, P2P, VoIP, social networks, virtual worlds But, the Internet s infrastructure remained fairly stagnant for decades

The Internet s Landscape constant innovation Applications: stagnant! Internet Protocols: routing, congestion control, naming, (TCP/IP, BGP, DNS, OSPF, ECMP, ) Technologies: constant innovation

Why Can t We Innovate? Closed equipment software bundled with hardware vendor-specific interfaces Over specified slow protocol standardization Few people can innovate equipment vendors write the code long delays to introduce new features Impacts performance, security, reliability, cost

Networks are Hard to Manage Operating a network is expensive more than half the cost of a network yet, operator error causes most outages Buggy software in the equipment routers with 20+ million lines of code cascading failures, vulnerabilities, etc. The network is in the way especially a problem in data centers and home networks

Traditional Computer Networks Data plane: packet streaming forward, filter, buffer, mark, rate-limit, and measure packets

Traditional Computer Networks Control plane: distributed algorithms track topology changes, compute routes, install forwarding rules

Traditional Computer Networks Management plane: human time scale collect measurements and configure the equipment

New Paradigm: Software Defined Networking (SDN) logically-centralized control smart, slow API to the data plane (e.g., OpenFlow) switches dumb, fast

A Helpful Analogy 12

Mainframes App App App App App App App App App App App Specialized Applications Specialized Operating System Specialized Hardware Windows (OS) Open Interface or Linux or Open Interface Microprocessor Mac OS vertically integrated closed, proprietary slow innovation small industry horizontal open interfaces rapid innovation huge industry

Routers/Switches App App App App App App App App App App App Specialized Features Specialized Control Plane Specialized Hardware Control Plane Open Interface or Control Plane or Open Interface Merchant Switching Chips Control Plane vertically integrated closed, proprietary slow innovation horizontal open interfaces rapid innovation

15 How SDN works The OpenFlow protocol

OpenFlow Switching OpenFlow Switch specification OpenFlow Switch PC sw Secure Channel Controller hw Flow Table

Controller: Programmability Controller Application Network OS events from switches topology changes, traffic statistics, arriving packets commands to switches (un)install rules, query statistics, send packets 17

Reactive vs. Proactive Reactive SDN: switches send (first) packets to controller, then controller programs switch's flow table to handle rest of the flow Problem: source of DoS on controller (packet-in event) Proactive SDN: Controller programs the switches proactively, according to its own knowledge of the network Requires smarter approaches than just reacting to network events (global knowledge, discovery, updates )

Flow Table Entry at Switch Type 0 OpenFlow Switch Rule Action Stats Packet + byte counters 1. Forward packet to port(s) 2. Encapsulate and forward to controller 3. Drop packet 4. 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

Data-Plane: Simple Packet Handling Simple packet-handling rules Pattern: match packet header bits Actions: drop, forward, modify, send to controller Priority: disambiguate overlapping patterns Counters: #bytes and #packets 1. src=1.2.*.*, dest=3.4.5.* drop 2. src = *.*.*.*, dest=3.4.*.* forward(2) 3. src=10.1.2.3, dest=*.*.*.* send to controller

OpenFlow Definition in progress Additional actions rewrite headers map to queue/class encrypt More flexible header allow arbitrary matching of first few bytes Support multiple controllers load-balancing and reliability

Example OpenFlow Applications Dynamic access control Seamless mobility/migration Server load balancing Network virtualization Using multiple wireless access points Energy-efficient networking Adaptive traffic monitoring Denial-of-Service attack detection See http://www.openflow.org/videos/

E.g.: Dynamic Access Control Inspect first packet of a connection Consult the access control policy Install rules to block or route traffic

E.g.: Seamless Mobility/Migration See host send traffic at new location Modify rules to reroute the traffic

E.g.: Server Load Balancing Pre-install load-balancing policy Split traffic based on source IP src=0* src=1* 25

In-depth Example: Simple Repeater Controller 1 2 Switch Simple Network Repeater 26 forward packets received on port 1 out 2 and vice versa

Controller (POX) (Pseudo)-Program Simple Repeater def handle_packetin(packet): out_port = 2 if packet.in_port == 2: out_port = 1 flow_mod = ofp_flow_mod() flow_mod.match = ofp_match() flow_mod.match.in_port = \ packet.in_port action = ofp_action_output() action.out_port = out_port flow_mod.action = [ action ] flow_mod.buffer_id = \ packet.buffer_id send(flow_mod) Controller 1 2 Switch Flow Table Priority Pattern Action Counters DEFAULT IN_PORT:1 OUTPUT:2 (0,0) DEFAULT IN_PORT:2 OUTPUT:1 (0,0) 27

OpenFlow in the Wild Open Networking Foundation Google, Facebook, Microsoft, Yahoo, Verizon, Deutsche Telekom, and many other companies Commercial OpenFlow switches HP, NEC, Quanta, Dell, IBM, Juniper, Network operating systems NOX, Beacon, Floodlight, POX, RYU Network deployments Campuses, research backbone networks Commercial deployments (e.g., Google backbone)

But Heterogeneous Switches Number of packet-handling rules (TCAM/memory limits) Different OpenFlow version support Range of matches and actions (not all matches and actions are mandatory in the protocol) Multi-stage pipeline of packet processing (allowed but not defined in the standard) Vendor-specific features Offload some control-plane functionality (?) access control MAC look-up IP look-up 29

Controller Delay and Overhead Controller is much slower the the switch Processing packets leads to delay and overhead Need to keep most packets in the fast path packets 30

Distributed Controller Controller Application For scalability and reliability Controller Application Network OS Partition and replicate state Network OS and: where to put the controller(s)? Taking into account latency, resiliency, load balancing... 31

Testing and Debugging OpenFlow makes programming possible Network-wide view at controller Direct control over data plane Plenty of room for bugs Still a complex, distributed system Need for testing techniques 32 Controller applications Controller and switches Rules installed in the switches

Programming Abstractions Controller APIs are low-level Thin veneer on the underlying hardware Need better languages Composition of modules Managing concurrency Querying network state Network-wide abstractions Controller Example: http://www.frenetic-lang.org/ Switches 33

MiniNet 34

MiniNet Creates scalable SDN (up to hundreds of nodes) using OpenFlow, on a single PC Allows to quickly create, interact with and customize a SDN prototype with complex topologies, and can be used to emulate real networks all on your PC Can work with any kind of OpenFlow controller Takes seconds to install Easy to program Of course, is an open source project 35

MiniNet Not only for teaching purposes! Used for the development and testing of networks 36

Conclusion SDN is revolutionizing networking Rethinking networking open interfaces to the data plane separation of control and data leveraging techniques from distributed systems Significant momentum, many challenges 37 in both research and industry

Thank You