Software Defined Networking (SDN)

Slides:



Advertisements
Similar presentations
Resonance: Dynamic Access Control in Enterprise Networks Ankur Nayak, Alex Reimers, Nick Feamster, Russ Clark School of Computer Science Georgia Institute.
Advertisements

Towards Software Defined Cellular Networks
Toward Practical Integration of SDN and Middleboxes
Logically Centralized Control Class 2. Types of Networks ISP Networks – Entity only owns the switches – Throughput: 100GB-10TB – Heterogeneous devices:
Making Cellular Networks Scalable and Flexible Li Erran Li Bell Labs, Alcatel-Lucent Joint work with collaborators at university of Michigan, Princeton,
Software-Defined Networking, OpenFlow, and how SPARC applies it to the telecommunications domain Pontus Sköldström - Wolfgang John – Elisa Bellagamba November.
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. Software Defined Networking.
SDN and Openflow.
Network Management Overview IACT 918 July 2004 Gene Awyzio SITACS University of Wollongong.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
The Middlebox Manifesto: Enabling Innovation in Middlebox Deployment 1 Vyas SekarSylvia RatnasamyMichael ReiterNorbert Egi Guangyu Shi.
Software Defined Network (SDN) and Network Virtualization
Enabling Innovation Inside the Network Jennifer Rexford Princeton University
Software-Defined Networks Jennifer Rexford Princeton University.
Software Defined-Networking. Network Policies Access control: reachability – Alice can not send packets to Bob Application classification – Place video.
OpenDaylight project introduction An open source project under the Linux Foundation with the goal of furthering the adoption and innovation of Software.
SDN AND OPENFLOW SPECIFICATION SPEAKER: HSUAN-LING WENG DATE: 2014/11/18.
A survey of SDN: Past, Present and Future of Programmable Networks Speaker :Yu-Fu Huang Advisor :Dr. Kai-Wei Ke Date:2014/Sep./30 1.
Aaron Gember, Theophilus Benson, Aditya Akella University of Wisconsin-Madison.
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.
Improving Network Management with Software Defined Network Group 5 : z Xuling Wu z Haipeng Jiang z Sichen Wu z Aparna Sanil.
3.6 Software-Defined Networks and OpenFlow
Eric Osborne ARNOG 2016 NFV (and SDN). Introduction About me: 20+ years in Internet networking: startup, Cisco, Level(3) Currently a principal architect.
Preliminaries: EE807 Software-defined Networked Computing KyoungSoo Park Department of Electrical Engineering KAIST.
Routing and Routing Protocols CCNA 2 v3 – Module 6.
Software–Defined Networking Meron Aymiro. What is Software-Defined Networking?  Software-Defined Networking (SDN) has the potential of to transcend the.
SDN & NFV Driving Additional Value into Managed Services.
SDN controllers App Network elements has two components: OpenFlow client, forwarding hardware with flow tables. The SDN controller must implement the network.
Programming SDN 1 Problems with programming with POX.
Chapter 4 Network Layer: The Data Plane
Instructor Materials Chapter 7: Network Evolution
Road to SDN Review the main features of SDN
SDN challenges Deployment challenges
Chapter 5 Network Layer: The Control Plane
Instructor Materials Chapter 1: LAN Design
Yotam Harchol The Hebrew University of Jerusalem
Some slides have been adapted from:
Multi-layer software defined networking in GÉANT
University of Maryland College Park
15-744: Computer Networking
Martin Casado, Nate Foster, and Arjun Guha CACM, October 2014
N-Tier Architecture.
15-744: Computer Networking
NOX: Towards an Operating System for Networks
Cisco Systems Case Study
Storage Virtualization
SDN basics and OpenFlow
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
Northbound API Dan Shmidt | January 2017
The Stanford Clean Slate Program
Cloud Computing and Cloud Networking
CS 31006: Computer Networks – The Routers
Scenarios, Niches, Architectures
Software Defined Networking (SDN)
Link State on Data Center Fabrics
Software Defined Networking
Handout # 18: Software-Defined Networking
Extending MPLS/BGP VPNs to End-Systems
Outline Chapter 2 (cont) OS Design OS structure
Cloud-Enabling Technology
Software interoperability in the NGN Service layer
Software Defined Networking
® IRL Solutions File Number Here.
EE 122: Lecture 22 (Overlay Networks)
Chapter 5 Network Layer: The Control Plane
In-network computation
An Introduction to Software Defined Networking and OpenFlow
Presentation transcript:

Software Defined Networking (SDN) A brief introduction SDN promises and challenges

What is “software defined?” “Software defined” becomes a very popular word lately Software defined networking, software defined storage, software defined radio, etc. What is it? The control of the underlying system is exposed to the upper layer developer through an API. System functionality is implemented over the API as an app (software). This allows for customization for what users want. Another word for “Software defined” is “Programmable”

Today’s router: control plane and data plane

Today’s router Tightly coupled data and control plane Hardware vendors also provide proprietary control software monolithic router contains switching hardware, runs proprietary implementation of Internet standard protocols (IP, RIP, IS-IS, OSPF, BGP) in proprietary router OS (e.g., Cisco IOS) Network Layer: Control Plane

Today’s network Individual routing algorithm components in each and every router interact with each other in control plane to compute forwarding tables Routing Algorithm data plane control

Today’s network Equipment vendors provide a set of routing (network control) choices: OSPF, RIP, ISIS, BGP, etc. Network control using a distributed, per router approach. Network administrator can change network parameters to achieve certain objectives: e.g. changing routes Limited programmability If one wants a new control mechanism (e.g. new routing services for data centers), (s)he is out of luck. This is what SDN tries to overcome: making the network control like an APP that user can develop by themselves. SDN is to make network control more programmable, easier to deploy new services.

Today’s network New types of applications continue to be added using ad hoc approaches Core networking schemes remain unchanged. A lot of different “middleboxes”, each speaks its own language, and interferences with one another NAT, firewall, IDS, WAN optimizer, load balancer, traffic shapers, transparent web proxy, application accelerators, etc. Data plane elements are now interacting with many different types of control elements. How to make all these work (well) poses significant challenges.

SDN motivation Why do we want to make network control more programmable? Short term: Existing network control is no longer sufficient in several important areas, need innovation here! Data centers, Wireless, network security Existing network control is getting too complicated. Too many middleboxes with their own control Would be nice to provide a unified mechanism to deploy and manage these middleboxes Long term: programmability promotes innovation; and innovation is good for the networking industry.

Computing systems once upon a time Vertically integrated systems Proprietary hardware Proprietary OS Proprietary applications Highly reliable Dominated by a small number of large companies (IBM, HP, etc) Slow software innovation Proprietary development Small industry

Computing systems today Open interfaces Fast innovation Everyone can participate Hugh industry Software is now part of everything. To promote innovation, we must make network systems like this! App Linux Mac OS Windows (OS) or Open Interface Microprocessor Open Interface Microprocessor

Conventional networking system today Mainframe mindset: software for the control plane cannot be separated from the forwarding hardware in the data plane. Vertically integrated, complex, closed, proprietary Innovation is only possible if one has access to the router box. No significant innovation in the past 40 years. Custom hardware OS Bundled applications

Ideal networking system for innovation App Network apps Net Linux Net Mac OS Net Windows or Open Interface API of Net OS Network Operating Systems Open Interface API for controlling Network hardware Network hardware (data plane only)

Ideal networking system for innovation App Separate hardware from software (data plane from control plane) Standardize the interface Each layer provides an abstraction Innovation is possible for anyone just like software development for a computing system. This is the vision of SDN/OpenFlow. Net Linux Net Mac OS Net Windows or Open Interface Open Interface

SDN: separate forwarding hardware from controlling software App 4. Firewall, virtual network, TE, IDS, etc Net Linux Net Mac OS Net Windows or Open Interface Northbound API, not standardized yet 3. SDN controllers (floodlight, nox, etc) Open Interface OpenFlow: standardized for Ethernet/IP/TCP 2. OpenFlow enabled switches/routers simple hardware doing forwarding only forwarding table can be set by other entity through OpenFlow

SDN: Logically centralized control plane A distinct (typically remote) controller interacts with local control agents (CAs) in routers to compute forwarding tables Remote Controller CA data plane control

Why a logical centralized control plane? easier network management: avoid router misconfigurations, greater flexibility of traffic flows table-based forwarding (recall OpenFlow API) allows “programming” routers centralized “programming” easier: compute tables centrally and distribute distributed “programming: more difficult: compute tables as result of distributed algorithm (protocol) implemented in each and every router open (non-proprietary) implementation of control plane Network Layer: Control Plane

Software defined networking (SDN) 4. programmable control applications … 3. control plane functions external to data-plane switches routing access control load balance data plane control Remote Controller CA 2. control, data plane separation 1: generalized“ flow-based” forwarding (e.g., OpenFlow)

SDN perspective: data plane switches fast, simple, commodity switches implementing generalized data-plane forwarding in hardware switch flow table computed, installed by controller API for table-based switch control (e.g., OpenFlow) defines what is controllable and what is not protocol for communicating with controller (e.g., OpenFlow) data plane control SDN Controller (network operating system) … routing access load balance southbound API northbound API SDN-controlled switches network-control applications

SDN perspective: SDN controller SDN controller (network OS): maintain network state information interacts with network control applications “above” via northbound API interacts with network switches “below” via southbound API implemented as distributed system for performance, scalability, fault-tolerance, robustness network-control applications … routing access control load balance control plane northbound API SDN Controller (network operating system) southbound API data plane SDN-controlled switches

SDN perspective: control applications network-control apps: “brains” of control: implement control functions using lower-level services, API provided by SND controller unbundled: can be provided by 3rd party: distinct from routing vendor, or SDN controller network-control applications … routing access control load balance control plane northbound API SDN Controller (network operating system) southbound API data plane SDN-controlled switches

How an SDN operates Network applications specify the network functions (not the detailed implementation on the physical devices): Access control: who can talk to who Isolation: who can hear my broadcasts Routing: only specify routing to the degree you care Some flows over satellite, others over landline TE: specify in terms of quality of service, not routes Network OS (or something like a compiler) compiles the network application and computes the configurations on physical devices based on the global view Network OS distributes the configuration to physical devices through the southbound interface (OpenFlow).

Contrast between SDN and conventional network Controller may not be in the same box as the forwarding hardware Forwarding hardware and its control are in the same box Centralized routing algorithm with logically global view Distributed routing algorithm Network functions are realized with a global view Network functions must be realized in a distributed manner, error-prone New abstraction must be developed for the centralized view Network abstraction is embedded in the distributed algorithms

Major paradigm shift with SDN No longer use distributed control protocols Design one distributed system (NOS) with the global view of the network Use for all control functions Now just defining a centralized control function Configuration = Function(global view) This may look easy. But this is not how it is done before, everything is new – innovation at all levels for this to happen.

Major paradigm shift with SDN This may look easy. But this is not how it is done before, everything is new – innovation at all levels for this to happen. High level programming languages to describe network application. Runtime system to realize the program efficiently, correctly, and safely. Abstraction design Debugging infrastructure network OS design Scalability issues

SDN promises A lower-entry point for innovation in the network control. Solve the issues in the current network configuration challenges. Data plane interacts with many control entities Configure locally to achieve a global network function.

Some SDN issues that are currently under extensive research Abstraction A new programming system to specify network functions (programming SDN) An API that provides network abstraction to network application (SDN controller design) Performance (scalability) Controller Communication between controller and devices Forwarding Correctness and debugging – A SDN program has a higher bar than a typical program, multiple levels Security