The End-to-End Principle Anthony D. Joseph Joe Hellerstein CS262a November 28, 2001.

Slides:



Advertisements
Similar presentations
End-to-End Arguments in System Design
Advertisements

The Transmission Control Protocol (TCP) carries most Internet traffic, so performance of the Internet depends to a great extent on how well TCP works.
Review of Topology and Access Techniques / Switching Concepts BSAD 141 Dave Novak Sources: Network+ Guide to Networks, Dean 2013.
Push Technology Humie Leung Annabelle Huo. Introduction Push technology is a set of technologies used to send information to a client without the client.
Transport Layer3-1 Transport Overview and UDP. Transport Layer3-2 Goals r Understand transport services m Multiplexing and Demultiplexing m Reliable data.
Layering and the network layer CS168, Fall 2014 Sylvia Ratnasamy
CCNA – Network Fundamentals
Guide to TCP/IP, Third Edition
Slide 1 Client / Server Paradigm. Slide 2 Outline: Client / Server Paradigm Client / Server Model of Interaction Server Design Issues C/ S Points of Interaction.
Introduction to Networking. 2 Layered Architecture Web, , file transfer,... Reliable/ordered transmission, QOS, security, compression,... End-to-end.
Networking Theory (part 2). Internet Architecture The Internet is a worldwide collection of smaller networks that share a common suite of communication.
G Robert Grimm New York University Pulling Back: How to Go about Your Own System Project?
End-To-End Arguments in System Design J.H. Saltzer, D.P. Reed, and D. Clark Presented by: Ryan Huebsch CS294-4 P2P Systems – 9/29/03.
Introduction to Networking. 2 Goals for Today Review –Layered Architecture –ISO and Internet Protocols Addressing Routing Circuit vs Packet Switching.
G Robert Grimm New York University Pulling Back: How to Go about Your Own System Project?
TCP: Software for Reliable Communication. Spring 2002Computer Networks Applications Internet: a Collection of Disparate Networks Different goals: Speed,
What Can IP Do? Deliver datagrams to hosts – The IP address in a datagram header identify a host IP treats a computer as an endpoint of communication Best.
Process-to-Process Delivery:
J.H.Saltzer, D.P.Reed, C.C.Clark End-to-End Arguments in System Design Reading Group 19/11/03 Torsten Ackemann.
Feb 20, 2001CSCI {4,6}900: Ubiquitous Computing1 Announcements.
© MMII JW RyderCS 428 Computer Networking1 Private Network Interconnection  VPN - Virtual Private Networks  NAT - Network Address Translation  Describe.
Introduction to Networks CS587x Lecture 1 Department of Computer Science Iowa State University.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 OSI Transport Layer Network Fundamentals – Chapter 4.
1 LAN Protocols (Week 3, Wednesday 9/10/2003) © Abdou Illia, Fall 2003.
RSC Part I: Introduction Redes y Servicios de Comunicaciones Universidad Carlos III de Madrid These slides are, mainly, part of the companion slides to.
Network Protocols A network protocol defines the structure of messages sent over the network We will only talk about the Internet Network protocols need.
1 Transport Layer Lecture 7 Imran Ahmed University of Management & Technology.
COP 4930 Computer Network Projects Summer C 2004 Prof. Roy B. Levow Lecture 3.
Chapter 15 – Part 2 Networks The Internal Operating System The Architecture of Computer Hardware and Systems Software: An Information Technology Approach.
Marwan Al-Namari Week 5. Responsible for delivering packets between endpoints over multiple links Physical Link Network Transport Application.
Packet switching network Data is divided into packets. Transfer of information as payload in data packets Packets undergo random delays & possible loss.
Chapter 3: Transport Layer Our goals: r understand principles behind transport layer services: m multiplexing/demultipl exing m reliable data transfer.
Client-Server Model of Interaction Chapter 20. We have looked at the details of TCP/IP Protocols Protocols Router architecture Router architecture Now.
End-To-End Arguments in System Design J.H. Saltzer, D.P. Reed, and D. Clark Presented by: Amit Mondal.
1 ECE453 - Introduction to Computer Networks Lecture 1: Introduction.
END-TO-END ARGUMENTS IN SYSTEM DESIGN J.H. Salter, D.P. Reed and D.D. Clark Presented by Sui-Yu Wang.
Forward Error Correction vs. Active Retransmit Requests in Wireless Networks Robbert Haarman.
CS603 Fault Tolerance - Communication April 17, 2002.
Lecture 4 Page 1 CS 111 Online Modularity and Virtualization CS 111 On-Line MS Program Operating Systems Peter Reiher.
End-to-End Principle Brad Karp UCL Computer Science CS 6007/GC15/GA07 25 th February, 2009.
Protocol Layering Chapter 11.
CS551: End to End Argument Saltzer88 Christos Papadopoulos (
END-TO-END Arguments in System Design END-TO-END Arguments in System Design J. SaltzerD. Reed D. Clark M.I.T. Laboratory, 1981 Presented By Mohammad Malli.
End-to-End Arguments in System Design CSCI 634, Fall 2010.
1 Transport Layer: Basics Outline Intro to transport UDP Congestion control basics.
CS533 - Concepts of Operating Systems End-to-End Arguments in System Design Presentation by David Florey.
Tunneling Continued/ End-to-End Principle CS 4251: Computer Networking II Nick Feamster Spring 2008.
Advanced Higher Computing Computer Networking Topic 1: Network Protocols and Standards.
2: Transport Layer 11 Transport Layer 1. 2: Transport Layer 12 Part 2: Transport Layer Chapter goals: r understand principles behind transport layer services:
Introduction to: The Architecture of the Internet
Transport Layer Slides are originally from instructor: Carey Williamson at University of Calgary Very minor modification are made Notes derived from “Computer.
David Wetherall Spring 2000
Presented by Muhammad Abu Saqer
Vocabulary Prototype: A preliminary sketch of an idea or model for something new. It’s the original drawing from which something real might be built or.
Vocabulary Prototype: A preliminary sketch of an idea or model for something new. It’s the original drawing from which something real might be built or.
Lecture 2 Overview.
Introduction to: The Architecture of the Internet
Process-to-Process Delivery:
Introduction to: The Architecture of the Internet
Distributed Systems CS
Networking Theory (part 2)
Net 323 D: Networks Protocols
Introduction to: The Architecture of the Internet
CSE 542: Operating Systems
Process-to-Process Delivery: UDP, TCP
CSE 542: Operating Systems
Computer Networks Protocols
Distributed Systems CS
Announcements You need to register separately for the class mailing list and online paper review system. Do it now so that we can work out any “bugs”.
Networking Theory (part 2)
Presentation transcript:

The End-to-End Principle Anthony D. Joseph Joe Hellerstein CS262a November 28, 2001

CS 262a2 Outline End-to-End principle Design / control from endpoints Advantages Limitations

November 28, 2001CS 262a3 The End-to-End Argument Saltzer, Reed, and Clark, 1984 –End-to-End Arguments in System Design Key idea: –A function can only be completely and correctly implemented with the knowledge and help of the applications standing at the communication endpoints –Argument can be applied in many areas: Delivery guarantees, secure transmission of data, duplicate message suppression, and rational principles for organizing layered systems

November 28, 2001CS 262a4 Motivation: Simplicity Same argument as for RISC –Occams razor If theres a problem, the simplest explanation is likely the correct one –Argues against low-level function implementation What is a layer? E2E allows for simpler layers –Avoid complex operations that can be handled with simpler logic at app layer

November 28, 2001CS 262a5 Layering: Building Complex Functionality into a Network Implicitly optimizes the network for one set of uses Substantially increases the cost of potentially valuable uses that may be unknown/unpredictable at design time May preclude these uses entirely

November 28, 2001CS 262a6 Examples of Layering Pitfalls If original Internet design was optimized for telephony-style virtual circuits (like SNA and TYMNET) Wouldnt have experimentation / protocols –DNS, Web, a million ISPs, Napster/Gnutella,…

November 28, 2001CS 262a7 Careful File Transfer Transient failures at many levels –Disk errors –Incorrect software FS, FTP, network, … –Hardware errors CPU, memory, network, disk, system crash, … Choices: –Brute force countermeasures, End-to- End checks, Reliable network layer

November 28, 2001CS 262a8 Brute Force Countermeasures Make each step/level ultra-resilient to faults Overkill when threats are low probability Uneconomical (e.g., send each byte four times) Not all layers are under FTP designers control

November 28, 2001CS 262a9 End-to-End approach Application provides file-transfer specific, end-to-end reliability guarantees –E2E check and retry –Receiver sends checksum of received data to sender for validation Reduces complexity for low probability failures

November 28, 2001CS 262a10 Reliable Network Layer Provide very high probablistic guarantee of correct, in order data xmission at network layer –Use network layer ACKs from receiver to sender Is this sufficient? No, hosts may crash, FTP failure, etc. –Hop-by-hop reliability or host-to-host reliability? –Reality: Requires app-specific, app-level protocol Is this necessary? Maybe, depends on links error rate Performance, not correctness –Tradeoff: how good is good enough for a given level?

November 28, 2001CS 262a11 Tradeoff Example: Wireless Perfect wireless link-layer retransmission versus end-to-end retransmission Advantages: –Local retransmission can be faster –Avoids loss on wired portion of link Disadvantages –Real-time apps: more variable delay (jitter) –What about unreliable datagrams? Tradeoff: less than perfect transmission

November 28, 2001CS 262a12 Network Layer ACKs Is it useful to expose them to the sender app? –Not really, sender app wants to know if receiver acted on the message What if receiver network layer guarantees handling of msg when ACKing? –May still need E2E ack if receiver app could reject message –Requires 2PC if coordinating actions across multiple hosts

November 28, 2001CS 262a13 Challenges to the End-to-End Model Slippery slope: Ends Justify Means? Example: ISP access control box –Exon box (CDA enforcement) Content restriction at network level –Restricts access to indecent sites or unrated sites unless an adult enters an authorization code when opening a session (enables router to transmit packets to the site) Good or bad idea? –Alternatives?

November 28, 2001CS 262a14 Performance Justifications? Transparent network caching Advantages: –Potential for significant performance improvement Disadvantages: –Loss of network transparency: target doesnt get information Access patterns / information, pay-per-view –Copyright issues?

November 28, 2001CS 262a15 More limits? Transparent network redirection Advantages: –Load balancing –Fault tolerance Disadvantages: –Network transparency Explicit handling of persistent sessions required

November 28, 2001CS 262a16 More limits? Kerberos version 5 Msg token replay protection –Version 4 relied upon application-level –Programmers usually got it wrong Version 5 supports replay protection Good idea or bad idea?

November 28, 2001CS 262a17 More limits? What happens when you cant apply E2E? One way communication channels –Pager networks –Voice store and forward Must be willing to tradeoff delays / extra processing for more robustness –ECC, FEC, etc But, still may need E2E check –Ex: you call the person who paged you

November 28, 2001CS 262a18 Summary Where do we find E2E? –Encryption –2PC: doesnt depend on reliability, ordering, etc. –Banking: auditing –Cellular: human retry Have to take it case-by case