Data Link Control Protocols

Similar documents
Flow control: Ensuring the source sending frames does not overflow the receiver

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

INTERNET ARCHITECTURE & PROTOCOLS

Data Link Control Protocols

Data and Computer Communications

I. INTRODUCTION. each station (i.e., computer, telephone, etc.) directly connected to all other stations

ERROR AND FLOW CONTROL. Lecture: 10 Instructor Mazhar Hussain

William Stallings Data and Computer Communications. Chapter 7 Data Link Control

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP

Data Link Layer (part 2)

Telecom Systems Chae Y. Lee. Contents. Flow Control Error Detection/Correction Link Control (Error Control) Link Performance (Utility)

10.1 REVIEW QUESTIONS

The Transport Layer Reliability

Data link layer functions. 2 Computer Networks Data Communications. Framing (1) Framing (2) Parity Checking (1) Error Detection

Politecnico di Milano Scuola di Ingegneria Industriale e dell Informazione. Link Layer. Fundamentals of Communication Networks

Direct Link Communication I: Basic Techniques. Data Transmission. ignore carrier frequency, coding etc.

Lecture 7: Flow Control"

Transport Protocols and TCP: Review

3. Data Link Layer 3-2

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

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


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

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

Chapter 11 Data Link Control 11.1

Data Link Layer, Part 4. Exemplary Protocols

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

Peer-to-Peer Protocols and Data Link Layer. Chapter 5 from Communication Networks Leon-Gracia and Widjaja

Chapter 7: Data Link Control. CS420/520 Axel Krings Page 1

Chapter 7: Data Link Control. Data Link Control Protocols

Transport Protocols & TCP TCP

Data Link Control. Surasak Sanguanpong Last updated: 11 July 2000

Department of Computer and IT Engineering University of Kurdistan. Data Communication Netwotks (Graduate level) Data Link Layer

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

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

16.682: Communication Systems Engineering. Lecture 17. ARQ Protocols

CS457 Transport Protocols. CS 457 Fall 2014

4. Error correction and link control. Contents

Principles of Reliable Data Transfer

Direct Link Communication I: Basic Techniques. Data Transmission. ignore carrier frequency, coding etc.

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

Problem 7. Problem 8. Problem 9

Sirindhorn International Institute of Technology Thammasat University

TCP/IP-2. Transmission control protocol:

Advanced Computer Networks. Rab Nawaz Jadoon DCS. Assistant Professor COMSATS University, Lahore Pakistan. Department of Computer Science

Data Link Layer, Part 5 Sliding Window Protocols. Preface

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

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

This Lecture. BUS Computer Facilities Network Management. Line Discipline. Data Link Layer

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

Data Link Layer (cont.) ( h h h ) (Sicherungsschicht) HDLC - 1.

Network Management & Monitoring Network Delay

Data Link Control. Outline. DLC functions

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

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2

Comparison of ISO-OSI and TCP/IP Suit. Functions of Data Link Layer:

Multiple unconnected networks

CMPE150 Midterm Solutions

(Sicherungsschicht) Chapter 5 (part 2) [Wa0001] HDLC - 1.

Your favorite blog : (popularly known as VIJAY JOTANI S BLOG..now in facebook.join ON FB VIJAY

UNIT IV -- TRANSPORT LAYER

Chapter 11 Data Link Control 11.1

TCP : Fundamentals of Computer Networks Bill Nace

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

Agenda. Protocol Principles

ITS323: Introduction to Data Communications

CSE 461: Framing, Error Detection and Correction

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

Chapter 5 Peer-to-Peer Protocols and Data Link Layer

Network Management & Monitoring

Direct Link Networks (II)

Institute of Computer Technology - Vienna University of Technology. L02 - Protocol Principles

User Datagram Protocol

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

Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP 23.1

2.1 CHANNEL ALLOCATION 2.2 MULTIPLE ACCESS PROTOCOLS Collision Free Protocols 2.3 FDDI 2.4 DATA LINK LAYER DESIGN ISSUES 2.5 FRAMING & STUFFING

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

CSE 473 Introduction to Computer Networks. Midterm Exam Review

Communication Networks

CMPE 257: Wireless and Mobile Networking

Page 1. Review: Internet Protocol Stack. Transport Layer Services. Design Issue EEC173B/ECS152C. Review: TCP

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2

Chapter 3. The Data Link Layer

Analyzation of Automatic Repeat Request (ARQ) Protocols

Basic Reliable Transport Protocols

Data Link Layer. Overview. Links. Shivkumar Kalyanaraman

Chapter 5 Peer-to-Peer Protocols. School of Info. Sci. & Eng. Shandong Univ..

CSCD 330 Network Programming Winter 2015

Sequence Number. Acknowledgment Number. Data

Flow and Congestion Control

Lecture 5. Homework 2 posted, due September 15. Reminder: Homework 1 due today. Questions? Thursday, September 8 CS 475 Networks - Lecture 5 1

The Transport Layer Congestion control in TCP

Page 1. Review: Internet Protocol Stack. Transport Layer Services EEC173B/ECS152C. Review: TCP. Transport Layer: Connectionless Service

Exercises TCP/IP Networking With Solutions

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

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

1999, Scott F. Midkiff

Data Communication Networks Final

Internet II. CS10 : Beauty and Joy of Computing. cs10.berkeley.edu. !!Senior Lecturer SOE Dan Garcia!!! Garcia UCB!

Inst: Chris Davison

Transcription:

Protocols : Introduction to Data Communications Sirindhorn International Institute of Technology Thammasat University Prepared by Steven Gordon on 23 May 2012 Y12S1L07, Steve/Courses/2012/s1/its323/lectures/datalink.tex, r2334

Contents Protocols Example Data Link Layer Protocols

Protocols Physical layer concentrates on sending signals over transmission link More control and management is needed to send data over data communications link Frame synchronization: start and end of each frame Flow control: ensure sender does not send too fast for receiver Error control: correct bit errors introduced by transmission system Addressing: must specify identity of two stations communicating Control and data: receiver must distinguish between control and data information Link management: setup and maintain the link Hence, data link layer (and data link control protocols) We will focus on and

Contents Protocols Example Data Link Layer Protocols

Receivers typically have a finite amount of memory (buffer space) to store received data before processing store frames before Memory (buffer) to transmitted Data Link Layer Packet from Network layer Process frame and Tx Packet to Network layer Process frame and Tx Memory (buffer) to store frames for sent to Network layer Physical Layer

Flow control aims to ensure sending entity does not overwhelm receiving entity If sender sends too fast for receiver, then buffer may overflow Result of buffer overflow: data is lost, possibly need to retransmit, which reduces performance Flow control tries to prevent buffer overflow Assume no errors but varying delays Flow control is also used in transport layer, e.g. TCP

Analysing and Illustrating Protocols Computer A Data Application Computer B Application Transport Transport Network Network Data Link Data Link Physical Physical Processing and queuing at each layer Transmission by physical layer Propagation across link

Analysing and Illustrating Protocols 2. Queue data 3. Process data 1. Data arrives from Network layer Data Link 4. Transmit frame 5. Frame propagates 8. Data sent to Network layer Data Link 7. Queue data 6. Process data

Analysing and Illustrating Protocols time Data arrives from Network layer Start transmitting End transmitting A B First bit received Last bit received Data delivered to Network layer

Analysing and Illustrating Protocols A B Transmission time Propagation time

Stop-and-Wait Frame Types DATA: contains information to be sent ACKnowledgement: acknowledges receipt of data Rules Source transmits a DATA frame Source waits for ACK frame before sending next DATA frame Destination receives DATA frame and replies with an ACK if ready for more data Destination can stop flow of data by not sending ACK

Stop-and-Wait Data1 arrives A B DATA frame 1 Data2 arrives ACK frame 1 wait for buffer space Data1 delivered DATA frame 2 ACK frame 2 Data2 delivered Data3 arrives DATA frame 3

Example of Stop-and-Wait Performance Source has 3 1000 Byte messages to be sent immediately. Destination takes 1µs to process each frame. DATA frame contains 1000 Bytes data plus 20 Byte header. ACK frame is 20 Bytes. Link is 2km, 1Mb/s and velocity of 2 10 8 m/s. What is the throughput?

Efficiency of Stop-and-Wait Best-case efficiency, η, for stop-and-wait flow control: η = Data Data + Hdr + Ack + 2 Prop where: Data, Hdr, Ack are transmission times of original data in DATA frame, header in DATA frame and ACK frame respectively; Prop is link propagation time Efficient when data transmission time is much larger than propagation time Inefficient for links with very high data rate (e.g. optical), large distance (e.g. satellite) or small data frames

What Size Frames To Use? Protocols often limit size of packets (frames), i.e. maximum number of bytes of data or payload Large frames minimise header overheads Small frames: Allow more data to be sent when receive buffers are limited Introduce small overhead if a retransmission is required Allow fair sharing amongst multiple users Optimal packet size depends on overheads, and desired throughput and delay performance

Sliding-Window Stop-and-wait allows only 1 frame to be in transit at a time Sliding-window flow control allows multiple frames to be in transit at a time Sequence Numbers Each frame header contains k-bit sequence number (wraps back to 0 after 2 k 1) Keep track of frames sent and acknowledged

Sliding-Window The Sender Sender is allowed to send up to W frames without receiving ACK Sender records: Last frame acknowledged Last frame transmitted Current window size

Sliding-Window The Receiver Receiver has buffer space for W frames Receiver records: Last frame acknowledged Last frame received Current window size Receiver sends an ACK (or Receiver Ready, RR) frame ACK contains sequence number of next expected DATA frame

Example of Sliding Window Protocol

Example of Sliding Window Protocol Source always has data ready to send; DATA frame contains 9000 bits payload, 1000 bits header; ACK frame is 1000 bits; data rate 100kb/s; propagation 200ms. What is efficiency if using 2-bit sequence number? 3-bits?

Additional Features of Sliding Window Receive Not Ready frame: acknowledges received frames but does not allow any more data Piggybacking: DATA frame header contains sequence number of DATA and sequence number of ACK (acknowledgement number) If no DATA to send, normal ACK is transmitted If no new ACK, previous ACK number is repeated in DATA frame

Contents Protocols Example Data Link Layer Protocols

Need to detect and correct of errors such as: Lost frames: frame not received Damaged frames: frame received with errors Common techniques used: Error detection and FEC (discussed in previous topic) Positive acknowledgment: destination returns a positive ACK after successfully receiving error-free frames Retransmission after timeout: source retransmits a frame that has not been ACKed after predetermined time Negative acknowledgement and retransmission: destination returns negative ACK for frames in which an error is detected Last 3 techniques are called automatic repeat request (ARQ). Three versions: Stop-and-wait ARQ Go-back-N ARQ Selective-reject ARQ

Stop-and-Wait ARQ Based on Stop-and-Wait flow control Source transmits single frame, starts timer and maintains copy If ACK received, stop timer and transmit next frame If no ACK received before timer expires, retransmit copy of frame Destination sends ACK if frame received (with no errors); if damaged frame, then discard frame Frames have 1-bit sequence number (alternate between 0 and 1) Used for destination to distinguish between duplicate DATA frames in case of damaged ACK Stop-and-Wait ARQ is simple, but inefficient

Stop-and-Wait ARQ Example: Normal Data1 arrives A B DATA(0) Data2 arrives ACK(1) Data1 delivered Data3 arrives DATA(1) ACK(0) Data2 delivered DATA(0) ACK(1) Data3 delivered

Stop-and-Wait ARQ Example: Lost DATA

Stop-and-Wait ARQ Example: Lost ACK

Go-Back-N ARQ Based on Sliding Window flow control If no error, ACK as in sliding window (contains sequence number of next expected frame) If error detected by Destination, reply with negative ACK (NACK or rejection, REJ) Destination will discard that frame and all future frames until error frame received correctly Transmitter must go back and retransmit that frame and all subsequent frames If no response from Destination after timeout, then Source may send special ACK (ACKRequest or RR(P bit = 1)) The ACKRequest from Source to Destination, is a request for an ACK from the Destination Upon receipt of ACKRequest, the Destination sends an ACK Maximum window size: 2 k 1

Go-Back-N ARQ Example

Selective-Reject ARQ Also called selective retransmission or selective repeat Only frames that are rejected or timeout are retransmitted Subsequent frames are accepted by the destination and buffered Maximum window size: 2 k 1 Minimizes retransmission (GOOD) Destination must maintain large enough buffer for frames received out- of-order (BAD) More complex logic in transmitter (BAD) Not as widely used as Go-Back-N; useful for satellite links with long propagation delays

Selective Reject ARQ Example

How Long Should Timeout Interval Be? Long enough to allow destination to process data and return ACK But processing and (sometimes) propagation time are variable; difficult for source to estimate optimal timeout interval Too long: source waste s time waiting if DATA is lost Too short: source retransmits even if DATA is not lost

Contents Protocols Example Data Link Layer Protocols

Example Data Link Layer Protocols High Level (HDLC) Provides frame formats, link establishment procedures, flow and error control; Go-Back-N, Selective Reject Mainly used for point-to-point links Point-to-Point Protocol (PPP) Commonly used by Internet Service Providers Uses the Link Control Protocol for link establishment, and Network Control Protocol to negotiate information for specific network layer protocols No flow control, and error control only via CRC Local Area Network protocols Ethernet, Wireless LAN