Serval: Software Defined Service-Centric Networking Jen Rexford Erik Nordstrom, David Shue, Prem Gopalan, Rob Kiefer, Mat Arye, Steven Ko, Mike Freedman.

Slides:



Advertisements
Similar presentations
All Rights Reserved © Alcatel-Lucent 2009 Enhancing Dynamic Cloud-based Services using Network Virtualization F. Hao, T.V. Lakshman, Sarit Mukherjee, H.
Advertisements

Towards Software Defined Cellular Networks
Serval: An End-Host Stack for Service-Centric Networking
Connect communicate collaborate GN3plus What the network should do for clouds? Christos Argyropoulos National Technical University of Athens (NTUA) Institute.
Composing Software Defined Networks
Mobility Jennifer Rexford COS 461: Computer Networks Lectures: MW 10-10:50am in Architecture N101
Sponsored by the National Science Foundation SCAFFOLD Spiral 2 Year-end Project Review Princeton University Michael Freedman (PI), Jennifer Rexford (co-PI)
Generalized Virtual Networking: an enabler for Service Centric Networking and Network Function Virtualization Stefano Salsano (1), Nicola Blefari-Melazzi.
Programming Abstractions for Software-Defined Networks Jennifer Rexford Princeton University.
Scalable Network Virtualization in Software-Defined Networks
Highly Available Central Services An Intelligent Router Approach Thomas Finnern Thorsten Witt DESY/IT.
1 Week #1 Objectives Review clients, servers, and Windows network models Differentiate among the editions of Server 2008 Discuss the new Windows Server.
Technical Architectures
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
ProActive Routing In Scalable Data Centers with PARIS Joint work with Dushyant Arora + and Jennifer Rexford* + Arista Networks *Princeton University Theophilus.
COS 461: Computer Networks
Class 3: SDN Stack Theophilus Benson. Outline Background – Routing in ISP – Cloud Computing SDN application stack revisited Evolution of SDN – The end.
Datacenter Networks Mike Freedman COS 461: Computer Networks
Module – 7 network-attached storage (NAS)
Jennifer Rexford Princeton University MW 11:00am-12:20pm SDN Software Stack COS 597E: Software Defined Networking.
Scalable Server Load Balancing Inside Data Centers Dana Butnariu Princeton University Computer Science Department July – September 2010 Joint work with.
Hands-On Microsoft Windows Server 2008 Chapter 8 Managing Windows Server 2008 Network Services.
ECCP A Formally-Verified Migration Protocol For Mobile, Multi-Homed Hosts Matvey Arye Joint work with: Erik Nordström, Robert Kiefer Jennifer Rexford, Michael.
Additional SugarCRM details for complete, functional, and portable deployment.
Data Center Network Redesign using SDN
CN2668 Routers and Switches Kemtis Kunanuraksapong MSIS with Distinction MCTS, MCDST, MCP, A+
Enabling Innovation Inside the Network Jennifer Rexford Princeton University
Windows Internet Connection Sharing Dave Eitelbach Program Manager Networking And Communications Microsoft Corporation.
Composing Software Defined Networks Jennifer Rexford Princeton University With Joshua Reich, Chris Monsanto, Nate Foster, and.
Cisco Discovery Working at a Small-to-Medium Business or ISP CHAPTER 7 ISP Services Jr.
TCP/IP protocols Communication over Internet is mostly TCP/IP (Transmission Control Protocol over Internet Protocol) TCP/IP "stack" is software which allows.
Chapter 17 Networking Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William Stallings.
Frenetic: A Programming Language for Software Defined Networks Jennifer Rexford Princeton University Joint work with Nate.
Software-Defined Networks Jennifer Rexford Princeton University.
CS : Software Defined Networks 3rd Lecture 28/3/2013
Higher-Level Abstractions for Software-Defined Networks Jennifer Rexford Princeton University.
Internet Addresses. Universal Identifiers Universal Communication Service - Communication system which allows any host to communicate with any other host.
Networks – Network Architecture Network architecture is specification of design principles (including data formats and procedures) for creating a network.
Seamless Access to Services for Mobile Users Jennifer Rexford Princeton University Joint work with Matvey Ayre, Mike.
Cloud Scale Performance & Diagnosability Comprehensive SDN Core Infrastructure Enhancements vRSS Remote Live Monitoring NIC Teaming Hyper-V Network.
Copyright 2013 Open Networking User Group. All Rights Reserved Confidential Not For Distribution Programming Abstractions for Software-Defined Networks.
Geneva, Switzerland, 11 June 2012 Switching and routing in Future Network John Grant Nine Tiles
SDX: A Software-Defined Internet eXchange Jennifer Rexford Princeton University
4061 Session 25 (4/17). Today Briefly: Select and Poll Layered Protocols and the Internets Intro to Network Programming.
Reconsidering Internet Mobility Alex C. Snoeren, Hari Balakrishnan, M. Frans Kaashoek MIT Laboratory for Computer Science.
Chapter 2 Protocols and the TCP/IP Suite 1 Chapter 2 Protocols and the TCP/IP Suite.
Programming Languages for Software Defined Networks Jennifer Rexford and David Walker Princeton University Joint work with the.
TCP/IP (Transmission Control Protocol / Internet Protocol)
Create a dynamic datacenter with software-defined networking
1 | © 2015 Infinera Open SDN in Metro P-OTS Networks Sten Nordell CTO Metro Business Group
Cisco Discovery Semester 1 Chapter 6 JEOPADY RouterModesWANEncapsulationWANServicesRouterBasicsRouterCommands RouterModesWANEncapsulationWANServicesRouterBasicsRouterCommands.
Web Technologies Lecture 13 Introduction to cloud computing.
J. Liebeher (modified by M. Veeraraghavan) 1 Introduction Complexity of networking: An example Layered communications The TCP/IP protocol suite.
NEWS: Network Function Virtualization Enablement within SDN Data Plane.
Serval: An End-Host Stack for Service-Centric Networking Erik Nordstrom, David Shue, Prem Gopalan, Robert Kiefer, Matvey Arye, Steven Y. Ko, Jennifer Rexford,
Software Defined Networking and OpenFlow Geddings Barrineau Ryan Izard.
Chapter 11 – Cloud Application Development. Contents Motivation. Connecting clients to instances through firewalls. Cloud Computing: Theory and Practice.
Also known as hardware/physi cal address Customer Computer (Client) Internet Service Provider (ISP) MAC Address Each Computer has: Given by NIC card.
Ananta: Cloud Scale Load Balancing Presenter: Donghwi Kim 1.
Atrium Router Project Proposal Subhas Mondal, Manoj Nair, Subhash Singh.
SCAFFOLD Steve Ko Princeton University With Mike Freedman, Jen Rexford, Prem Gopalan, and David Shue
Network Virtualization Ben Pfaff Nicira Networks, Inc.
SDN controllers App Network elements has two components: OpenFlow client, forwarding hardware with flow tables. The SDN controller must implement the network.
SDN challenges Deployment challenges
University of Maryland College Park
Heitor Moraes, Marcos Vieira, Italo Cunha, Dorgival Guedes
NOX: Towards an Operating System for Networks
of Dynamic NFV-Policies
Chapter 3: Windows7 Part 4.
Enabling Innovation Inside the Network
Presentation transcript:

Serval: Software Defined Service-Centric Networking Jen Rexford Erik Nordstrom, David Shue, Prem Gopalan, Rob Kiefer, Mat Arye, Steven Ko, Mike Freedman Princeton University serval-arch.org

Internet of the 1970s Network designed for accessing a specific host. IMP 0 h1 h2 IMP 1 h4 h3 PDP-11 SDS SigmaSDS 940 UCLAStanford ftp, telnet

Service-Centric Networking 1970s 1980s 1990s 2000s Users agnostic of actual service instance and its location

Challenges: Multiplicity and Dynamism Service with dynamic pool of replicas – Challenge: keep service resolution up-to-date Replicated Web Service Replicated Web Service Load Balancer Load Balancer Failure Internet

Challenges: Multiplicity and Dynamism IaaS with dynamic traffic demand – Challenge: migrate VMs to balance network load VM Migration VM Migration VM Migration VM Migration Internet

Challenges: Multiplicity and Dynamism Mobile end-hosts with multiple interfaces – Challenge: seamless service access across virtual migrations and physical mobility Cellular Provider Cellular Provider Enterprise Network Enterprise Network Physical Mobility Physical Mobility 4G Multi- Homing Multi- Homing Transit Provider Transit Provider

Supporting Modern Services Defining “the right” abstractions – Service naming – Service-level events – Common APIs Separating control and data – Programmability through a well-defined data plane – Policy/control through a flexible control plane

Service-Centric Abstractions Service = group of processes with same functionality – Have: IP address + port number – Problems: Slow DNS failover due to caching, inefficient and costly stateful load balancers with fate sharing – Want: Service names with a group abstraction that hide composition and location Flow = dynamic service communication context – Have: Five-tuple, bound to interface and location – Problems: Connections break when addresses change – Want: Flow names decoupled from location and underlying communication interface

A Clean Role Separation in the Stack Naming the right things at the right level – What you access (serviceID), over which flows (flowIDs), and at which service instance (IP address) TCP/IP Serval Transport demux (IP + port) Network forward (IP) Application bind (IP + port) bind (serviceID) Service Access Service Access demux ( ) serviceID flowID

Service Names (ServiceID) Different granularities of services – Entire distributed Web service – Replicated partition in back-end storage – Set of peers distributing a common file ServiceIDs allocated in blocks – Ensures global uniqueness – Enables prefix-based aggregation ServiceID carried in network packets – Service-level routing – Late-binding to a service instance

Active Sockets Applications should operate on service names connect(fd, serviceID) bind(fd, serviceID) listen(fd) Network stack must resolve service to instance for client Network stack must advertise service for server

Separating Control and Data Kernel Network Stack Kernel Network Stack Application Service Controller Data Delivery Socket Service Control API Service Control API Service Table bind(X) close() Control-Plane Protocol Service controller DNS or other database OpenFlow controller Control-Plane Protocol Service controller DNS or other database OpenFlow controller IP Forwarding Table (un)register X X

Data Plane: The Service Table

The Service Table (SIB)

Ad hoc Service Discovery ServiceIDActionRule State *FORWARD SYN XX 1 connect(X) SYN-ACK a c b

Service-Level Forwarding Kernel Network Stack Kernel Network Stack Flow Table Service Table IP Forwarding Table Service-level Forwarding

Load Balancing Example Service Access Xd,e * a Transport sXsX sXsX X sXsX * b App X b IP a a b b d d e e c c

Transport Flow Table Service Access Service Access Network a1a2 flowID f C2 IP interfaces Socket s flowID f C1 Flow demux’d by unique local flowID, not “5 tuple” Application Connections with Multiple Flows

Migration and Multipath sCsC sCsC sSsS sSsS f S1 f C1 f S2 f C2 a1 a2 a3 Host C Host S a4

Migration and Multipath Local flowID Local Interface Remote Interface f C1 a1a3 f C2 a2a4 Socket Descriptor Remote ServiceID Cntrl Seq # Local flowIDs Remote interfaces SCSC Xseq C f C1, f C2 a3, a4 sCsC sCsC sSsS sSsS f S1 f C1 f S2 f C2 a1 a2 a3 Host C Host S a4 Socket State

Migration and Multipath Local flowID Local Interface Remote Interface f C1 a1a3 f C2 a2a4 Socket Descriptor Remote ServiceID Cntrl Seq # Local flowIDs Remote interfaces SCSC Xseq C f C1, f C2 a3, a4 sCsC sCsC sSsS sSsS f S2 f S1 f C1 f C2 a1 a2 a3 Host C Host S a4 Socket State

Prototype End-host network stack – Linux kernel module – BSD sockets with AF_SERVAL protocol family – AF_INET sockets can be accessed simultaneously Legacy middleboxes / NATs handled via encap. Translator for incremental deployment – Unmodified apps and end-hosts – Serval apps with unmodified services

Competitive Performance

Applications are Easy to Port

Example Applications Server replicas – Multiple Mongoose servers – Balancing load over live server instances Key-value store partition – Multiple Memcached servers – Routing requests to partitions based on the key Migrating flows – Load balancing across network interface cards – Migrating virtual machines across layer-3 networks

Making Service Management Easier Controller X X X X X X

Managing Switches and Services Switch and service state similar – FIB: – SIB: Software Defined Networking – OpenFlow focuses on layer-2/3 – Serval extends to hosts, services Read events and write rules – With FIB: packets, topology changes, flow counters – With SIB: host/interface changes, service instance changes, connection/host/service statistics Controller Switches

Ongoing Research SDN to the edges – Joint end-host and switch control Software-defined service resolution – Leveraging legacy systems like DNS and routing – Ad hoc, local service discovery Software-defined path selection – Multipath and interface migration in datacenter – Interface selection and migration on mobile devices

serval-arch.org Papers, demos, source code (GPL) online