Data Link Layer of OSI Model responsibilities

251 views 34 slides Jan 01, 2024
Slide 1
Slide 1 of 34
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34

About This Presentation

Data Link Layer of OSI Model


Slide Content

Networks: Data Link Layer 1
Data Link Layer

Networks: Data Link Layer 2
Data Link Layer
•Provides a well-defined service interfaceto the
network layer.
•Determines how the bits of the physical layer
are grouped into frames (framing).
•Deals with transmission errors (CRCand ARQ).
•Regulates the flow of frames.
•Performs general link layer management.

Networks: Data Link Layer 3
32112 32112
2
1
Medium
1
2
Physical layer entity
Data link layer entity
3
Network layer entity
Physical
Layer
Data link
Layer
Physical
Layer
Data link
Layer
A B
A
B
Packets
Packets
Frames
(a)
(b)
Figure 5.2
Leon-Garcia & Widjaja: Communication Networks
Copyright ©2000 The McGraw Hill Companies

Networks: Data Link Layer 4
1 2 3 4 5
Data Data Data
ACK/NAK
Data
1 2 3 4 5
Data Data Data Data
ACK/
NAK
ACK/
NAK
ACK/
NAK
ACK/
NAK
Figure 5.7
End to End
Hop by Hop
Leon-Garcia & Widjaja: Communication Networks Copyright ©2000 The McGraw Hill Companies

Networks: Data Link Layer 5
Tanenbaum’sData Link
Treatment
•Concerned with communication between two
adjacent nodes in the subnet (node to node).
•Assumptions:
–Bits delivered in the order sent.
–Rigid interface between the HOST and the node
the communications policy and the Host
protocol (with OS effects) can evolve separately.
–uses a simplified model.

Networks: Data Link Layer 6
Host
A
Host
B
Layer 4
Node
2
Node
1
Layer 4
Layer 2
frame
Data Link Layer Model
Assume Host has infinite supply of messages.
Node constructs frame from a single packetmessage.
Checksum is automatically appended in the hardware.
Protocols are developed in increasing complexity to help
students understand the data link layer issues.

Networks: Data Link Layer 7
Packet
sequence
Error-free
packet
sequence
Information
frames
Control
frames
Transmitter Receiver
CRC
Information
packet
Header
Station A Station B
Information Frame
Control frame
CRC
Header
Figure 5.8Leon-Garcia & Widjaja: Communication Networks
Copyright ©2000 The McGraw Hill Companies
Basic Elements of ARQ

Networks: Data Link Layer 8
Tanenbaum’s Protocol Definitions
Continued 
Figure 3-9. Some definitions needed in the protocols to
follow. These are located in the file protocol.h.

Networks: Data Link Layer 9
Protocol
Definitions
(continued.)
Figure 3-9. Some
definitions needed in
the protocols to follow.
These are located in
the file protocol.h.

Networks: Data Link Layer 10
ackseqkindinfo
buffer
physical layer
network layer
data link layer
frame
packet

Networks: Data Link Layer 11
Figure 3-10.
Unrestricted
Simplex
Protocol

Networks: Data Link Layer 12
Figure 3-11.
Simplex
Stop-and-
Wait
Protocol

Networks: Data Link Layer 13
(a) Frame 1 lost
A
B
frame
0
frame
1
ACK
frame
1
ACK
time
Time-out
frame
2
(b) ACK lost
A
B
frame
0
frame
1
ACK
frame
1
ACK
time
Time-out
frame
2
ACK
In parts (a) and (b) transmitting station A acts the same way, but part (b)
receiving station B accepts frame 1 twice.
Figure 5.9
Ambiguities with Stop-and-Wait
[unnumbered frames]
Leon-Garcia & Widjaja: Communication NetworksCopyright ©2000 The McGraw Hill Companies

Networks: Data Link Layer 14
Transmitter Receiver
S
last
R
next
0 10 10 10 1 0 10 10 10 1
(0,0) (0,1)
(1,0) (1,1)
Timer
Global State:
(S
last, R
next)
Error-free frame 0
arrives at receiver
ACK for
frame 0
arrives at
transmitter
ACK for
frame 1
arrives at
transmitterError-free frame 1
arrives at receiver
Station A Station BR
next
S
last
Figure 5.11
Leon-Garcia & Widjaja: Communication Networks
Copyright ©2000 The McGraw Hill Companies
State Machine for Stop-and-Wait

Networks: Data Link Layer 15
#define MAX_SEQ 1
typedef enum {frame_arrival, cksum_err, timeout} event_type;
include “protocol.h”
void sender_par(void)
{
seq_nr next_frame_to_send;
frame s;
packet buffer;
event_type event;
next_frame_to_send = 0;
from_network_layer (&buffer);
while (true)
{ s.info = buffer;
s.seq = next_frame_to_send;
to_physical_layer (&s);
start_timer (s.seq);
wait_for_event(&event);
if (event == frame_arrival) {
from_network_layer (&buffer);
inc (next_frame_to_send);
}
}
}
Protocol 3
(PAR) Positive ACK
with Retransmission
[Old Tanenbaum Version]

Networks: Data Link Layer 16
void receiver_par(void)
{
seq_nr next_frame_to_send;
frame r, s;
event_type event;
frame_expected = 0;
while (true)
{wait_for_event (&event);
if (event == frame_arrival)
{ from_physical_layer (&r);
if (r.seq == frame_expected) {
to_network_layer(&r.info);
inc (frame_expected);
}
to_physical_layer (&s); /* Note –no sequence number on ACK */
}
}
}
Protocol 3
(PAR) Positive ACK
with Retransmission
[Old Tanenbaum Version]

Networks: Data Link Layer 17
A
B
frame
0 frame
0
ACK
frame
1
ACK
time
time-out
frame
2
Transmitting station A misinterprets duplicate ACKs
Figure 5.10Leon-Garcia & Widjaja: Communication NetworksCopyright ©2000 The McGraw Hill Companies
PAR [OLD] problem
Ambiguities when ACKs are not numbered

Networks: Data Link Layer 18
Simplex
Protocol
for a
Noisy
Channel
Figure 3-12.A positive acknowledgement with retransmission protocol.
Continued 

Networks: Data Link Layer 19
A Simplex Protocol for a Noisy Channel
Figure 3-12.A positive acknowledgement with retransmission protocol.

Networks: Data Link Layer 20
Sliding Window Protocols
[Tanenbaum]
•Must be able to transmit data in bothdirections.
•Choices for utilization of the reverse channel:
–mix DATA frames with ACK frames.
–Piggyback the ACK
•Receiver waits for DATA traffic in the opposite direction.
•Use the ACK field in the frame header to send sequence
numberof frame being ACKed.
–better use of the channel capacity.

Networks: Data Link Layer 21
Sliding Window Protocols
•ACKs introduce a new issue –how long does
receiver wait before sending ONLY an ACK
frame.
We need an ACKTimer!!
sender timeout periodneeds to set longer.
•The protocol must deal with the premature
timeout problemand be “robust” under
pathological conditions.

Networks: Data Link Layer 22

Networks: Data Link Layer 23
Sliding Window Protocols
Each outbound frame must contain a sequence number. With n
bits for the sequence number field, maxseq = 2
n
-1and the
numbers range from 0 to maxseq.
Sliding window :: sender has a windowof frames and maintains a
list of consecutive sequence numbers for frames that it is
permitted to send without waiting for ACKs.
receiver has a window that is a list of frame sequence numbers it
is permitted to accept.
Note –sending and receiving windows do NOT have to be the
same size.
Windows can be fixed sizeor dynamically growing and shrinking.

Networks: Data Link Layer 24
Sliding Window Protocols
•Host is oblivious, message order at transport
level is maintained.
sender’s window ::frames sent but not yet
ACKed.
–new packets from the Host cause the
upper edge inside sender window to be
incremented.
–ACKed frames from the receiver cause
the lower edge inside window to be
incremented.

Networks: Data Link Layer 25
Sliding Window Protocols
•All frames in the sender’s window must be
saved for possible retransmission and we
need one timer per frame in the window.
•If the maximum sender window size is B,
the sender needs B buffers.
•If the sender windowgets full (i.e., reaches
its maximum window size, the protocol
must shut off the Host (the network layer)
until buffers become available.

Networks: Data Link Layer 26
Sliding Window Protocols
receiver window
–Frames received with sequence numbers
outside the receiver windoware not accepted.
–The receiver window size is normally static.
The set of acceptable sequence numbers is
rotated as “acceptable” frames arrive.
a receiver window size = 1 the protocol
onlyaccepts frames in order.
There is referred to as Go Back N.

Networks: Data Link Layer 27
Standard Ways to ACK
1.ACK sequence number indicates the last
frame successfully received.
-OR -
2. ACK sequence number indicates the next
frame the receiver expects to receive.
Both of these can be strictly individualACKs
or represent cumulativeACKing.
Cumulative ACKing is the most common
technique.

Networks: Data Link Layer 28
A
B
fr
0
timefr
1
fr
2
fr
3
fr
4
fr
5
fr
6
fr
3
A
C
K
1 error
Out-of-sequence frames
Go-Back-4: 4 frames are outstanding; so go back 4
fr
5
fr
6
fr
4
fr
7
fr
8
fr
9
A
C
K
2
A
C
K
3
A
C
K
4
A
C
K
5
A
C
K
6
A
C
K
7
A
C
K
8
A
C
K
9
Figure 5.13Leon-Garcia & Widjaja: Communication NetworksCopyright ©2000 The McGraw Hill Companies
Go Back N
ACKing next frame expected

Networks: Data Link Layer 29
A
B
fr
0
timefr
1
fr
2
fr
3
fr
4
fr
5
fr
1
fr
2
A
C
K
1
error
Out-of-sequence
frames
Go-Back-7:
fr
4
fr
5
fr
3
fr
6
fr
7
fr
0
N
A
K
1
A
C
K
3
A
C
K
4
A
C
K
5
A
C
K
6
A
C
K
7
A
C
K
2
Transmitter goes back to frame 1
Figure 5.17
Go Back N
with NAK error recovery
Leon-Garcia & Widjaja: Communication NetworksCopyright ©2000 The McGraw Hill Companies

Networks: Data Link Layer 30

Networks: Data Link Layer 31

Networks: Data Link Layer 32
A
B
fr
0
timefr
1
fr
2
fr
3
fr
4
fr
5
fr
6
fr
2
A
C
K
1
error
fr
8
fr
9
fr
7
fr
10
fr
11
fr
12
A
C
K
2
N
A
K
2
A
C
K
7
A
C
K
8
A
C
K
9
A
C
K
1
0
A
C
K
1
1
A
C
K
1
2
A
C
K
2
A
C
K
2
A
C
K
2
Figure 5.21
Selective Repeat
with NAK error recovery
Leon-Garcia & Widjaja: Communication NetworksCopyright ©2000 The McGraw Hill Companies

Networks: Data Link Layer 33

Networks: Data Link Layer 34
Tags