Chapter 4 Data Link Layer - PowerPoint PPT Presentation

About This Presentation
Title:

Chapter 4 Data Link Layer

Description:

Chapter 4 Data Link Layer Framing Error control Flow control Multiplexing Link Maintenance Security Services Transfers frames across direct connections Directly ... – PowerPoint PPT presentation

Number of Views:102
Avg rating:3.0/5.0
Slides: 76
Provided by: eceNorthw
Category:
Tags: chapter | data | layer | link

less

Transcript and Presenter's Notes

Title: Chapter 4 Data Link Layer


1
Chapter 4 Data Link Layer
  • Framing
  • Error control
  • Flow control
  • Multiplexing
  • Link Maintenance
  • Security

2
Services
  • Transfers frames across direct connections
  • Directly connected (can be wireless), wire-like
  • Losses errors, but no out-of-sequence frames
  • More detailed services
  • Framing (bits ? frames)
  • Error control (protection from impairment)
  • Flow control
  • Multiplexing
  • Link Maintenance
  • Security Authentication Encryption

3
Data Link Protocols
  • Examples
  • PPP
  • HDLC
  • Ethernet LAN
  • IEEE 802.11 (WiFi) LAN

4
Framing (Chapter 5.4 in Leon-Garcia)
5
Framing
  • Bit stream - frames
  • Frame boundaries can be determined using
  • Character Counts
  • Control Characters
  • Framing Bits
  • Framing by illegal code

6
Control Characters
  • Transmission of printable characters using ASCII
  • Octets with HEX value lt 0x20 are nonprintable
  • Use control characters STX (start of text)
    0x02 ETX (end of text) 0x03.
  • What about transmission of data (including
    non-printable characters)?
  • Introduce DLE (data link escape) 0x10
  • DLE STX (DLE ETX) used to indicate beginning
    (end) of frame
  • Insert extra DLE in front of occurrence of DLE
    STX (DLE ETX) in frame
  • All DLEs occur in pairs except at frame
    boundaries.

7
Bit Stuffing
  • Frame delineated by flag character
  • HDLC uses bit stuffing to prevent occurrence of
    flag 01111110 inside the frame
  • Transmitter inserts extra 0 after each
    consecutive five 1s inside the frame
  • Receiver checks for five consecutive 1s
  • if next bit 0, it is removed
  • if next two bits are 10, then flag is detected
  • If next two bits are 11, then frame has errors

8
Example Bit stuffing
9
Example Framing in Ethernet
  • Ethernet complies to standard IEEE 802.3
  • An illegal manchester coding is used for framing.
  • A character count is also included in the header.
  • All frames have an integral number of bytes. If
    not, the frame is considered to be received in
    error.

10
Error Control Coding(Chapter 3.9 in Leon-Garcia)
11
Error Control
  • Two approaches
  • Forward error correction (FEC)
  • Error detection retransmission (ARQ)
  • Add redundancy (admit only codewords with a
    certain pattern)
  • Blindspot when channel transforms a codeword
    into another codeword
  • (n,k) block code
  • There are capacity-achieving codes
  • Usually with somewhat high complexity
  • When bandwidth is abundant it suffices to use
    simpler codes.

12
Single Parity Check
  • nk1
  • All codewords have even of 1s
  • All error patterns that change an odd number of
    bits are detectable
  • Others undetectable
  • Redundancy overhead 1/(k 1)

13
Example
  • Information (7 bits) (0, 1, 0, 1, 1, 0, 0)

14
Probability of Error
Perror detection failure Pundetectable
error pattern Pall error patterns with even
number of 1s p2(1 p)n-2
p4(1 p)n-4
  • Example Evaluate above for n 6, p 0.01

Pundetectable error 0.0014
15
Two-Dimensional Parity Check
16
Error-detecting capability
1, 2, or 3 errors can always be detected Not
all patterns gt4 errors can be detected
17
Hamming Codes
  • Class of linear block codes
  • Capable of correcting all single-error patterns
  • For each m gt 2, there is a (2m1, n-m) Hamming
    code

18
m 3 Hamming Code
  • Information bits are b1, b2, b3, b4
  • Parity checks (binary addition/multiplication)

b5 b1 b3 b4 b6 b1 b2
b4 b7 b2 b3 b4
  • Linearity
  • 24 16 codewords

19
Hamming (7,4) code
20
Parity Check Equations
  • Rearrange parity check equations

0 b1 b3 b4 b5 0 b1 b2
b4 b6 0 b2 b3 b4
b7
  • In matrix form
  • All codewords must satisfy these equations
  • Note each nonzero 3-tuple appears once as a
    column in check matrix H

21
Hamming Code Error Detection
22
Minimum distance
  • Undetectable error pattern must have 3 or more
    bits
  • At least 3 bits must be changed to convert one
    codeword into another codeword

Set of n-tuples within distance 1 of b2
Set of n-tuples within distance 1 of b1
Distance 3
  • Spheres of distance 1 around each codeword do not
    overlap
  • If a single error occurs, the resulting n-tuple
    will be in a unique sphere around the original
    codeword

23
General Hamming Codes
  • For m gt 2, the Hamming code is obtained through
    the check matrix H
  • Each nonzero m-tuple appears once as a column
  • The resulting code corrects all single errors
  • Pundetectable error
  • P error is a codeword
  • ( of codewords with dmin) x pdmin
  • Animated example http//www.systems.caltech.edu/EE
    /Faculty/rjm/SAMPLE_20040708.html

24
Hamming Codes Error-correction
  • Compute syndrome
  • s HR H (b e) Hb He He
  • If s 0, then the receiver accepts R as the
    transmitted codeword, find the corresponding
    k-bit message
  • If s is nonzero, then an error is detected
  • Hamming decoder assumes a single error has
    occurred
  • Each single-bit error pattern has a unique
    syndrome
  • The receiver matches the syndrome to a single-bit
    error pattern and corrects the appropriate bit

25
Hamming Codes Performance
  • Assume bit errors occur independent of each other
    and with probability p

26
Other Error Control Codes
  • Good practical codes for error detection
  • Internet Check Sums
  • CRC Polynomial Codes
  • They can detect the vast majority of errors.
  • Good codes for error correction
  • Turbo codes
  • Low-density parity-check (LDPC) codes

27
Internet Checksum
  • Several Internet protocols (e.g. IP, TCP, UDP)
    use check bits to detect errors in the header
  • A checksum is calculated for header contents and
    included in a special field.
  • Treating each 16-bit word in data as an integer,
    find
  • x b0 b1 b2 ... bL-1 modulo 216-1
  • The checksum is then given by
  • bL - x modulo 216-1
  • Thus, the headers satisfy the following pattern
  • 0 b0 b1 b2 ... bL-1 bL modulo
    216-1

28
Polynomial Codes
  • Convenient mathematical formulation of coding
  • Polynomials as codewords
  • Implemented using shift-register circuits
  • Called cyclic redundancy check (CRC) codes
  • Excellent for detecting burst errors

29
Automatic Repeat Request (ARQ) (Chapter 5 in
Leon-Garcia)
30
Peer-to-Peer Protocols
  • Each layer provides a service to the layer above.
  • It does so by executing a peer-to-peer protocol.
  • The protocol uses the the services of the layer
    below.

n 1
n 1
n
n
n 1
n 1
31
Service Models
  • The service model specifies the manner in which
    information is transferred.
  • Connection-oriented
  • Connectionless

32
Connection-Oriented
  • Connection setup
  • Message transfer
  • Connection release
  • Example TCP, PPP

33
Connectionless Transfer Service
  • No setup
  • Each message sent independently
  • Must provide all address information per message
  • Simple quick
  • Example UDP, IP

n 1 peer process send
n 1 peer process receive
Layer n connectionless service
SDU
34
Automatic Repeat Request (ARQ)
  • Purpose To pass to the receiver every frame
    correctly, only once, in order.
  • Bad things can happen Error, arbitrary delay,
    out-of-order arrival, or loss. Aim at very high
    reliability.
  • Assume if frames arrive, they arrive in-order for
    now. We save the out-of-order problem for later.
  • Basic elements
  • Error-detecting code
  • ACKs (positive acknowledgments)
  • NAKs (negative acknowledgments)
  • Timeout mechanism

35
Stop-and-Wait ARQ
Transmit a frame, wait for ACK
Error-free packet
Packet
Information frame
Transmitter
Receiver
Timer set after each frame transmission
Control frame
36
Need for Sequence Numbers
  • In cases (a) (b) the transmitting station A
    acts the same way
  • But in case (b) the receiving station B accepts
    frame 1 twice
  • Question How is the receiver to know the second
    frame is also frame 1?
  • Need a sequence number SlastSN of most recent
    transmitted frame.

37
Sequence Numbers
(c) Premature Time-out
  • The transmitting station misinterprets duplicate
    ACKs
  • Question How is the receiver to know second ACK
    is for frame 0?
  • Need SN in ACK RnextSN of next frame expected
    by the receiver.
  • Implicitly acknowledges receipt of all prior
    frames.
  • What if ACK only if SlastRnext?

38
How many bits for SN?
1-Bit SN Suffices
39
Finite State Machine
40
S/W Efficiency
41
S/W Transmission Time
frame tf time
bits/info frame
bits/ACK frame
channel transmission rate
42
Efficiency on Error-free channel
Overhead bits (header, CRC)
Effective transmission rate
Transmission efficiency
Effect of frame overhead
Effect of Delay-Bandwidth Product
Effect of ACK frame
43
Delay-Bandwidth Product
  • nf10,000 bits, nano200 bits

S/W inefficient for very high speeds or long
delays
44
Average Transmission Number
  • Proposition Let Pf be the frame error
    probability. Then the average number of
    transmissions per successful frame is 1/ (1Pf ).
  • Proof The number of transmissions to first
    correct arrival has geometric distribution.
  • E.g., if 1-in-10 gets through, then in average 10
    tries to success.

45
Efficiency in Channel with Errors
  • Assuming time-out is equal to t0 (it should be
    larger)

Effect of frame loss
  • If bit-error-rate is p, then

46
Go-Back-N
  • A sliding-window protocol.
  • Keep channel busy by continuing to send frames
  • Allow a window of up to Ws outstanding frames
  • If ACK for oldest frame arrives before window is
    exhausted, we can continue transmitting
  • If window is exhausted, pull back and retransmit
    all outstanding frames

47
Go-Back-N ARQ
  • Frame transmission are pipelined to keep the
    channel busy
  • Frame with errors and subsequent out-of-sequence
    frames are ignored

48
Choose Window Size gt RTT
49
Go-Back-N with Timeout
  • Problem with Go-Back-N as presented
  • If frame is lost and source does not have frame
    to send, then window will not be exhausted and
    recovery will not commence
  • Use a timeout with each frame
  • When timeout expires, resend all outstanding
    frames

50
Go-Back-N Transmitter Receiver
Receiver will only accept error-free frame with
SN Rnext. When the frame arrives Rnext is
incremented by 1, so the receive window slides
forward by 1.
51
Maximum Window Size Ws 2m-1
Example M 22 4, Go-Back 4 is not good.
Example Go-Back-3 is good.
52
ACK Piggybacking in Bidirectional GBN
  • In bi-directional communication, ACKs are often
    piggybacked on data frames to reduce overhead.

53
Choice of Timeout Window Size
  • Timeout value should allow for
  • 2 Tprop Tproc
  • A frame begins transmission right before the
    first frame arrives Tf
  • Next frame carries the ACK, Tf (piggy-back)
  • Thus, timeout gt 2 Tprop 2 Tf Tproc
  • Ws should be large enough to keep channel busy
    for Tout

54
Efficiency of Go-Back-N
  • if channel is error-free and Ws
    is large enough to keep channel busy
  • Assume Pf frame loss probability, time to
    deliver a frame is
  • tf if first attempt succeeds
  • Tf Wstf /(1-Pf) otherwise go back Ws and try
    again


Delay-bandwidth product determines Ws
55
Improvement over Go-Back-N?
  • Go-Back-N repeats multiple frames when a few
    errors or losses occur
  • How about retransmitting only an individual
    frame?
  • Selective Repeat ARQ
  • Timeout pinpoints individual frame
  • Receiver maintains a window of acceptable SN
  • Error-free, but out-of-sequence frames with SN
    within the receive window are buffered
  • Arrival of Rnext causes window to slide forward
    by 1 or more
  • NAK causes retransmission of oldest un-acked frame

56
Selective Repeat ARQ
57
Selective Repeat ARQ
58
Send Receive Windows
Transmitter
Receiver
59
What size Ws and Wr allowed?
  • Example M224, Ws3, Wr3

60
Ws Wr 2m is maximum allowed
  • Example M224, Ws2, Wr2

61
Why Ws Wr 2m works
  • The number of bits, m, is enough to label all
    outstanding frames.
  • Usually, Ws Wr 2m-1

0
0
1
2m-1
1
2m-1
Ws Wr-1
Slast
2
2
receive window
Rnext
Ws
send window
Ws-1
62
Efficiency of Selective Repeat
  • of transmissions required to deliver a frame
    is
  • tf / (1-Pf)

63
Example Impact Bit Error Rate on Selective
Repeat
nf10,000 bits, nano200 bits p 0, 10-6, 10-5,
10-4 and R 1 Mbps 100 ms 1 Mbps x 100 ms
100000 bits 10 frames ? Use Ws 11
  • GBN gtgt SW for large delay-bandwidth product
  • GBN becomes inefficient as error rate increases
  • SR is the best. Efficiency drops as error rate
    increases

64
Comparison of ARQ Efficiencies
Assume na, no ltlt nf, and L 2(tproptproc)R/nf
(Ws-1).
Selective-Repeat
Go-Back-N
For Pf0, SR GBN same
For Pf?1, GBN SW same
Stop-and-Wait
65
ARQ Efficiencies
66
Standard Data Link Layer ProtocolsPPP HDLC
(Chapter 5.5-6 in Leon-Garcia)
67
DLL
Packet
Network layer
Network layer
Frame
Data link layer
Data link layer
Physical layer
Physical layer
68
PPP Point-to-Point Protocol
  • A data link layer protocol.
  • Encapsulating IP packets over point-to-point
    links.
  • Router-router
  • Dial-up to router (PC to Internet service
    provider (ISP))
  • Functions
  • Provides Framing and Error Detection
  • Link Control Protocols
  • Set up, configure, testing, maintain, terminate
  • Authentication Password Authentication Protocol,
    etc.
  • Network Control Protocols
  • Configure network layer protocols
  • E.g., IP, IPX (Novell), Appletalk

69
PPP Frame Format
  • Can support multiple network protocols
    simultaneously
  • Specifies what kind of packet is contained in
    the payload

70
High-Level Data Link Control (HDLC)
  • Bit-oriented data link control
  • Derived from IBM Synchronous Data Link Control
    (SDLC)

71
HDLC Data Transfer Modes
  • Normal Response Mode
  • Used in polling multidrop lines
  • Asynchronous Balanced Mode
  • Used in full-duplex point-to-point links
  • Mode is selected during connection establishment

72
HDLC Frame Format
  • Control field gives HDLC its functionality
  • Codes in fields have specific meanings and uses
  • Flag delineate frame boundaries
  • Address identify secondary station (1 or more
    octets)
  • Control purpose functions of frame (1 or 2
    octets)
  • Information user data length not standardized
  • Frame Check Sequence 16- or 32-bit CRC

73
Control Field Format
  • S Supervisory Function Bits
  • N(R) Receive Sequence Number
  • N(S) Send Sequence Number
  • M Unnumbered Function Bits
  • P/F Poll/final bit used in interaction between
    primary and secondary

Note The information frames and supervisory
frames allow HDLC to implement Stop-and-Wait,
Go-Back-N, and Selective Repeat ARQ. Note The
unnumbered frames implement control functions.
74
Example HDLC Using Polling
Address of secondary
N(S)
N(R)
A polls B RRreceive ready
B sends 3 info frames
N(R)
A rejects fr1
A polls C
C nothing to send
A polls B, requests selective retrans. fr1
B resends fr1 Then fr 3 4
A send info fr0 to B, ACKs up to 4
75
HDLC Flow Control
  • Flow control prevents transmitter from
    overrunning receiver buffers.
  • Receiver can control flow by delaying
    acknowledgement messages.
  • Receiver can also use supervisory frames to
    explicitly control transmitter
  • Receive Not Ready (RNR) Receive Ready (RR)
Write a Comment
User Comments (0)
About PowerShow.com