Software Defined Networking



Similar documents
Project 3 and Software-Defined Networking (SDN)

The Future of Networking, and the Past of Protocols

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

Software Defined Networks

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

CSCI-1680 So ware-defined Networking

Software Defined Networks (SDN)

How To Understand The Power Of The Internet

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

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

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

SOFTWARE DEFINED NETWORKS REALITY CHECK. DENOG5, Darmstadt, 14/11/2013 Carsten Michel

OpenFlow Overview. Daniel Turull

CS6204 Advanced Topics in Networking

How SDN will shape networking

Software Defined Networking and the design of OpenFlow switches

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

OpenFlow & Software Defined Networking

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

SIMPLE NETWORKING QUESTIONS?

Network Management: - SNMP - Software Defined networking

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

SOFTWARE-DEFINED NETWORKING AND OPENFLOW

Software Defined Networking & Openflow

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

Limitations of Current Networking Architecture OpenFlow Architecture

SDN and Streamlining the Plumbing. Nick McKeown Stanford University

Software Defined Networking (SDN)

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

SOFTWARE-DEFINED NETWORKING AND OPENFLOW

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

YI-CHIH HSU & JEI-WEI ESTINET TECHNOLOGIES

Software Defined Networks

SDN. What's Software Defined Networking? Angelo Capossele

What is SDN (Software Defined Networking) and Openflow? SDN/OF Part of Kernel / SoC to provide security, steering & monitoring

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

SDN/Virtualization and Cloud Computing

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

OpenFlow: Enabling Innovation in Campus Networks

A Case for Overlays in DCN Virtualization Katherine Barabash, Rami Cohen, David Hadas, Vinit Jain, Renato Recio and Benny Rochwerger IBM

Cloud Networking Disruption with Software Defined Network Virtualization. Ali Khayam

Why Software Defined Networking (SDN)? Boyan Sotirov

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

Software-Defined Network (SDN) & Network Function Virtualization (NFV) Po-Ching Lin Dept. CSIE, National Chung Cheng University

Software Defined Networking (SDN) - Open Flow

HP OpenFlow Protocol Overview

OpenFlow - the key standard of Software-Defined Networks. Dmitry Orekhov, Epam Systems

Network Virtualization and Application Delivery Using Software Defined Networking

White Paper. SDN 101: An Introduction to Software Defined Networking. citrix.com

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

Software Defined Networking A quantum leap for Devops?

HP OpenFlow and SDN Technical Overview

ON.Lab Launches Revolutionary SDN Open Source Network Operating System ONOS on behalf of its Community of Service Providers and Innovator Partners

OpenFlow: History and Overview. Demo of routers

COMPSCI 314: SDN: Software Defined Networking

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

Software Defined Networking and Network Virtualization

How To Write A Network Plan In Openflow V1.3.3 (For A Test)

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

Enabling Software Defined Networking using OpenFlow

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

SDN. WHITE PAPER Intel Ethernet Switch FM6000 Series - Software Defined Networking. Recep Ozdag Intel Corporation

Software Defined Networking

A Coordinated. Enterprise Networks Software Defined. and Application Fluent Programmable Networks

BROCADE NETWORKING: EXPLORING SOFTWARE-DEFINED NETWORK. Gustavo Barros Systems Engineer Brocade Brasil

Spotlight On Backbone Technologies

STRUCTURE AND DESIGN OF SOFTWARE-DEFINED NETWORKS TEEMU KOPONEN NICIRA, VMWARE

Introduction to Software Defined Networking

Software Defined Networking Basics

Virtualization, SDN and NFV

SplitArchitecture Applying Software Defined Networking concept to carrier networks

Network Virtualization and Software-defined Networking. Chris Wright and Thomas Graf Red Hat June 14, 2013

A Presentation at DGI 2014 Government Cloud Computing and Data Center Conference & Expo, Washington, DC. September 18, 2014.

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

THE REVOLUTION TOWARDS SOFTWARE- DEFINED NETWORKING

Driving SDN Adoption in Service Provider Networks

Programmable Networking with Open vswitch

IPOP-TinCan: User-defined IP-over-P2P Virtual Private Networks

Introduction to Software Defined Networking (SDN) and how it will change the inside of your DataCentre

The Road to SDN: Software-Based Networking and Security from Brocade

Software Defined Networking and Network Virtualization

Tutorial: OpenFlow in GENI

CoIP (Cloud over IP): The Future of Hybrid Networking

Software Defined Network Application in Hospital

CS 78 Computer Networks. Internet Protocol (IP) our focus. The Network Layer. Interplay between routing and forwarding

Certes Networks Layer 4 Encryption. Network Services Impact Test Results

SOFTWARE DEFINED NETWORKING: A PATH TO PROGRAMMABLE NETWORKS. Jason Kleeh September 27, 2012

Software Defined Networking

CS244 Lecture 5 Architecture and Principles

OpenFlow and Software Defined Networking presented by Greg Ferro. Software Defined Networking (SDN)

Software-Defined Network Management

Software Defined Networks

ONOS [Open Source SDN Network Operating System for Service Provider networks]

Openflow: Enabling Innovation in Campus Networks

Data Center Networks and Basic Switching Technologies

DEMYSTIFYING ROUTING SERVICES IN SOFTWAREDEFINED NETWORKING

Transcription:

Software Defined Networking Richard T. B. Ma School of Computing National University of Singapore Material from: Scott Shenker (UC Berkeley), Nick McKeown (Stanford), Jennifer Rexford (Princeton) CS 4226: Internet Architecture

What is Software Defined Networking? A new approach to do networking new fundamental principles How does it contrast with traditional networking? Before knowing what it is, let us understand why we need it in the first place what is wrong with the current Internet?

The Internet: A Remarkable Story Tremendous success From research experiment to global infrastructure Brilliance of under-specifying Network: best-effort packet delivery Hosts: arbitrary applications Enables innovation in applications Web, P2P, VoIP, social networks, virtual worlds But, change is easy only at the edge

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

Networks Vs. Other Systems Networks are hard to manage Computation and storage have been virtualized Creating more flexible and manageable infrastructure Networks are still notoriously hard to manage Still heavily rely on network administrators Networks are hard to evolve Ongoing innovation in systems software New programming languages, operating systems, etc. Networks are stuck in the past Routing algorithms change very slowly Network management extremely primitive

Inside the Net: A Different Story 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

Networking as a Discipline Other fields in systems : OS, DB, DS, etc. Teach basic principles Are easily managed Continue to evolve Networking: Teach big bag of protocols Notoriously difficult to manage Evolves very slowly A failure from an academic point of view

Why Does Networking Lag Behind? Networks used to be simple: Ethernet, IP, TCP. New control requirements led to great complexity Isolation VLANs, ACLs Traffic engineering MPLS Packet processing Firewalls, NATs Payload analysis Deep packet inspection Mechanisms designed and deployed independently Complicated control plane design, primitive functionality Stark contrast to the elegantly modular data plane Ability to master complexity a curse Extract simplicity is needed to build a discipline

A Good Example: Programming Machine languages: no abstractions Mastering complexity was crucial Higher-level languages: OS and other abstractions File system, virtual memory, abstract data types,... Modern languages: even more abstractions Object orientation, garbage collection, Abstractions key to extracting simplicity

Key to the Internet s Success Hourglass IP model Layered service abstractions (why is this important?) Decompose delivery into fundamental components Independent, compatible innovation at each layer Only for network edges

Complicated Router at the Core two key router functions: run routing algorithms/protocol (RIP, OSPF, BGP) forwarding datagrams from incoming to outgoing link routing processor Routing, management control plane (software) input ports line card switching fabric line card output ports Forwarding data plane (hardware) line card line card

Two Key Definitions Data Plane: processing and delivery of packets Based on state in routers and endpoints E.g., IP, TCP, Ethernet, etc. Fast timescales (per-packet) Control Plane: establishing the state in routers Determines how and where packets are forwarded Routing, traffic engineering, firewall state, Slow time-scales (per control event)

What have we learned so far? Layers are great abstractions Layers only deal with the data plane No powerful control plane abstractions! Modularity based on abstraction is the way things get done Barbara Liskov Abstractions Interfaces Modularity How do we find control plane abstractions? first define problem and then decompose it

The network control problem Compute the configuration of each physical devices, e.g., forwarding tables Operate without communication guarantees Operate within given network-level protocol, e.g., RIP, OSPF. Only people who love complexity would find this a reasonable request!

Separation of Control/Data Plane Control Plane Routing processor Data Plane Routing processor Switch Switch fabric Routing processor Switch Switch fabric Switch Switch fabric

Benefits of Separation Independent evolution and development The software control of the network can evolve independently of the hardware. Control from high-level software program Control behavior using higher-order programs Debug/check behavior more easily

Logically Centralized Control Routing processor Routing Controller processor Routing processor Control Plane Data Plane Switch Switch Switch

Benefits of Centralization Centralized decisions are easier to make E.g., OSPF (RFC 2328) 244 pages Distributed system part (builds consistent network 100 pages) Routing algorithm (Dijkstra s algorithm 4 pages) Logically vs. physically centralized Issues with of a physically centralized controller? How to implement a logically centralized one?

Open Interfaces Controller Southbound Interface Switch Southbound Interface Control Plane Data Plane Southbound Interface Switch Switch

Programmability Application Control Plane Network Controller Plane Northbound Interface Southbound Interface Switch Southbound Interface Control Plane Data Plane Southbound Interface Switch Switch

Benefits of Open Interfaces and Programmability Enable competitive technologies Independent developments Rapid innovation and fast evolution Cheap and better networks Make network management much easier Management goals are expressed as policies New control/services for network providers Detailed configuration are done by controller

A Quick Summary Principles of Software Defined Networking Separation of Control Plane and Data Plane Logically Centralized Control Open Interfaces Programmability All these principles use abstractions to modularize the network control problem. A nice analogy from Prof. Nick McKeown

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 Open Interface Microprocessor or 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 Control Plane Open Interface or Control Plane or Open Interface Control Plane Specialized Hardware Merchant Switching Chips Vertically integrated Closed, proprietary Slow innovation Horizontal Open interfaces Rapid innovation

Conventional Vs. SDN (Pros) Easy to program Consistent policies Better integration of programs D. Kreutz et al. Software-Defined Networking: A Comprehensive Survey, Proceedings of the IEEE, Vol. 103, No. 1, January 2015.

Layers in a SDN D. Kreutz et al. Software-Defined Networking: A Comprehensive Survey, Proceedings of the IEEE, Vol. 103, No. 1, January 2015.

Abstractions Specification Distribution Forwarding D. Kreutz et al. Software-Defined Networking: A Comprehensive Survey, Proceedings of the IEEE, Vol. 103, No. 1, January 2015.

Three layers of abstractions Specification allow a application to express the desired network behavior without implementing it Distribution shield SDN apps from the distributed states, making distributed control logically centralized Forwarding allow any forwarding behavior desired by the network application (the control program) while hiding details of the underlying hardware

OpenFlow Protocol and Switch OpenFlow protocol Open southbound API OpenFlow switch Forwarding abstraction

Main components of an OpenFlow switch

Packet flow through the processing pipeline

OF terminology associated with packets For each packet from a packet flow Header and header field Pipeline fields values attached to the packet during pipeline processing, e.g., ingress port and metadata Action: an operation that acts on a packet e.g., drop, forward to a port, modify (decreasing TTL) Action set accumulated while processed by flow tables executed at then end of pipeline processing

OpenFlow flow entry A flow entry in a flow table looks like Match field: packets are matched against header fields and pipeline fields may be wildcarded (any) or bitmasked (subset of bits) Priority: used to choose from multiple matches Instruction set contains a list of actions to apply immediately contains a set of actions to add to the action set modify pipeline processing (go to another flow table) A default entry: table-miss flow entry

Packet flow through an OF switch

Matching and instruction execution Matching and Instruction execution in a flow table.

Operation of SDN (controller-switch) S. Sezer et al. Are we ready for SDN? Implementation Challenges for Software-Defined Networks, IEEE Communications Magazine, July 2013.

Interfaces of a SDN M. Jarschel et al. Interfaces, attributes, and use cases: a compass for SDN, IEEE Communications Magazine, June 2014.

S. Sezer et al. Are we ready for SDN? Implementation Challenges for Software-Defined Networks, IEEE Communications Magazine, July 2013.

Applications of SDN Killer application Network virtualization Other applications Datacenter and cloud computing WAN (Google B4) Software Internet exchange point (IXP) Mobility and wireless Security, measurement and monitoring

References D. Kreutz et al. Software-Defined Networking: A Comprehensive Survey, Proceedings of the IEEE, Vol. 103, No. 1, January 2015. OpenFlow Switch Specification Ver. 1.5.1 o https://www.opennetworking.org/images/stories/downloa ds/sdn-resources/onf-specifications/openflow/openflowswitch-v1.5.1.pdf