Data Link Layer: UNIT-2
Data Link Layer: UNIT-2
1
INRODUCTION:
Data link control deals with the design and procedures for communication between two
adjacent nodes: node-to-node communication.
The second function of the data link layer is media access control, or how to share the link.
Framing.
Flow Control.
Error Control.
software implemented protocols that provide smooth and reliable transmission of frames
between nodes.
2
1.FRAMING
Divide the bit stream in to group of bits and attach checksum called Framing.
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.
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. The destination address defines where the packet is to go; the sender
address helps the recipient acknowledge the receipt.
3
1.FRAMING (contd..)
In fixed-size framing, there is no need for defining the boundaries of the frames, the
size itself can be used as a delimiter.
An example of this type of framing is the ATM wide-area network, which uses frames
of fixed sizecalled cells.
It is used in local area networks. In variable-size framing, we need a way to define the
end of the frame and the beginning of the next.
4
1.FRAMING (contd..)
The header, which normally carries the source and destination addresses and other control
information,
Trailer carries error detection or error correction redundant bits, are also multiples of 8 bits.
To separate one frame from the next, an 8-bit (I-byte) flag is added at the beginning and
the end of a frame.
The flag, composed of protocol-dependent special characters, signals the start or end of a
frame.
5
1.FRAMING (contd..)
6
1.1 Character-oriented framing approach (contd)
Advantage:
2. Character-oriented framing was popular when only text was exchanged by the data
link layers.
3. The flag could be selected to be any character not used for text communication.
Disadvantage:
Even if with checksum, the receiver knows that the frame is bad there is no way to tell
where the next frame starts.
Asking for retransmission doesnt help either because the start of the retransmitted frame
is not known
7
1.FRAMING (contd..)
Byte stuffing is the process of adding 1 extra byte whenever there is a flag or escape
character in the text.
8
1.FRAMING (contd..)
Problem : fixed character size : assumes character size to be 8 bits : cant handle
heterogeneous environment.
9
1.FRAMING (contd..)
However, in addition to headers (and possible trailers), we still need a delimiter to separate
one frame from the other. Most protocols use a special 8-bit pattern flag 01111110 as the
delimiter to define the beginning and the end of the frame, as shown in Figure below
10
1.FRAMING (contd..)
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.
11
1.FRAMING (contd..)
(c) The data as they are stored in receivers memory after destuffing.
12
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.
Flow Control
Two types of flow control: Feedback based & Rate based flow control.
Flow control coordinates the amount of data that can be sent before receiving an
acknowledgment and is one of the most important duties of the data link layer.
In most protocols, flow control is a set of procedures that tells the sender how much data
it can transmit before it must wait for an acknowledgment from the receiver.
Any receiving device has a limited speed at which it can process incoming data and a
limited amount of memory in which to store incoming data.
Incoming data must be checked and processed before they can be used.
The rate of such processing is often slower than the rate of transmission. For this reason,
each receiving device has a block of memory, called a buffer, reserved for storing incoming
data until they are processed. 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.
Flow control refers to a set of procedures used to restrict the amount of data
that the sender can send before waiting for acknowledgment.
13
Error Control
It allows the receiver to inform the sender of any frames lost or damaged in transmission
and coordinates the retransmission of those frames by the sender.
In the data link layer, the term error control refers primarily to methods of error detection
and retransmission.
Error control in the data link layer is based on automatic repeat request (ARQ)
which is the retransmission of data.
14
3 . DATA LINK 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.
15
3.1 DATA LINK PROTOCOLS NOISELESS CHANNELS
(Flow control protocols)
1. The following assumption has been made for developing the (algorithm) simplex protocol
It is a unidirectional protocol in which data frames are traveling in only one direction-
from the sender to receiver.
16
3.1.1 Simplest Protocol (unrestricted ideal protocol) contd
2. Design : Figure shows The design of the simplest protocol with no flow or error control
17
3.1.1 Simplest Protocol (unrestricted ideal protocol) contd
3. Algorithms
18
3.1.1 Simplest Protocol (unrestricted ideal protocol) contd
3. Algorithms
19
3.1.1 Simplest Protocol (unrestricted ideal protocol) contd
Figure below 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.
20
3.1.2 Stop-and-Wait Protocol
1. The following assumption has been made for developing the (algorithm) Stop-and-Wait
Protocol
Both transmitting and receiving network layer are always not ready.
21
3.1.2 Stop-and-Wait Protocol (contd)
2. Design
22
3.1.2 Stop-and-Wait Protocol (contd)
3. Algorithms
23
3.1.2 Stop-and-Wait Protocol (contd)
Algorithms
24
3.1.2 Stop-and-Wait Protocol (contd)
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.
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.
26
1. Stop-and-Wait ARQ (Automatic Repeat reQuest) protocol
For noisy link, pure stop and wait protocol will break down, and solution is to incorporate some
error control mechanism
Stop and wait with ARQ: Automatic Repeat reQuest (ARQ), an error control method, is
incorporated with stop and wait flow control protocol
If error is detected by receiver, it discards the frame and send a negative ACK (NAK),
causing sender to re-send the frame
In case a frame never got to receiver, sender has a timer: each time a frame is sent, timer
is set ! If no ACK or NAK is received during timeout period, it re-sends the frame
Timer introduces a problem: Suppose timeout and sender retransmits a frame but receiver
actually received the previous transmission ! receiver has duplicated copies
To avoid receiving and accepting two copies of same frame, frames and ACKs are
alternatively labeled 0 or 1: ACK0 for frame 1, ACK1 for frame 0
where R is data rate (bps), d is link distance (m), V is propagation velocity (m/s) and L frame
Length (bits)
27
1. Stop-and-Wait ARQ (Automatic Repeat Request) protocol (cont,d)
NOTE:
1. 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
28
1. Stop-and-Wait ARQ (Automatic Repeat Request) protocol (cont,d)
29
1. Stop-and-Wait ARQ (Automatic Repeat Request) protocol (cont,d)
30
1. Stop-and-Wait ARQ (Automatic Repeat Request) protocol (cont,d)
31
1. Stop-and-Wait ARQ (Automatic Repeat Request) protocol (cont,d)
32
1. Stop-and-Wait ARQ (Automatic Repeat Request) protocol (cont,d)
Example 1
33
1. Stop-and-Wait ARQ (Automatic Repeat Request) protocol (cont,d)
34
1. Stop-and-Wait ARQ (Automatic Repeat Request) protocol (cont,d)
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?
Solution
Analysis: 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.
35
1.3 Efficiency of Stop-and-Wait ARQ (contd)
Example 2
What is the utilization percentage of the link in Example 1 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.
Remedy for increasing the efficiency is Pipelining
Pipelining : several frames can be sent before we receive news about the previous frames.
Pipelining improves the efficiency of the transmission if the number of bits in transition is
36
3.2 Go-Back-N Automatic Repeat reQuest (ARQ)
To improve the efficiency of transmission (filling the pipe), multiple frames must be in
transition while waiting for acknowledgment.
In this protocol we can send several frames before receiving acknowledgments; we keep
a copy of these frames until the acknowledgments arrive.
In the Go-Back-N Protocol, the sequence numbers are modulo 2 m !",where m is the size of
the sequence number field in bits.
For example, if m is 4, the only sequence numbers are 0 through 15 inclusive. However,
we can repeat the sequence. So the sequence numbers are
0, 1,2,3,4,5,6, 7,8,9, 10, 11, 12, 13, 14, 15,0, 1,2,3,4,5,6,7,8,9,10, 11, ...
Sliding Window.
In this protocol the sliding window is an abstract concept that defines the range of
sequence numbers that is the concern of the sender and receiver.
In other words, the sender and receiver need to deal with only part of the possible
sequence numbers.
The range which is the concern of the sender is called the send sliding window; the range
that is the concern of the receiver is called the receive sliding window.
37
3.2 Go-Back-N Automatic Repeat reQuest (ARQ) (contd.)
38
3.2 Go-Back-N Automatic Repeat reQuest (ARQ) (contd.)
The send window is an imaginary box covering the sequence numbers of the data frames
which can be in transit.
The window at any time divides the possible sequence numbers into four regions.
The first region defines the sequence numbers belonging to frames that are already
acknowledged
The second region defines the range of sequence numbers belonging to the frames
that are sent and have an unknown status. We call these outstanding frames.
The third region defines the range of sequence numbers for frames that can be sent;
however, the corresponding data packets have not yet been received from the
network layer.
Finally, the fourth region defines sequence numbers that cannot be used until the
window slides
The send window is an abstract concept defining an imaginary box of size 2 m 1 with
three variables: Sf, Sn, and Ssize.
39
3.2 Go-Back-N Automatic Repeat reQuest (ARQ) (contd.)
The send window can slide one or more slots when a valid acknowledgment arrives
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
40
3.2 Go-Back-N Automatic Repeat reQuest (ARQ) (contd.)
Timers
Although there can be a timer for each frame that is sent, in our protocol we use only
one. The reason is that the timer for the first outstanding frame always expires first; we
send all outstanding frames when this timer expires.
Acknowledgment
The receiver sends a positive acknowledgment if a frame has arrived safe and sound
and in order. If a frame is damaged or is received out of order, the receiver is silent and
will discard all subsequent frames until it receives the one it is expecting. The silence of
the receiver causes the timer of the unacknowledged frame at the sender site to expire.
This, in turn, causes the sender to go back and resend all frames, beginning with the one
with the expired timer. The receiver does not have to acknowledge each frame received.
It can send one cumulative acknowledgment for several frames.
Resending a Frame
When the timer expires, the sender resends all outstanding frames. For example, suppose
the sender has already sent frame 6, but the timer for frame 3 expires. This means that
frame 3 has not been acknowledged; the sender goes back and sends frames 3, 4,5, and 6
again. That is why the protocol is called Go-Back-N ARQ.
41
3.2 Go-Back-N Automatic Repeat reQuest (ARQ) (contd.)
42
3.2 Go-Back-N Automatic Repeat reQuest (ARQ) (contd.)
In Go-Back-N ARQ, the size of the send window must be less than 2 m ; the size of the
receiver window is always 1.
43
3.2 Go-Back-N Automatic Repeat reQuest (ARQ) (contd.)
(continued)
44
3.2 Go-Back-N Automatic Repeat reQuest (ARQ) (contd.)
45
3.2 Go-Back-N Automatic Repeat reQuest (ARQ) (contd.)
46
3.2 Go-Back-N Automatic Repeat reQuest (ARQ) (contd.)
Example 1
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.
47
3.2 Go-Back-N Automatic Repeat reQuest (ARQ) (contd.)
48
3.2 Go-Back-N Automatic Repeat reQuest (ARQ) (contd.)
Example 2
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.
49
3.2 Go-Back-N Automatic Repeat reQuest (ARQ) (contd.)
Stop-and-Wait ARQ is a special case of Go-Back-NARQ in which the size of the send window is 1.
50
3.3 Selective Repeat Automatic Repeat Request
The receiver keeps track of only one variable, and there is no need to buffer out -of-order
frames; they are simply discarded.
However, this protocol is very inefficient for a noisy link. In a noisy link a frame has a
higher probability of damage, which means the resending of multiple frames.
This resending uses up the bandwidth and slows down the transmission.
For noisy links, there is another mechanism that does not resend N frames when just one
frame is damaged; only the damaged frame is resent. This mechanism is called Selective
Repeat ARQ.
It is more efficient for noisy links, but the processing at the receiver is more complex
51
3.3 Selective Repeat Automatic Repeat Request (contd..)
Windows
This Protocol also uses two windows: a send window and a receive window.
However, there are differences between the windows in this protocol and the ones in
Go-Back-N. First, the size of the send window is much smaller. Second, the receive window is
the same size as the send window.
The smaller window size means less efficiency in filling the pipe, but the fact that there are
fewer duplicate frames can compensate for this.
The protocol uses the same variables as we discussed for Go-Back-N.
52
3.3 Selective Repeat Automatic Repeat Request (contd..)
The size of the receive window is the same as the size of the send window
The Selective Repeat Protocol allows as many frames as the size of the receive window to
arrive out of order and be kept until there is a set of in-order frames to be delivered to the
network layer. Because the sizes of the send window and receive window are the same.
All the frames in the send frame can arrive out of order and be stored until they can be
delivered. receiver never delivers packets out of order to the network layer.
Those slots inside the window that are colored define frames that have arrived out of order
and are waiting for their neighbors to arrive before delivery to the network layer.
53
3.3 Selective Repeat Automatic Repeat Request (contd..)
54
3.3 Selective Repeat Automatic Repeat Request (contd..)
In Selective Repeat ARQ, the size of the sender and receiver window must be at most one
half of 2m
55
3.3 Selective Repeat Automatic Repeat Request (contd..)
continued)
56
3.3 Selective Repeat Automatic Repeat Request (contd..)
continued)
57
3.3 Selective Repeat Automatic Repeat Request (contd..)
58
3.3 Selective Repeat Automatic Repeat Request (contd..)
(continued
59
3.3 Selective Repeat Automatic Repeat Request (contd..)
60
Example for Selective Repeat Automatic Repeat Request
This example frame 1 is lost. It show how Selective Repeat behaves in this case. Figure
3.4.1shows 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.
61
Example for Selective Repeat Automatic Repeat Request (contd.)
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. 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.
Suresha V. Professor, Dept. of E&C, KVG College Of Engineering. Sullia, D.K - 574 327
62
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.
63
Figure 5 Flow diagram for Example 1
64
5.Piggybacking
The three protocols we discussed in this section are all unidirectional: data frames flow
in only one direction although control information such as ACK and NAK frames can
travel in the other direction. In real life, data frames are normally flowing in both directions:
from node A to node B and from node B to node A. This means that the control
information also needs to flow in both directions.
We show the design for a Go-Back-N ARQ using piggybacking shown in Figure 5.1
Note that each node now has two windows: one send window and one receive window.
Both also need to use a timer.
Both are involved in three types of events: request, arrival, and time-out. However, the
arrival event here is complicated; when a frame arrives, the site needs to handle control
information as well as the frame itself.
Both of these concerns must be taken care of in one event, the arrival event. The request
event uses only the send window at each site; the arrival event needs to use both windows.
An important point about piggybacking is that both sites must use the same algorithm.
This algorithm is complicated because it needs to combine two arrival events into one.
65
Figure 5.1 : Design of piggybacking in Go-Back-N ARQ
66
6 . HDLC
High-level Data Link Control (HDLC) is a bit-oriented protocol for communication over point-to-
point and multipoint links. It implements the ARQ mechanisms
HDLC provides two common transfer modes that can be used in different configurations:
67
Asynchronous Balanced Mode
In asynchronous balanced mode (ABM), the configuration is balanced. The link is point-to-point, and
each station can function as a primary and a secondary (acting as peers), as shown in Figure below.
This is the common mode today.
68
HDLC Frames
To provide the flexibility necessary to support all the options possible in the modes and
configurations just described, HDLC defines three types of frames:
Each type of frame serves as an envelope for the transmission of a different type of
message.
I-frames are used to transport user data and control information relating to user data
(piggybacking).
U-frames are reserved for system management. Information carried by U-frames is intended
for managing the link itself.
69
HDLC Frames
Frame Format
Each frame in HDLC may contain up to six fields, as shown in Figure below a beginning
a flag field, an address field, a control field, an information field, a frame check
sequence (FCS) field, and an ending flag field.
In multiple-frame transmissions, the ending flag of one frame can serve as the beginning flag
of the next frame.
70
HDLC Fields Description
Let us now discuss the fields and their use in different frame types.
(1) Flag field : The flag field of an HDLC frame is an 8-bit sequence with the bit pattern
01111110 that identifies both the beginning and the end of a frame and serves as a
synchronization pattern for the receiver.
(2) Address field :The second field of an HDLC frame contains the address of the secondary station.
If a primary station created the frame, it contains a to address. If a secondary creates the frame,
it contains a from address. An address field can be1 byte or several bytes long, depending on the
needs of the network. One byte can identify up to 128 stations Larger networks require
multiple-byte address fields. If the address field is only 1 byte, the last bit is always a 1. If the
address is more than 1 byte, all bytes but the last one will end with 0; only the last will end with
1. Ending each intermediate byte with 0 indicates
to the receiver that there are more address bytes to come.
(3) Control field :The control field is a 1- or 2-byte segment of the frame used for flow and error
control. The interpretation of bits in this field depends on the frame type.
(4) Information field : The information field contains the user's data from the network layer or
management information. Its length can vary from one network to another.
(5) FCS field : The frame check sequence (FCS) is the HDLC error detection field. It can contain
either a 2- or 4-byte ITU-T CRC.
71
Control Field
The control field determines the type of frame and defines its functionality. So let us
discuss the format of this field in greater detail. The format is specific for the type of
frame, as shown in Figure below
72
Control Field for I-Frames
I-frames are designed to carry user data from the network layer. In addition, they can
include flow and error control information (piggybacking).
The subfields in the control field are used to define these functions. The first bit defines the
type. If the first bit of the control field is 0, this means the frame is an I-frame. The next 3
bits, called N(S), define the sequence number of the frame.
Note that with 3 bits, we can define a sequence number between 0 and 7; but in the
extension format, in which the control field is 2 bytes, this field is larger.
The last 3 bits, called N(R), correspond to the acknowledgment number when piggybacking
is used. The single bit between N(S) and N(R) is called the PIF bit.
The PIF field is a single bit with a dual purpose. It has meaning only when it is set (bit = 1)
and can mean poll or final. It means poll when the frame is sent by a primary station to a
secondary (when the address field contains the address of the receiver).
It means final when the frame is sent by a secondary to a primary (when the address field
contains the address of the sender).
73
. Control Field for S-Frames
Supervisory frames are used for flow and error control whenever piggybacking is either
impossible or inappropriate (e.g., when the station either has no data of its own to send or
needs to send a command or response other than an acknowledgment). S-frames do not
have information fields. If the first 2 bits of the control field is 10, this means the frame is an
S-frame. The last 3 bits, called N(R), corresponds to the acknowledgment number (ACK) or
negative acknowledgment number (NAK) depending on the type of S-frame.
The 2 bits called code is used to define the type of S-frame itself. With 2 bits, we can
have four types of S-frames, as described below:
If the value of the code subfield is 00, it is an RR S-frame. This kind of frame acknowledges the
receipt of a safe and sound frame or group of frames. In this case, the value N(R) field defines the
acknowledgment number.
If the value of the code subfield is 10, it is an RNR S-frame. This kind of frame is an RR frame with
additional functions. It acknowledges the receipt of a frame or group of frames, and it announces that
the receiver is busy and cannot receive more frames. It acts as a kind of congestion control
mechanism by asking the sender to slow down. The value of N(R) is the acknowledgment number.
74
. Reject (REJ).
If the value of the code subfield is 01, it is a REJ S-frame. This is a NAK frame, but not like the
one used for Selective Repeat ARQ. It is a NAK that can be used in Go-Back-N ARQ to improve
the efficiency of the process by informing the sender, before the sender time expires, that the
last frame is lost or damaged. The value of NCR) is the negative Acknowledgment number.
If the value of the code subfield is 11, it is an SREJ S-frame. This is a NAK frame used in
Selective Repeat ARQ. Note that the HDLC Protocol uses the term selective reject instead of
selective repeat. The value of N(R) is the negative acknowledgment number.
Unnumbered frames are used to exchange session management and control information
between connected devices. Unlike S-frames, U-frames contain an information field, but one used
for system management information, not user data. As with S-frames, however, much of the
information carried by U-frames is contained in codes included in the control field. U-frame codes
are divided into two sections: a 2-bit prefix before the P/F bit and a 3-bit suffix after the P/F bit.
Together, these two segments (5 bits) can be used to create up to 32 different types of U-
frames. Some of the more common types are shown in Table next
75
. Table 6 U-frame control command and response
76
. Example 11.9
Figure shown below explain how U-frames can be used for connection establishment and
connection release. Node A asks for a connection with a set asynchronous balanced mode
(SABM) frame; node B gives a positive response with an unnumbered acknowledgment (UA) frame.
After these two exchanges, data can be transferred between the two nodes (not shown in the
figure). After data transfer, node A sends a DISC (disconnect) frame to release the connection; it
is confirmed by node B responding with a UA (unnumbered acknowledgment). Example of
connection and disconnection
77
. Example 11.10
Figure 11.30 shows an exchange using piggybacking. Node A begins the exchange of information
with an I-frame numbered 0 followed by another I-frame numbered 1. Node B piggybacks its
acknowledgment of both frames onto an I-frame of its own. Node Bs first
I-frame is also numbered 0 [N(S) field] and contains a 2 in its N(R) field, acknowledging the
receipt of As frames 1 and 0 and indicating that it expects frame 2 to arrive next. Node B
transmits its second and third I-frames (numbered 1 and 2) before accepting further frames from
node A. Its N(R) information, therefore, has not changed: B frames 1 and 2 indicate that node B is
still expecting As frame 2 to arrive next. Node A has sent all its data. Therefore, it cannot
piggyback an acknowledgment onto an I-frame and sends an S-frame instead. The RR code
indicates that A is still ready to receive. The number 3 in the N(R) field tells B that frames 0, 1,
and 2 have all been accepted and that A is now expecting frame number 3.
78
. Figure 11.30 Example of piggybacking without error
79
. Example 11.11
Figure 11.31 shows an exchange in which a frame is lost. Node B sends three data frames (0, 1,
and 2), but frame 1 is lost. When node A receives frame 2, it discards it and sends a REJ frame
for frame 1. Note that the protocol being used is Go-Back-N with the special use of an REJ
frame as a NAK frame. The NAK frame does two things here: It confirms the receipt of frame 0
and declares that frame 1 and any following frames must be resent. Node B, after receiving the
REJ frame, resends frames 1 and 2. Node A acknowledges the receipt by sending an RR frame
(ACK) with acknowledgment number 3.
80
. Figure 11.31 Example of piggybacking with error
81
82