David Wetherall Spring 2000

Slides:



Advertisements
Similar presentations
7. 7 Chapter 13 Transmission Control Protocol (TCP) Retransmission and Time-Out.
Advertisements

3/2/2001Hanoch Levy, CS, TAU1 TCP Behavior and Performance Workshop on QoS Hanoch Levy April 2004.
1 Transport Protocols & TCP CSE 3213 Fall April 2015.
NET0183 Networks and Communications Lecture 28 TCP: a transport layer protocol... the story continues... Sagan halda áfram 8/25/20091 NET0183 Networks.
1 TCP CSE May TCP Services Flow control Connection establishment and termination Congestion control 2.
School of Information Technologies TCP Congestion Control NETS3303/3603 Week 9.
TDC365 Spring 2001John Kristoff - DePaul University1 Internetworking Technologies Transmission Control Protocol (TCP)
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #7 TCP New Reno Vs. Reno.
1 Internet Networking Spring 2002 Tutorial 10 TCP NewReno.
TDC375 Winter 03/04 John Kristoff - DePaul University 1 Network Protocols Transmission Control Protocol (TCP)
1 Internet Networking Spring 2006 Tutorial 10 The Eifel Detection Algorithm for TCP RFC 3522.
Congestion Avoidance and Control CSCI 780, Fall 2005.
1 Internet Networking Spring 2004 Tutorial 10 TCP NewReno.
1 K. Salah Module 6.1: TCP Flow and Congestion Control Connection establishment & Termination Flow Control Congestion Control QoS.
Error Checking continued. Network Layers in Action Each layer in the OSI Model will add header information that pertains to that specific protocol. On.
J.H.Saltzer, D.P.Reed, C.C.Clark End-to-End Arguments in System Design Reading Group 19/11/03 Torsten Ackemann.
COMT 4291 Communications Protocols and TCP/IP COMT 429.
CS 4396 Computer Networks Lab
Copyright © Lopamudra Roychoudhuri
1 Transport Protocols (continued) Relates to Lab 5. UDP and TCP.
1 TCP III - Error Control TCP Error Control. 2 ARQ Error Control Two types of errors: –Lost packets –Damaged packets Most Error Control techniques are.
Malathi Veeraraghavan Originals by Jörg Liebeherr 1 Error Control Congestion Control Timers.
Transmission Control Protocol TCP Part 2 University of Glamorgan Networked & Distributed Systems.
End-To-End Arguments in System Design J.H. Saltzer, D.P. Reed, and D. Clark Presented by: Amit Mondal.
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
Computer Networking Lecture 18 – More TCP & Congestion Control.
Lab The network simulator ns The network simulator ns Allows us to watch evolution of parameters like cwnd and ssthresh Allows us to watch evolution of.
TCP: Transmission Control Protocol Part II : Protocol Mechanisms Computer Network System Sirak Kaewjamnong Semester 1st, 2004.
1 CS 4396 Computer Networks Lab TCP – Part II. 2 Flow Control Congestion Control Retransmission Timeout TCP:
1 TCP - Part II Relates to Lab 5. This is an extended module that covers TCP data transport, and flow control, congestion control, and error control in.
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
1 Computer Networks Congestion Avoidance. 2 Recall TCP Sliding Window Operation.
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP data transport, and flow control, congestion control, and error control in TCP.
TCP Timeout and Retransmission
Transport Layer: Sliding Window Reliability
End-to-End Arguments in System Design CSCI 634, Fall 2010.
Transmission Control Protocol (TCP) TCP Flow Control and Congestion Control CS 60008: Internet Architecture and Protocols Department of CSE, IIT Kharagpur.
3. END-TO-END PROTOCOLS (PART 2) Rocky K. C. Chang Department of Computing The Hong Kong Polytechnic University 22 March
Sandeep Kakumanu Smita Vemulapalli Gnan
Go-Back-N ARQ packets transmitted continuously (when available) without waiting for ACK, up to N outstanding, unACK’ed packets a logically different sender.
9. Principles of Reliable Data Transport – Part 1
TCP - Part II.
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
NDNLP Implementation of Best-Effort Link-Layer Reliability
Transmission Control Protocol (TCP) Retransmission and Time-Out
Chapter 5 TCP Sequence Numbers & TCP Transmission Control
The Transport Layer (TCP)
Presented by Muhammad Abu Saqer
Reliable Transport I: Concepts
Chapter 5 TCP Transmission Control
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
TCP - Part II Suman Banerjee CS 640, UW-Madison
CS4470 Computer Networking Protocols
5. End-to-end protocols (part 2)
CS4470 Computer Networking Protocols
CS640: Introduction to Computer Networks
Lecture 18 – More TCP & Congestion Control
TCP Throughput Modeling
Chapter 17. Transport Protocols
State Transition Diagram
Getting Connected (Chapter 2 Part 3)
EE 122: Lecture 10 (Congestion Control)
The Transport Layer Reliability
Project 3 Flow and congestion control
TCP III - Error Control TCP Error Control.
CSE 542: Operating Systems
CSE 542: Operating Systems
TCP: Transmission Control Protocol Part II : Protocol Mechanisms
Error Checking continued
Presentation transcript:

David Wetherall djw@cs.washington.edu Spring 2000 CSE 561 – Reliability David Wetherall djw@cs.washington.edu Spring 2000

This Lecture Routers, continued. End to End argument Retransmission timers djw // CS 561, Spring 2000

E2E Paper Saltzer, Reed, Clark 1984 Captures folklore in a now classic systems paper Design requires deciding what functions to implement and where to place them; E2E guides the latter E2E is a powerful design principle, but not a law djw // CS 561, Spring 2000

E2E Argument A function might be placed in the application, network, or both. Place it where it can be done correctly and completely, or otherwise (if it does an incomplete job) provides a significant performance gain. Rationale for moving functions out of the network and into end-systems. An Occam’s razor. djw // CS 561, Spring 2000

Example: Careful File Transfer File transfer exposed to many kinds of errors other than network corruption (disk, software) E2E check and retry is required for correctness Reduces complexity of low probability failures Strong network checks are not sufficient So avoid them as wasteful Q: How does file transfer work today? djw // CS 561, Spring 2000

Simplicity vs. Complexity Downsides of low-level implementation Duplication of effort can lower performance Optimizes network for one type of use Upsides of low-level implementation Partial implementation can improve performance Avoid repeated implementation by each app djw // CS 561, Spring 2000

Tensions Non-performance aspects of network implementation Bandwidth enforcement, firewalls, AUPs Need to take administrative regions into account System evolution Transparent caching, NAT boxes Want to administer end-systems in a scalable manner Generic vs. per Application network support Multicast, content distribution, active networks Value in using network location if not a cost to all djw // CS 561, Spring 2000

Retransmission Timers Timeouts (RTO) are used to decide a packet has been lost and should be retransmitted. Based on estimate of RTT and hence maximum likely RTT SRTT = alpha x sample + (1-alpha) x SRTT RTO = beta x SRTT RTO exponential backoff for successive losses djw // CS 561, Spring 2000

The Value of a Good Timer Q: Does any of this matter? A: Yes. Critical to performance (protocol and network) If too large: Detection of losses delayed, window doesn’t advance, result is low throughput, esp. on error prone links If too small: Early retransmissions (before the original ack arrives) Seriously bad for the network djw // CS 561, Spring 2000

Karn and Partridge (SIGCOMM’87) Deals with retransmission ambiguity Is ack for original or retransmitted packet? Problem: timers were failing, this was a piece. Can’t assume acks are always for new, always for old, or simply ignore if packet is retransmitted. djw // CS 561, Spring 2000

Karn’s Algorithm Insight: Use backoff as part of RTT estimation Don’t use ack for retransmitted packet to calculate RTT On loss, backoff RTO and keep using for subsequent packets until 3. When ack for singly-transmitted packet arrives, use sample to update RTT and reset RTO 1 avoids retransmission ambiguity, 2 ensures good samples will arrive, and 3 tells us when we get one. djw // CS 561, Spring 2000

TCP Timestamps Several TCP options added in early 1990s as part of extensions for high performance Round Trip time Measurement Want more than one RTT sample per window Send timestamp with packet; receiver echoes with ack Resolves retransmission ambiguity djw // CS 561, Spring 2000