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.

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.
Layering and the network layer CS168, Fall 2014 Sylvia Ratnasamy
Lecture 13 Page 1 CS 111 Online File Systems: Introduction CS 111 On-Line MS Program Operating Systems Peter Reiher.
Chapter 7: Transport Layer
IS333, Ch. 26: TCP Victor Norman Calvin College 1.
Lecture 19 Page 1 CS 111 Online Protecting Operating Systems Resources How do we use these various tools to protect actual OS resources? Memory? Files?
Lecture 12 Page 1 CS 111 Online Devices and Device Drivers CS 111 On-Line MS Program Operating Systems Peter Reiher.
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.
An End-to-End Approach to Globally Scalable Network Storage Presented in cs294-4 P2P Systems by Sailesh Krishnamurthy 15 October 2003.
Lecture 2 Protocol Layers CPE 401 / 601 Computer Network Systems slides are modified from Dave Hollinger.
Systems of Distributed Systems Module 2 -Distributed algorithms Teaching unit 3 – Advanced algorithms Ernesto Damiani University of Bozen Lesson 6 – Two.
Networking Theory (Part 1). Introduction Overview of the basic concepts of networking Also discusses essential topics of networking theory.
Introduction to Networking. 2 Layered Architecture Web, , file transfer,... Reliable/ordered transmission, QOS, security, compression,... End-to-end.
G Robert Grimm New York University Pulling Back: How to Go about Your Own System Project?
EE 122: Layering and the Internet Architecture Kevin Lai September 4, 2002.
G Robert Grimm New York University Pulling Back: How to Go about Your Own System Project?
1 More on Distributed Coordination. 2 Who’s in charge? Let’s have an Election. Many algorithms require a coordinator. What happens when the coordinator.
TCP: Software for Reliable Communication. Spring 2002Computer Networks Applications Internet: a Collection of Disparate Networks Different goals: Speed,
Gursharan Singh Tatla Transport Layer 16-May
Lecture 19 Page 1 CS 111 Online Security for Operating Systems: Cryptography, Authentication, and Protecting OS Resources CS 111 On-Line MS Program Operating.
Switching Techniques Student: Blidaru Catalina Elena.
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.
Chapter 2 Architectural Models. Keywords Middleware Interface vs. implementation Client-server models OOP.
Chris Olston, cs294-7, Spring Atomicity in Electronic Commerce J. D. Tygar -- UCB presented by Chris Olston.
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.
COMMUNICATIONPROTOCOL Kumar Vipul Shrivastawa and Abhinash. Regd.No:050 and 279 Branch: ETC A technical Seminar presented by.
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Chapter 7: Transport Layer Introduction to Networking.
LWIP TCP/IP Stack 김백규.
TCP/IP: Basics1 User Datagram Protocol (UDP) Another protocol at transport layer is UDP. It is Connectionless protocol i.e. no need to establish & terminate.
Data Communications and Computer Networks Chapter 3 CS 3830 Lecture 12 Omar Meqdadi Department of Computer Science and Software Engineering University.
Mr C Johnston ICT Teacher
Network Protocol Hierarchies
Encryption and Security Dylan Anderson Michael Huffman Julie Rothacher Dylan Anderson Michael Huffman Julie Rothacher.
TCP Lecture 13 November 13, TCP Background Transmission Control Protocol (TCP) TCP provides much of the functionality that IP lacks: reliable service.
TCP/IP Transport and Application (Topic 6)
Reliability and Recovery CS Introduction to Operating Systems.
Types of Service. Types of service (1) A network architecture may have multiple protocols at the same layer in order to provide different types of service.
AS Computing Data Transmission and Networks. Transmission error Detecting errors in data transmission is very important for data integrity. There are.
Automated P2P Backup Group 1 Anderson, Bowers, Johnson, Walker.
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.
Individual Project 1 Sarah Pritchard. Fran, a customer of your company, would like to visit your company’s website from her home computer… How does your.
Distributed Systems Distributed Algorithms – The End to End Argument p-1 “The End To End Argument In System’s Design”, Zaltzer et. al, ACM Transactions.
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.
CS533 - Concepts of Operating Systems End-to-End Arguments in System Design Presentation by David Florey.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Principles of reliable data transfer 0.
4343 X2 – The Transport Layer Tanenbaum Ch.6.
Lecture 9 Page 1 CS 236 Online Firewalls What is a firewall? A machine to protect a network from malicious external attacks Typically a machine that sits.
David Wetherall Spring 2000
Presented by Muhammad Abu Saqer
Distributed Systems (Section B)
Switching Techniques In large networks there might be multiple paths linking sender and receiver. Information may be switched as it travels through various.
Packet Sniffing.
Topic 5: Communication and the Internet
E2E Arguments & Project Suggestions (Lecture 4, cs262a)
Distributed Systems CS
Outline Using cryptography in networks IPSec SSL and TLS.
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”.
WJEC GCSE Computer Science
Architecture and Principles
Presentation transcript:

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

Outline The Argument Examples Careful File Transfer Secure Transmission of Data Performance Identify the Ends End-To-End Argument Meets P2P

The Argument Define when it is applicable: “The function in question can completely and correctly be implemented only with the knowledge and help of the application standing at the endpoints of the communication system…” Regardless of what happens in the communication systems, correct operation can only be verified by endpoints.

The Argument Define the consequence: “… Therefore, providing that questioned function as a feature of the communication system itself is not possible…” If you can’t do it properly, don’t do it at all.

The Argument Define the exception: “… (Sometimes an incomplete version of the function provided by the communication system may be useful as a performance enhancement.)” Its not a hard and fast rule, there are special cases where the benefit outweighs the cost.

Careful File Transfer Copy/Move file from HD on Computer A to HD on Computer B

Careful File Transfer Possible threats to an accurate transfer: Disk error Software error (OS, File transfer program, Network driver) Hardware error Communication system System crash

Careful File Transfer Solution 1: Point-to-Point Reinforce each step of process (timeout, retry, etc.) Goal: Reduce probability of each threat to an acceptably small value Could be hard to do, each step must be full-proof Could be inefficient, extra checking Solution 2: End-to-End Store file with a checksum, transfer file, read transferred file back from disk, compute checksum, send checksum to originator to compare the two checksums. If check fails, redo from beginning

Careful File Transfer Solution 3: Both Point-to-Point checks in communication system (such as link level, IP, and/or TCP) End-to-End checks must still be performed, since only one of the threats is handled Does not reduce the overall burden to the application, but may reduce the frequency of problems Lesson: Application must supply the guarantee in the end

Secure Transmission of Data Goal, move data from one machine to another such that the data on the wire is secure (encrypted)

Secure Transmission of Data Let the communication system encrypt on entry, decrypt on exit. Problems: Communication system needs the key Data is in the clear when entering/exiting Authenticity must still be checked by application End-To-End argument wins here

Performance Remember the exception in the argument… What if communication system is very unreliable, file transfer could keep retrying for ever because one packet got lost! Providing more reliability at the lower layers is a tradeoff between cost & engineering effort vs. reliability Not a simple decision

Performance Even if it simple to implement at a lower level and doesn’t cost much Subsystem may be common to many applications, they all must pay Subsystem has less information, may not be able to do the best job Decision could be complicated if some of the packet-by-packet type checks can be emulated by application Send file in chunks, each chunk is checked for correctness

Identifying the Ends Maybe not so easy… Consider voice over IP Are the ends the computers? Could introduce long delays Are the ends the people? Retry = “repeat that” End-to-End argument is not an absolute, but a design tool

Not Just for Communication Encryption Two-Phase commit Banking (high level auditing) Reservations (agent retries till confirmed) Telephone (caller redials) Backup on magnetic tapes RISC (simple instructions) Open Operating System (replace low level functions)

End-To-End Argument Meets P2P Consider key-based-routing systems (which seem similar to SWALLOW?) : Function: route(key, msg) What are the ends? Requestor & Responsible Node Router-to-Router or Application-to-Application Structured vs. Unstructured Structured gives better reliability Unstructured gives less Iterative vs. Recursive?