Week 8
1 / 39

Week 8 Flow Control Error Control - PowerPoint PPT Presentation

  • Uploaded on

Week 8 Flow Control Error Control. Where are we?. Up until now: Physical Layer Now: Data Link Layer Flow Control Error Control Later… Synchronisation Multiplexing. “sending signals over a transmission link”. “sending data over a data communications link”. Flow Control.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about ' Week 8 Flow Control Error Control' - bryga

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  • Week 8

  • Flow Control

  • Error Control

Where are we
Where are we?

  • Up until now: Physical Layer

  • Now: Data Link Layer

    • Flow Control

    • Error Control

  • Later…

    • Synchronisation

    • Multiplexing

“sending signals over a transmission link”

“sending data over a data communications link”

Flow control
Flow Control

  • Ensuring the sending entity does not overwhelm the receiving entity

    • Preventing buffer overflow

  • Transmission time

    • Time taken to emit all bits into medium

  • Propagation time

    • Time for a bit to traverse the link

Stop and wait
Stop and Wait

  • Source transmits frame

  • Destination receives frame and replies with acknowledgement (ACK)

  • Source waits for ACK before sending next frame

  • Destination can stop flow by not send ACK

  • Works well for a few large frames


  • Large block of data may be split into small frames

    • Limited buffer size

    • Errors detected sooner (when whole frame received)

    • On error, retransmission of smaller frames is needed

    • Prevents one station occupying medium for long periods

  • Stop and wait becomes inadequate


  • If the data rate is 10 Mbps and transmission is over a distance of 100 m, how long will it take to send 1 Kb in eight 128 byte chunks with stop and wait FC? [assume v = 2×108 ms-1].

Sliding window flow control
Sliding Window Flow Control

  • Allow multiple frames to be in transit

  • Receiver has buffer W long

  • Transmitter can send up to W frames without ACK

  • Each frame is numbered

  • ACK includes number of next frame expected

  • Sequence number bounded by size of field (k)

    • Frames are numbered modulo 2k

    • W= 2k-1

Sliding window enhancements
Sliding Window Enhancements

  • Receiver can acknowledge frames without permitting further transmission (Receive Not Ready)

  • Must send a normal acknowledge to resume

  • If duplex, use piggybacking

    • If no data to send, use acknowledgement frame

    • If data but no acknowledgement to send, send last acknowledgement number again, or have ACK valid flag (TCP)

Error detection
Error Detection

  • Additional bits added by transmitter for error detection code

  • Parity

    • Value of parity bit is such that character has even (even parity) or odd (odd parity) number of ones

    • Even number of bit errors goes undetected

Cyclic redundancy check
Cyclic Redundancy Check

  • For a block of k bits transmitter generates n bit sequence

  • Transmit k+n bits which is exactly divisible by some number

  • Receive divides frame by that number

    • If no remainder, assume no error

Error control
Error Control

  • Detection and correction of errors

  • Lost frames

  • Damaged frames

  • Automatic repeat request

    • Error detection

    • Positive acknowledgment

    • Retransmission after timeout

    • Negative acknowledgement and retransmission

Automatic repeat request arq
Automatic Repeat Request (ARQ)

  • Stop and wait

  • Go back N

  • Selective reject (selective retransmission)

Stop and wait1
Stop and Wait

  • Source transmits single frame

  • Wait for ACK

  • If received frame damaged, discard it

    • Transmitter has timeout

    • If no ACK within timeout, retransmit

  • If ACK damaged,transmitter will not recognize it

    • Transmitter will retransmit

    • Receive gets two copies of frame

    • Use ACK0 and ACK1

Stop and wait pros and cons
Stop and Wait - Pros and Cons



Go back n
Go Back N

  • Based on sliding window

  • If no error, ACK as usual with next frame expected

  • Use window to control number of outstanding frames

  • If error, reply with rejection

    • Discard that frame and all future frames until error frame received correctly

    • Transmitter must go back and retransmit that frame and all subsequent frames

Go back n damaged frame
Go Back N - Damaged Frame

  • Receiver detects error in frame i

  • Receiver sends rejection-i (REJ-i)

  • Transmitter gets rejection-i

  • Transmitter retransmits frame i and all subsequent

Go back n lost frame 1
Go Back N - Lost Frame (1)

  • Frame i lost and transmitter sends i+1

  • Receiver gets frame i+1 out of sequence

  • Receiver sends reject i

  • Transmitter goes back to frame i and retransmits

Go back n lost frame 2
Go Back N - Lost Frame (2)

  • Frame i lost and no additional frame sent

  • Receiver gets nothing and returns neither acknowledgement nor rejection

  • Transmitter times out and sends acknowledgement frame with P bit set to 1

  • Receiver interprets this as command which it acknowledges with the number of the next frame it expects (frame i )

  • Transmitter then retransmits frame i

Go back n damaged acknowledgement
Go Back N - Damaged Acknowledgement

  • Receiver gets frame i and send acknowledgement (i+1) which is lost

  • Acknowledgements are cumulative, so next acknowledgement (i+n) may arrive before transmitter times out on frame i

  • If transmitter times out, it sends acknowledgement with P bit set as before

  • This can be repeated a number of times before a reset procedure is initiated

Go back n damaged rejection
Go Back N - Damaged Rejection

  • Receiver sends rejection which is lost

  • As for lost frame (2)

  • (Transmitter times out and sends acknowledgement frame with P bit set to 1)

Selective reject
Selective Reject

  • Also called selective retransmission

  • Only rejected frames are retransmitted

  • Subsequent frames are accepted by the receiver and buffered

  • Minimises retransmission

  • Receiver must maintain large enough buffer

  • More complex log at transmitter

Performance issues

Which is best ???

Performance Issues

  • What is the line utilisation for various flow control methods?

    • Stop and Wait

    • Sliding Window

  • What is the line utilisation for various ARQ schemes?

    • Stop and Wait

    • Selective Reject

    • Go Back N

Stop and wait flow control
Stop and Wait Flow Control

  • Assume stations A and B are communicating frames F1,F2,F3,…,Fn

  • Total transmission time T = nTF where TF is the time to transmit one frame and receive an acknowledgement

  • TF = tprop+tframe+tproc+tprop+tack+tproc

    • tprop: propagation delay

    • tframe: time spent transmitting a frame

    • tproc: processing time

    • tack:time spent transmitting an acknowledgement

Stop and wait flow control1
Stop and Wait Flow Control

  • TF = tprop+tframe+tproc+tprop+tack+tproc = 2tprop+tframeT = n(2tprop+tframe)

  • T is the total time to transmit, the actual time spent transmitting is only ntframe

  • Line utilisation U = ntframe/T

Line utilisation
Line utilisation

  • Define line utilisation U as the ratio of transmission time to the time taken to transmit data

  • For Stop and Wait

    define a = tprop/tframe, then U = 1/(1+2a)

The parameter a
The parameter a

  • We have defined a = tprop/tframe

  • Alternatively, define

    • V: propagation speed (ms-1)

    • d: transmission distance (m)

    • R: data rate (bps)

    • L: frame size (bits)

Spread spectrum
Spread Spectrum

  • Analog or digital data

  • Analog signal

  • Objective: Spread data over wide bandwidth

  • Makes jamming and interception harder

  • Frequency hoping

    • Signal broadcast over seemingly random series of frequencies

  • Direct Sequence

    • Each bit is represented by multiple bits in transmitted signal

    • Chipping code

Spread spectrum1
Spread Spectrum

  • Frequency hoping

    • Signal broadcast over seemingly random series of frequencies

  • Direct Sequence

    • Each bit is represented by multiple bits in transmitted signal

    • Chipping code


  • What is the bandwidth of a digital data stream encoded with direct sequence spreading?

Generating noise
Generating noise

  • Need to generate same “noise” at source and destination

  • Computers are deterministic – generating true noise is not possible (i.e. no truly random numbers)

  • May use

    • pseudo-random algorithm

    • predetermined sequences (e.g. Gold sequences)

    • chaos