Top Banner
Ch. 8 Data Link Control
85

Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

May 09, 2019

Download

Documents

lykiet
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Ch. 8 Data Link Control

Page 2: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

1. Framing

2

The data link layer needs to pack bits into frames, so

that each frame is distinguishable from another. Our

postal system practices a type of framing. The simple

act of inserting a letter into an envelope separates one

piece of information from another; the envelope serves

as the delimiter.

Fixed-Size Framing

Variable-Size Framing

Topics discussed in this section:

Page 3: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Framing in the data link layer separates a message from one source to a destination, or from other messages to other destinations, by adding a sender address and a destination address.

Frames can be of fixed or variable size.

Fixed-Size Framing

– There is no need of defining the boundaries of the frames.

– This size itself can be used as a delimiter.

– Example: ATM wide-are network, which uses frames of fixed size called cells (5+48=53 bytes).

Variable-Size Framing

– Need a way to define the end of the frame and the beginning of the next.

– Example: prevalent in local-area network

– Two approaches: character-oriented protocols, Bit-oriented protocols

3

Page 4: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Character-Oriented Protocols

Data to be carried are 8-bit characters from a coding system such as ASCII.

– Header: normally carries the source and destination address and other control information.

– Trailer: carries error detection or error correction redundant bits.

– Flag: To separate one frame from the next, an 8-bit (1 byte) flag is added at the beginning and the end of a frame.

4

A frame in a character-oriented protocol

Page 5: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Byte-stuffing

– The flag could be selected to be any character not used for text communication. Any pattern used for the flag could also be part of the information. The receiver thinks it has reached the end of the frame.

– To fix this problem, a byte-stuffing strategy was added to character-oriented framing. A special byte, usually called the escape character (ESC), is added to the data section of the frame when there is a character with the same pattern as the flag.

5

Byte stuffing and unstuffing

Byte stuffing is the process of adding 1 extra byte whenever there is a flag or

escape character in the text.

Page 6: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Bit-Oriented Protocols

The data section of a frame is a sequence of bits to be interpreted by the upper layer as text, graphic, audio, video, and so on.

Most protocols use a special 8-bit pattern flag 01111110 as the delimiter to define the beginning and the end of the frame.

6

A frame in a bit-oriented protocol

Page 7: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Bit stuffing

7

Bit stuffing is the process of adding one extra 0 whenever five consecutive 1s

follow a 0 in the data, so that the receiver does not mistake

the pattern 0111110 for a flag.

Bit stuffing and unstuffing

Page 8: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

2. Flow And Error Control

8

The most important responsibilities of the data link

layer are flow control and error control. Collectively,

these functions are known as data link control.

Flow Control

Error Control

Topics discussed in this section:

Page 9: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

End-to-end versus hop-by-hop approaches

9

Page 10: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Flow Control

– Flow control coordinates the amount of data that can be sent before receiving an acknowledgement.

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

– Each receiving device has a block of memory, called a buffer, reserved for storing incoming data until they proceed. If the buffer begins to fill up, the receiver must be able to tell the sender to halt transmission until it is once again able to receive.

Error Control

– Error control is both error detection and error correction.

– Any time an error is detected in an exchange, specified frames are retransmitted. This process is called automatic repeat request (ARQ).

10

Flow control refers to a set of procedures used to restrict the amount of

data that the sender can send before waiting for acknowledgment.

Error control in the data link layer is based on automatic repeat

request, which is the retransmission of data.

Page 11: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

3. Data-link Layer Protocols

11

Now let us see how the data link layer can combine

framing, flow control, and error control to achieve the

delivery of data from one node to another.

The protocols are normally implemented in software by

using one of the common programming languages. To

make our discussions language-free, we have written in

pseudocode a version of each protocol that concentrates

mostly on the procedure instead of delving into the

details of language rules.

Page 12: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Basic elements of ARQ

12

Page 13: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

13

Taxonomy of protocols discussed in this chapter

Page 14: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

4. Noiseless Channels

14

Let us first assume we have an ideal channel in which no frames

are lost, duplicated, or corrupted. We introduce two protocols for

this type of channel.

• The first is a protocol does not use flow control

• The second is the one that does.

Because of a perfect noiseless channel, neither has error control.

Simplest Protocol

Stop-and-Wait Protocol

Topics discussed in this section:

Page 15: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Simplest Protocol

No need for flow or error control.

Assumption

– The receiver can immediately handle any frame without delay.

– Unidirectional protocol in which data frames are traveling in only one direction.

(1) Design

– We need to introduce the idea of events in the protocol.

– At the sender, the procedure is constantly running; no action until there is a request from the network layer.

– At the receiver, the procedure is also constantly running; no action until notification from the physical layer

15

Page 16: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

16

The design of the simplest protocol with no flow or error control

Page 17: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

(2) Algorithms

17

Algorithm: Sender-site algorithm for the simplest protocol

Page 18: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

18

Algorithm: Receiver-site algorithm for the simplest protocol

Page 19: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

19

Figure shows an example of communication using this protocol. It is

very simple. The sender sends a sequence of frames without even

thinking about the receiver. To send three frames, three events occur

at the sender site and three events at the receiver site.

Note that the data frames are shown by tilted boxes; the height of the

box defines the transmission time difference between the first bit and

the last bit in the frame.

Example

Page 20: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

20

Figure: Flow diagram for Example

Page 21: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Stop-and-Wait Protocol

Stop-and-Wait Protocol

– The sender sends one frame, stops until it receives confirmation from the receiver (okay to sender ahead), and then sends the next frame.

Assumption

– Unidirectional communication for data frames,

– but auxiliary ACK frames travel from the other direction.

(1) Design

– At any time, there is either one data frame on the forward channel or one ACK frame on the reverse channel. a half-duplex link.

21

Page 22: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

22

Design of Stop-and-Wait Protocol

Page 23: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

(2) Algorithms

23

Algorithm: Sender-site algorithm for Stop-and-Wait Protocol

Page 24: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

24

Algorithm: Receiver-site algorithm for Stop-and-Wait Protocol

Page 25: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

25

Figure shows an example of communication using this protocol. It is

still very simple.

The sender sends one frame and waits for feedback from the receiver.

When the ACK arrives, the sender sends the next frame.

Note that sending two frames in the protocol involves the sender in

four events and the receiver in two events.

Example

Page 26: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

26

Figure: Flow diagram for Example

Page 27: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

5. Noisy Channels

27

Although the Stop-and-Wait Protocol gives us an idea of

how to add flow control to its predecessor, noiseless

channels are nonexistent. We discuss three protocols in

this section that use error control.

Stop-and-Wait Automatic Repeat Request

Go-Back-N Automatic Repeat Request

Selective Repeat Automatic Repeat Request

Topics discussed in this section:

Page 28: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Stop-and-Wait ARQ

If the receiver does not respond when there is an error, how can the sender know which frame to resend?

To remedy this problem,

Sequence Numbers (SN)

– If the field is m bits long, the sequence numbers starts from 0, go to 2m-1, and then are repeated.

1. If the sender receives a ACK from the receiver, the sender sends the next frame numbered x+1.

2. If the ACK is corrupted or lost, the sender resends the frame numbered x. Duplicated but the receiver recognize this fact because of the SN.

3. If the frame is corrupted or lost, the sender resends the frame numbered x after the time-out.

Error correction in Stop-and-Wait ARQ is done by keeping a copy of

the sent frame and retransmitting of the frame when the timer expires.

In Stop-and-Wait ARQ, we use sequence numbers to number the

frames. The sequence numbers are based on modulo-2 arithmetic.

Page 29: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Acknowledgment Numbers

– If frame 1 has arrived safe and sound, the receiver sends an ACK frame with acknowledgement 0 (meaning frame 0 is expected).

In Stop-and-Wait ARQ, the acknowledgment number always

announces in modulo-2 arithmetic the sequence number of the next

frame expected.

Page 30: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Stop-and-Wait ARQ

30

Page 31: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

31

Page 32: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Design of the Stop-and-Wait ARQ Protocol

Page 33: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Algorithm: Sender-site algorithm for Stop-and-Wait ARQ

(continued)

Page 34: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Algorithm: Sender-site algorithm for Stop-and-Wait ARQ (continued)

Page 35: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Algorithm: Receiver-site algorithm for Stop-and-Wait ARQ Protocol

Page 36: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Figure shows an example of Stop-and-Wait ARQ.

Frame 0 is sent and acknowledged.

Frame 1 is lost and resent after the time-out. The resent frame 1 is

acknowledged and the timer stops.

Frame 0 is sent and acknowledged, but the acknowledgment is lost.

The sender has no idea if the frame or the acknowledgment is lost,

so after the time-out, it resends frame 0, which is acknowledged.

Example

Page 37: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Figure: Flow diagram for Example

Page 38: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Assume that, in a Stop-and-Wait ARQ system, the

bandwidth of the line is 1 Mbps, and 1 bit takes 20 ms to

make a round trip. What is the bandwidth-delay product?

If the system data frames are 1000 bits in length, what is

the utilization percentage of the link?

Example

Page 39: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

2) The system can send 20,000 bits during the time it takes for the

data to go from the sender to the receiver and then back again.

However, the system sends only 1000 bits. We can say that the link

utilization is only 1000/20,000, or 5 percent.

For this reason, for a link with a high bandwidth or long delay, the

use of Stop-and-Wait ARQ wastes the capacity of the link.

Solution 1) The bandwidth-delay product is

Page 40: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

What is the utilization percentage of the link in the previous

Example if we have a protocol that can send up to 15 frames

before stopping and worrying about the acknowledgments?

Solution

The bandwidth-delay product is still 20,000 bits.

The system can send up to 15 frames or 15,000 bits during a round

trip.

This means the utilization is 15,000/20,000, or 75 percent. Of course,

if there are damaged frames, the utilization percentage is much less

because frames have to be resent.

Example

Page 41: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Go-Back-N ARQ

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

Go-Back-N ARQ

– We can send several frames before receiving acknowledgments;

– We keep a copy of these frames until the acknowledgements arrive.

Sequence Numbers

– The sequence numbers range from 0 to 2m-1.

– For example, if m = 4, SN = {0, 1, 2, …, 15, 0, 1, 2, …}

41

In the Go-Back-N Protocol, the sequence numbers are modulo 2m,

where m is the size of the sequence number field in bits.

Page 42: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Sliding Window

– An abstract concept that defines the range of sequence numbers that is the concern of the sender and receiver.

The acknowledgements are cumulative, meaning that more than one frame can be acknowledged by an ACK frame.

42

The send window is an abstract concept defining an imaginary box of

size 2m − 1 with three variables: Sf, Sn, and Ssize.

The send window can slide one

or more slots when a valid acknowledgment arrives.

Page 43: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Figure: Send window for Go-Back-N ARQ

By one ACK frame

Page 44: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Receive Sliding Window

– The receive window slides only one slot at a time.

44

The receive window is an abstract concept defining an imaginary box

of size 1 with one single variable Rn.

The window slides when a correct frame has arrived; sliding occurs

one slot at a time.

In Go-Back-N ARQ, the size of the send window must be less than 2m;

the size of the receiver window is always 1.

Page 45: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Figure: Receive window for Go-Back-N ARQ

Page 46: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Timers

– We use only one timer.

– The reason is that the timer for the first outstanding frame always expires first; we send all outstanding frames when this timer expires.

Acknowledgement

– The receiver sends a positive acknowledgement.

– If a frame is damaged or is received out of order,

The receiver is silent and will discard all subsequent frames until it receives the one it is expecting.

After timer expires, the resends all outstanding frames.

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

Resending a Frame

– For example, the sender has already sent frame 6, but the timer for frame 3 expires.

– The sender goes back and sends frames 3, 4, 5, and 6 again.

46

Page 47: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Go-Back-N ARQ

47

Page 48: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

48

Page 49: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Figure: Design of Go-Back-N ARQ

Page 50: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Figure: Window size for Go-Back-N ARQ

As an example, m = 2 and all acknowledgments are lost

Page 51: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Algorithm: Go-Back-N sender algorithm

(continued)

Page 52: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Algorithm: Go-Back-N sender algorithm (continued)

(Temp) ;

Temp = Temp + 1 ;

Receive (ACK);

if (corrupted(ACK))

Sleep();

if ((ackNo>Sf) && (ackNo<=Sn))

{

while(Sf < ackNo)

{

PurgeFrame(Sf);

Sf = Sf + 1;

}

StopTimer();

if (ackNo!=Sn) StartTimer();

}

Page 53: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Algorithm: Go-Back-N receiver algorithm

Page 54: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Example

Figure shows an example of Go-Back-N. This is an example of a case

where the forward channel is reliable, but the reverse is not. No data

frames are lost, but some ACKs are delayed and one is lost. The

example also shows how cumulative acknowledgments can help if

acknowledgments are delayed or lost. After initialization, there are

seven sender events. Request events are triggered by data from the

network layer; arrival events are triggered by acknowledgments from

the physical layer. There is no time-out event here because all

outstanding frames are acknowledged before the timer expires. Note

that although ACK 2 is lost, ACK 3 serves as both ACK 2 and ACK 3.

Page 55: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Figure: Flow diagram for Example

Page 56: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Figure shows what happens when a frame is lost. Frames 0, 1, 2, and 3 are

sent. However, frame 1 is lost. The receiver receives frames 2 and 3, but

they are discarded because they are received out of order. The sender

receives no acknowledgment about frames 1, 2, or 3. Its timer finally

expires. The sender sends all outstanding frames (1, 2, and 3) because it

does not know what is wrong. Note that the resending of frames 1, 2, and 3

is the response to one single event. When the sender is responding to this

event, it cannot accept the triggering of other events. This means that when

ACK 2 arrives, the sender is still busy with sending frame 3.

The physical layer must wait until this event is completed and the data link

layer goes back to its sleeping state. We have shown a vertical line to

indicate the delay. It is the same story with ACK 3; but when ACK 3 arrives,

the sender is busy responding to ACK 2. It happens again when ACK 4

arrives. Note that before the second timer expires, all outstanding frames

have been sent and the timer is stopped.

Example

Page 57: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Figure: Flow diagram for Example

Page 58: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Stop-and-Wait ARQ is a special case of Go-Back-N ARQ in which the

size of the send window is 1.

Page 59: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Selective Repeat ARQ

Selective Repeat ARQ

– Does not resend N frames when just one frame is damaged;

– Only the damaged frame is resent.

Windows

– Two windows: a send window and a receive window

– Size: 2m-1 (the two windows has the same size)

– The smaller window size means less efficiency but fewer duplicate frames

59

In Selective Repeat ARQ, the size of the sender and receiver window

must be at most one-half of 2m.

Page 60: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Figure: Send window for Selective Repeat ARQ

Page 61: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Figure: Receive window for Selective Repeat ARQ

Page 62: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

62

Page 63: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Figure: Design of Selective Repeat ARQ

Page 64: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Figure: Selective Repeat ARQ, window size

As an example, m = 2 and all acknowledgments are lost

0 is the part of window

Page 65: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Algorithm: Sender-site Selective Repeat algorithm

(continued)

Page 66: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Algorithm: Sender-site Selective Repeat algorithm (continued)

(continued)

- If a valid NAK frame arrives, we just

resend the corresponding frame.

- If a valid ACK frame arrives, we use

a loop to purge the buffers, stop the

corresponding timer, and move the left

wall of the window.

Page 67: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Algorithm: Sender-site Selective Repeat algorithm (continued)

Page 68: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Algorithm: Receiver-site Selective Repeat algorithm

Page 69: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Algorithm: Receiver-site Selective Repeat algorithm

Page 70: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Figure: Delivery of data in Selective Repeat ARQ

Page 71: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

This example is similar to previous Example in which frame 1 is lost. We show how

Selective Repeat behaves in this case. Figure shows the situation. One main

difference is the number of timers. Here, each frame sent or resent needs a timer,

which means that the timers need to be numbered (0, 1, 2, and 3). The timer for

frame 0 starts at the first request, but stops when the ACK for this frame arrives.

The timer for frame 1 starts at the second request, restarts when a NAK arrives,

and finally stops when the last ACK arrives. The other two timers start when the

corresponding frames are sent and stop at the last arrival event.

At the receiver site we need to distinguish between the acceptance of a frame and

its delivery to the network layer. At the second arrival, frame 2 arrives and is stored

and marked, but it cannot be delivered because frame 1 is missing. At the next

arrival, frame 3 arrives and is marked and stored, but still none of the frames can

be delivered. Only at the last arrival, when finally a copy of frame 1 arrives, can

frames 1, 2, and 3 be delivered to the network layer. There are two conditions for

the delivery of frames to the network layer: First, a set of consecutive frames must

have arrived. Second, the set starts from the beginning of the window.

Example

Page 72: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Another important point is that a NAK is sent after the second arrival,

but not after the third, although both situations look the same. The

reason is that the protocol does not want to crowd the network with

unnecessary NAKs and unnecessary resent frames. The second NAK

would still be NAK1 to inform the sender to resend frame 1 again;

this has already been done. The first NAK sent is remembered (using

the nakSent variable) and is not sent again until the frame slides. A

NAK is sent once for each window position and defines the first slot

in the window.

The next point is about the ACKs. Notice that only two ACKs are sent

here. The first one acknowledges only the first frame; the second one

acknowledges three frames. In Selective Repeat, ACKs are sent when

data are delivered to the network layer. If the data belonging to n

frames are delivered in one shot, only one ACK is sent for all of them.

Page 73: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Figure: Flow diagram for Example

Page 74: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Piggybacking

When a frame is carrying data from A to B, it can also carry control information about arrived (or lost) frames from B.

74

Figure: Design of piggybacking in Go-Back-N ARQ

Page 75: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Transmission Efficiency of ARQ Protocols

75

Page 76: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

The loss in transmission efficiency due to the need to provide headers and CRC checks.

The loss in efficiency due to the time required for the acknowledgment message.

The delay-bandwidth product.

76

Page 77: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Transmission Efficiency of ARQ Protocols

The example considers the case of a 1024 byte frame, a 1.5 Mbps channel over a moderate-distance link, that is, 5 ms, where Go-Back-N and Selective Repeat ARQ use window of size 4.

77

Page 78: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Selecting the frame length

As the frame length is increased, the impact of the delay-bandwidth product is reduced. However, increasing the frame length also increases the probability of frame transmission error.

78

Page 79: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Derivation of Efficiency of ARQ Protocols

Review the effective transmission time and the transmission efficiency

We need to calculate the average total time, , required to deliver a correct frame.

79

Page 80: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Stop-and-Wait ARQ

80

Page 81: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

81

Page 82: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Go-Back-N ARQ

82

Page 83: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Selective Repeat ARQ

83

Page 84: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

84

Page 85: Ch. 8 Data Link Control - Sogang OCWocw.sogang.ac.kr/rfile/2013/course06-Data/chapter08_20130709135615.pdf · Framing in the data link layer separates a message from one source to

Summary

* Flow control is the regulation of the sender’s data rate so that the receiver buffer does not become overwhelmed.

* Error control is both error detection and error correction.

* In Stop-and-Wait ARQ, the sender sends a frame and waits for an acknowledgment from the receiver before sending the next frame.

* In Go-Back-N ARQ, multiple frames can be in transit at the same time. If there is an error, retransmission begins with the last unacknowledged frame even if subsequent frames have arrived correctly. Duplicate frames are discarded.

* In Selective Repeat ARQ, multiple frames can be in transit at the same time. If there is an error, only the unacknowledged frame is retransmitted.

* Flow control mechanisms with sliding windows have control variables at both sender and receiver sites.

* Piggybacking couples an acknowledgment with a data frame.

85