Title: Chapter%204%20Data%20Link%20Layer
1 Chapter 4 Data Link Layer
- Framing
- Error control
- Flow control
- Multiplexing
- Link Maintenance
- Security
2Services
- 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
3Data Link Protocols
- Examples
- PPP
- HDLC
- Ethernet LAN
- IEEE 802.11 (WiFi) LAN
4Framing (Chapter 5.4 in Leon-Garcia)
5Framing
- Bit stream - frames
- Frame boundaries can be determined using
- Character Counts
- Control Characters
- Framing Bits
- Framing by illegal code
6Control 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.
7Bit 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
8Example Bit stuffing
9Example 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.
10Error Control Coding(Chapter 3.9 in Leon-Garcia)
11Error 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.
12Single Parity Check
- 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)
13Example
- Information (7 bits) (0, 1, 0, 1, 1, 0, 0)
14Probability 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
15Two-Dimensional Parity Check
16Error-detecting capability
1, 2, or 3 errors can always be detected Not
all patterns gt4 errors can be detected
17Hamming 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
m n 2m1 k nm Code rate k/n
3 7 4 4/7
4 15 11 11/15
5 31 26 26/31
18m 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
19Hamming (7,4) code
Information Codeword Weight
b1 b2 b3 b4 b1 b2 b3 b4 b5 b6 b7 w(b)
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 1 1 1 1 4
0 0 1 0 0 0 1 0 1 0 1 3
0 0 1 1 0 0 1 1 0 1 0 3
0 1 0 0 0 1 0 0 0 1 1 3
0 1 0 1 0 1 0 1 1 0 0 3
0 1 1 0 0 1 1 0 1 1 0 4
0 1 1 1 0 1 1 1 0 0 1 4
1 0 0 0 1 0 0 0 1 1 0 3
1 0 0 1 1 0 0 1 0 0 1 3
1 0 1 0 1 0 1 0 0 1 1 4
1 0 1 1 1 0 1 1 1 0 0 4
1 1 0 0 1 1 0 0 1 0 1 4
1 1 0 1 1 1 0 1 0 1 0 4
1 1 1 0 1 1 1 0 0 0 0 3
1 1 1 1 1 1 1 1 1 1 1 7
20Parity Check Equations
- Rearrange parity check equations
0 b1 b3 b4 b5 0 b1 b2
b4 b6 0 b2 b3 b4
b7
- All codewords must satisfy these equations
- Note each nonzero 3-tuple appears once as a
column in check matrix H
21Hamming Code Error Detection
22Minimum 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
23General 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
24Hamming 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
25Hamming Codes Performance
- Assume bit errors occur independent of each other
and with probability p
26Other 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
27Internet 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
28Polynomial 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
29Automatic Repeat Request (ARQ) (Chapter 5 in
Leon-Garcia)
30Peer-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
31Service Models
- The service model specifies the manner in which
information is transferred. - Connection-oriented
- Connectionless
32Connection-Oriented
- Connection setup
- Message transfer
- Connection release
- Example TCP, PPP
33Connectionless 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
34Automatic 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
35Stop-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
36Need 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.
37Sequence 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?
38How many bits for SN?
1-Bit SN Suffices
39Finite State Machine
40S/W Efficiency
41S/W Transmission Time
frame tf time
bits/info frame
bits/ACK frame
channel transmission rate
42Efficiency 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
43Delay-Bandwidth Product
- nf10,000 bits, nano200 bits
2xDelayxBW Efficiency 1 ms 200 km 10 ms 2000 km 100 ms 20,000 km 1 sec 200,000 km
1 Mbps 103 88 104 49 105 9 106 1
1 Gbps 106 1 107 0.1 108 0.01 109 0.001
S/W inefficient for very high speeds or long
delays
44Average 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.
45Efficiency 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
46Go-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
47Go-Back-N ARQ
- Frame transmission are pipelined to keep the
channel busy - Frame with errors and subsequent out-of-sequence
frames are ignored
48Choose Window Size gt RTT
49Go-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
50Go-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.
51Maximum Window Size Ws 2m-1
Example M 22 4, Go-Back 4 is not good.
Example Go-Back-3 is good.
52ACK Piggybacking in Bidirectional GBN
- In bi-directional communication, ACKs are often
piggybacked on data frames to reduce overhead.
53Choice 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
54Efficiency 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
55Improvement 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
56Selective Repeat ARQ
57Selective Repeat ARQ
58Send Receive Windows
Transmitter
Receiver
59What size Ws and Wr allowed?
60Ws Wr 2m is maximum allowed
61Why 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
62Efficiency of Selective Repeat
- of transmissions required to deliver a frame
is - tf / (1-Pf)
63Example 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
Efficiency 0 10-6 10-5 10-4
SW 8.9 8.8 8.0 3.3
GBN 98 88.2 45.4 4.9
SR 98 97 89 36
- 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
64Comparison 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
65ARQ Efficiencies
66Standard Data Link Layer ProtocolsPPP HDLC
(Chapter 5.5-6 in Leon-Garcia)
67DLL
Packet
Network layer
Network layer
Frame
Data link layer
Data link layer
Physical layer
Physical layer
68PPP 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
69PPP Frame Format
- Can support multiple network protocols
simultaneously - Specifies what kind of packet is contained in
the payload
70High-Level Data Link Control (HDLC)
- Bit-oriented data link control
- Derived from IBM Synchronous Data Link Control
(SDLC)
71HDLC 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
72HDLC 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
73Control 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.
74Example 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
75HDLC 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)