Anda di halaman 1dari 69

Data Link Layer

Faisal Karim Shaikh

DEWSNet Group
Dependable Embedded Wired/Wireless Networks

DEWSNet MUET Jamshoro

© Neeraj Suri Embedded Wired/Wireless Networks
EU-NSF ICT March 2006

The data link layer needs to pack bits into

frames, so that each frame is distinguishable
from another.

Topics discussed in this section:

Fixed-Size Framing
Variable-Size Framing

Data Link Layer 2

Data Link Layer 3

The most important responsibilities of the data

link layer are flow control and error control.
Collectively, these functions are known as data
link control.

Topics discussed in this section:

Flow Control
Error Control

Data Link Layer 4

Flow control refers to a set of procedures
used to restrict the amount of data
that the sender can send before
waiting for acknowledgment.

Data Link Layer 5

Error control in the data link layer is
based on automatic repeat request,
which is the retransmission of data.

Data Link Layer 6


•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.

Data Link Layer 7

Data Link Layer 8
• First assume an ideal channel
• no frames are lost,
• duplicated,
•or corrupted.

•We introduce two protocols for this type of

Topics discussed in this section:
Simplest Protocol
Stop-and-Wait Protocol

Data Link Layer 9

The design of the simplest protocol with no flow or error control

Data Link Layer 10

Data Link Layer 11
Design of Stop-and-Wait Protocol

Data Link Layer 12

Data Link Layer 13

• noiseless channels are nonexistent.

• Stop-and-Wait Protocol gives us an idea of
how to add flow control to its predecessor

Topics discussed:
Stop-and-Wait Automatic Repeat Request
Go-Back-N Automatic Repeat Request
Selective Repeat Automatic Repeat Request

Data Link Layer 14

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.

Data Link Layer 15

In Stop-and-Wait ARQ, we use sequence
numbers to number the frames.

Data Link Layer 16

In Stop-and-Wait ARQ, the
acknowledgment number always
announces the sequence number of the
next frame expected.

Data Link Layer 17

Design of the Stop-and-Wait ARQ Protocol

Data Link Layer 18

Data Link Layer 19
Send window for Go-Back-N ARQ

Data Link Layer 20

The send window is an abstract concept
defining an imaginary box of size 2m − 1
with three variables: Sf, Sn, and Ssize.

Data Link Layer 21

The send window can slide one
or more slots when a valid
acknowledgment arrives.

Data Link Layer 22

Receive window for Go-Back-N ARQ

Data Link Layer 23

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.

Data Link Layer 24

Design of Go-Back-N ARQ

Data Link Layer 25

Window size for Go-Back-N ARQ

Data Link Layer 26

In Go-Back-N ARQ, the size of the send
window must be less than 2m;
the size of the receiver window
is always 1.

Data Link Layer 27

Data Link Layer 28
Data Link Layer 29
Stop-and-Wait ARQ is a special case of
Go-Back-N ARQ in which the size of the
send window is 1.

Data Link Layer 30

Send window for Selective Repeat ARQ

Data Link Layer 31

Receive window for Selective Repeat ARQ

Data Link Layer 32

Design of Selective Repeat ARQ

Data Link Layer 33

Selective Repeat ARQ, window size

Data Link Layer 34

In Selective Repeat ARQ, the size of the
sender and receiver window
must be at most one-half of 2m.

Data Link Layer 35

Delivery of data in Selective Repeat ARQ

Data Link Layer 36

Data Link Layer 37
High Level Data Link Control (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 we discussed.

Topics discussed in this section:

Configurations and Transfer Modes
Control Field

Data Link Layer 38

High Level Data Link Control (HDLC)

 an important data link control protocol

 specified as ISO 33009, ISO 4335
 station types:
 Primary - controls operation of link
 Secondary - under control of primary station
 Combined - issues commands and responses
 link configurations
 Unbalanced - 1 primary, multiple secondary
 Balanced - 2 combined stations

Data Link Layer 39

Normal response mode

Data Link Layer 40

Asynchronous balanced mode

Data Link Layer 41

HDLC Transfer Modes

Normal Response Mode (NRM)

 unbalanced config, primary initiates transfer
 used on multi-drop lines, eg host + terminals

Asynchronous Balanced Mode (ABM)

 balanced config, either station initiates
transmission, has no polling overhead, widely used

Asynchronous Response Mode (ARM)

 unbalanced config, secondary may initiate transmit
without permission from primary, rarely used

Data Link Layer 42

HDLC frames

Data Link Layer 43

Flag Fields and Bit Stuffing

delimit frame at both ends with 01111110 seq

receiver hunts for flag sequence to
bit stuffing used to avoid confusion with data
containing flag seq 01111110
 0 inserted after every sequence of five 1s
 if receiver detects five 1s it checks next bit
 if next bit is 0, it is deleted (was stuffed bit)
 if next bit is 1 and seventh bit is 0, accept as flag
 if sixth and seventh bits 1, sender is indicating

Data Link Layer 44

Address Field

identifies secondary station that sent or will

receive frame
usually 8 bits long
may be extended to multiples of 7 bits
 LSB indicates if is the last octet (1) or not (0)
all ones address 11111111 is broadcast

Data Link Layer 45

Control Field

different for different frame type

 Information - data transmitted to user
• Flow and error control piggybacked on information frames
 Supervisory - ARQ when piggyback not used
 Unnumbered - supplementary link control
first 1-2 bits of control field identify frame

Data Link Layer 46

Control Field

use of Poll/Final bit depends on context

in command frame is P bit set to1 to solicit
(poll) response from peer
in response frame is F bit set to 1 to indicate
response to soliciting command
seq number usually 3 bits
 can extend to 8 bits as shown below

Data Link Layer 47

Information & FCS Fields
 Information Field
 in information and some unnumbered frames
 must contain integral number of octets
 variable length
 Frame Check Sequence Field (FCS)
 used for error detection
 either 16 bit CRC or 32 bit CRC

Data Link Layer 48

U-frame control command and response

Data Link Layer 49

HDLC Operation

 consists of exchange of information, supervisory and

unnumbered frames
 have three phases
 initialization
• by either side, set mode & seq
 data transfer
• with flow and error control
• using both I & S-
S-frames (RR, RNR, REJ, SREJ)
 disconnect
• when ready or fault noted

Data Link Layer 50

Example of connection and disconnection

Data Link Layer 51

Example of piggybacking without error

Data Link Layer 52

Example of piggybacking with error

Data Link Layer 53


Although HDLC is a general protocol that can be

used for both point-to-point and multipoint
configurations, one of the most common
protocols for point-to-point access is the Point-
to-Point Protocol (PPP). PPP is a byte-oriented

Topics discussed in this section:

Transition Phases
Multilink PPP
Data Link Layer 54
PPP frame format

Data Link Layer 55

PPP is a byte-oriented protocol using
byte stuffing with the escape byte

Data Link Layer 56

Transition phases

Data Link Layer 57

Multiplexing in PPP

Data Link Layer 58

LCP packet encapsulated in a frame

Data Link Layer 59

Table 11.2 LCP packets

Data Link Layer 60

Table 11.3 Common options

Data Link Layer 61

PAP packets encapsulated in a PPP frame

Data Link Layer 62

CHAP packets encapsulated in a PPP frame

Data Link Layer 63

IPCP packet encapsulated in PPP frame

Data Link Layer 64

Table 11.4 Code value for IPCP packets

Data Link Layer 65

IP datagram encapsulated in a PPP frame

Data Link Layer 66

Multilink PPP

Data Link Layer 67

Data Link Layer 68
Data Link Layer 69