25
Lecture Focus: Data Communications and Networking Data Link Layer Data Link Control Lecture 22 CSCS 311

Lecture Focus:

  • Upload
    eshana

  • View
    39

  • Download
    2

Embed Size (px)

DESCRIPTION

Lecture Focus:. Data Link Layer Data Link Control. CSCS 311. Data Communications and Networking. Lecture 22. Data Link Control. PROTOCOLS. PROTOCOLS. For Noisy Channel. For Noiseless Channel. . . Stop-and-Wait ARQ. . Simplest. Go-Back-N ARQ. Stop-and-Wait. - PowerPoint PPT Presentation

Citation preview

Page 1: Lecture Focus:

Lecture Focus:

Data Communications and Networking

Data Link Layer Data Link Control

Lecture 22

CSCS 311

Page 2: Lecture Focus:

Data Link Control

PROTOCOLS

PROTOCOLS

ForNoiseless Channel

ForNoisy Channel

Simplest

Stop-and-Wait

Stop-and-Wait ARQ

Go-Back-N ARQ

Selective Repeat ARQ

Today’sDiscussion

Page 3: Lecture Focus:

Data Link Control

PROTOCOLS: NOISY CHANNELS Go-Back-N ARQ Protocol

It is very useful that a task is begun before the previous task has ended.This is known as pipelining.

There is no pipelining in Stop-and-Wait ARQ because we need to wait for a frame to reach the destination and be acknowledged before the next frame can be sent.

Pipelining does apply to other two Noisy channel protocols: Several frames can be sent before we receive news about the

previous frames. Pipelining improves the efficiency of the transmission.

Pipelining

Page 4: Lecture Focus:

Data Link Control

PROTOCOLS: NOISY CHANNELS Go-Back-N ARQ Protocol

To improve the efficiency of transmission, multiple frames must be in transition while waiting for acknowledgment.

We want to keep the channel busy while the sender is waiting for acknowledgment.

In Go-Back-N ARQ protocol:

We can send several frames before receiving acknowledgments.

We keep a copy of these frames until the acknowledgments arrive.

Page 5: Lecture Focus:

Data Link Control

PROTOCOLS: NOISY CHANNELS Go-Back-N ARQ Protocol

Frames from a sender station are numbered sequentially. As we need to include the sequence number of each

frame in the header, we need to set a limit. If the header of the frame allows m bits for the sequence

number, the sequence numbers range from 0 to 2m - 1. For example, if m is 4, the only sequence numbers are 0 through

15 inclusive. We can repeat the sequence. So the sequence numbers

are:0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 0,

1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ... In other words, the sequence numbers are modulo-2m.

Sequence Numbers

Page 6: Lecture Focus:

Data Link Control

PROTOCOLS: NOISY CHANNELS Go-Back-N ARQ Protocol

Sliding Window

Sliding window defines the range of sequence numbers.

The sender and receiver need to deal with only part of the possible sequence numbers:

The range which is the concern of the sender is called the send sliding window.

The range that is the concern of the receiver is called the receive sliding window.

Page 7: Lecture Focus:

Data Link Control

PROTOCOLS: NOISY CHANNELS Go-Back-N ARQ Protocol

Sliding Window

Send sliding window Send window is an imaginary box covering the sequence

numbers of the data frames which can be in transit. In each window position, some of these sequence

numbers define the frames that have been sent; others define those that can be sent.

The maximum size of the window is 2m – 1.

Window size may be fixed and set to the maximum value, but some protocols may have a variable window size.

Page 8: Lecture Focus:

Data Link Control

PROTOCOLS: NOISY CHANNELS Go-Back-N ARQ Protocol

Sliding Window

Send sliding window Figure below shows a sliding window of size 15 (m = 4).

Send window before sliding

Page 9: Lecture Focus:

Data Link Control

PROTOCOLS: NOISY CHANNELS Go-Back-N ARQ Protocol

Sliding Window

The window at any time divides the possible sequence numbers into four regions:1. First region, from the far left to the left wall of the window, defines

the sequence numbers belonging to frames already acknowledged. Sender does not worry about these frames and keeps no copies of

them.

2. Second region defines the range of sequence numbers belonging to the frames that are sent and have an unknown status. Sender needs to wait to find out if these frames have been received or

were lost. We call these outstanding frames.

3. Third range defines the range of sequence numbers for frames that can be sent;however, the corresponding data packets have not yet been received from the network layer.

4. Fourth region defines sequence numbers that cannot be used until the window slides.

Page 10: Lecture Focus:

Data Link Control

PROTOCOLS: NOISY CHANNELS Go-Back-N ARQ Protocol

Sliding Window

Three variables define window size and location at any time: Sf (send window, the first outstanding frame)

Sequence number of the first (oldest) outstanding frame.

Sn (send window, the next frame to be sent) Sequence number that will be assigned to the next frame to

be sent. Ssize (send window, size).

Defines the size of the window

Page 11: Lecture Focus:

Data Link Control

PROTOCOLS: NOISY CHANNELS Go-Back-N ARQ Protocol

Sliding Window

Figure below shows how a send window can slide one or more slots to the right when an acknowledgment arrives from the other end.

The acknowledgments in this protocol are cumulative, meaning that more than one frame can be acknowledged by an ACK frame.

In this figure, frames 0, 1, and 2 are acknowledged, so the window has slid to the right three slots.

Note that the value of Sf is 3 because frame 3 is now the first outstanding frame.

The send window can slide one or more slots when a valid acknowledgment arrives.

Page 12: Lecture Focus:

Data Link Control

PROTOCOLS: NOISY CHANNELS Go-Back-N ARQ Protocol

Sliding Window

Send window after sliding

Page 13: Lecture Focus:

Data Link Control

PROTOCOLS: NOISY CHANNELS Go-Back-N ARQ Protocol

Sliding Window

Receive sliding window

The receive window makes sure that the correct data frames are received and that the correct acknowledgments are sent.

The size of the receive window is always 1. The receiver is always looking for the arrival of a specific

frame. Any frame arriving out of order is discarded and needs to

be resent. Figure below shows the receive window.

The receive window has one single variable Rn. Window slides when a correct frame has arrived; sliding occurs one slot at a time.

Page 14: Lecture Focus:

Data Link Control

PROTOCOLS: NOISY CHANNELS Go-Back-N ARQ Protocol

Sliding Window Receive sliding window

Receive window after sliding

Receive window

Page 15: Lecture Focus:

Data Link Control

PROTOCOLS: NOISY CHANNELS Go-Back-N ARQ Protocol

Sliding Window Receive sliding window

Sequence numbers to the left of the window belong to the frames already received and acknowledged.

Sequence numbers to the right of this window define the frames that cannot be received. Any received frame with a sequence number in these two regions is

discarded.

Only a frame with a sequence number matching the value of Rn is accepted and acknowledged.

The receive window also slides, but only one slot at a time. When a correct frame is received (and a frame is received only one

at a time), the window slides.

Page 16: Lecture Focus:

Data Link Control

PROTOCOLS: NOISY CHANNELS Go-Back-N ARQ Protocol

Sliding Window Receive sliding window

Timers Although there can be a timer for each frame that is sent, in this

protocol we use only one. The reason is that the timer for the first outstanding frame always

expires first; we send all outstanding frames when this timer expires.

Acknowledgment The receiver sends a positive acknowledgment if a frame has arrived

safe and sound and in order. If a frame is damaged or is received out of order, receiver is silent and

will discard all subsequent frames until it receives the one it is expecting.

The silence of the receiver causes the timer of the unacknowledged frame at the sender site to expire. This causes the sender to go back and resend all frames, beginning with the one with the expired timer.

The receiver does not have to acknowledge each frame received. It can send one cumulative acknowledgment for several frames.

Page 17: Lecture Focus:

Data Link Control

PROTOCOLS: NOISY CHANNELS Go-Back-N ARQ Protocol

Sliding Window Receive sliding window

Resending a Frame When the timer expires, the sender resends all outstanding frames.

Example: Suppose the sender has already sent frame 6, but the timer for

frame 3 expires. This means that frame 3 has not been acknowledged. The sender goes back and sends frames 3, 4,5, and 6 again.

That is why the protocol is called Go-Back-N ARQ.

Page 18: Lecture Focus:

Data Link Control

PROTOCOLS: NOISY CHANNELS Go-Back-N ARQ Protocol

Sliding Window Sender sliding window

Page 19: Lecture Focus:

Data Link Control

PROTOCOLS: NOISY CHANNELS Go-Back-N ARQ Protocol

Sliding Window Receiver sliding window

Page 20: Lecture Focus:

Data Link Control

PROTOCOLS: NOISY CHANNELS Go-Back-N ARQ Protocol

Sliding Window Normal Operation

Page 21: Lecture Focus:

Data Link Control

PROTOCOLS: NOISY CHANNELS Go-Back-N ARQ Protocol

Lost Frame

Page 22: Lecture Focus:

Data Link Control

PROTOCOLS: NOISY CHANNELS Go-Back-N ARQ Protocol

Sender Window Size

Size of the sender window must be < 2m. Size of the receiver window is always 1.

Page 23: Lecture Focus:

Data Link Control

PROTOCOLS: NOISY CHANNELS Go-Back-N ARQ Protocol

Go-Back-N sender algorithm

Page 24: Lecture Focus:

Data Link Control

PROTOCOLS: NOISY CHANNELS Go-Back-N ARQ Protocol

Go-Back-N Receiver algorithm

Page 25: Lecture Focus:

Data Link Control

PROTOCOLS: NOISY CHANNELS

Self Study

Stop-and-Wait ARQ

Go-Back-N ARQ

Selective Repeat ARQ