0% found this document useful (0 votes)
25 views79 pages

Chapter 3

The document discusses various techniques used at the data link layer, including: - Framing to break the bit stream into discrete frames with error detection checksums - Error control using error detection, correction, and retransmission of damaged frames - Flow control like stop-and-wait and sliding window to prevent transmitters from overwhelming receivers - Common error detection codes like parity bits, CRC codes, and techniques to detect various error types - Retransmission and acknowledgment schemes to reliably deliver frames and detect lost or duplicate frames

Uploaded by

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

Chapter 3

The document discusses various techniques used at the data link layer, including: - Framing to break the bit stream into discrete frames with error detection checksums - Error control using error detection, correction, and retransmission of damaged frames - Flow control like stop-and-wait and sliding window to prevent transmitters from overwhelming receivers - Common error detection codes like parity bits, CRC codes, and techniques to detect various error types - Retransmission and acknowledgment schemes to reliably deliver frames and detect lost or duplicate frames

Uploaded by

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

The Data Link Layer

Framing
Error Control

Error Correction
Error Detection

Flow Control
Retransmission with Sliding Window

Protocols
Protocol Specification and Verification
Example Data Link Protocols
Computer Networks Fall 2002

Page 1

Computer Networks Fall 2002

Page 2

DATA LINK LAYER Services


Unacknowledged connectionless service
Voice
Acknowledged connectionless service
wireless
Acknowledged connection-oriented service

no out-of-order

Computer Networks Fall 2002

Page 3

Data Link Protocol

Computer Networks Fall 2002

Page 4

Framing
To break the bit stream up into discrete

frames and compute the checksum for each


frame. When a frame arrives at the
destination, the checksum is recomputed
and validated.
One way to achieve this framing is to insert
time gaps between frames. However,
networks rarely make any guarantees about
timing.
Computer Networks Fall 2002

Page 5

Data Framing
Character count
Starting and ending characters with

character stuffing
Starting and ending flags with bit stuffing
Physical layer coding violations

Computer Networks Fall 2002

Page 6

Character Count
character count

5 1 2 3 4 5 6 7 8 9 8 0 1 2 3 4 5 6 8 7 8 9 0 1 2 3
frame 1
5 characters

frame 2
5 characters

frame 3
8 characters

frame 4
8 characters

one-bit error

5 1 2 3 4 7 6 7 8 9 8 0 1 2 3 4 5 6 8 7 8 9 0 1 2 3
frame 1
5 characters

frame 2
(wrong)

Now a character count

Even if the checksum is incorrect so the destination knows that the frame is
bad, it still has no way of telling where the next frame starts.
Computer Networks Fall 2002

Page 7

Starting and Ending Characters


with Character Stuffing
DLE STX

user data

DLE ETX

beginning
of frame

DLE(0x10): Data Link Escape


STX(0x02): Start of TeXt
ETX(0x03): End of TeXt

end of
frame

user data 0x10


DLE STX A DLE

B DLE ETX

DLE stuffed at the sender


DLE STX A DLE DLE B DLE ETX
DLE destuffed at the receiver
DLE STX A DLE B DLE ETX
Computer Networks Fall 2002

Page 8

Starting and Ending Flags with


Bit Stuffing
01111110

flag
user data 01111110

beginning
of frame

011011111111111111110010

end of
frame

original data
bits stuffed at the sender

011011111011111011111010010
bits destuffed at the receiver
011011111111111111110010
Computer Networks Fall 2002

Page 9

Physical Layer Coding Violations


1000110

Starting
Delimiter
VV1VV000
beginning of frame

Ending
Delimiter
user
data

VV0VV000
end of frame

V: Violation bit
Computer Networks Fall 2002

Page 10

Error Control
Three types of frames at a receivers end
Damaged frame : Negative acknowledgment /
retransmission
Lost frame : Time-out mechanism
Valid frame : Sequence numbering / discarding
for valid but duplicate frames

Computer Networks Fall 2002

Page 11

Flow Control
A technique for assuring that a transmitting

station does not overwhelm a receiving


station with data

Computer Networks Fall 2002

Page 12

Error Detection and Correction


Error-correcting codes
Error-detecting codes

Computer Networks Fall 2002

Page 13

Codeword

n-bit codewords with n =m+r and


m data bits
r redundant or check bits

Not all the 2n codewords are legal. In

general, only 2m codewords are legal.


ASCII codes of 7 bits with 1 even parity bit
ASCII code for A: 1000001
codeword for A: 10000010 or 01000001
Codeword 10000011 or 11000001 is illegal.

Computer Networks Fall 2002

Page 14

Hamming Distance
The number of bit positions in which two

codewords differ is called the Hamming


distance between these two codewords.
The Hamming distance of the complete code
is the minimum Hamming distance between
all pairs of legal codewords.

Computer Networks Fall 2002

Page 15

Codeword Space
To detect

d-bit errors, a distance d +1 code is

needed.
To correct d-bit errors, a distance 2d +1 code is
needed.

1-bit error detection


Computer Networks Fall 2002

1-bit error correction


Page 16

Codeword Space : 3-bits

Computer Networks Fall 2002

Page 17

Error Correction with


Codewords: An Example

Computer Networks Fall 2002

Page 18

Determine the Number of


Check bits
To correct single bit errors with m bits

message and r check bits (n=m+r)

Code space : 2m n-bit legal messages(codewords)


For an n-bit legal codeword, all its n neighbors at
a distance 1 from it are illegal
n+1 bit patterns are dedicated to each legal
message
(n+1)2m <= 2n and consequently (m+r+1)2m <= 2m+r.
we have : (m+r+1) <= 2r

Computer Networks Fall 2002

Page 19

Hamming Code
The bits that are powers of 2 (1, 2, 4, 8, 16,

etc.) are check or parity bits of some data


bits.
For example, m=7 (ASCII) and r=4 (7+4+1 <=
24)
1 001 000 H
xx1x001x000
B1 : B3 B5 B7 B9 B11
0 1 0 1 0 0
B2 : B3 B6 B7 B10 B11
01 01 00
1001
B4 : B5 B6 B7
0000
B8 : B9 B10 B11
00110010000 codeword
Computer Networks Fall 2002

Page 20

Hamming Code : Example

Computer Networks Fall 2002

Page 21

To Correct Burst Errors


k consecutive codewords are
arranged as a matrix, one codeword per row.
To correct burst errors, the data should be
transmitted one column at a time, i.e.,
column by column.
If a burst error of length k bits occurs, at
most 1 bit in each of the k consecutive
codewords will have been affected, but the
Hamming code can correct one error per
codeword, so the entire block can be
restored.
A sequence of

Computer Networks Fall 2002

Page 22

To Correct Burst Errors

Computer Networks Fall 2002

Page 23

When a Burst Error Occurs

Computer Networks Fall 2002

Page 24

To Correct Burst Errors: An


Example
ASCII
Codeword
1001000 00110010000
1100001 10111001001
1101101 11101010101

B1 : B3 B5 B7 B9 B11
B2 : B3 B6 B7 B10 B11
B4 : B5 B6 B7

B8 : B9 B10 B11
1 2
3 4
5 6
7 8 9 10 11 column
011 001 111 110 011 000 101 010 001 000 011
burst error

011 001 111 111 101 000 101 010 001 000
Codeword
B1(011100)+B4(1101) => B5
00111010000
10110001001 B1(110001)+B4(1000) => B5
11111010101
B4(1101) => B4
Computer Networks Fall 2002

011
Codeword
00110010000
10111001001
11101010101
Page 25

Error Detection
Parity bit
low error rate
Longitudinal redundancy check (LRC) and

Vertical redundancy check (VRC)


Cyclic redundancy code (CRC code) /
Polynomial code
Easy hardware implementation
Can detect burst errors

Computer Networks Fall 2002

Page 26

Parity Bit
block size: 1000 bits
Hamming code: 1000+10 bits (m+r+1 <= 2n)
parity bit: 1000+1 bits
a message: 106 bits
without no error
Hamming code: 106+10000 bits
parity bit: 106+1000 bits

with a low error rate 10-6


Hamming code: 106+10000 bits
parity bit: 106+1000+(1000+1) bits ( one error occurs)
retransmitted block

Computer Networks Fall 2002

Page 27

Longitudinal Redundancy Check


and Vertical Redundancy Check
VRC
10110111
11010111
00111010
11110000
10001011
01011111
01111110

Computer Networks Fall 2002

LRC

Page 28

Cyclic Redundancy Code (CRC) /


Polynomial Code
m-bit frame is regarded as the
coefficient list for a polynomial, M(x), with
m terms, ranging from xm-1 to x0. For
example, 110001 represents a polynomial
x5+x4+x0.
Addition and subtraction are identical to
EXCLUSIVE OR. For example,
A

10011011
+ 11001010
= 01010001
Computer Networks Fall 2002

11110000
-10100110
=01010110
Page 29

Computing Cyclic Redundancy


Code
Both the sender and the receiver must

agree upon a generator polynomial, G(x),


with the degree r in advance.
Append r zero bits into M(x) => xrM(x)
Divide xrM(x) by G(x)
Subtract the remainder from xrM(x) and let
the result be T(x)

Computer Networks Fall 2002

Page 30

CRC Example

Computer Networks Fall 2002

Page 31

CRC at Receiver End

T(x) is received with no error.

T(x) is divisible by G(x)

When errors represented by error bit

pattern E, ( ie. E(x)), occur,

(T(x) +E(x)) /G(x) has zero reminder only if E(x)


is divisible by G(x)
Carefully selects G(x) such that E(x) is not
divisible by G(x)

Computer Networks Fall 2002

Page 32

CRC with Single and Double


Errors
Single-bit error

E(x)= xj
If G(x) contains tow or more terms, it will never
divided E(x)

Two isolate single-bits errors

.. i>j
Assume G(x) is not divisible by x

E(x)= xi +xj = xj ( xi-j+ 1)

Select G(x) that does not divide xk+1,


where 1< k i-j

Computer Networks Fall 2002

Page 33

CRC with Odd-Number-bit


Errors

Computer Networks Fall 2002

Page 34

CRC with Burst Errors

Computer Networks Fall 2002

Page 35

Well-Known Generator
Polynomials
x12+x11+x3+x2+x+1
CRC-16: x16+x15+x2+1
CRC-CCITT: x16+x12+x5+1
CRC-32: x32+x26+x23+x22+x16+x12+x11+x10+ x8+
x7+x5+x4+x2+x+1
CRC-16 and CRC-CCITT

CRC-12:

Catch all single and double errors, all errors with


an odd number of bits, all burst errors of length
16 or less, 99.997% of 17-bit error burst,
99.998% of 18-bit error and longer bursts

Computer Networks Fall 2002

Page 36

Flow Control Techniques


Stop-and-wait

The receiver provide feedback to the sender


The sender sends one frame and then waits for
an acknowledgement before proceeding

Computer Networks Fall 2002

Page 37

Dealing with the Damaged


Frames
Adding a timer ( on sender )

The receiver would only send an ack if the data


were correctly received
After time out, the sender send the frame again

Computer Networks Fall 2002

Page 38

Dealing with the Lost Frames


A lost data frame can be resent by using a

timer
When an acknowledgement is lost

The senders timer eventually time-out


The sender resends the same data frame
After the data frame is received, the receiver
sends acknowledgement again

Computer Networks Fall 2002

Page 39

Duplicate Frames : Two Cases

Computer Networks Fall 2002

Page 40

Dealing with Duplicate Frames

Computer Networks Fall 2002

Page 41

When Senders Time-out is Too


Short

Computer Networks Fall 2002

Page 42

Solution: Put Sequence Number


in the Acknowledgement

Computer Networks Fall 2002

Page 43

Piggybacking

Computer Networks Fall 2002

Page 44

Acknowledgement
Techniques
Control Frame
Data Frame: Piggybacking
The technique of temporarily delaying outgoing
acknowledgements so that they can be hooked onto the
next outgoing data frame is known as piggybacking.

Types

Positive Acknowledgement: The received frame


has no error.
Negative Acknowledgement: The received frame
has errors.

Computer Networks Fall 2002

Page 45

Flow Control
Flow control is a technique for assuring that

a transmitting station does not overwhelm a


receiving station with data.
Sliding Window Protocols: At any instant of
time, the sender maintains a set of
sequence numbers corresponding to frames
it is permitted to send. These frames are
said to fall within the sending window.
Similarly, the receiver also maintain a
receiving window corresponding to the set
of frames it is permitted to accept.
Computer Networks Fall 2002

Page 46

Sliding Windows
Each outbound frame contain a sequence

number ranging from 0 to 2n-1


Sending window

Maintained by the sender


A set of sequence numbers corresponding to
frames the sender is permitted to send

Receiving window
Maintained by the receiver
Corresponds the set of frames the receiver is
permitted to accept
Computer Networks Fall 2002

Page 47

Maintain Sliding Windows


Sending window

When a frame is sent, the upper edge of the


window is advanced by one
When an acknowledgement is received, the lower
edge of the window is advanced by one

Receiving window
Any received frame the sequence number
outside the window is discarded
When a frame whose sequence number is equal
to lower edge of the window is received, the
window is rotated by one
Computer Networks Fall 2002

Page 48

A Sliding Window Size of One

Computer Networks Fall 2002

Page 49

Sliding Window Protocols


One bit sliding window protocol ( Stop-and-

Wait)
Go-back-N Protocol
Selective Repeat Protocol

Computer Networks Fall 2002

Page 50

One Bit Sliding Window


Protocol
Stop and-Wait
A protocol in which the sender sends one frame
and then waits for an acknowledgement before
proceeding.
a sliding window protocol with maximum

window size = 1

Sequence number {0, 1} is sufficient

Frame header fields


Seq : the sequence number of this frame
Ack : the number of the last frame is received
Computer Networks Fall 2002

Page 51

Efficiency of Stop-and-Wait
Stop-and-Wait
time (msec)
t=0
start sending
t=20 completely sent
t=250 frame arrival
t=270 completely received
t=270 acknowledge without delay
t=520 acknowledgement arrival

50 kbps data rate


500 msec round-trip delay
1000 bits per frame

26000 bits could be transmitted in 520 msec.


Efficiency: 1000/26000=20/520 < 4% used
Computer Networks Fall 2002

Page 52

Efficiency of Stop-and-Wait

Computer Networks Fall 2002

Page 53

Pipelining

time (msec)
t=0
start sending the first frame
t=20 the first completely sent
t=250 frame arrival
t=270 the first completely received
t=270 acknowledge without delay
t=520 acknowledgement arrival

50 kbps data rate


500 msec round-trip delay
1000 bits per frame

To pipeline frames without waiting for acknowledgements.


Computer Networks Fall 2002

Page 54

Pipelining

Computer Networks Fall 2002

Page 55

Line of Utilization for Stopand-Wait


b bits/sec, frame size : l bits,
round-trip delay : R seconds

Capacity :

Transmission time : l/b


Total duration : R + l/b
Utilization : (l/b) / (R + l/b) = l / (l+bR)

Computer Networks Fall 2002

Page 56

Go-back-N
Senders window size is n (n >1)

At most n outstanding frames can be sent

After receiving a damaged frame

Receiver discards all subsequent frames


Sender retransmits the damaged frame and all
its successors after the times out

Computer Networks Fall 2002

Page 57

Go-back-N : An Example

Computer Networks Fall 2002

Page 58

Selective Repeat
Receivers window size is n ( n >1 )

At most n frames can be buffered

Receiver stores all the correct frames

following the bad one


The sender retransmits only the bad frame
not all its successors

Computer Networks Fall 2002

Page 59

Selective Repeat : An Example

Computer Networks Fall 2002

Page 60

Retransmission with Sliding


Window Protocols
ARQ (Automatic Repeat reQuest): When an

error is detected, the receiver requests


that the frame be retransmitted.
Stop-and-wait ARQ
Go-back-N continuous ARQ
Selective-repeat continuous ARQ

All of them belong to the sliding window

protocols.
Both Go-back-N and Selective-repeat ARQs
uses the pipelining technique.
Computer Networks Fall 2002

Page 61

ARQ
Instead of using positive or negative

acknowledgement, the receiver sends back


only the frame number of the next frame is
expects
On the receipt of each frame (including
damaged)

It may speed up the transmission of lost or


damaged frames, if the time-out value is loose

Computer Networks Fall 2002

Page 62

Stop-and-Wait with ARQ

Computer Networks Fall 2002

Page 63

Window Size
1+
(round-trip delay / transmission time)
Maximum window size of Go-back-N ARQ is
MaxSeq, where the sequence number are 0,
1, ... , MaxSeq.
Maximum window size of Selective-repeat
ARQ is (MaxSeq+1)/2.
The optimal senders windows size is

Computer Networks Fall 2002

Page 64

Protocol Specification and


Verification
Finite State Machine Model
Petri Net Model

Computer Networks Fall 2002

Page 65

Finite State Machine Model


States

Instants that the protocol machine is waiting for


the next event to happen

Transitions
Occur when some event occurs
Change form some state to another

Computer Networks Fall 2002

Page 66

Finite State Machine Model for


Bit Destuffing
Bit destuffing

input/output

0/11110
0/110
1/
S
0/0

1/
1

0/10

1/
2

0/1110

1/
3

bit destuffed
0/11111

Computer Networks Fall 2002

1/

1/
5

0/
6

end of
E frame

1/
T
beginning
error
of the next
frame
Page 67

State Digram for Stop-andWait

Computer Networks Fall 2002

Page 68

Example Data Link Protocols


HDLC
bit oriented
bit stuffing
SLIP
PPP

character oriented
character stuffing
multiprotocol framing

Computer Networks Fall 2002

Page 69

High-level Data Link Control


derived from SDLC (Synchronous Data Link

Control) of IBMs SNA


ADCCP (Advanced Data Communication
Control Procedure): ANSI
HDLC: ISO
LAP (Link Access Procedure): X.25 of CCITT
LAPB: CCITT
http://members.tripod.com/~vkalra/hdlc.ht
ml

Computer Networks Fall 2002

Page 70

HDLC Frame Format


bits
8
8
8
01111110 Address Control

>=0
16
8
Data Checksum 01111110

A frame is delimited with the flag sequence

01111110. On idle point-to-point lines, flag


sequences are transmitted continuously.
Address

to identify one of multiple terminals for point-tomultipoint lines


to distinguish commands from responses for point-to-point
lines

Computer Networks Fall 2002

Page 71

HDLC Frame Addressing


DTE

DCE PDN
address=0xC0, command

Address A

address=0xC0, response
address=0x80, command

Address B

Computer Networks Fall 2002

address=0x80, response

Page 72

HDLC Frame Type


Control Field
Type
Information
Supervisory

Command
I
RR
REJ
RNR
SR

Unnumbered
SABM
DISC

Response 1 2 3 4
0 N(S)
RR
1000
REJ
1001
RNR
1010
SR
1011*
DM
1111
1111
1100
UA
1100
FRMR
1110

5
P
P/F
P/F
P/F
P/F
F
P
P
F
F

678
N(R)
N(R)
N(R)
N(R)
N(R)
000
100
010
110
001

* not defined in LAPB


Computer Networks Fall 2002

Page 73

HDLC P/F Bit


In Command frames: P (POLL) bit
In Response frames: F (FINAL) bit
Each Command frame with the POLL bit set

to 1 must receive a Response frame with the


FINAL bit set to 1.

Computer Networks Fall 2002

Page 74

HDLC Supervisory Frame


RR (Receive Ready): acknowledgement frame

N(R): the next frame expected to be received


REJ (Reject): negative acknowledgement frame
N(R): the first frame in sequence not received
correctly (Go-back-N protocol)
RNR (Receive not Ready): same as Type 0 and
telling the sender to stop sending
SR (Selective Reject): acknowledgement frame
N(R): the frame expected to be retransmitted
(Selective Repeat protocol)

Computer Networks Fall 2002

Page 75

HDLC Unnumbered Frame


Link Initiation

Link Termination

SABM

DISC
accept

UA

UA

SABM
reject
DM
Computer Networks Fall 2002

UA
SABM
DISC
DM

Unnumbered/Acknowledgement
Set Asynchronous Balanced Mode
Disconnect
Disconnected Mode
Page 76

Serial Line IP
SLIP (Serial Line IP): to connect SUN

workstations to the Internet over a dial-up


line using a modem in 1984
RFC 1055
Sending IP packets over the line, with a
special flag byte at the end for framing.
Using character stuffing.
Many problems: no error detection,
supporting only IP, no authentication, etc.
Computer Networks Fall 2002

Page 77

Point-to-Point Protocol
PPP: RFC 1661, RFC 1662, RFC 1663
A multiprotocol framing mechanism suitable

for use over modems, HDLC lines, SONET ,


and other physical layers.
Supports error detection, option
negotiation, header compression, and
optionally, reliable transmission using HDLC
framing.
Character-oriented
Computer Networks Fall 2002

Page 78

Homework
#2, #3, #6, #9,#11

Computer Networks Fall 2002

Page 79

You might also like