Serval: An End-Host Stack for Service-Centric Networking Erik Nordstrom, David Shue, Prem Gopalan, Robert Kiefer, Matvey Arye, Steven Y. Ko, Jennifer Rexford,

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

Serval: An End-Host Stack for Service-Centric Networking
Why do current IP semantics cause scaling issues? −Today, “addressing follows topology,” which limits route aggregation compactness −Overloaded IP address.
IPv6 – IPv4 Network Address, Port & Protocol Translation & Multithreaded DNS Gateway Navpreet Singh, Abhinav Singh, Udit Gupta, Vinay Bajpai, Toshu Malhotra.
Chapter 17 Networking Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
Cs/ee 143 Communication Networks Chapter 6 Internetworking Text: Walrand & Parekh, 2010 Steven Low CMS, EE, Caltech.
Mobility Jennifer Rexford COS 461: Computer Networks Lectures: MW 10-10:50am in Architecture N101
Module 5: TLS and SSL 1. Overview Transport Layer Security Overview Secure Socket Layer Overview SSL Termination SSL in the Hosted Environment Load Balanced.
IST 201 Chapter 9. TCP/IP Model Application Transport Internet Network Access.
Module 8: Concepts of a Network Load Balancing Cluster
1 Network Address Translation (NAT) Relates to Lab 7. Module about private networks and NAT.
Internet Indirection Infrastructure Ion Stoica UC Berkeley.
Anycast Jennifer Rexford Advanced Computer Networks Tuesdays/Thursdays 1:30pm-2:50pm.
ProActive Routing In Scalable Data Centers with PARIS Joint work with Dushyant Arora + and Jennifer Rexford* + Arista Networks *Princeton University Theophilus.
Lesson 1: Configuring Network Load Balancing
COS 461: Computer Networks
Network Layer IS250 Spring 2010
Jennifer Rexford Princeton University MW 11:00am-12:20pm SDN Software Stack COS 597E: Software Defined Networking.
11 ASSIGNING IP ADDRESSES Chapter 2. Chapter 2: ASSIGNING IP ADDRESSES2 CHAPTER OVERVIEW  Describe the structure of IP addresses and subnet masks. 
1 Review of Important Networking Concepts Introductory material. This slide uses the example from the previous module to review important networking concepts:
1 TCP/IP architecture A set of protocols allowing communication across diverse networks Out of ARPANET Emphasize on robustness regarding to failure Emphasize.
ECCP A Formally-Verified Migration Protocol For Mobile, Multi-Homed Hosts Matvey Arye Joint work with: Erik Nordström, Robert Kiefer Jennifer Rexford, Michael.
Towards a New Naming Architectures
Host Identity Protocol
Protocols and the TCP/IP Suite Chapter 4. Multilayer communication. A series of layers, each built upon the one below it. The purpose of each layer is.
Additional SugarCRM details for complete, functional, and portable deployment.
CN2668 Routers and Switches Kemtis Kunanuraksapong MSIS with Distinction MCTS, MCDST, MCP, A+
Enabling Innovation Inside the Network Jennifer Rexford Princeton University
Cisco Discovery Working at a Small-to-Medium Business or ISP CHAPTER 7 ISP Services Jr.
Host Mobility for IP Networks CSCI 6704 Group Presentation presented by Ye Liang, ChongZhi Wang, XueHai Wang March 13, 2004.
Serval: Software Defined Service-Centric Networking Jen Rexford Erik Nordstrom, David Shue, Prem Gopalan, Rob Kiefer, Mat Arye, Steven Ko, Mike Freedman.
TCP/IP protocols Communication over Internet is mostly TCP/IP (Transmission Control Protocol over Internet Protocol) TCP/IP "stack" is software which allows.
G64INC Introduction to Network Communications Ho Sooi Hock Internet Protocol.
Chapter 17 Networking Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William Stallings.
70-291: MCSE Guide to Managing a Microsoft Windows Server 2003 Network Chapter 3: TCP/IP Architecture.
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
13/09/2015 Michael Chai; Behrouz Forouzan Staffordshire University School of Computing Transport layer and Application Layer Slide 1.
Software-Defined Networks Jennifer Rexford Princeton University.
1 Chapter 6: Proxy Server in Internet and Intranet Designs Designs That Include Proxy Server Essential Proxy Server Design Concepts Data Protection in.
1 Introduction to Networking Dr. Mahdi Nasereddin PPU.
Examining TCP/IP.
Networks – Network Architecture Network architecture is specification of design principles (including data formats and procedures) for creating a network.
CN1260 Client Operating System Kemtis Kunanuraksapong MSIS with Distinction MCT, MCITP, MCTS, MCDST, MCP, A+
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 2: TCP/IP Architecture.
Chapter Three Network Protocols By JD McGuire ARP Address Resolution Protocol Address Resolution Protocol The core protocol in the TCP/IP suite that.
Seamless Access to Services for Mobile Users Jennifer Rexford Princeton University Joint work with Matvey Ayre, Mike.
ECE 526 – Network Processing Systems Design Networking: protocols and packet format Chapter 3: D. E. Comer Fall 2008.
Chapter 1 Communication Networks and Services Network Architecture and Services.
4061 Session 25 (4/17). Today Briefly: Select and Poll Layered Protocols and the Internets Intro to Network Programming.
INTRODUCTION TO NETWORKS 8/2/2015 SSIG SOUTHERN METHODIST UNIVERSITY.
Information-Centric Networks06c-1 Week 6 / Paper 3 Middleboxes No Longer Considered Harmful –Michael Walfish, Jeremy Stribling, Maxwell Krohn, Hari Balakrishnan,
SOCKS By BITSnBYTES (Bhargavi, Maya, Priya, Rajini and Shruti)
CMSC Presentation An End-to-End Approach to Host Mobility An End-to-End Approach to Host Mobility Alex C. Snoeren and Hari Balakrishnan Alex C. Snoeren.
Welcome to Early Bird Class
Michael G. Williams, Jeremey Barrett 1 Intro to Mobi-D Host based mobility.
: MobileIP. : r Goal: Allow machines to roam around and maintain IP connectivity r Problem: IP addresses => location m This is important for efficient.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
Windows Vista Configuration MCTS : Advanced Networking.
COM594: Mobile Technologies Location-Identifier Separation.
SCAFFOLD Steve Ko Princeton University With Mike Freedman, Jen Rexford, Prem Gopalan, and David Shue
Network Overview. Protocol Protocol (network protocols) - a special set of rules that define communication between two or more devices on a network.
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
Chapter 1 Communication Networks and Services
Network Architecture Introductory material
Review of Important Networking Concepts
Process-to-Process Delivery:
NTHU CS5421 Cloud Computing
Lecture 1 Overview of Communication Networks and Services
Lecture 6: TCP/IP Networking 1nd semester By: Adal ALashban.
Computer Networks Protocols
Presentation transcript:

Serval: An End-Host Stack for Service-Centric Networking Erik Nordstrom, David Shue, Prem Gopalan, Robert Kiefer, Matvey Arye, Steven Y. Ko, Jennifer Rexford, Michael J. Freedman Princeton University Presenter : YoungGyoun Moon EE807 - Software-defined Networked Computing Some slides are brought from the authors’ presentation.

The Internet of the 1970s Network designed only for accessing hosts – Killer apps = telnet, ftp 2

DatacenterDatacenter The Internet of the 2000s Users require accessing “services” – Agnostic of actual service location and host 3

Requirements for Service Access Finding a Service Location – Map service name to location Connecting to Service – Load balance between pool of replicas Maintaining Connectivity to Service – Migrate between interfaces and networks 4

Finding a Service Location DNS binds service to location at client (early binding) – Problem: caching and ignoring TTL / slow failover 5 DNS Service Node 1 Service Node 2 Service Node 3 Load balancing Fault tolerance DNS update

Connecting to Service Datacenter LB maps a single IP to multiple servers – Problem: must repeat this for every packet  fate sharing – Problem: increases complexity and cost 6 Service Node Load-balanced Web Service

Maintaining Connectivity to Service Problem: flows break when switching networks/interfaces 7 (a) Mobile client hosts (b) VM Migration Fixed Network Cellular Network Problem: requires flat addressing or tunneling Datacenter Host A Host B

Today’s Abstractions Service is IP + port – Exposes location – Specifies app. protocol – One service per IP Flow is “five tuple” – Binds flow to location – Cannot migrate between interfaces or networks 8 connect (IP + port) demux (IP + port) forward (IP) ex) KAIST web server  :80 Transport Application Network

Serval Abstractions Cleans the slate – Network layer unmodified Service Access Layer – Connects to services – Maintains connectivity 9 Transport Application Service Access Network forward (IP)

Serval Abstractions Service = ServiceID – Group of processes with identical functionality Flow = FlowID – Invariant demux key Location = IP address – Location, interface (can change dynamically) 10 Transport Application Service Access Network connect (serviceID) forward (IP) demux ( ) serviceID flowID

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

A Service-Aware Network Stack connect (sock, serviceID) 12 bind(sock, serviceID) listen(sock) Client sideServer side Network stack must resolve service to instance Network stack must advertise service

Service Names (ServiceIDs) ServiceIDs allocated in blocks – Prefix ensures global uniqueness – Enables prefix-based matching/aggregation A ServiceID late binds to service instance – ServiceID in first packet of connection – Service-level routing and forwarding 13 Provider prefixProvider-specificSelf-certifying

Contributions Naming abstractions – Services, flows – Clean role separation in the network stack Software architecture for services (Serval) – How network stack resolves/advertises service 14

Serval End-host Architecture 15 Service-level control/data plane split

Adding a Service Instance 16 Service Access Layer Service Access Layer ServiceIDActionRule state XDEMUXSend to socket s Application Register Service X s s Service Controller bind(X) listen() bind(X) listen()

Service Access Layer Service Access Layer ServiceIDActionRule state XDEMUXSend to socket s Removing a Service Instance 17 ServiceIDActionRule state Application Unregister Service X s s Service Controller close() Removed DEMUX Rule

Data Plane: The Service Table 18 ServiceIDActionRule State Prefix AFORWARDSend to address A1 Prefix BFORWARDSend to [A2, A3, A4] Prefix CDEMUXSend to listening sock s Prefix DDELAY Queue and notify service controller Prefix EDROP- defaultFORWARDSend to A5

Service Router 19

Client – Connecting to Service X 20

Client – Connecting to Service X 21

Service Router – Load Balancing 22

Server – Providing Service X 23

Server – Providing Service X 24

Service Access with Serval 25

Requirements for Service Access Finding a Service Location – Map service name to location Connecting to Service – Load balance between pool of replicas Maintaining Connectivity to Service – Migrate between interfaces and networks 26

Migration of Flows 27

Serval Prototype End-host network stack (28,000 LOC) – Linux kernel module – BSD sockets with AF_SERVAL protocol familiy AF_INET sockets can be used simultaneously Legacy middleboxes / NATs handled via encap. Translator for incremental deployment – Unmodified apps and end-hosts 28 Available at

Base Performance Benchmark TCP Throughput Service Table Throughput 29 Mean (Mbit/s) TCP/IP934.5 Serval933.8 Translator932.1 Mbit/s IP forwarding987 Serval872

Applications are Easy to Port 30

Incremental Deployment 31

Experimental Case Studies Replicated Web Services – Please refer to the paper Back-End Distributed Storage Use of Migration on Clients/Servers 32

Back-end Distributed Storage Dynamic partitioning mapping over 4 Memcached servers – 1 service router distributes queries over the four back-end servers – Each has two 2.4 GHz AMD Opteron 2376 quad-core CPUs with GigE interface 33 Server 3 leavesServer 2 leavesServer 3 joinsServer 2 joins

Use of Migration on Client 34 Wi-Fi Cellular Single Serval TCP connection that never breaks

Use of Migration on Servers Load balancing across NICs 35 Both flows use eth0 Flow 1 moved to eth 1

Use of Migration on Servers Migrating VMs across subnets 36 VM is assigned a new address TCP stalls due to RSYN handshake

Related Work Locator/identifier separation – HIP, i3, LISP, DOA, LNA Data-oriented networking – DONA, CCNx Support for mobility and migration – TCP Migrate, Mobile IP, DTP, ROAM Multipath and multi-homing – MPTCP, SCTP 37

Conclusion New naming abstractions – Clean role separation in the stack – Makes it easier to build and manage services Software architecture for services – Flexible service resolution and discovery – Maintains robust connectivity – Joint service and network management 38

XIA : eXpressive Internet Architecture Efficient support for evolvable internetworking Define your own communication model 39 [Source: brought from the authors’ NSDI 12 slide]

XIA : eXpressive Internet Architecture 40 [Source: brought from the authors’ NSDI 12 slide]

Breaking Up the Transport Logjam Incremental rollout of new or improved transports Architecture – Endpoint layer : intra-host addressing/routing via port num – Flow Layer : manages end-to-end performance of flows – Transport Layer : communication abstractions Ex) reliable byte stream / multi-stream (SCTP) / media frame (RTP) 41

Breaking Up the Transport Logjam Benefits – Transport Implementation Flexibility – Transport-Independent Middlebox Traversal – Negotiation of Alternative Transports 42 RTSP TCP RTMP

Discussion 43

Discussion Serval extends SDN to the edges – SDN allows network-wide control on L2/L3 – Serval provides service-level control plane What’s different with CCN? – In line with CCN philosophy – CCN has no notion of host even at its lowest level – No existing CCN-based architecture clearly separates between service-level control/data plane 44

Discussion Deployment overhead – Service controllers Additional cost to maintain globally unique provider ID  (Professor) We can use hash of domain name. Additional cost to communicate between the controllers – Service routers Higher computation, increased latency, installation cost – Serval Translator Increased latency due to proxy, installation cost 45

Discussion FlowID security – Serval RSYN process done without authentication – Can Serval protect against connection hijacking? Some utilities from DNS are not supported – DNS caching is useful for many short-lived flows 46

Thanks for listening