Software Defined Networking

Slides:



Advertisements
Similar presentations
Towards Software Defined Cellular Networks
Advertisements

Logically Centralized Control Class 2. Types of Networks ISP Networks – Entity only owns the switches – Throughput: 100GB-10TB – Heterogeneous devices:
OpenFlow overview Joint Techs Baton Rouge. Classic Ethernet Originally a true broadcast medium Each end-system network interface card (NIC) received every.
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.
SDN and Openflow.
Flowspace revisited OpenFlow Basics Flow Table Entries Switch Port MAC src MAC dst Eth type VLAN ID IP Src IP Dst IP Prot L4 sport L4 dport Rule Action.
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) SriramGopinath( )
An Overview of Software-Defined Network
An Overview of Software-Defined Network Presenter: Xitao Wen.
Cellular Core Network Architecture
OpenFlow: Enabling Technology Transfer to Networking Industry Nikhil Handigol Nikhil Handigol Cisco Nerd.
Software-Defined Networks Jennifer Rexford Princeton University.
Brent Salisbury CCIE#11972 Network Architect University of Kentucky 9/22/ OpenStack & OpenFlow Demo.
CS : Software Defined Networks 3rd Lecture 28/3/2013
Software Defined Networking Mike Freedman COS 461: Computer Networks
Chapter 7 Backbone Network. Announcements and Outline Announcements Outline Backbone Network Components  Switches, Routers, Gateways Backbone Network.
SDN and Openflow. Motivation Since the invention of the Internet, we find many innovative ways to use the Internet – Google, Facebook, Cloud computing,
Presenter : Weerawardhana J.L.M.N. Department of Computer Engineering, University of Peradeniya.
3.6 Software-Defined Networks and OpenFlow
Why Fabric? 1 Complicated technology/vendor/device specific provisioning for networks, especially heterogeneous network DC Network – STP, TRILL, SPB, VXLAN,
Software Defined Networking and OpenFlow Geddings Barrineau Ryan Izard.
SDN and Beyond Ghufran Baig Mubashir Adnan Qureshi.
Atrium Router Project Proposal Subhas Mondal, Manoj Nair, Subhash Singh.
Preliminaries: EE807 Software-defined Networked Computing KyoungSoo Park Department of Electrical Engineering KAIST.
SDN basics and OpenFlow. Review some related concepts SDN overview OpenFlow.
B4: Experience with a Globally-Deployed Software WAN
Data Center Networks and Software-defined Networking
Advanced Computer Networks
Chapter 4 Network Layer: The Data Plane
An Introduction to Software-Defined Networking (SDN)
SDN challenges Deployment challenges
Chapter 5 Network Layer: The Control Plane
CIS 700-5: The Design and Implementation of Cloud Networks
Some slides have been adapted from:
Chapter 4 Network Layer: The Data Plane
Some slides have been adapted from:
Software defined networking: Experimental research on QoS
ETHANE: TAKING CONTROL OF THE ENTERPRISE
NOX: Towards an Operating System for Networks
Network Data Plane Part 2
Week 6 Software Defined Networking (SDN): Concepts
6.829 Lecture 13: Software Defined Networking
CS 1652 Jack Lange University of Pittsburgh
SDN Overview for UCAR IT meeting 19-March-2014
SDN basics and OpenFlow
Software Defined Networking (SDN)
Chapter 7 Backbone Network
Software Defined Networking
Chapter 5 Network Layer: The Control Plane
The Stanford Clean Slate Program
CS 31006: Computer Networks – The Routers
* Essential Network Security Book Slides.
Software Defined Networking (SDN)
Setting Up Firewall using Netfilter and Iptables
Chapter 4 Network Layer: The Data Plane
NTHU CS5421 Cloud Computing
IP Forwarding Relates to Lab 3.
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 4: Planning and Configuring Routing and Switching.
CMPE 252A : Computer Networks
Programmable Networks
An Introduction to Software Defined Networking and OpenFlow
Chapter 5 Network Layer: The Control Plane
Lecture 9 – Chapter 4 Network Data Plane CIS 5617, Spring2019
Enabling Innovation Inside the Network
An Introduction to Software Defined Networking and OpenFlow
Control-Data Plane Separation
Chapter 4: outline 4.1 Overview of Network layer data plane
Presentation transcript:

Software Defined Networking Chen Qian Department of Computer Science and Engineering qian@ucsc.edu https://users.soe.ucsc.edu/~qian/

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

Traffic engineering: difficult for traditional routing 5 3 v w 5 2 u 2 1 z 3 1 2 x y 1 Q: what if network operator wants u-to-z traffic to flow along uvwz, x-to-z traffic to flow xwyz? A: need to define link weights so traffic routing algorithm computes routes accordingly (or need a new routing algorithm)! Note: implicit assumption here: destination based forwarding

Traffic engineering: difficult 2 1 3 5 v w u z y x Q: what if network operator wants to split u-to-z traffic along uvwz and uxyz (load balancing)? A: can’t do it (or need a new routing algorithm) Note: implicit assumption here: destination based forwarding

Traffic engineering: difficult 5 v 3 w v w 5 2 u z 2 z 1 3 1 x x y 2 y 1 Q: what if w wants to route blue and red traffic differently? A: can’t do it (with destination based forwarding, and LS, DV routing) Note: implicit assumption here: destination based forwarding Problem:

Network-layer functions Recall: two network-layer functions: forwarding: move packets from router’s input to appropriate router output data plane routing: determine route taken by packets from source to destination control plane Two approaches to structuring network control plane: per-router control (traditional) logically centralized control (software defined networking)

Traditional Computer Networks Data plane: Packet streaming Maybe this is a better picture… though need some details of what happens in each plane… like in next slides… or, have both? Forward, filter, buffer, mark, rate-limit, and measure packets

Traditional Computer Networks Per-router control plane: Distributed algorithms Maybe this is a better picture… though need some details of what happens in each plane… like in next slides… or, have both? Individual routing algorithm components in each and every router interact with each other in control plane to compute forwarding tables Track topology changes, compute routes, install forwarding rules

Traditional Computer Networks Management plane: Human time scale Maybe this is a better picture… though need some details of what happens in each plane… like in next slides… or, have both? Collect measurements and configure the equipment

Software Defined Networking (SDN) Logically-centralized control Smart, slow API to the data plane (e.g., OpenFlow) Dumb, fast Switches A distinct (typically remote) controller interacts with local control agents (CAs) in routers to compute forwarding tables Extract the control part of routers to form a central controller

Software defined networking (SDN) Why a logically centralized control plane? easier network management: avoid router misconfigurations, greater flexibility of traffic flows table-based forwarding 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

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 network-control applications 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 … 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

OpenFlow (OF) defines the communication protocol that enables the SDN Controller to directly interact with the forwarding plane of network devices.

OpenFlow data plane abstraction flow: defined by header fields generalized forwarding: simple packet-handling rules Pattern: match values in packet header fields Actions: drop, forward, modify, matched packet or send matched packet to controller Priority: disambiguate overlapping patterns Counters: #bytes and #packets * : wildcard src=1.2.*.*, dest=3.4.5.*  drop src = *.*.*.*, dest=3.4.*.*  forward(2) 3. src=10.1.2.3, dest=*.*.*.*  send to controller

OpenFlow data plane abstraction match+action: unifies different kinds of devices Router match: longest destination IP prefix action: forward out a link Switch match: destination MAC address action: forward or flood Firewall match: IP addresses and TCP/UDP port numbers action: permit or deny NAT match: IP address and port action: rewrite address and port

Examples Destination-based forwarding: Firewall: Switch Port MAC src dst Eth type VLAN ID IP Src Dst Prot TCP sport dport Action * * * * * * 51.6.0.8 * * * port6 IP datagrams destined to IP address 51.6.0.8 should be forwarded to router output port 6 Firewall: Switch Port MAC src dst Eth type VLAN ID IP Src Dst Prot TCP sport dport Forward * * * * * * * * * 22 drop do not forward (block) all datagrams destined to TCP port 22 Switch Port MAC src dst Eth type VLAN ID IP Src Dst Prot TCP sport dport Forward drop * * * * * 128.119.1.1 * * * * do not forward (block) all datagrams sent by host 128.119.1.1

Edge computing (2) Taking the Edge off with Espresso Chen Qian Department of Computer Science and Engineering qian@ucsc.edu https://users.soe.ucsc.edu/~qian/

Background edge metros or points of presence (PoPs)—connect Google to end users through external ISP peers 20

21

In tradition Peering Routers (PR) connect Google’s network with other autonomous systems (AS) in the edge. These PRs support eBGP peerings, Internet-scale FIBs and IP access- control-lists to filter unwanted traffic. 22

23

Data plane A combination of a commodity MPLS switch (PF), and BGP speaker processes that support the traditional peering "router" capabilities. PF has a small TCAM and limited on-box BGP capability. It is capable of line rate decapsulation and forwarding of IP GRE and MPLS packets. Internet-scale FIBs are in the servers. 24

Control plane A global traffic engineering (TE) system enables application-aware routing at Internet scale. Global TE controller (GC) and location controllers (LC), programs the packet processors with flow entries Allows dynamic selection of egress port on per-application basis. 25

26

27

28

Global Load Balancing Purpose: Map clients to the server clusters of the CDN. Clusters assignments are made at the granularity of map units. <IP address prefix, traffic class> e.g. <1.2.3.4/24, video> Question: How to assign each map unit 𝑴 𝒊 ,𝟏≤𝒊≤𝑴 to a server cluster 𝑪 𝒋 ,𝟏≤𝒋≤𝑵 29

improvements to user experience observed by video player 30

> 50× more frequently than with traditional peering routers. 31

Conclusion Two principal criticisms of SDN This work shows that it is best suited to walled gardens that do not require interoperability at Internet scale SDN mainly targets cost reductions. This work shows that Espresso supports six times the feature velocity 75% cost-reduction many novel features and exponential capacity growth relative to traditional architectures. 32

Chen Qian cqian12@ucsc.edu https://users.soe.ucsc.edu/~qian/ Thank You Chen Qian cqian12@ucsc.edu https://users.soe.ucsc.edu/~qian/