0% found this document useful (0 votes)
24 views71 pages

Chap 2 DLL

Uploaded by

madhurcb1
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views71 pages

Chap 2 DLL

Uploaded by

madhurcb1
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 71

Data Link

Layer
Dr.K.Suresh
Babu Professor
of CSE JNTUH

Link 5-1
Link
layer
our goals:
 understand principles behind link
layer services:
 error detection, correction
 sharing a broadcast channel:
multiple access
 link layer addressing
 local area networks: Ethernet,
VLANs
 instantiation, implementation of
various link layer technologies

Link 5-2
Link layer:
introduction
terminology:
 hosts and routers: nodes
 communication channels global
ISP
that connect adjacent
nodes along
communication
 wired links path:
links
 wireless links
 LANs
 layer-2 packet:
frame,
encapsulates
datagram
data-link layer has responsibility
of transferring datagram from
one node to physically adjacent
node over a link
Link 5-3
Link layer: context
 datagram transferred by transportation analogy:
different link protocols  trip from Princeton to
over different links: Lausanne
 e.g., Ethernet on first  limo: Princeton to JFK
link, frame relay on  plane: JFK to Geneva
intermediate links,  train: Geneva to
802.11 on last link Lausanne
 each link protocol  tourist = datagram
provides different  transport
services segment =
 e.g., may or may communication
not provide rdt link
over link  transportation mode =
link layer protocol
 travel agent =
routing algorithm Link 5-4
Link layer
services
Providing services to the network layer:
 Unacknowledged connectionless
service: Appropriate for low error rate
and real-time traffic. Ex: Ethernet
 Acknowledged connectionless service:
Useful in
unreliable channels, WiFi.
Ack/Timer/Resend
 Acknowledged connection-oriented
service: Guarantee frames are received
exactly once and in the right order.
Appropriate over long, unreliable links
such as a satellite channel or a long-
distance telephone circuit
Data Link Layer 5-
Link layer
services
 framing, link access:
 encapsulate datagram into frame, adding
header, trailer
 channel access if shared medium
 “MAC” addresses used in frame headers to
identify
source, dest
• different from IP address!
 Physical Addressing:
 The Data Link layer adds a header to the frame in order to define physical
address of the sender or receiver of the frame, if the frames are to be
distributed to different systems on the network.
 reliable delivery between adjacent nodes
 we learned how to do this already
 seldom used on low bit-error link (fiber, some
twisted
pair) Link 5-6
Link layer services (more)
 flow control:
 pacing between adjacent sending and receiving nodes
 error detection:
 errors caused by signal attenuation, noise.
 receiver detects presence of errors:
• signals sender for retransmission or drops frame
 error correction:
 receiver identifies and corrects bit error(s) without
resorting to retransmission
 half-duplex and full-duplex
 with half duplex, nodes at both ends of link can
transmit, but not
at same time

Link 5-7
2. Error Control: Error control is achieved by adding a trailer at the end of
the frame. Duplication of frames are also prevented by using this mechanism.
Data Link Layers adds mechanism to prevent duplication of frames.
 Error detection: Errors can be introduced by signal attenuation and noise.
Data Link Layer protocol provides a mechanism to detect one or more errors.
This is achieved by adding error detection bits in the frame and then
receiving node can perform an error check.
 Error correction: Error correction is similar to the Error detection, except that
receiving node not only detects the errors but also determine where the errors
have occurred in the frame.
2. Access Control: Protocols of this layer determine which of the devices has
control over
the link at any given time, when two or more devices are connected to the same
link.
3. Reliable delivery: Data Link Layer provides a reliable delivery service, i.e.,
transmits the network layer datagram without any error. A reliable delivery
service is accomplished with transmissions and acknowledgements. A data link
layer mainly provides the reliable delivery service over the links as they have
higher error rates and they can be corrected locally, link at which an error
occurs rather than forcing to retransmit the data.
4. Half-Duplex & Full-Duplex: In a Full-Duplex mode, both the nodes can
transmit the data at the same time. In a Half-Duplex mode, only one node
can transmit the data at the same time.

Data Link Layer 5-


Where is the link layer
implemented?
 in each and every
host
 link layer
interface card NIC)
implemented in or
on a chip (aka
“adaptor” applicatio
 Ethernet card,
network
n
transport cpu memor
network
802.11 card; link
y

Ethernet chipset host


 implements link, controll
bus
(e.g
physical layer link
physical
er .,
physic PCI)
 attaches into host’s al
transmissio
system buses n

 combination of network adapter


card
hardware, software,
firmware
Link Layer 5-9
Adaptors communicating

data ra datagra
g m m
controll controll
er er

sending host receiving host


datagra
m
frame

 sending side:  receiving side


 encapsulates  looks for errors,
datagram in frame rdt, flow control,
 adds error checking etc
bits,  extracts datagram,
rdt, flow control, etc. passes to upper layer
at receiving sideLink Layer 5-
10
FRAMING
 To provide service to the network layer, the data link
layer must use the service provided to it by the physical
layer. What the physical layer does is accept a raw bit
stream and attempt to deliver it to the destination.
This bit stream is not guaranteed to be error free.
The number of bits received may be less than, equal
to, or more than the number of bits transmitted,
and theymay have different values.
 It is up to the data link layer to detect and, if
necessary, correct errors. The usual approach is for
the data link layer to break the bit stream up into
discrete frames and compute the checksum for each
frame (framing).
 When a frame arrives at the destination, the
checksum is recomputed. If the newly computed
checksum is different from the one contained in the
frame, the data link layer knows that an error has
occurred and takes steps to deal with it (e.g., discarding
the bad frame and possibly also sending back an
Data Link Layer 5-
11
FRAMING METHODS
Character count.
1.

Flag bytes with byte


2.

stuffing.
Starting and ending flags,
3.

with bit stuffing.

Data Link Layer 5-


12
Character count
 Charact coun metho
uses a fieldtin the header
er d
to specify the
number of characters
in the frame.
 When the data link layer
at the destination sees
the character count, it
knows how many
characters follow and
hence where the end of
the frame is.
 This technique is shown
in Fig. (a) For four
frames of sizes 5, 5,
8, and 8 characters,
respectively.

Data Link Layer 5-


13
Flag bytes with byte
stuffing
Flag bytes with byte stuffing method gets around
the problem of resynchronization after an error by
having each frame start and end with special bytes. In
the past, the starting and ending bytes were different,
but in recent years most protocols have used the same
byte, called a flag byte, as both the starting and
ending delimiter, as shown in Fig. (a) as FLAG. In this
way, if the receiver ever loses synchronization, it can
just search for the flag byte to find the end of the
current frame. Two consecutive flag bytes indicate the
end of one frame and start of the next one.
 It may easily happen that the flag byte's bit pattern
occurs in the data. This situation will usually interfere
with the framing. One way to solve this problem is to
have the sender's data link layer insert a special
escape byte (ESC) just before each ''accidental'' flag
byte in the data. The data link layer on the receiving
end removes the escape byte before the data are
given to the network layer. This technique is Data called
Link Layer 5-
byte stuffing or character stuffing. 14
Flag bytes with byte
stuffing

Data Link Layer 5-


15
Starting and ending flags, with bit
stuffing
Starting and ending flags, with bit stuffing allows data
frames to contain an arbitrary number of bits and allows
character codes with an arbitrary number of bits per character.
It works like this. Each frame begins and ends with a special
bit pattern, 01111110 (in fact, a flag byte). Whenever the
sender's data link layer encounters five consecutive 1s in
the data, it automatically stuffs a 0 bit into the outgoing bit
stream. This bit stuffing is analogous to byte stuffing, in which
an escape byte is stuffed into the outgoing character stream
before a flag byte in the data.
 When the receiver sees five consecutive incoming 1 bits,

followed by a 0 bit, it automatically de- stuffs (i.e., deletes)


the 0 bit. Just as byte stuffing is completely transparent to
the network layer in both computers, so is bit stuffing. If the
user data contain the flag pattern, 01111110, this flag is
transmitted as 011111010 but stored in the receiver's
memory as 01111110.

Data Link Layer 5-


16
Not
e

Data can be corrupted during


transmission.

Some applications require that


errors be detected and corrected.
Types of Errors
 There may be three types of errors:
 Single bit error : In a frame, there is only one bit, anywhere
though, which is corrupt.

 Multiple bits error : Frame is received with


more than one bits in corrupted state.

 Burst error : Frame contains more than1


consecutive bits corrupted.

5-
Not
e
In a single-bit error, only 1 bit in the data
unit has changed.
Figure Single-bit
10.1 error
Not
e
A burst error means that 2 or more
bits in the data unit have changed.
Figure Burst error of
10.2 length 8
Error control mechanism may involve two possible
ways:
 Error detection
 Error correction
Redundancy : is the central
concept in detecting & correcting errors.
We need to send some extra bits with our data.
These redundant bits are added by the sender
and removed by the receiver .

Note

To detect or correct errors, we need to


send extra (redundant) bits with data.
Figure The structure of encoder
10.3 and
decoder
Detection Versus Correction
 In error detection , we are looking only to see if
any error has occurred. A single-bit error is the
same for us as a burst error.
 In error correction , we need to know the exact
number of bits that are corrupted and more
importantly, their location in the message. So the
number of errors and the size of the message are
important factors.
 Note: correction of errors is more difficult than the
detection
Forward Error Correction
Versus Retransmission
Two main methods of error
correction
I. Forward error correction FEC: is the
process in which the receiver tries to
guess the message by using redundant
bits.
II. Retransmission : is a technique in

which the receiver detects the


occurrence of an error and asks the
sender to resend the message.
Codin
Redundancy is achieved through various
g
coding schemes. The sender adds redundant
bits through a process that creates a
relationship between the redundant bits and
the actual data bits.

The receiver checks the relationships


between the
two sets of bits to detect or correct the
errors.

The ratio of redundant bits to the data bits


and the robustness of the process are
McGraw-Hill
important factors in any coding scheme
©TheMcGraw- 10.1
coding schemes is divided into
two categories :

1block coding .

2convolution coding. convolution


coding is more complex than block
coding.

Note
 In this section , we concentrate on

block codes; we leave


convolution codes
to advanced texts.
BLOCK CODING

In block coding, we divide our message into blocks,


each of k bits, called datawords.
We add r redundant bits to each block to make the length
n = k + r. The resulting n-bit blocks are called
codewords.

With k bits, we can create a combination of 2k datawords;


with n bits, we can create a combination of 2n codewords.

The block coding process is one-to-one; the same


dataword is always encoded as the same codeword. This
means that we have 2n - 2k codewords that are not used.
Figure Datawords and codewords in block
10.5 coding
Example
10.1
The 4B/5B
coding.
block coding is a good example of this type of

In this coding scheme, k = 4 and n = 5. As we saw,


we have 2k = 16 datawords and 2n = 32 codewords.

We saw that 16 out of 32 codewords are used for message


transfer and the rest are either used for other purposes or
unused.
Figure Process of error detection in block
10.6 coding
Error Detection
How can errors be detected by using block
coding? If the following two conditions
are met, the receiver can detect a
change in the original codeword.


1. The receiver has (or can find) a list of valid
codewords.

2. The original codeword has changed to an
invalid one.
Example 10.2
Let us assume that k = 2 and n = 3. Table 10.1 shows the
list of datawords and codewords. Later, we will see
how to derive a codeword from a dataword.

Assume the sender encodes the dataword 01 as 011 and


sends it to the receiver. Consider the following cases:

1. The receiver receives 011. It is a valid codeword. The


receiver extracts the dataword 01 from it.
Example 10.2 (continued)
2.The codeword is corrupted during
transmission, and111 is received.This is
not a valid codeword and is discarded (don’t
exist in table).
3. The codeword is
corrupted during transmission, and 000
is received. This is a valid codeword.
 The receiver incorrectly
extracts the dataword
00. Two corrupted bits have made
the error undetectable.
Table 10.1 A code for error detection (Example
10.2)
Not
e
An error-detecting code can detect
only the types of errors for which it is;
designed,other types of errors may
remain undetected.
Errors in the received frames are detected
by means of
(i)Parity Check and
(ii)Cyclic Redundancy Check (CRC).

In both cases, few extra bits are sent


along with actual data to confirm that bits
received at other end are same as they
were sent.
If the counter-check at receiver’ end fails,
the bits are considered corrupted.

Data Link Layer 5-


Parity
Check
 One extra bit is sent along with the
original bits to make number of 1s either
even in case of even parity, or odd in case
of odd parity.
 The sender while creating a frame
counts the number of 1s in it.
 For example, if even parity is used and
number of 1s is even then one bit with
value 0 is added. This way number of 1s
remains even. If the number of 1s is odd,
to make it even a bit with value 1 is
added.
Parity
Check

Data Link Layer 5-


41
Two Dimensional Parity

Data Link Layer 5-


42
Cyclic Redundancy Check
(CRC)
CRC is a different
detect if the
approach to
received frame contains valid
data.
 This technique involves binary
division of the data bits being
sent.
 The divisor is generated using polynomials.
 The sender performs a division operation on
the bits being sent and calculates the remainder.
 Before sending the actual bits, the sender
adds the remainder at the end of the actual bits.
 Actual data bits plus the remainder is called a
codeword. The sender transmits data bits as code
words.
 At the other end, the receiver performs
division operation on code words using the same
Cyclic Redundancy Check
(CRC)

Data Link Layer 5-


44
Cyclic Redundancy Check
(CRC)

Data Link Layer 5-


45
Error Correction
 In the digital world, error correction can be done in two
ways:

Backward Error Correction When the receiver
detects an error in the data received, it requests back
the sender to retransmit the data unit.

Forward Error Correction When the receiver detects
some error in the data received, it executes
error- correcting code, which helps it to auto-recover
and to correct some kinds of errors.
 The first one, Backward Error Correction, is simple and
can only be efficiently used where retransmitting is not
expensive. For example, fiber optics. But in case of
wireless transmission retransmitting may cost too much.
In the latter case, Forward Error Correction is used.
Link layer, LANs: outline
1. introduction, 5. link
services virtualization:
2. error MPLS
detection, 6. data
correction center
3. multiple networkin
access g
protocols 7. a day in the
4. LANs life of a web
 addressing, request
ARP
 Ethernet
 switches Link Layer 5-
47
Error
detection
EDC= Error Detection and Correction bits (redundancy)
D = Data protected by error checking, may include
header fields

• Error detection not 100% reliable!


• protocol may miss some errors, but rarely
• larger EDC field yields better detection and
correction
otherwis
e

Link Layer 5-
48
Parity checking
single bit parity: two-dimensional bit parity:
 detect single  detect and correct single bit
bit errors
errors

0 0

Link Layer 5-
49
Internet checksum
(review)
goal: detect “errors” (e.g., flipped bits) in transmitted
packet
(note: used at transport layer only)
sender: receiver:
 treat segment  compute checksum of

contents as received segment


sequence of 16-bit  check if computed
integers checksum equals
 checksum: addition checksum field value:
(1’s complement  N O - error
sum) of segment detected
contents  YES - no error
 sender puts
checksum value detected. But maybe
into UDP errors nonetheless?
checksum field
Link Layer 5-
50
Cyclic redundancy
check
 more powerful error-detection coding
 view data bits, D, as a binary number
 choose r+1 bit pattern (generator), G
 goal: choose r CRC bits, R, such that
 <D,R> exactly divisible by G (modulo 2)
 receiver knows G, divides <D,R> by G. If non-zero
remainder: error detected!
 can detect all burst errors less than r+1 bits
 widely used in practice (Ethernet, 802.11 WiFi,
ATM)

Link Layer 5-
51
CRC
example
want:
D.2r XOR R =
nG
equivalently:
D.2r = nG XOR
R
equivalently:
if we divide D.2r
by
G,Rwant D .2r
= ]
remainder
remainder[ G
R to
satisfy:

Link Layer 5-
52
Elementary Data Link Protocols
 Protocols in the data link layer are designed so
that this layer can perform its basic functions:
framing, error control and flow control.
 Framing is the process of dividing bit - streams
from physical layer into data frames whose size
ranges from a few hundred to a few thousand
bytes

Data Link Layer 5-


53
Types of Data Link Layer Protocols
 Data link protocols can be broadly divided into two
categories,
depending on whether thetransmission channel is noiseless or noisy

Data Link Layer 5-


54
Simplex Protocol
 The Simplex protocol is hypothetical
protocol designed for unidirectional data
transmission over an ideal channel, i.e. a
channel through which transmission can
never go wrong.
 It has distinct procedures for sender and
receiver. The sender simply sends all its
data available onto the channel as soon
as they are available its buffer.
 The receiver is assumed to process all
incoming data instantly. It is hypothetical
since it does not handle flow control or
error control.
Data Link Layer 5-
55
Simplex Protocol
 It is very simple. The
sender sends a sequence
of frames without even
thinking about the receiver.
 Data are transmitted in
one direction only. Both
sender & receiver
always ready.
Processing time can be
ignored. Infinite buffer
space is available.
 And best of all,
the communication
channel between the data
link layers never damages
or loses frames. This
thoroughly unrealistic
protocol, which we
will nickname ‘‘Utopia,’’
.The utopia protocol is
unrealistic because Data Link
correcti it Layer 5-
does not handle either
Stop – and – Wait Protocol
 Stop – and – Wait protocol is for
noiseless channel too. It provides
unidirectional data transmission without
any error control facilities.
 However, it provides for flow control so
that a fast sender does not drown a slow
receiver.
 The receiver has a finite buffer size with
finite processing speed.
 The sender can send a frame only when
it has received indication from the
receiver that it is available for further data
processing. Data Link Layer 5-
57
Stop – and – Wait 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
It is Stop-and-Wait
Protocol because the sender
sends one frame, stops until it
receives confirmation from the
receiver (okay to go ahead), and
then sends the next frame.
We still have
unidirectional communication for
data frames, but auxiliary ACK
frames (simple tokens of
acknowledgment) travel from the
other direction. We add flow
control to our previous protocol.
Data Link Layer 5-
58
NOISY CHANNELS
 Althoug the Stop-and- Protoco
h Wait l
gives us an idea of how to add
flow control to its predecessor,
noiseless
ignore channels
the error are
(as we sometimes
nonexistent.
do), We can
or we need to add error
control to our protocols.
1. Stop-and-Wait Automatic Repeat Request
2. Go-Back-N Automatic Repeat Request
3. Selective Repeat Automatic Repeat Request

Data Link Layer 5-


59
SLIDING W I N D O W
PROTOCOLS

Data Link Layer 5-


60
Stop-and-Wait Automatic Repeat Request

To detect and correct corrupted frames, we need to add


redundancy bits to our data frame. When the frame arrives at the receiver
site, it is checked and if it is corrupted, it is silently discarded. The
detection of errors in this protocol is manifested by the silence of the
receiver.
 Lost frames are more difficult to handle than corrupted ones. In our
previous
protocols, there was no way to identify a frame. The received frame could
be the correct one, or a duplicate, or a frame out of order. The solution is
to number the frames. When the receiver receives a data frame that is
out of order, this means that frames were either lost or duplicated
The lost frames need to be resent in this protocol. If the receiver

does not respond when there is an error, how can the sender know which
frame to resend? To remedy this problem, the sender keeps a copy of the
sent frame. At the same time, it starts a timer. If the timer expires and
there is no ACK for the sent frame, the frame is resent, the copy is
held, and the timer is restarted. Since the protocol uses the stop-and-
wait mechanism,
frame there is of
and retransmitting only
theone specific
frame whenframe that needs an ACK
the timer Data Link Layer 5-
 Error correction in Stop-and-Wait ARQ is done by keeping a copy of
Stop-and-Wait Automatic Repeat
Request
 In Stop-and-Wait
ARQ, we use
sequence numbers to
number the frames.
The sequence
numbers are based
on modulo-2
arithmetic.
 In
always Stop-and-Wait
announces
modulo in
ARQ, the
-2
sequencearithmetic
acknowledgment
number ofthe the
next frame expected.

Data Link Layer 5-


62
Go-Back-N Automatic Repeat Request

To improve the efficiency of transmission (filling the


pipe), multiple frames must be in transition while
waiting for acknowledgment. In other words, we need to
let more than one frame be outstanding to keep the
channel busy while the sender is waiting for
acknowledgment.

The first is called Go-Back-N Automatic Repeat. 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 2m, where m is the size of
the sequence number field in bits. The sequence
numbers range from 0 to 2 power m- 1. For example, if m
is 4, the only sequence numbers are 0 through 15
Data Link Layer 5-
63
Go-Back-N Automatic Repeat
Request
 The sender window at any time
divides the
possible sequence numbers into four regions.
The first region, from the far left to the left

wall of the window, defines the sequence


numbers belonging to frames that
are already acknowledged. The sender
does not worry about these frames and
keeps no copies of them.
The second region, colored in Figure (a),

defines the range of sequence numbers


belonging to the frames that are sent and
have an unknown status. The sender needs
to wait to find out if these frames have
been received or were lost. We call these
outstanding frames.
The third range, white in the figure,
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
Data Link Layer 5-
64
Go-Back-N Automatic Repeat Request

The send window is an abstract concept defining an


imaginary box of size 2m − 1 with three variables: Sf, Sn,
and Ssize. The variable Sf defines the sequence number of the
first (oldest) outstanding frame. The variable Sn holds the
sequence number that will be assigned to the next frame to be
sent. Finally, the variable Ssize defines the size of the
window.
Figure (b) shows how a send window can slide one or more

slots to the right when an acknowledgment arrives from the


other end. The
acknowledgments in this protocol are cumulative, meaning
that more than one frame can be acknowledged by an ACK
frame. In Figure, frames 0, I, and 2 are acknowledged, so the
window has slide to the right three slots. Note that the value of
Sf is 3 because frame 3 is now the first outstanding frame.The
send window can slide one or more slots when Data a valid
Link Layer 5-
65
Go-Back-N Automatic Repeat
 Receiver window: variable Rn
Request
(receive window, next frame expected) .
 The sequence numbers to the left of
the window belong to the frames
already received and acknowledged;
the sequence numbers to the right of
this window define the frames that
cannot be received. Any received
frame with a sequence number in
these two regions is discarded. Only a
frame with a sequence number
matching the value of Rn is accepted
and acknowledged. The receive window
also slides, but only one slot at a time.
When a correct frame is received (and a
frame is received only one at a time),
the window slides.( see below figure
for receiving window)

The receive window is an abstract
concept
defining an imaginary box of size 1 with
one single variable Rn. The window Data Link Layer 5-
66
Go-Back-N Automatic Repeat Request

 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 side 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.
Data Link Layer 5-
That is why the protocol is called Go-Back-N ARQ. 67
Go-Back-N Automatic Repeat Request

Data Link Layer 5-


68
Selective Repeat Automatic Repeat
Request
 In Go-Back-N ARQ, 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. Data Link Layer 5-
69
Selective Repeat Automatic Repeat
Request

Data Link Layer 5-


70
Piggybacking

 A technique called piggybacking is used to


improve the efficiency of the bidirectional
protocols. When a frame is carrying data from
A to B, it can also carry control information
about arrived (or lost) frames from B; when a
frame is carrying data from B to A, it can
also carry control information about the
arrived (or lost) frames from A.

Data Link Layer 5-


71

You might also like