Data Link Control and Protocol.1
Data Link Control and Protocol.1
Introduction
Error control
in the data link layer is based on automatic repeat request, which is the
retransmission of data
5
Data Link Layer
Receives services from physical layer and provides
services to network layer
6
Data Link Layer functions
Node-to-node delivery
Local responsibility
Ensures reliable delivery
Defines frames
Physical addressing
Error control
Flow control
Medium access control
Line discipline
It determines which device can send and when it
can send.
It oversees the establishment of links and the right
of a particular device to transmit at a given time.
8
Enquiry / Acknowledgment
ENQ/ACK
9
ENQ/ACK
It is used in systems where there is no question
of the wrong receiver getting the transmission
i.e. when there is a dedicated link between two
devices so that the only device capable of
receiving data is the intended one.
10
ENQ/ACK
11
Poll / Select
It works with topologies where one device is
designated as a primary station and the other
devices are secondary stations and all are using a
single transmission line.
All data communication must be made through the
primary device
If the primary wants to receive data, it
asks the secondary's if they have anything to send;
this function is called polling.
If the primary wants to send data, it tells
the target secondary to get ready to receive; this
function is called selecting
12
Multipoint Discipline
13
Addresses
We need addressing for multipoint transmission.
Each secondary device has an address that
differentiates it from the others.
If the transmission comes from the primary
device, The address indicates the recipient of
the data.
If the transmission comes from a secondary
device, the address indicates the originator of
the data.
14
Poll
It is used by the primary device to solicit
transmissions from the secondary devices.
There are two possibilities for terminating the exchange
The secondary sends all its data and sends (EOT) frame
The primary “Time’s up”
15
Select
It is used whenever the primary device has
something to send.
Any frame on the link is available to every device.
When a device recognizes its own address, it
opens the frame and reads the data.
16
Flow control
17
Stop-and-Wait
19
Flow and Error Control Mechanisms
Stop-and-Wait ARQ
Go-back-N ARQ
Selective-Repeat ARQ
Window contains 0 to
2m -1 frames
Window shrinks as
frames are sent out
Once ACK arrives,
window expands
equal to number of
frames acknowledged
by ACK
University of South Alabama 32
Computer and Information Sciences
Receiver Window
Sender Sliding
Window
41
Sliding Window Example
42
Error Control
43
Normal operation
44
Stop-and-Wait ARQ, lost frame
45
Stop-and-Wait ARQ, lost ACK frame
46
Damaged Frame
47
Damaged Frame
48
Lost Frame
49
Figure 10-21
Lost ACK
50
WCB/McGraw-Hill The McGraw-Hill Companies, Inc., 1998
Figure 10-22
Selective Reject
51
WCB/McGraw-Hill The McGraw-Hill Companies, Inc., 1998
Data Link Protocols
52
Asynchronous Protocols
In asynchronous transmission (sometimes called start-stop
transmission),
each character is sent independently.
The transmission sequence begins with
a start bit
next the character is sent
then the parity bit
and finally a stop bit are sent.
The start bit is usually a 0 and the stop bit a 1.
53
Asynchronous Protocols
Protocols that belong to asynchronous protocols
XMODEM
YMODEM
ZMODEM
BLAST
Kermit
54
Synchronous Protocols
In synchronous transmission
data is sent in a large block called a frame
Synchronous transmission is used on both
point-to-point
multipoint circuits
In multipoint circuits, addressing information needs
to be included in the frame.
Synchronous packets sometimes begin and end
with a series of synchronization (SYN) characters
that are used to help the receiver recognize
incoming data.
55
Synchronous Protocols
Synchronous transmission protocols can be:
character-oriented:
Also known as byte-oriented protocols
Interpret a transmission frame as a succession of
characters
bit-oriented:
Interpret a transmission frame as a succession of
individual bits
Control information in a bit-oriented protocol can
be one or multiple bits depending on the
information embodied in the pattern
56
Bit-oriented protocols
57
HDLC : High-level Data Link Control
58
HDLC : High-level Data Link Control
In 1979, the ISO made HDLC the standard as
a Bit-oriented control protocol
The HDLC provides a transparent
transmission service at the data link layer of
the OSI
The users of the HDLC service provides
PDUs which are encapsulated to form data
link layer frames. These frames are
separated by HDLC "flags" and are modified
by "zero bit insertion" to guarantee
transparency
59
HDLC : High-level Data Link Control
Each piece of data is encapsulated in an HDLC
frame by adding a trailer and a header.
The header contains an HDLC address and an
HDLC control field.
The trailer is found at the end of the frame, and
contains a (CRC) which detects any errors which
may occur during transmission.
The frames are separated by HDLC flag
sequences which are transmitted between each
frame and whenever there is no data to be
transmitted.
60
HDLC Frame Fields
Flag field
is 8 bits of a fixed pattern (0111 1110).
There is one flag at the beginning and one at the end frame.
The ending flag of one Frame can be used as the beginning
flag of the next frame.
To guarantee that the flag does not appear anywhere else in
the frame
HDLC uses a process called Bit Stuffing.
Every time a sender wants to transmit a bit sequence having
more than 6 consecutive 1’s, it inserts 1 redundant 0 after
the 5th 1
Exceptions:
When the bit sequence is really a flag.
when transmission is being aborted.
when the channel is being61put into idle.
Bit Stuffing
the process of adding one extra zero whenever there
are 5 consecutive 1’s in the data, so that the receiver
doesn’t mistake the data for a flag.
After
011111010 011111000 101101111 1010010
62
How does the receiver identify a stuffed bit?
63
How does the receiver identify a stuffed bit?
64
Address field
Address field is one byte or more
If the address is more than one byte, all bytes
will end with 0,except the last one
65
HDLC Control Field
66
Control Field
all three types contain a bit called (Poll/Final) P/F bit
I-Frame
N(S) : sequence # of the sent frame
N(R) : sequence # of frame expected in return
N(R) is ACK field
67
I frame
68
Poll/Final
P/F = 1 POLL or Final
Poll if frame is sent by the primary
Final if frame is sent by the secondary
69
Information
Field
70
Information Field
72
S-frame control field in HDLC
73
74
Receive Ready (RR)
Positive ACK of a received I- frame
POLL
Negative response to poll
Positive response to select
Reject (REJ)
This is a NAK frame that can be used in Go-back-n
75
Example
The figure shows an exchange using piggybacking
where is no error
Station A begins the exchange of information
with an I-frame numbered 0 followed by another
I-frame numbered 1.
Station B piggybacks its acknowledgment of
both frames onto an I-frame of its own.
Station B’s first I-frame is also numbered 0 [N(S)
field] and contains a 2 in its N(R) field,
acknowledging the receipt of A’s frames 1 and 0
and indicating that it expects frame 2 to arrive
next.
Station B transmits its second and third I-frames
(numbered 1 and 2) before accepting further
frames from station A.
Its N(R) information, therefore, has not changed:
B frames 1 and 2 indicate that station B is still
expecting A frame 2 to arrive next.
76
Example
In the previous Example,
suppose frame 1 sent from
station B to station A has an
error.
Station A informs station B to
resend frames 1 and 2 (the
system is using the Go-Back-N
mechanism)
Station A sends a reject
supervisory frame to announce
the error in frame 1
77
Polling Example
asking the secondary if it has anything to send
78
Selecting Example
A primary wishes to send data to secondary
79
U-frame control field in HDLC
80
Table 11.1 U-frame control command and response
Command/response Meaning
SNRM Set normal response mode
SNRME Set normal response mode (extended)– control field 2 bytes
SABM Set asynchronous balanced mode
SABME Set asynchronous balanced mode (extended)
UP Unnumbered poll
UI Unnumbered information
UA Unnumbered acknowledgment
RD Request disconnect
DISC Disconnect
DM Disconnect mode
RIM Request information mode
SIM Set initialization mode
RSET Reset
XID Exchange ID
FRMR Frame reject
81
U-frame Mode setting
Mode-setting commands sent by the primary or
combined station wishing to control an exchange
If a combined station wishes to establish a
temporary primary-to-secondary relationship with
another station it sends a U-frame containing code
00-001 (Normal Response Mode)
82
U-frame Disconnection
There are three disconnection codes
One command from acting primary or combined
station
disconnection (DISC 00 010) is sent by the 1 st station to
the 2nd station to terminate the connection
Two responses from the receiving station
request disconnect (RD 00 010) is a request by the 2 nd
station to the 1st that a DISC be issued.
disconnect mode (DM 11 000) is transmitted by the
addressed station as a negative response to mode-
setting command
83
Peer-to-Peer Example
84
Continued Peer-to-Peer Example
85
Example
The following HDLC frame is sent from the secondary to primary
(0111 1110 00001111 10001011 FCS 0111 1110)
0111 1110 00001111 10001011 0111 1110
FCS
Flag Address Control Flag
f) Does the frame carry management data? No, only the U-frame carry management data.
Question
The following HDLC frame is sent from the secondary to primary
(0111 1110 00000111 10101011 FCS 0111 1110)
b) What is the type of the frame? 10 in control field indicates, that this is a supervisory S-Frame
c) What is the sender sequence ? N/A since this is an S-frame, the 1st 2 bits are 10 S-Frame