J.H.Saltzer, D.P.Reed, C.C.Clark End-to-End Arguments in System Design Reading Group 19/11/03 Torsten Ackemann.

Slides:



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

The End-to-End Principle Anthony D. Joseph Joe Hellerstein CS262a November 28, 2001.
Switching Techniques In large networks there might be multiple paths linking sender and receiver. Information may be switched as it travels through various.
Layering and the network layer CS168, Fall 2014 Sylvia Ratnasamy
Umut Girit  One of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 OSI Transport Layer Network Fundamentals – Chapter 4.
Network Protocols Mark Stanovich Operating Systems COP 4610.
End-to-End Arguments in System Design J.H. Saltzer, D.P. Reed and D.D Clark M.I.T. Laboratory for Computer Science Presented by Jimmy Pierce.
Copyright 1999, S.D. Personick. All Rights Reserved. Telecommunications Networking II Lecture 32 Transmission Control Protocol (TCP) Ref: Tanenbaum pp:
EEC-681/781 Distributed Computing Systems Lecture 4 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Internet Networking Spring 2003 Tutorial 12 Limited Transmit RFC 3042 Long Thin Networks RFC 2757.
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.
G Robert Grimm New York University Pulling Back: How to Go about Your Own System Project?
Chapter 2 Network Models.
Error Checking continued. Network Layers in Action Each layer in the OSI Model will add header information that pertains to that specific protocol. On.
The OSI Model A layered framework for the design of network systems that allows communication across all types of computer systems regardless of their.
Gursharan Singh Tatla Transport Layer 16-May
OIS Model TCP/IP Model.
Switching Techniques Student: Blidaru Catalina Elena.
1 Transport Layer Computer Networks. 2 Where are we?
Feb 20, 2001CSCI {4,6}900: Ubiquitous Computing1 Announcements.
Jaringan Komputer Dasar OSI Transport Layer Aurelio Rahmadian.
CH2 System models.
Internet Addresses. Universal Identifiers Universal Communication Service - Communication system which allows any host to communicate with any other host.
Mobile Communications: Mobile Transport Layer Mobile Communications Chapter 10: Mobile Transport Layer  Motivation  TCP-mechanisms  Indirect TCP  Snooping.
TCP/IP TCP/IP LAYERED PROTOCOL TCP/IP'S APPLICATION LAYER TRANSPORT LAYER NETWORK LAYER NETWORK ACCESS LAYER (DATA LINK LAYER)
Copyright 2002, S.D. Personick. All Rights Reserved.1 Telecommunications Networking II Topic 20 Transmission Control Protocol (TCP) Ref: Tanenbaum pp:
BZUPAGES.COM Presentation on TCP/IP Presented to: Sir Taimoor Presented by: Jamila BB Roll no Nudrat Rehman Roll no
Lecture 4 Overview. Ethernet Data Link Layer protocol Ethernet (IEEE 802.3) is widely used Supported by a variety of physical layer implementations Multi-access.
End-To-End Arguments in System Design J.H. Saltzer, D.P. Reed, and D. Clark Presented by: Amit Mondal.
END-TO-END ARGUMENTS IN SYSTEM DESIGN J.H. Salter, D.P. Reed and D.D. Clark Presented by Sui-Yu Wang.
CS603 Fault Tolerance - Communication April 17, 2002.
Prepared by Engr.Jawad Ali BSc(Hons)Computer Systems Engineering University of Engineering and Technology Peshawar.
End-to-End Principle Brad Karp UCL Computer Science CS 6007/GC15/GA07 25 th February, 2009.
5. The Transport Layer 5.1 Role of Transport Layer It bridge the gab between applications and the network layer. Provides reliable cost-effective data.
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.
Networks and Distributed Systems Sarah Diesburg Operating Systems COP 4610.
End-to-End Arguments in System Design CSCI 634, Fall 2010.
Jan.19 th, 2007Seminar In Networks End-To-End Arguments in System Design Ayodele Onibokun Seminar In Networks Jan. 19 th, 2007.
Failure detection The design of fault-tolerant systems will be easier if failures can be detected. Depends on the 1. System model, and 2. The type of failures.
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.
Networks, Part 2 March 7, Networks End to End Layer  Build upon unreliable Network Layer  As needed, compensate for latency, ordering, data.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Principles of reliable data transfer 0.
Protocols and layering Network protocols and software Layered protocol suites The OSI 7 layer model Common network design issues and solutions.
Introduction to: The Architecture of the Internet
David Wetherall Spring 2000
Presented by Muhammad Abu Saqer
Packet Switching Datagram Approach Virtual Circuit Approach
CMPT 371 Data Communications and Networking
Switching Techniques In large networks there might be multiple paths linking sender and receiver. Information may be switched as it travels through various.
Sarah Diesburg Operating Systems COP 4610
Packetizing Error Detection
Introduction to: The Architecture of the Internet
Packetizing Error Detection
Introduction to: The Architecture of the Internet
Distributed Systems CS
Switching Techniques.
Andy Wang Operating Systems COP 4610 / CGS 5765
Packetizing Error Detection
Net 323 D: Networks Protocols
CSE 542: Operating Systems
CSE 542: Operating Systems
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”.
Transport Layer 9/22/2019.
M. Mock and E. Nett and S. Schemmer
Presentation transcript:

J.H.Saltzer, D.P.Reed, C.C.Clark End-to-End Arguments in System Design Reading Group 19/11/03 Torsten Ackemann

Introduction In a modular system, functions can often be put into different sub-systems –By network, client, joint venture, redundantly Many functions require knowledge only the applications have –Providing the function in the network is impossible This is known as the “end-to-end argument” –Reasoning against low-level function implementation

End-to-end Caretaking Considering “Careful file transfer” –Host A linked via multi hop network to host B –Goal is to move file without damage –There is an file transfer application and the data communication system –Specific steps of transaction: File transfer application on host A reads file Applications asks comm system for transmission Comm network transmits file from A to B Comm system on host B reads packets and delivers them to file transfer application on host B File transfer application on host B writes file

End-to-end Caretaking: Threats Threats to the transaction: –Reading incorrect data from the disk –The software on both hosts might make a mistake in buffering and copying the data –Processor or memory on hosts A and B might be faulty –Comm system might drop or change bits in a packet, lose packets or deliver packets more than once –Either host may crash part way through the transaction How to cope with these threats?

End-to-end Caretaking: Solutions Reinforce each of the steps along the way? –using duplicate copies, timeout and retry, redundancy, crash recovery etc. –Uneconomical if all threats are low in probability Alternative is “end-to-end check and retry” –Perform all steps, then check on receiving host Additional step to read file back into memory on host B, then calculate and send checksum to host A –Retry from the beginning if checksums don’t match –Two or more failures on the same transfer indicate that the system is in need of repair

End-to-end Caretaking: Reliability Proposal: Comm system guarantees reliable data transmission –For example by redundancy with packet checksums, sequence numbers, retry mechanism –Reliability of transmission can be increased to any level –The application still has to counter treats outside the comm system Read and write failures, software failures etc. –The extra effort in the comm system has no effect on the correctness of the outcome The application has to provide an end-end reliability guarantee anyway

Performance Aspects: Reliability Application is not aware of packets, and retransmits whole file in case of errors Comm system can retransmit on packet level Effort on lower levels to increase reliability can increase performance significantly But: No “perfect” reliability not necessary on lower levels Tradeoff based on performance rather than a requirement based on correctness Reliability measures in comm system lower performance, too!

Performance Aspects Performing the function at the lower level may cost more! –Job can’t be done as efficiently since information is more limited –May be more efficient if it can be performed with minimal perturbartion Applications that don’t need the function have to pay for it

Example: Delivery Guarantees Acknowledgement of Delivery of a message Knowing that a message got delivered is not important for an application Knowing that the other host acted on the message is important This can only be done by the application on the other host, not the comm system

Example: Secure Transmission of Data Encryption in the network requires trust to manage encryption keys Data is in the clear as it passes into the target node Authenticity still has to be checked by application Network encryption ensures that a node cannot deliberately transmit information that should not be exposed

Example: Duplicate Message Transmission Some network designs allow(ed) a message to be delivered twice The application might do that, too Thus, suppression must be accomplished by the application anyway Function can be omitted from lower levels

Example: Transaction Management Distributed data storage system –Accessing data via identifier, version, type of access: read/write (, value to be written) Network is simplified and does not suppress duplicate messages –Identifier plus version suffices to detect duplicate writes –Duplicate read only leads to duplicate response Acknowledgement needed is that data is stored safely –Can only be provided by the higher levels By eliminating ACKs, the number of messages is halved!

Identifying the Ends Analysis of application requirements is essential For voice traffic, unusually strong version of the argument applies –Bit-perfect communication leads to delays in packet delivery –It is better to accept slightly damaged but not delayed packets However, this changes if the conversation is not real-time (voice mail) –Accuracy is more important than performance suddenly The end-to-end argument is not an absolute rule, but a guideline –Carefully identify the end points!

Conclusions End-to-end arguments are “Occam’s Razor” for networking Comm systems are often specified before the applications –Designer may be tempted to “help” users by taking on more functions than necessary

Statement/Questions End-to-end allows rapid deployment of new services by anybody –Reason for the success of the Internet? Will history repeat with Wireless vs. UMTS? –Application level nets and overlay nets are end-to-end applications Political Dimension –It is about control: “Walled gardens” of providers –Users want to give up control for comfort? –End-to-end is less secure? –More than two stakeholders? Governments etc. End-to-end transparency is the key –Smart nodes in between just have to appear dumb