15-744: Computer Networking

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

Chapter 1: Introduction to Scaling Networks
Towards Software Defined Cellular Networks
Logically Centralized Control Class 2. Types of Networks ISP Networks – Entity only owns the switches – Throughput: 100GB-10TB – Heterogeneous devices:
Implementing Inter-VLAN Routing
An Overview of Software-Defined Network Presenter: Xitao Wen.
OpenFlow Costin Raiciu Using slides from Brandon Heller and Nick McKeown.
Mobile Communication and Internet Technologies
Software-Defined Networking, OpenFlow, and how SPARC applies it to the telecommunications domain Pontus Sköldström - Wolfgang John – Elisa Bellagamba November.
Why can’t I innovate in my wiring closet? Nick McKeown MIT, April 17, 2008 The Stanford Clean Slate Program
OpenFlow : Enabling Innovation in Campus Networks SIGCOMM 2008 Nick McKeown, Tom Anderson, et el. Stanford University California, USA Presented.
Garrett Drown Tianyi Xing Group #4 CSE548 – Advanced Computer Network Security.
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( )
The Stanford Clean Slate Program A couple of platforms (Or: “Why can’t I innovate in my wiring closet?”) Nick McKeown
An Overview of Software-Defined Network
15-744: Computer Networking L-7 Software Forwarding.
Router Architectures An overview of router architectures.
Router Architectures An overview of router architectures.
An Overview of Software-Defined Network Presenter: Xitao Wen.
Professor Yashar Ganjali Department of Computer Science University of Toronto
Application-Aware Aggregation & Traffic Engineering in a Converged Packet-Circuit Network Saurav Das, Yiannis Yiakoumis, Guru Parulkar Nick McKeown Stanford.
Jennifer Rexford Princeton University MW 11:00am-12:20pm Programmable Data Planes COS 597E: Software Defined 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 and OpenFlow SDN CIO Summit 2010 Nick McKeown & Guru Parulkar Stanford University In collaboration with Martin Casado and Scott.
Brent Salisbury CCIE#11972 Network Architect University of Kentucky 9/22/ OpenStack & OpenFlow Demo.
The Stanford Clean Slate Program POMI2020 Mobility Nick McKeown
Common Devices Used In Computer Networks
OpenFlow: Enabling Innovation in Campus Networks
Aditya Akella (Based on slides from Aaron Gember and Nick McKeown)
Sponsored by the National Science Foundation Tutorial: An Introduction to OpenFlow using POX GENI Engineering Conference 20 June 2014.
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) Sriram Gopinath( )
Programmable Networks: Active Networks + SDN. How to Introduce new services Overlays: user can introduce what-ever – Ignores physical network  perf overhead.
A Simple Unified Control Plane for Packet and Circuit Networks Saurav Das, Guru Parulkar, Nick McKeown Stanford University.
OpenFlow:Enabling Innovation in Campus Network
SDN and Openflow. Motivation Since the invention of the Internet, we find many innovative ways to use the Internet – Google, Facebook, Cloud computing,
Information-Centric Networks Section # 13.2: Alternatives Instructor: George Xylomenos Department: Informatics.
OpenFlow & NOX (& how the SDN era started) CCR 2008 Whitepapers Nick McKeown & Natasha Gude et al. Presented by: M. Asim Jamshed Some slides have been.
Presenter : Weerawardhana J.L.M.N. Department of Computer Engineering, University of Peradeniya.
3.6 Software-Defined Networks and OpenFlow
OpenFlow: Enabling Innovation in Campus Networks Yongli Chen.
Fabric: A Retrospective on Evolving SDN Presented by: Tarek Elgamal.
Software Defined Networking and OpenFlow Geddings Barrineau Ryan Izard.
SDN and Beyond Ghufran Baig Mubashir Adnan Qureshi.
SDN basics and OpenFlow. Review some related concepts SDN overview OpenFlow.
Network Virtualization Ben Pfaff Nicira Networks, Inc.
Chapter 4 Network Layer: The Data Plane
Instructor Materials Chapter 1: LAN Design
Software defined networking: Experimental research on QoS
ETHANE: TAKING CONTROL OF THE ENTERPRISE
15-744: Computer Networking
Week 6 Software Defined Networking (SDN): Concepts
SDN basics and OpenFlow
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.
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
15-744: Computer Networking
An Introduction to Software Defined Networking and OpenFlow
SDN + NetSec Vyas Sekar.
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:

15-744: Computer Networking Software Forwarding

Announcements Project proposals due Monday About 1-2pgs Key elements: Problem Approach Related work Milestones/Stretch goals Risks Resources needed

Outline Click OpenFlow

Software-Based Routers Enabling innovation in networking research Software data planes Readings: OpenFlow: Enabling Innovation in Campus Networks The Click Modular Router Optional reading RouteBricks: Exploiting Parallelism To Scale Software Routers

Click overview Modular architecture Router = composition of modules Router = data flow graph An element is the basic unit of processing Three key components of each element: Ports Configuration Method interfaces The high level idea of click as the title suggests is to build a modular router. That is u want to break up a router processing task into multiple smaller modules and then compose the processing as a fta flow graph between these modules. The basic unit is a clicke element. And each element has trheee key compknetns ==-portsn , configuraiton stringfs, and method interfgaces that other elements can querye

Simple Tee Element Here is an exmaple of a very simple Tee element that takes in incoming packets and duplicates into 2 output ports. The ;ement class is Tee. It takes a config tring 2 giving number of ports. And the finction is just copy packets from input to outpu

Two types of “connections” Push Source element has finished processing Sends it downstream E.g., FromDevice Pull Destination is ready to process Initiates packet transfer E.g., ToDevice Now these ports that connect elements are of two types – push or pull. Push is when a src element has finished processign and wants to hand off. This is a natural thing for e..g, when u have incpoking pkts. The dual of this is the pull. The destination gives “upcall” saying its ready to receive the next pacekt. E.g., this might be relevant for tranmissint devices to inform that they are ready to send. The smentics is push is connected to push and pull is connected to pull. U need some special things like queues to mix and match.

“Flow” of processing Lets look at a very simple exmaple u have fromdevice wih a push output. Two null elemnts that are agnistic (meaning depending on in/put being push/pull they get duynamcially assigned). In between u have a queue element with a push inpu and a pull output. Walk throush

Click Config File Click has a really simple scripting config language that lets u express the processing as a graph. Here is a very simple example

Other elements Packet Classification Scheduling Queueing Routing What you write… Ther eare many modules in click .. Classifiers, schduling, queuning, routing, and many other use contributed modules. Plus whatever u write!

Takeaways Click is a flexible modular router Shows that s/w x86 can get pretty good performance Extensible/modular Widely used in academia/research Play with it!

Outline IP router design IP route lookup Click OpenFlow

Innovations in campus wiring closets Experiments we’d like to do Mobility management Network-wide energy management New naming/addressing schemes Network access control Problem with our network Paths are fixed (by the network) IP-only Addresses dictated by DNS, DHCP, etc No means to add our own processing

OpenFlow Switching A way to run experiments in the networks we use everyday. Bring GENI to college campuses. A “pragmatic” compromise Allow researchers to run experiments in their network… …without requiring vendors to expose internal workings. Basics An Ethernet switch (e.g. 128-ports of 1GE) An open protocol to remotely add/remove flow entries

Experimenter’s Dream (Vendor’s Nightmare) Standard Network Processing User- defined Processing Experimenter writes experimental code on switch/router sw hw

No obvious way Commercial vendor won’t open software and hardware development environment Complexity of support Market protection and barrier to entry Hard to build my own Prototypes are flakey Software only: Too slow Hardware/software: Fanout too small (need >100 ports for wiring closet)

Furthermore, we want… Isolation: Regular production traffic untouched Virtualized and programmable: Different flows processed in different ways Equipment we can trust in our wiring closet Open development environment for all researchers (e.g. Linux, Verilog, etc). Flexible definitions of a flow Individual application traffic Aggregated flows Alternatives to IP running side-by-side …

OpenFlow Switching Controller OpenFlow Switch Table Secure Channel PC OpenFlow Protocol SSL hw sw OpenFlow Switch specification

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

What is nice Fits well with the TCAM abstraction Most vendors already have this They can just expose this without exposing internals

OpenFlow Usage Models Experiments at the flow level User-defined routing protocols Admission control Network access control Network management Energy management VOIP mobility and handoff … Experiments at the packet level Slow: Controller handles packet processing Fast: Redirect flows through programmable hardware Modified routers, firewalls, NAT, congestion control… Alternatives to IP Experiment-specific controllers Static or dynamic flow-entries

Example Apps Ethane Amy’s own OSPF VLAN VoIP for Mobile Support for non-IP

Example Experiment at the flow level Mobility Lots of interesting questions Management of flows Control of switches Access control of users and devices Tracking user location and motion

Experiments at the packet level PC OpenFlow-enabled Commercial Switch Flow Table Secure Channel Normal Software Datapath Controller Laboratory NetFPGA

OpenFlow Usage Models Experiments at the flow level Experiments at the packet level Alternatives to IP Flow-table is Layer-2 based e.g. new naming and addressing schemes …

Traffic Engineering Performance Security Compliance Resilience Network Management Traffic Engineering Performance Security Compliance Resilience Networks start off providing a basic functionality – send packets from point A to point B. But that’s not the end of the story .. Administrators want to achieve other things with the network – performance

Problem: Toolbox is bad! Traffic Engineering Performance Security Compliance Resilience Toolbox today

Why: Toolbox is implicit in routers! Traffic Engineering Performance Security Compliance Resilience Makes the network really brittle, makes it hard to reason whether your policy goals are being met. Toolbox relies on some complex distributed routing algorithms to converge, not clear what happens under failures etc Motivation: Management is complex, expensive, fragile Need: Direct control, expressive policy, network-wide views

Solution Separate out the “data” and the “control” Open interface between control/data planes Logically centralized views Simplifies optimization/policy management Network-wide visibility

Last Lecture: ONIX Controller E.g., ONIX, NOX, … Config Config Networks start off providing a basic functionality – send packets from point A to point B. But that’s not the end of the story .. Administrators want to achieve other things with the network – performance Config Config

Today: OpenFlow Controller OpenFlow Config Config Networks start off providing a basic functionality – send packets from point A to point B. But that’s not the end of the story .. Administrators want to achieve other things with the network – performance Config Config

Summary Building software routers by starting with: closed, commercial routers vs. commodity PCs Pros and cons?

Next Lecture Programming the Network/Evolution Readings: P4: Read in full Active Networks: skim