Module 3 DLC Arq
Module 3 DLC Arq
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
10.1
11-2 FLOW AND ERROR CONTROL
11.2
Note
11.4
11-3 PROTOCOLS
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.
11.5
Figure 11.5 Taxonomy of protocols discussed in this chapter
11.7
Figure 11.6 The design of the simplest protocol with no flow or error control
11.8
Algorithm 11.1 Sender-site algorithm for the simplest protocol
11.9
Algorithm 11.2 Receiver-site algorithm for the simplest protocol
11.10
Example 11.1
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.
11.11
Figure 11.7 Flow diagram for Example 11.1
11.12
Figure 11.8 Design of Stop-and-Wait Protocol
Stop until
confirmation to send
next
2 events can
occur
Half duplex! Auxiliary
11.14
Algorithm 11.4 Receiver-site algorithm for Stop-and-Wait Protocol
11.15
Example 11.2
The sender sends one frame and waits for feedback from
the receiver.
When the ACK arrives, the sender sends the next frame.
11.16
Figure 11.9 Flow diagram for Example 11.2
11.17
11-5 NOISY CHANNELS
11.18
Stop and Wait ARQ
Stop and Wait ARQ
Corrupted and lost frames needs
to be resent
Note
11.21
Range of Sequence nos
Possible Cases
Note Sequence is 0,1,0,1…
11.24
Note
Keep a copy of
last frame tx
11.26
Algorithm 11.5 Sender-site algorithm for Stop-and-Wait ARQ
Mod 2
(continued)
11.27
Algorithm 11.5 Sender-site algorithm for Stop-and-Wait ARQ (continued)
11.28
Algorithm 11.6 Receiver-site algorithm for Stop-and-Wait ARQ Protocol
11.29
Example 11.3
11.30
Figure 11.11 Flow diagram for Example 11.3
11.31
11.32
Example 11.4
Solution
The bandwidth-delay product is
11.33
11.34
Example 11.4 (continued)
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.
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.
11.36
Pipelining
Go-Back-N ARQ
Note
11.39
Sliding Window
Note
11.41
Figure 11.12 Send window for Go-Back-N ARQ
11.42
Sender Side : Variables
Note
11.44
Note
11.45
Figure 11.13 Receive window for Go-Back-N ARQ
------------------------------------------------------------------------
Receiver - makes sure correct data frame are received and
correct ack are sent
out of order frames are discarded (needs to be resent)
-------------------------------------------------------------------------------
11.46
Figure 11.14 Design of Go-Back-N ARQ
11.47
Timers
Note
11.49
Figure 11.15 Window size for Go-Back-N ARQ
11.50
Algorithm 11.7 Go-Back-N sender algorithm
(continued)
11.51
Algorithm 11.7 Go-Back-N sender algorithm (continued)
11.52
Algorithm 11.8 Go-Back-N receiver algorithm
11.53
Example 11.6
No data frames are lost, but some ACKs are delayed and
one is lost.
11.54
Figure 11.16 Flow diagram for Example 11.6
11.55
Example 11.6
11.56
Example 11.7
11.57
Figure 11.17 Flow diagram for Example 11.7
11.58
Example 11.7
11.61
Performance
Better than Stop and wait because it keeps the sender busy
while waiting for acknowledgement
Does not allow error free but out of order frames to be
accepted by the receiver
This protocol can waste a lot of bandwidth if the error
rate is high because it requests the sender to retransmit the
frame in error and all the subsequently transmitted frames
Selective Repeat ARQ
Figure 11.18 Send window for Selective Repeat ARQ
11.64
Figure 11.19 Receive window for Selective Repeat ARQ
11.65
Figure 11.20 Design of Selective Repeat ARQ
11.66
Figure 11.21 Selective Repeat ARQ, window size
11.67
Note
11.68
Algorithm 11.9 Sender-site Selective Repeat algorithm
(continued)
11.69
Algorithm 11.9 Sender-site Selective Repeat algorithm (continued)
11.70 (continued)
Algorithm 11.9 Sender-site Selective Repeat algorithm (continued)
11.71
Figure 11.22 Delivery of data in Selective Repeat ARQ
11.72
Algorithm 11.10 Receiver-site Selective Repeat algorithm
11.73
Algorithm 11.10 Receiver-site Selective Repeat algorithm
11.74
Example 11.8
• frame 1 is lost.
• 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.
11.75
Example 11.8 (continued)
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.
11.76
Figure 11.23 Flow diagram for Example 11.8
11.77
Example 11.8 (continued)
11.78
Example 11.8 (continued)
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.
11.79
Performance
More efficient than the other two protocols
because it reduces number of retransmissions
for noisy links
The receiver and transmitter processing logic is
more complex
Receiver must be able to reinsert the retransmitted
(lost, delayed, damaged) frame in the proper sequence
after it arrives
The sender should be able to send out of order frame
when requested by the sender using NAK
Needs more memory than Go-Back-N ARQ at the
receiver side. The receiver memory is large if the
window size is large
Bi-directional Protocols