Transcript Document

Chapter 11
Data Link Control
11.1
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
11-2 FLOW AND ERROR CONTROL
The most important responsibilities of the data link
layer are flow control and error control. Collectively,
these functions are known as data link control.
Topics discussed in this section:
Flow Control
Error Control
11.9
Note
Flow control refers to a set of procedures
used to restrict the amount of data
that the sender can send before
waiting for acknowledgment.
11.10
Note
Error control in the data link layer is
based on automatic repeat request,
which is the retransmission of data.
11.11
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.12
Figure 11.5 Taxonomy of protocols discussed in this chapter
11.13
11-4 NOISELESS CHANNELS
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.
Topics discussed in this section:
Simplest Protocol
Stop-and-Wait Protocol
11.14
Figure 11.6 The design of the simplest protocol with no flow or error control
11.15
Algorithm 11.1 Sender-site algorithm for the simplest protocol
11.16
Algorithm 11.2 Receiver-site algorithm for the simplest protocol
11.17
Example 11.1
Figure 11.7 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.
11.18
Figure 11.7 Flow diagram for Example 11.1
11.19
Figure 11.8 Design of Stop-and-Wait Protocol
11.20
Algorithm 11.3 Sender-site algorithm for Stop-and-Wait Protocol
11.21
Algorithm 11.4 Receiver-site algorithm for Stop-and-Wait Protocol
11.22
Example 11.2
Figure 11.9 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.
11.23
Figure 11.9 Flow diagram for Example 11.2
11.24
Stop and Wait Link Utilization
Sliding Windows 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)
k
 Frames are numbered modulo 2
Sliding Window Diagram
Example Sliding Window
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



Data and acknowledgement sent in one frame
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)
Example
Consider the use of 1000-bit frames on a 1-mbps satellite
channel with a 270-ms delay. What is the maximum link
utilization for
• Stop and wait flow control?
• Continuous flow control with a window size of 7?
• Continuous flow control with a window size of 127?
• Continuous flow control with a window size of 755?
11.33
Example
Distance A to B is 4000 km, distance B to C is 1000 km, frames are
generated at node A and sent to node C through node B. Determine
the minimum transmission rate required between nodes B and C so
that the buffers of node B are not flooded, based on the following:
1.
2.
3.
4.
The data rate between A and B is 100 kbps.
The propagation delay is 5 microseconds/km for both lines.
There are full-duplex lines between the nodes.
All data frames are 1000 bits long; ACK (RR) frames are separate frames of negligible
length.
5. Between A and B, a sliding-window protocol with a window size of 3 is used.
6. Between B and C, a stop-and-wait protocol is used.
o There are no errors.
Hint: In order not to flood the buffers of B, the average number of frames entering
and leaving B must be the same over a long interval.
11.34
11-5 NOISY CHANNELS
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.
Topics discussed in this section:
Stop-and-Wait Automatic Repeat Request
Go-Back-N Automatic Repeat Request
Selective Repeat Automatic Repeat Request
11.35
Note
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.
11.36
Note
In Stop-and-Wait ARQ, we use sequence
numbers to number the frames.
The sequence numbers are based on
modulo-2 arithmetic.
11.37
Note
In Stop-and-Wait ARQ, the
acknowledgment number always
announces in modulo-2 arithmetic the
sequence number of the next frame
expected.
11.38
Figure 11.11 Flow diagram for Example 11.3
11.44
Note
In the Go-Back-N Protocol, the sequence
numbers are modulo 2m,
where m is the size of the sequence
number field in bits.
11.48
Figure 11.12 Send window for Go-Back-N ARQ
11.49
Note
The send window is an abstract concept
defining an imaginary box of size 2m − 1
with three variables: Sf, Sn, and Ssize.
11.50
Note
The send window can slide one
or more slots when a valid
acknowledgment arrives.
11.51
Figure 11.13 Receive window for Go-Back-N ARQ
11.52
Note
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.
11.53
Figure 11.16 Flow diagram for Example 11.6
11.56
Figure 11.17 Flow diagram for Example 11.7
11.59
Note
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.
11.60
Figure 11.15 Window size for Go-Back-N ARQ
11.61
Note
Stop-and-Wait ARQ is a special case of
Go-Back-N ARQ in which the size of the
send window is 1.
11.65
Figure 11.18 Send window for Selective Repeat ARQ
11.66
Figure 11.19 Receive window for Selective Repeat ARQ
11.67
Figure 11.23 Flow diagram for Example 11.8
11.73
Note
In Selective Repeat ARQ, the size of the
sender and receiver window
must be at most one-half of 2m.
11.74
Figure 11.21 Selective Repeat ARQ, window size
11.75
Figure 11.22 Delivery of data in Selective Repeat ARQ
11.81
Figure 11.24 Design of piggybacking in Go-Back-N ARQ
11.82