Lecture 5: Flow Control. CSE 123: Computer Networks Alex C. Snoeren

Similar documents
Lecture 7: Flow Control"

Lecture 7: Sliding Windows. CSE 123: Computer Networks Geoff Voelker (guest lecture)

CSE 123: Computer Networks Alex C. Snoeren. HW 1 due NOW!

Lecture 7: Flow & Media Access Control"

Lecture 4: CRC & Reliable Transmission. Lecture 4 Overview. Checksum review. CRC toward a better EDC. Reliable Transmission

Communications Software. CSE 123b. CSE 123b. Spring Lecture 3: Reliable Communications. Stefan Savage. Some slides couresty David Wetherall

The Transport Layer Reliability

Computer Networking. Reliable Transport. Reliable Transport. Principles of reliable data transfer. Reliable data transfer. Elements of Procedure

ECE697AA Lecture 3. Today s lecture

ERROR AND FLOW CONTROL. Lecture: 10 Instructor Mazhar Hussain

ICS 451: Today's plan. Sliding Window Reliable Transmission Acknowledgements Windows and Bandwidth-Delay Product Retransmission Timers Connections

Principles of Reliable Data Transfer

Reliable Data Transfer

Transport Layer (TCP/UDP)

The flow of data must not be allowed to overwhelm the receiver

Transport Layer Marcos Vieira

CSCD 330 Network Programming

Reliable Transport : Fundamentals of Computer Networks Bill Nace

CS457 Transport Protocols. CS 457 Fall 2014

EECS 122, Lecture 19. Reliable Delivery. An Example. Improving over Stop & Wait. Picture of Go-back-n/Sliding Window. Send Window Maintenance

Data Link Layer, Part 5 Sliding Window Protocols. Preface

Sliding Window Protocols, Connection Management, and TCP Reliability

Reliable Transport I: Concepts and TCP Protocol

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 11, 2018

Applied Networks & Security

Reliable Transport I: Concepts and TCP Protocol

CSC 4900 Computer Networks: TCP

The Transport Layer: TCP & Reliable Data Transfer

Basic Reliable Transport Protocols

NWEN 243. Networked Applications. Layer 4 TCP and UDP

CRC. Implementation. Error control. Software schemes. Packet errors. Types of packet errors

Communication Networks

Transport Layer Protocols TCP

CS4700/CS5700 Fundamentals of Computer Networks

CS43: Computer Networks Reliable Data Transfer. Kevin Webb Swarthmore College October 5, 2017

CSC 401 Data and Computer Communications Networks

User Datagram Protocol

UNIT IV -- TRANSPORT LAYER

CS 43: Computer Networks. 16: Reliable Data Transfer October 8, 2018

CS 640 Introduction to Computer Networks. Role of data link layer. Today s lecture. Lecture16

Question. Reliable Transport: The Prequel. Don t parse my words too carefully. Don t be intimidated. Decisions and Their Principles.

TCP and Congestion Control (Day 1) Yoshifumi Nishida Sony Computer Science Labs, Inc. Today's Lecture

Announcements Computer Networking. Outline. Transport Protocols. Transport introduction. Error recovery & flow control. Mid-semester grades

CSE/EE 461. Sliding Windows and ARQ. Last Time. This Time. We finished up the Network layer Internetworks (IP) Routing (DV/RIP, LS/OSPF)

Chapter 11 Data Link Control 11.1

Islamic University of Gaza Faculty of Engineering Department of Computer Engineering ECOM 4021: Networks Discussion. Chapter 5 - Part 2

TCP over wireless links

TCP Service Model. Today s Lecture. TCP Support for Reliable Delivery. EE 122:TCP, Connection Setup, Reliability

Lecture 3 The Transport Control Protocol (TCP) Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

Transport Protocols and TCP: Review

CSE 461: Introduction to Computer Communication Networks. Chunjong Park

User Datagram Protocol (UDP):

TCP. CSU CS557, Spring 2018 Instructor: Lorenzo De Carli (Slides by Christos Papadopoulos, remixed by Lorenzo De Carli)

ECE 435 Network Engineering Lecture 10

6.033 Lecture 12 3/16/09. Last time: network layer -- how to deliver a packet across a network of multiple links

Functionality Split Computer Networking. Transport Protocols. Overview. Multiplexing & Demultiplexing

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2. Goals for Todayʼs Lecture. Role of Transport Layer

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2

TCP : Fundamentals of Computer Networks Bill Nace

23-3 TCP. Topics discussed in this section: TCP Services TCP Features Segment A TCP Connection Flow Control Error Control 23.22

Recap. More TCP. Congestion avoidance. TCP timers. TCP lifeline. Application Presentation Session Transport Network Data Link Physical

The Transmission Control Protocol (TCP)

The Transport Layer Multiplexing, Error Detection, & UDP

Networked Systems and Services, Fall 2018 Chapter 3

Page 1. Goals for Today" Discussion" Example: Reliable File Transfer" CS162 Operating Systems and Systems Programming Lecture 11

Networked Systems and Services, Fall 2017 Reliability with TCP

Transport Protocols & TCP TCP

TCP. TCP: Overview. TCP Segment Structure. Maximum Segment Size (MSS) Computer Networks 10/19/2009. CSC 257/457 - Fall

TCP: Flow and Error Control

Error Detection Codes. Error Detection. Two Dimensional Parity. Internet Checksum Algorithm. Cyclic Redundancy Check.

file:///c:/users/hpguo/dropbox/website/teaching/fall 2017/CS4470/H...

CS321: Computer Networks Congestion Control in TCP

Lecture 21: Congestion Control" CSE 123: Computer Networks Alex C. Snoeren

Chapter 3: Transport Layer Part A

16.682: Communication Systems Engineering. Lecture 17. ARQ Protocols

Outline Computer Networking. TCP slow start. TCP modeling. TCP details AIMD. Congestion Avoidance. Lecture 18 TCP Performance Peter Steenkiste

Transport Protocols. CSCI 363 Computer Networks Department of Computer Science

Mobile Transport Layer Lesson 10 Timeout Freezing, Selective Retransmission, Transaction Oriented TCP and Explicit Notification Methods

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2

Fall 2012: FCM 708 Bridge Foundation I

COMP/ELEC 429/556 Introduction to Computer Networks

Congestion Control End Hosts. CSE 561 Lecture 7, Spring David Wetherall. How fast should the sender transmit data?

Question 1 (6 points) Compare circuit-switching and packet-switching networks based on the following criteria:

10.1 REVIEW QUESTIONS

TCP Basics : Computer Networking. Overview. What s Different From Link Layers? Introduction to TCP. TCP reliability Assigned reading

Overview. TCP congestion control Computer Networking. TCP modern loss recovery. TCP modeling. TCP Congestion Control AIMD

Announcements. No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6

Lecture 6: Reliable Transmission. CSE 123: Computer Networks Alex Snoeren (guest lecture) Alex Sn

Chapter 3. The Data Link Layer. Wesam A. Hatamleh

No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6

Chapter 11 Data Link Control 11.1

Lecture 08: The Transport Layer (Part 2) The Transport Layer Protocol (TCP) Dr. Anis Koubaa

Problem 7. Problem 8. Problem 9

Programming Assignment 3: Transmission Control Protocol

CSCI Topics: Internet Programming Fall 2008

Chapter 11 Data Link Control 11.1

CSCE 463/612 Networks and Distributed Processing Spring 2017

Transport layer. UDP: User Datagram Protocol [RFC 768] Review principles: Instantiation in the Internet UDP TCP

Direct Link Networks (II)

Transport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections

Transcription:

Lecture 5: Flow Control CSE 123: Computer Networks Alex C. Snoeren

Pipelined Transmission Sender Receiver Sender Receiver Ignored! Keep multiple packets in flight Allows sender to make efficient use of the link Sequence numbers ensure receiver can distinguish frames Sender buffers outstanding un-acked packets Receiver ACKs the highest consecutive frame received» ACKs are cumulative (covers current frame and all previous) 2

Go-Back-N Sender Receiver Sender Receiver timeout Retransmit all packets from point of loss Packets sent after loss event are ignored (i.e., sent again) Simple to implement (receiver very simple) Sender controls how much data is in flight 3

Send Window Timeout Sender Receiver Bound on number of outstanding packets Window opens upon receipt of new ACK Window resets entirely upon a timeout Limits amount of waste Still lots of duplicates We can do better with selective retransmission Go-Back-N Example with window size 3 4

Sliding Window Single mechanism that supports: Multiple outstanding packets Reliable delivery In-order delivery Flow control Sender and receiver each maintain window abstractions to track outstanding packets At the core of all modern ARQ protocols Go-Back-N is a special case Receive window size of one 5

Sliding Window Sender Sender: Window Size Window bounds outstanding unacked data Implies need for buffering at sender Last ACK applies to in-order data What to do on a timeout? Last ACK Last Sent Go-Back-N: resend all unacknowledged data on timeout Selective Repeat: timer per packet, resend as needed 6

Sliding Window Receiver Receive Window Receiver: Last Received Largest Accepted Receiver buffers too: data may arrive out-of-order or faster than can be consumed» Flow control: tell sender how much buffer left at receiver Receiver ACK choices: Cumulative, Selective (exempt missing frames), Negative 7

Deciding When to Retransmit How do you know when a packet has been lost? Ultimately sender uses timers to decide when to retransmit But how long should the timer be? Too long: inefficient (large delays, poor use of bandwidth) Too short: may retransmit unnecessarily (causing extra traffic) Right timer is based on the round-trip time (RTT) Which can vary greatly for reasons well see later 8

Can we shortcut the timeout? Timeout is long in practice Lots of variation in RTT and timeout must be conservative If packets are usually in order then out-of-order ACKs imply that a packet was lost Negative ACK» Receiver requests missing packet Fast retransmit» When sender receives multiple duplicate acknowledgements resends missing packet 9

Fast retransmit Sender Receiver Don t bother waiting Receipt of duplicate acknowledgement (dupack) indicates loss Retransmit immediately Used in TCP Need to be careful if frames can be reordered Today s TCP identifies a loss if there are three duplicate ACKs in a row 10

Connection Establishment Both sender and receiver must be ready before we start to transfer the data Sender and receiver need to agree on a set of parameters Most important: sequence number space in each direction Lots of other parameters: e.g., the Maximum Segment Size Handshake protocols: setup state between two oblivious endpoints Need to deal with delayed and reordered packets 11

Two-way handshake? Active participant (client) Passive participant (server) +data What s wrong here? 12

Two-way handshake? Active participant (client) Passive participant (server) Delayed old SYN Rejected +data 13

Three-Way Handshake Opens both directions for transfer Active participant (client) Passive participant (server) +data 14

For Next Time Read 5-5.1 in P&D (Keep) going on the project 15