ARQ Mechanisms Rudra Dutta ECE/CSC 570 - Fall 2010, Section 001, 601.

Slides:



Advertisements
Similar presentations
Chapter 3 The Data Link Layer.
Advertisements

Network Operations & administration CS 4592 Lecture 15 Instructor: Ibrahim Tariq.
Data Link Control We want to minimize the amount of error correcting and detecting we need to do.
Go-Back-N Improve Stop-and-Wait by not waiting!
Chapter 11 Data Link Control
Data and Computer Communications Updated: 2/9/2009.
Data link control. Data Link Control –Flow Control how much data may sent –Error Control How can error be detected and corrected.
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.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Chapter 11 Data Link Control and Protocols.
Networks: Data Link Layer1 Data Link Layer. Networks: Data Link Layer2 Data Link Layer Provides a well-defined service interface to the network layer.
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 13 Introduction to Computer Networks.
Transport Layer3-1 Reliable Data Transfer. Transport Layer3-2 Principles of Reliable data transfer r important in app., transport, link layers r top-10.
Adapted from Tanenbaum's Slides for Computer Networking, 4e The Data Link Layer Chapter 3.
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.
Lect11.ppt - 03/15/05 CDA 6505 Network Architecture and Client/Server Computing Lecture 11 Link-Level Flow and Error Control by Zornitza Genova Prodanoff.
Link-Level Flow and Error Control
Principles of Reliable Data Transfer. Reliable Delivery Making sure that the packets sent by the sender are correctly and reliably received by the receiver.
Data Link Control Protocols
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Chapter 11 Data Link Control Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction.
11.1 Chapter 11 Data Link Control Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
11.1 Chapter 11 Data Link Control Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Data Link Layer We have now discussed the prevalent shared channel technologies  Ethernet/IEEE  Wireless LANs (802.11) We have now covered chapters.
Chi-Cheng Lin, Winona State University CS 313 Introduction to Computer Networking & Telecommunication Data Link Layer Part I – Designing Issues and Elementary.
11.1 Chapter 11 Data Link Control Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Chapter 5 Peer-to-Peer Protocols and Data Link Layer PART I: Peer-to-Peer Protocols ARQ Protocols and Reliable Data Transfer Flow Control.
1 Transport Layer Lecture 10 Imran Ahmed University of Management & Technology.
Error/Flow Control Modeling (ARQ Modeling). Modeling of Go Back N.
The Data Link Layer Chapter 3 10/28/2015www.noteshit.com1.
Data Link and Flow Control Networks and Protocols Prepared by: TGK First Prepared on: Last Modified on: Quality checked by: Copyright 2009 Asia Pacific.
Error/Flow Control Modeling (ARQ Modeling). © Tallal Elshabrawy 2 Data Link Layer  Data Link Layer provides a service for Network Layer (transfer of.
Chapter 3: Channel Coding (part 3). Automatic repeat request (ARQ) protocols ▫Used in combination with error detection/correction ▫Block of data with.
The Data Link Layer Chapter 3 1/21/2016www.ishuchita.com1.
Lecture Focus: Data Communications and Networking  Data Link Layer  Data Link Control Lecture 22 CSCS 311.
11.1 Flow and Error Control Flow Control Error Control.
Data Link Layer Flow and Error Control. Flow Control Flow Control Flow Control Specifies the amount of data can be transmitted by sender before receiving.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Principles of reliable data transfer 0.
COSC 3213: Computer Networks I Instructor: Dr. Amir Asif Department of Computer Science York University Section M Topics: 1.Flow Control and ARQ Protocols.
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.
1 Direct Link Networks: Reliable Transmission Sections 2.5.
CSCI 465 D ata Communications and Networks Lecture 11 Martin van Bommel CSCI 465 Data Communications & Networks 1.
Chi-Cheng Lin, Winona State University CS412 Introduction to Computer Networking & Telecommunication Data Link Layer Part II – Sliding Window Protocols.
1 The utopia protocol  Unrealistic assumptions: –processing time ignored –infinite buffer space available –simplex: data transmitted in one direction.
1 The Data Link Layer A. S. Tanenbaum Computer Networks W. Stallings Data and Computer Communications Chapter 3.
DATA LINK CONTROL. DATA LINK LAYER RESPONSIBILTIES  FRAMING  ERROR CONTROL  FLOW CONTROL.
Computer Networking Lecture 16 – Reliable Transport.
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: The Data Link Layer –to achieve reliable, efficient communication between two physically connected machines. –Design issues: services interface.
PROTOCOL BASICS. 2 Introduction In chapter 3: Circuits and techniques can be employed to transmit a frame of information between 2 DTEs Error detection.
Powerpoint Templates Data Communication Muhammad Waseem Iqbal Lec # 15.
Weiqiang Sun DATA LINK CONTROL LAYER (DLC) – ARQ PROTOCOLS.
9. Principles of Reliable Data Transport – Part 1
Computer Communication & Networks
Data Link Layer Flow Control.
CMPT 371 Data Communications and Networking
Instructor Mazhar Hussain
Data Link Layer: Data Link Control
Overview Jaringan Komputer (2)
Data Link Layer as a Reliable Data Transport Protocol
Chapter 5 Peer-to-Peer Protocols and Data Link Layer
Data Link Layer (cont’d)
Chapter 11 Data Link Control
Getting Connected (Chapter 2 Part 3)
Data Link Layer (cont’d)
Chapter 5 Peer-to-Peer Protocols and Data Link Layer
Lecture 4 Peer-to-Peer Protocols and Data Link Layer
data link Control layer (DLC) – ARQ protocols
Presentation transcript:

ARQ Mechanisms Rudra Dutta ECE/CSC Fall 2010, Section 001, 601

Copyright Rudra Dutta, NCSU, Fall, Need for ARQ Re-transmissions are needed sometimes Flow Control – Sender swamps receiver, must re-send Error Control – Error recovery after detection – Only non-erroneous copy at the sender – But– sender needs to know that

Copyright Rudra Dutta, NCSU, Fall, The Three Army Problem Acknowledgements are needed But may not be available Hence requests must sometimes be implicit

Copyright Rudra Dutta, NCSU, Fall, Retransmission Strategies Automatic Repeat ReQuest – Scope - Link based, or end-to-end Concerns – Correctness Sender and receiver must agree regarding what data is successfully transmitted, within small variation Frames must be delivered to higher layer in order, each frame exactly once, and must not deadlock – Efficiency Throughput, fraction of time channel successfully used Assumptions – Transmissions are eventually successful

Copyright Rudra Dutta, NCSU, Fall, Sequence numbers Delineated stream of bits  stream of frames Successive frames have different identities However – some may be retransmitted – It is the same frame – How to indicate Identity must be embedded in identifiers Straightforward approach – sequence numbers Annoying detail – how high must numbers go? – Finite number of bits to store such numbers – Very important practically !!

Copyright Rudra Dutta, NCSU, Fall, Timing Diagrams - Again Diagrams showing sequence of events involved Transmission of frame (start and end) Reception, similarly Delays – four kinds Time Sender Receiver “Distance” Queueing Transmission Propagation Processing

Copyright Rudra Dutta, NCSU, Fall, Verification of Correctness The (re)transmission rules are embedded into protocols Protocol correctness must be established – Correctness  ? – Must examine “states” of endpoints Different methods possible “Obviously correct” Formal methods for less obvious cases – Finite State Machine Models – Petri Net Models We shall not go into formal methods in this course

Copyright Rudra Dutta, NCSU, Fall, Some ARQ Protocols Stop-And-Wait – What name says – Ignoring ACK sequence creates vulnerability to unbounded delay Go-Back-N – Increase utilization – “Sliding window” Selective Repeat Protocol – Increase efficiency further – “Fill up holes” Warning: Parallels, but not same as, Tanenbaum

Copyright Rudra Dutta, NCSU, Fall, Stop-and-Wait (No ACK SN) Simplest scheme Sender assumes acknowledgement delay bound T – Implicit request for retransmission - “timeout” Only one outstanding frame at any time – Sequence numbers 0 and 1 suffice – General principle - one more sequence number than maximum possible outstanding frames – General issue - receiver has choice in numbering ACKs “I received upto frame n” “I received until before frame n”

Copyright Rudra Dutta, NCSU, Fall, SWP Operation Nominal Operation ACK Lost Conceptual “ideal” SN 0 - Actual SN in header

Copyright Rudra Dutta, NCSU, Fall, Use of Sequence Numbers Acknowledgements are sequence numbered – If eliminated, sender would be “guessing” at what frame is ACK’ed In general, we will mean this version when we speak of SWP

Copyright Rudra Dutta, NCSU, Fall, Go Back N (Sliding Window) Why not fill up the waiting time? – Sender keeps sending frames during waiting time – “Pipelining” frames Gain: Higher throughput in nominal operation Risk: Losing a frame makes all succeeding ones useless Discipline: Receiver only accepts in-order frame – At any time, is prepared to accept only the “right” frame Now, may need to retransmit multiple frames – Sender needs a buffer A “window” in the sequence of frames sent – Limited to N frames, or W Need at least W+1 sequence numbers – ACK is normally numbered with “next” frame Need more if channel is not FIFO Can use Negative Acknowledgments (NAKs) also

Copyright Rudra Dutta, NCSU, Fall, GBN Nominal Operation

Copyright Rudra Dutta, NCSU, Fall, Selective Repeat Why retransmit packets which made it? ACK for a packet does not mean previous ones received – ACK is numbered for received frame Same window of W – Now receiver needs buffer also

Copyright Rudra Dutta, NCSU, Fall, Sender transmits packets 0 through W-1 Each ACK is remembered At any time, sender can send W packets after n, if all packets 0 through n have been ACK’ed Each packet starts a retransmission timer Selective Repeat

Quantitative Analyses

Copyright Rudra Dutta, NCSU, Fall, SWP Efficiency Assume sender always has frames to send What is the best throughput (no losses, errors)? – Simplifying assumption: ACK is received just before timeout (Timeout is set perfectly) – Throughput: 1/T frames/second Now consider the case with errors – Model the uncertainty of a successful transmission with probability – A transmission is successful with probability p True for any packet => memoryless process  T

Copyright Rudra Dutta, NCSU, Fall, SWP Efficiency Approach: find the expected time to transmit any given frame successfully – First find the probability distribution (pmf) – Probability that exactly 1 transmission is required = ??? – Probability that exactly 2 transmissions are required = ??? – Probability that exactly k transmissions are required = ??? Expected time before the frame is successfully transferred = ??? Throughput = ???  T

Copyright Rudra Dutta, NCSU, Fall, GBN Nominal Operation “Full” window - enough to keep transmitting through ACK Key observation – For SWP, Success takes time  + T, Failure ALSO takes time  + T – For GBN Success takes time = ? Failure takes same amount of time as before Hence throughput expression as before

Copyright Rudra Dutta, NCSU, Fall, Summary ARQ protocols contribute to error and flow control at the DLC layer We are interested in – Correctness – Efficiency Even simple protocols can be complicated Must know – How to draw timing diagrams – How to “run the protocol in your mind” – How to argue correctness informally – How to apply probability to obtain efficiency