Data Link Layer. Flow Control. Flow Control



Similar documents
CSE331: Introduction to Networks and Security. Lecture 9 Fall 2006

Stop And Wait. ACK received; transmit frame 2 CS 455 3

Computer Networks. Data Link Layer

Data Link Layer(1) Principal service: Transferring data from the network layer of the source machine to the one of the destination machine

Computer Networks. Chapter 5 Transport Protocols

Applied Data Communication Lecture 14

Transport Layer Protocols

Protocols and Architecture. Protocol Architecture.

EKSAMEN / EXAM TTM

TCP in Wireless Mobile Networks

Lecture Objectives. Lecture 07 Mobile Networks: TCP in Wireless Networks. Agenda. TCP Flow Control. Flow Control Can Limit Throughput (1)

Advanced Computer Networks Project 2: File Transfer Application

Midterm Exam CMPSCI 453: Computer Networks Fall 2011 Prof. Jim Kurose

Congestion Control Overview

Names & Addresses. Names & Addresses. Hop-by-Hop Packet Forwarding. Longest-Prefix-Match Forwarding. Longest-Prefix-Match Forwarding

ECE 358: Computer Networks. Homework #3. Chapter 5 and 6 Review Questions 1

Chapter 3: Sample Questions, Problems and Solutions Bölüm 3: Örnek Sorular, Problemler ve Çözümleri

Medium Access Control (MAC) Protocols for Ad hoc Wireless Networks - III

TCP over Multi-hop Wireless Networks * Overview of Transmission Control Protocol / Internet Protocol (TCP/IP) Internet Protocol (IP)

Ethernet. Ethernet Frame Structure. Ethernet Frame Structure (more) Ethernet: uses CSMA/CD

0,2 D(0) A(1) D(1) 1,3 D(2) 0,2 D(0) A(1) D(1) 1,3 D(2) D(3) D(3) D(1) D(1) A(4) D(2) 4,6 D(3) A(4) 4,6 GO BACK 3 SELECTIVE REJECT WINDOW SLIDES

An enhanced TCP mechanism Fast-TCP in IP networks with wireless links

ECE 333: Introduction to Communication Networks Fall 2002

TCP in Wireless Networks

Note! The problem set consists of two parts: Part I: The problem specifications pages Part II: The answer pages

LANs. Local Area Networks. via the Media Access Control (MAC) SubLayer. Networks: Local Area Networks

3.4 SLIDING WINDOW PROTOCOLS

1. The subnet must prevent additional packets from entering the congested region until those already present can be processed.

TCP Flow Control. TCP Receiver Window. Sliding Window. Computer Networks. Lecture 30: Flow Control, Reliable Delivery

CS268 Exam Solutions. 1) End-to-End (20 pts)

TCP for Wireless Networks

CS6956: Wireless and Mobile Networks Lecture Notes: 2/11/2015. IEEE Wireless Local Area Networks (WLANs)

Local Area Networks transmission system private speedy and secure kilometres shared transmission medium hardware & software

[Prof. Rupesh G Vaishnav] Page 1

Applying Active Queue Management to Link Layer Buffers for Real-time Traffic over Third Generation Wireless Networks

CSE 473 Introduction to Computer Networks. Exam 2 Solutions. Your name: 10/31/2013

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT COMPUTER NETWORKS

TCP and Wireless Networks Classical Approaches Optimizations TCP for 2.5G/3G Systems. Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme

Data Communications & Networks. Session 6 Main Theme Reliable Data Transfer. Dr. Jean-Claude Franchitti

The Problem with TCP. Overcoming TCP s Drawbacks

Operating Systems and Computer Networks / Datenverarbeitung 2 / Data Processing 2

Improving Throughput Performance of the IEEE MAC Layer Using Congestion Control Methods

Performance Analysis of the IEEE Wireless LAN Standard 1

Mobile Communications Chapter 9: Mobile Transport Layer

ESPA Nov 1984 PROPOSAL FOR SERIAL DATA INTERFACE FOR PAGING EQUIPMENT CONTENTS 1. INTRODUCTION 2. CHARACTER DESCRIPTION

COMP 361 Computer Communications Networks. Fall Semester Midterm Examination

28 Networks and Communication Protocols

LLC: Frame Construction. Layer 2: Division into two Parts. Error-detecting and -correcting Codes. Error-correcting Codes

Access Control: Firewalls (1)

Review of Error Detection of Data Link Layer in Computer Network

A Survey on Congestion Control Mechanisms for Performance Improvement of TCP

Higher Layer Protocols: UDP, TCP, ATM, MPLS

Multiple Choice Questions

Quectel Cellular Engine

Dynamic Source Routing in Ad Hoc Wireless Networks

Outline. TCP connection setup/data transfer Computer Networking. TCP Reliability. Congestion sources and collapse. Congestion control basics

Prefix AggregaNon. Company X and Company Y connect to the same ISP, and they are assigned the prefixes:

Application Level Congestion Control Enhancements in High BDP Networks. Anupama Sundaresan

Improving the Performance of TCP Using Window Adjustment Procedure and Bandwidth Estimation

Simulation-Based Comparisons of Solutions for TCP Packet Reordering in Wireless Network

Solving complex performance problems in TCP/IP and SNA environments.

3GPP TS V ( )

ARM Thumb Microcontrollers. Application Note. Software ISO 7816 I/O Line Implementation. Features. Introduction

Ring Local Area Network. Ring LANs

AN IMPROVED SNOOP FOR TCP RENO AND TCP SACK IN WIRED-CUM- WIRELESS NETWORKS

Overview. Securing TCP/IP. Introduction to TCP/IP (cont d) Introduction to TCP/IP

A study of Skype over IEEE networks: voice quality and bandwidth usage

Overview of Network Hardware and Software. CS158a Chris Pollett Jan 29, 2007.

Computer Network. Interconnected collection of autonomous computers that are able to exchange information

EECS 122: Introduction to Computer Networks Multiaccess Protocols. ISO OSI Reference Model for Layers

Digital Audio and Video Data

The Qualcomm CDMA Digital Cellular System

Appendix B RCS11 Remote Communications

DATA COMMUNICATION AND NETWORKS

Mobile Computing/ Mobile Networks

A Transport Protocol for Multimedia Wireless Sensor Networks

Data Link Layer Overview

LIN (Local Interconnect Network):

Welcome to the Introduction to Controller Area Network web seminar My name is William Stuart, and I am a Applications Engineer for the Automotive

15-441: Computer Networks Homework 2 Solution

Performance Measurement of TCP/IP Header Compression

PROPERTY MANAGEMENT SYSTEM

B-2 Analyzing TCP/IP Networks with Wireshark. Ray Tompkins Founder of Gearbit

OSI Model. Application Presentation Session Transport Network Data Link Physical. EE156 Computer Network Architecture

Wireless LAN Protocol CS 571 Fall Kenneth L. Calvert All rights reserved

Note! The problem set consists of two parts: Part I: The problem specifications pages Part II: The answer pages

Congestions and Control Mechanisms n Wired and Wireless Networks

Adaptive RTP/UDP/IP Header Compression for VoIP over Bluetooth

Per-Flow Queuing Allot's Approach to Bandwidth Management

CSMA/CA. Information Networks p. 1

Networking Test 4 Study Guide

First Semester Examinations 2011/12 INTERNET PRINCIPLES

A Study on TCP Performance over Mobile Ad Hoc Networks

A DNP3 Protocol Primer

CONTROL MICROSYSTEMS DNP3. User and Reference Manual

Distributed Systems 3. Network Quality of Service (QoS)

Homework 2 assignment for ECE374 Posted: 02/21/14 Due: 02/28/14

15-441: Computer Networks Homework 1

RFC 2544 Testing of Ethernet Services in Telecom Networks

Transcription:

Data Link Layer Flow Control 1 Flow Control Flow Control is a technique for speed-matching of transmitter and receiver. Flow control ensures that a transmitting station does not overflow a receiving station with data We will discuss two protocols for flow control: Stop-and-Wait Sliding Window For the time being, we assume that we have a perfect channel (no errors) 2 1

Stop-and-Wait Flow Control Simplest form of flow control In Stop-and-Wait flow control, the receiver indicates its readiness to receive data for each frame Operations: 1. Sender: Transmit a single frame 2. Receiver: Transmit acknowledgment (CK). Goto 1. nalysis of Stop-and-Wait propagation delay Last bit received Frame CK End of Transmit of CK Receiver Efficiency =? Frame transmission delay CK Sender Start Transmit End Transmit Last bit of CK received 4 2

Sliding Window Flow Control Major Drawback of Stop-and-Wait Flow Control: Only one frame can be in transmission at a time This leads to inefficiency if propagation delay is much longer than the transmission delay Sliding Window Flow Control llows transmission of multiple frames ssigns each frame a k-bit sequence number Range of sequence number is [0..2 k -1], i.e., frames are counted modulo 2 k 5 Operation of Sliding Window Sending Window: t any instant, the sender is permitted to send frames with sequence numbers in a certain range (the sending window) Frames already transmitted Window of frames that may be transmitted 4 5 6 Frame sequence number Last frame transmitted Window shrinks as frames are sent Window expands as acknowledgements are received 6

Operation of Sliding Window Receiving Window: The receiver maintains a receiving window corresponding to the sequence numbers of frames that are accepted Frames already received Window of frames that are accepted by receiver 4 5 6 Last frame acknowledged Window shrinks as frames are received Window expands as acknowledgements are sent 7 Operation of Sliding Window How is flow control achieved? Receiver can control the size of the sending window y limiting the size of the sending window data flow from sender to receiver can be limited Interpretation of CK N message: Receiver acknowledges all packets until (but not including) sequence number N 8 4

Example Transmitter Receiver F0 F1 F2 CK4 9 Example Continued Transmitter F F4 F5 F6 Receiver CK 4 10 5

nalysis of Sliding Windows 0 a 1st frame received a+1 Wth frame received a+w Receiver... 0 1 2 W W 2a+1 1st CK received Sender 11 nalysis of Sliding Windows If the window size is sufficiently large the sender can continuously transmit packets: W 2a+1: Sender can transmit continuously normalized efficiency = 1 W < 2a+1: Sender can transmit W frames every 2a+1 time units W normalized efficiency = 1 + 2a 12 6

RQ Error Control Types of errors: Lost frames, damaged frames Most Error Control techniques are based on (1) Error Detection Scheme (e.g., Parity checks, CRC), and (2) Retransmission Scheme Error control schemes that involve error detection and retransmission of lost or corrupted frames are referred to as utomatic Repeat Request (RQ) error control 1 RQ Schemes The most common RQ retransmission schemes: Stop-and-Wait RQ Go-ack-N RQ Selective Repeat RQ The protocol for sending CKs in all RQ protocols are based on the sliding window flow control scheme 14 7

Stop-and-Wait RQ Stop-and-Wait RQ is an addition to the Stop-and- Wait flow control protocol: Frames have 1-bit sequence numbers (SN = 0 or 1) Receiver sends an CK (1-SN) if frame SN is correctly received Sender waits for an CK (1-SN) before transmitting the next frame with sequence number 1-SN If sender does not receive anything before a timeout value expires, it retransmits frame SN 15 Stop-and-Wait RQ Lost Frame Timeout CK 0 CK 1 CK 0 16 8

Stop-and-Wait RQ Lost CK Timeout CK 0 CK 1 CK 1 17 Go-ack-N RQ Go-ack-N uses the sliding window flow control protocol. If no errors occur the operations are identical to Sliding Window 18 9

Go-ack-N RQ Operations: station may send multiple frames as allowed by the window size Receiver sends a NK i if frame i is in error. fter that, the receiver discards all incoming frames until the frame in error was correctly retransmitted If sender receives a NK i it will retransmit frame i and all packets i+1, i+2,... which have been sent, but not been acknowledged 19 Go-ack-N RQ Lost Frame Frames 4,5,6 are retransmitted Frame 5 Frame 4 Frame 6 Frame 5 Frame 4 Frame Frame 2 Frame 6 CK NK 4 CK 6 Frames 5 and 6 are discarded 20 10

Go-ack-N RQ Lost CK Timeout Frames 0-4 are retransmitted Frame Frame 2 Frame Frame 2 Frame 4 Frame 5 Frame 4 CK CK CK 5 Frames and 4 are discarded 21 Selective-Repeat RQ Similar to Go-ack-N RQ. However, the sender only retransmits frames for which a NK is received dvantage over Go-ack-N: Fewer Retransmissions. Disadvantages: More complexity at sender and receiver Each frame must be acknowledged individually (no cumulative acknowledgements) Receiver may receive frames out of sequence 22 11

Selective-Repeat RQ Lost Frame only Frame 4 is retransmitted Frame Frame 2 Frame 7 Frame 4 Frame 6 Frame 5 Frame 4 CK 1 CK 2 CK CK 4 CK 6, NK 4 CK 7 CK 5 CK 0 CK 1 Frames 5 and 6 are buffered 2 Example of Selective-Repeat RQ Frames waiting for CK/NK 1 2 2 4 2 4 5 Frames received 2 1 CK2 frame 1 is correct, send CK 2 4 NK2 frame 2 is in error, send NK2 1 5 2 retransmit frame 2 1 4 Receiver must keep track of `holes in the sequence of delivered frames Sender must maintain one timer per outstanding packet 24 12