Professional Documents
Culture Documents
Packets
(a)
Frames
(b)
1 2
2 2 1
Medium
1 2 B
3 2 1
2 2 1
A 1 2
Copyright 2000 The McGraw Hill Companies
End to End
ACK/NAK
1 Data
2 Data
3 Data
4 Data
Hop by Hop
Host A
Layer 4 4 Layer
Host B
Node 1
Layer 2 frame
Node 2
Data Link Layer Model Assume Host has infinite supply of messages. Node constructs frame from a single packet message. Checksum is automatically appended in the hardware. Protocols are developed in increasing complexity to help Understand the data link layer issues.
Data Link Layer 6
CRC Header
Header
Control frame
Figure 5.8
packet network layer buffer frame data link layer info ack seq kind
physical layer
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); if (event == frame_arrival) { from_network_layer (&buffer); inc (next_frame_to_send); } } } Data Link Layer 9
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 */ } } }
Data Link Layer 10
In parts (a) and (b) transmitting station A acts the same way, but part (b) receiving station B accepts frame 1 twice.
Copyright 2000 The McGraw Hill Companies Leon-Garcia & Widjaja: Communication Networks Figure 5.9
11
time
frame 0 ACK frame 1 frame 2
Figure 5.10
12
0 1 0 1 0 1 0 1 Rnext
Receiver
Station B
13
14
Must be able to transmit data in both directions. 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 number of frame being ACKed.
The protocol must deal with the premature timeout problem and be robust under pathological conditions.
Data Link Layer 16
The set of acceptable sequence numbers is rotated as acceptable frames arrive. a receiver window size = 1 the protocol only accepts frames in order. There is referred to as Go Back N.
Data Link Layer 20
1. ACK sequence number indicates the last frame successfully received. 1. ACK sequence number indicates the next frame the receiver expects to receive. Both of these can be strictly individual ACKs or represent cumulative ACKing. Cumulative ACKing is the most common technique.
Data Link Layer 21
Go Back N
Go-Back-4:
fr 0 fr 1 fr 2 fr 3 fr 4 fr 5
time
A C K 1
A C K 2
A C K 3
A C K 5
A C K 6
A C K 7
A C K 8
A C K 9
22
Go-Back-7:
fr 0 fr 1 fr 2 fr 3 fr 4 fr 5 fr 1 fr 2 fr 3 fr 4 fr 5 fr 6 fr 7 fr 0
time
B
A C K 1 N A K 1 Out-of-sequence frames A C K 2 A C K 3 A C K 4 A C K 5 A C K 6 A C K 7
error
Copyright 2000 The McGraw Hill Companies Leon-Garcia & Widjaja: Communication Networks Figure 5.17
23
fr 0
fr 1
fr 2
fr 3
fr 4
fr 5
fr 6
fr 2
fr 7
fr 8
fr 9
fr 10
fr 11
fr 12
time
A C K 1
A C K 2
error
N A K 2
A C K 2
A C K 2
A C 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
Figure 5.21
24