ch. 8 data link control - sogang...
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/1.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/2.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/3.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/4.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/5.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/6.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/7.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/8.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/9.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/10.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/11.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/12.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/13.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/14.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/15.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/16.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/17.jpg)
(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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/18.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/19.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/20.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/21.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/22.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/23.jpg)
(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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/24.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/25.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/26.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/27.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/28.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/29.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/30.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/31.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/32.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/33.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/34.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/35.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/36.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/37.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/38.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/39.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/40.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/41.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/42.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/43.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/44.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/45.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/46.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/47.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/48.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/49.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/50.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/51.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/52.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/53.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/54.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/55.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/56.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/57.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/58.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/59.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/60.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/61.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/62.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/63.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/64.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/65.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/66.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/67.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/68.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/69.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/70.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/71.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/72.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/73.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/74.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/75.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/76.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/77.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/78.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/79.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/80.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/81.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/82.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/83.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/84.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022031513/5cd38d2988c993e6198de22a/html5/thumbnails/85.jpg)
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