Sliding Window. Sliding window - Sender side Cumulative Acknowledgments Not sentSent, no ACKACK:edFree Sending buffer at the sender: Old data sent that.

Slides:



Advertisements
Similar presentations
TCP Sliding Windows, Flow Control, and Congestion Control Lecture material taken from Computer Networks A Systems Approach, Fourth Ed.,Peterson and Davie,
Advertisements

Advanced Computer Networks : TCP Sliding Windows1 TCP Sliding Windows, Flow Control, and Congestion Control Lecture material taken from “Computer Networks.
Introduction 1 Lecture 13 Transport Layer (Transmission Control Protocol) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer.
1 SpaceWire Update NASA GSFC November 25, GSFC SpaceWire Status New Link core with split clock domains complete (Much faster) New Router core.
Transport Layer 4 Slides from Kurose and Ross
Flow and Error Control. Flow Control Flow control coordinates the amount of data that can be sent before receiving acknowledgement It is one of the most.
Networks: Data Link Layer1 Data Link Layer. Networks: Data Link Layer2 Data Link Layer Provides a well-defined service interface to the network layer.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
ACN: TCP Sliding Windows1 TCP Sliding Windows, with Flow Control, and Congestion Control Based on Peterson and Davie Textbook.
EEC-484/584 Computer Networks Lecture 13 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Advanced Computer Networks : TCP Sliding Windows1 TCP Sliding Windows, Flow Control, and Congestion Control Lecture material taken from “Computer Networks.
CSE 461: Sliding Windows & ARQ. Next Topic  We begin on the Transport layer  Focus  How do we send information reliably?  Topics  The Transport layer.
1 Internet Networking Spring 2004 Tutorial 10 TCP NewReno.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Transport Protocols Slide 1 Transport Protocols.
WXES2106 Network Technology Semester /2005 Chapter 8 Intermediate TCP CCNA2: Module 10.
1 Reliable Data Transfer. 2 r Problem: Reliability  Want an abstraction of a reliable link even though packets can be corrupted or get lost r Solution:
Error Checking continued. Network Layers in Action Each layer in the OSI Model will add header information that pertains to that specific protocol. On.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Chapter 11 Data Link Control Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction.
Data Link Layer We have now discussed the prevalent shared channel technologies  Ethernet/IEEE  Wireless LANs (802.11) We have now covered chapters.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Flow Control 0.
Error/Flow Control Modeling (ARQ Modeling). Modeling of Go Back N.
2000 년 11 월 20 일 전북대학교 분산처리실험실 TCP Flow Control (nagle’s algorithm) 오 남 호 분산 처리 실험실
Copyright 2008 Kenneth M. Chipps Ph.D. Controlling Flow Last Update
Copyright © Lopamudra Roychoudhuri
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.
1 CS 4396 Computer Networks Lab TCP – Part II. 2 Flow Control Congestion Control Retransmission Timeout TCP:
Transport Layer3-1 Transport Layer Our lives begin to end, the day we become silent about things that matter.
ECE 4110 – Internetwork Programming
Lecture Focus: Data Communications and Networking  Data Link Layer  Data Link Control Lecture 22 CSCS 311.
NUS.SOC.CS2105 Ooi Wei Tsang Application Transport Network Link Physical you are still here.
Retransmission. Automatic Repeat reQuest (ARQ) 2 Time Packet ACK Timeout Automatic Repeat Request –Receiver sends acknowledgment (ACK) when it receives.
1 Flow&Error Control R. Supakorn. 2 Flow Control Flow control refers to a set of procedure used to restrict the amount of data that the sender can send.
CSE/EE 461 Sliding Windows and ARQ. 2 Last Time We finished up the Network layer –Internetworks (IP) –Routing (DV/RIP, LS/OSPF) It was all about routing:
1 Direct Link Networks: Reliable Transmission Sections 2.5.
Chi-Cheng Lin, Winona State University CS412 Introduction to Computer Networking & Telecommunication Data Link Layer Part II – Sliding Window Protocols.
DATA LINK CONTROL. DATA LINK LAYER RESPONSIBILTIES  FRAMING  ERROR CONTROL  FLOW CONTROL.
1 COMP 431 Internet Services & Protocols The Transport Layer Pipelined Transport Protocols Jasleen Kaur March 29, 2016.
NET 222: COMMUNICATIONS AND NETWORKS FUNDAMENTALS ( NET 222: COMMUNICATIONS AND NETWORKS FUNDAMENTALS (PRACTICAL PART) Tutorial 4 : Chapter 7 Data & computer.
Data Link Layer.
Chapter 3 Transport Layer
Fast Retransmit For sliding windows flow control we waited for a timer to expire before beginning retransmission of a packet TCP uses an additional mechanism.
Reliable Transmission
Data Link Layer Flow Control.
March 21, 2001 Recall we have talked about the Sliding Window Protocol for Flow Control Review this protocol A window of size I can contain at most I.
Introduction to Networks
Chapter 23 Introduction To Transport Layer
Instructor Mazhar Hussain
Introduction of Transport Protocols
Flow 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.
Chapter 23 Introduction To Transport Layer
Flow and Error Control.
Data Link Layer as a Reliable Data Transport Protocol
PUSH Flag A notification from the sender to the receiver to pass all the data the receiver has to the receiving application. Some implementations of TCP.
rdt2.2: a NAK-free protocol
TCP Sliding Windows, Flow Control, and Congestion Control
Selective repeat Protocol
Sliding Window Protocol
CS4470 Computer Networking Protocols
9: Pipelined Protocols and RTT
The Transport Layer Reliability
Window Management in TCP
Transport Layer: Congestion Control
Chapter 5 TCP Sliding Window
TCP Sliding Windows, Flow Control, and Congestion Control
rdt2.0: FSM specification
Error Checking continued
TCP Sliding Windows, Flow Control, and Congestion Control
Presentation transcript:

Sliding Window

Sliding window - Sender side Cumulative Acknowledgments Not sentSent, no ACKACK:edFree Sending buffer at the sender: Old data sent that has already been ACK:ed (Could as well be marked as free space) New data sent to transport layer by application, but not yet sent Free buffer space where application can write new data to be sent

Sliding window - Sender side Cumulative Acknowledgments Not sentSent, no ACKACK:edFree Sending buffer at the sender: Data that has been sent, but not ACK:ed Also called the Sending window This is the sliding window (yes, it slides!) This data can not be sent yet, as the sliding window in this example has a maximum size of 10

Sliding window - Sender side Cumulative Acknowledgments Not sentSent, no ACKACK:edFree Sending buffer at the sender: ACTION: An ACK of the oldest sent packet arrives The window slides so that the left border is in line with the oldest outstanding ACK The unsent segments that fit within the window are sent

Sliding window - Sender side Cumulative Acknowledgments Not sentSent, no ACKACK:edFree Sending buffer at the sender: The data is placed in free buffer slots ACTION: The application has more data to send

Sliding window - Sender side Cumulative Acknowledgments Not sentSent, no ACKACK:edFree Sending buffer at the sender: Older sent but un-ACK:ed segments are now considered to be ACK:ed ACTION: An ACK arrives in the middle of the window The window slides and unsent segments within the window are sent The window shrinks by one segment as there is no more than 9 segments outstanding

Sliding window - Sender side Cumulative Acknowledgments Not sentSent, no ACKACK:edFree Sending buffer at the sender: The data is placed in free buffer slots ACTION: The application has more data to send As the window is currently 9 segments wide, it can grow by one segment The new data that fits within the window is sent

Sliding window - Sender side Cumulative Acknowledgments Not sentSent, no ACKACK:edFree Sending buffer at the sender: The ACK is silently ignored ACTION: An ACK of already ACK:ed segments arrives

Must keep track of outstanding data –Data sent, but not ACK:ed Must not exceed maximum window size –Configuration parameter –Affects memory consumption Must adjust window size when –An ACK inside the window arrives –New data that can fit within window arrives from application Sliding window - Sender side Cumulative Acknowledgments

Sliding window – Receiver side Cumulative Acknowledgments YX Not received ReceivedReadFree Read buffer at the receiver: N/A Data that was previously received and that has been delivered to application Data that was previously received, but not yet delivered to the application Data not yet received

Sliding window – Receiver side Cumulative Acknowledgments YX Not received ReceivedReadFree Read buffer at the receiver: N/A Free buffer space where new segments that are received can be stored Space unavailable to new segments The sliding window holds data received but not yet read. Must also be able to keep ”holes” like segment Y in the segments This sliding window has size 12, max size 14

Sliding window – Receiver side Cumulative Acknowledgments YX Not received ReceivedReadFree Read buffer at the receiver: Store in read buffer, register as received ACTION: Segment X arrives X Send cumulative ACK Y to indicate that receiver is waiting for Y Y N/A

Sliding window – Receiver side Cumulative Acknowledgments YX Not received ReceivedReadFree Read buffer at the receiver: Can not fit into the buffer, must be discarded ACTION: Segment X+2 arrives X+2 Send cumulative ACK Y to indicate that receiver is waiting for Y Y N/A

Sliding window – Receiver side Cumulative Acknowledgments YX Not received ReceivedReadFree Read buffer at the receiver: Only two segments are returned, still waiting for Y ACTION: Applications try to read 5 segments Application is informed of how much data was read The unavailable segment at the end of the buffer becomes available N/A

Sliding window – Receiver side Cumulative Acknowledgments YX Not received ReceivedReadFree Read buffer at the receiver: Store in read buffer, register as received ACTION: Segment Y arrives Y Send cumulative ACK (X+1) to indicate that receiver is waiting for (X+1) X+1 N/A

Sliding window – Receiver side Cumulative Acknowledgments Y Role of sliding window is different at receiver –Represents the maximum buffer size for segments received but still not read –If a segment that does not fit inside the window arrives (either too new or too old), it is discarded. However, an ACK is sent –To avoid running out of buffer space, receiver can inform sender about available buffer space in each ACK