Chapter 5 Lecture Presentation

advertisement
Chapter 4
Data Link Layer
Framing
Error control
Flow control
Multiplexing
Link Maintenance
Security
1
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
2
Data Link Protocols
A
Packets
Packets
Data link
layer
Data link
layer
Frames
Physical
layer
Physical
layer
B
Examples
 PPP
 HDLC
 Ethernet LAN
 IEEE 802.11 (WiFi) LAN
3
Framing
(Chapter 5.4 in Leon-Garcia)
4
Framing
transmitted
frames
received
frames


Bit stream - frames
Frame boundaries can
be determined using:
1.
Framing
2.
3.
0110110111
0111110101
4.
Character Counts
Control Characters
Framing Bits
Framing by illegal code
5
Control Characters
Transmission of printable characters using ASCII

Octets with HEX value < 0x20 are nonprintable
Use control characters: STX (start of text) = 0x02; ETX (end of text) = 0x03.


Data to be sent
A DLE B ETX DLE STX E
After stuffing and framing
DLE STX A DLE DLE B ETX DLE DLE STX E DLE ETX

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.
6
Bit Stuffing
HDLC frame
Flag Address Control
Information
FCS
Flag
any number of bits




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
7
Example: Bit stuffing
(a)
Data to be sent
0110111111111100
After stuffing and framing
0111111001101111101111100001111110
(b)
Data received
01111110000111011111011111011001111110
After destuffing and deframing
*000111011111-11111-110*
8
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.
9
Error Control Coding
(Chapter 3.9 in Leon-Garcia)
10
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.
c1…cn
b1…bk
Encoder
Channel
Decoder
11
Single Parity Check

n=k+1
Information bits:
Check Bit:
Codeword:

bk+1= b1+ b2+ b3+ …+ bk modulo 2
(b1, b2, b3, …, bk,, bk+!)
All codewords have even # of 1s



b1, b2, b3, …, bk
All error patterns that change an odd number of bits are
detectable
Others undetectable
Redundancy: overhead = 1/(k + 1)
12
Example

Information (7 bits): (0, 1, 0, 1, 1, 0, 0)
13
Probability of Error
P[error detection failure]
= P[undetectable error pattern]
= P[all error patterns with even number of 1s]
=

n p2(1 – p)n-2 + n
4
2
p4(1 – p)n-4 + …
Example: Evaluate above for n = 6, p = 0.01
P[undetectable error] = 0.0014
14
Two-Dimensional Parity Check
1 0 0 1 0 0
0 1 0 0 0 1
1 0 0 1 0 0
row check bits
1 1 0 1 1 0
1 0 0 1 1 1
column check bit
15
Error-detecting capability
1 0 0 1 0 0
1 0 0 1 0 0
0 0 0 0 0 1
0 0 0 0 0 1
1 0 0 1 0 0
One error
1 0 0 1 0 0
1 1 0 1 1 0
1 0 0 1 1 0
1 0 0 1 1 1
1 0 0 1 1 1
1 0 0 1 0 0
1 0 0 1 0 0
0 0 0 1 0 1
0 0 0 1 0 1
1 0 0 1 0 0 Three
errors
1 0 0 1 1 0
1 0 0 1 0 0
1 0 0 1 1 1
1 0 0 1 1 1
1 0 0 0 1 0
Two errors
1, 2, or 3 errors
can always be
detected; Not all
patterns >4 errors
can be detected
Four errors
(undetectable)
16
Arrows indicate failed check bits
Hamming Codes



Class of linear block codes
Capable of correcting all single-error patterns
For each m > 2, there is a (2m–1, n-m) Hamming code
m
3
4
5
n = 2m–1 k = n–m
7
4
15
11
31
26
Code rate k/n
4/7
11/15
26/31
17
m = 3 Hamming Code


Information bits are b1, b2, b3, b4
Parity checks (binary addition/multiplication)
b5 = b1
+ b3 + b4
b6 = b1 + b2
b7 =


+ b4
+ b2 + b3 + b4
Linearity
24 = 16 codewords
18
Hamming (7,4) code
Information
Codeword
Weight
b1 b2 b3 b4 b5 b6 b7
w(b)
b1
b2
b3
b4
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
19
Parity Check Equations

Rearrange parity check equations:
0 = b1
+ b3 + b4 + b5
0 = b1 + b2
0=

+ b4
+ b6
+ b2 + b3 + b4
In matrix form:
+ b7
b1
b2
0
= 1011100
b3
0
= 1101010
b4 = H bt = 0
0
= 0111001
b5
b6
b7


All codewords must
satisfy these
equations
Note: each nonzero
3-tuple appears once
as a column in check
matrix H
20
Hamming Code: Error Detection
1011100
s=He= 1101010
0111001
1011100
s=He= 1101010
0111001
1011100
s=He= 1101010
0111001
0
0
1
0
0
0
0
0
1
0
0
1
0
0
1
Single error detected
= 0
1
0
1
= 1 + 0 =
1
0
1
1
1
1
0 = 1 +
0
0
0
0
0
1 +
1
1
1
1
1
0 = 0
1
Double error detected
Triple error not
detected
21
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 ntuples
within
distance 1
of b1
o
o
Distance 3
o
b1
o


o
o
o
b2
Set of ntuples
within
distance 1
of b2
o
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
22
General Hamming Codes

For m > 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
P[undetectable 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
23
Hamming Codes: Error-correction
(Transmitter) b
+
R (Receiver)
e Error pattern



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
24
Hamming Codes: Performance

Assume bit errors occur independent of each other
and with probability p
s = H R = He
7p
s=0
No errors in
transmission
(1–p)7
Undetectable
errors
7p3
s=0
1–3p
Correctable
errors
7p(1–3p)
3p
Uncorrectable
errors
21p2
25
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
26
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
27
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
Encoder for g(x) = x3 + x + 1
0,0,0,i0,i1,i2,i3
g0 = 1
+
g1 = 1
Reg 0
+
g3 = 1
Reg 1
Reg 2
28
Automatic Repeat Request
(ARQ)
(Chapter 5 in Leon-Garcia)
29
Peer-to-Peer Protocols

n+1
n+1
n
n
n–1
n–1


Each layer provides
a service to the layer
above.
It does so by
executing a peer-topeer protocol.
The protocol uses
the the services of
the layer below.
30
Service Models

The service model specifies the manner in
which information is transferred.


Connection-oriented
Connectionless
31
Connection-Oriented




Connection setup
Message transfer
Connection release
Example: TCP, PPP
n + 1 peer process
send
SDU
n + 1 peer process
receive
Layer n connection-oriented service
SDU
32
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
SDU
n + 1 peer process
receive
Layer n connectionless service
33
Automatic Repeat Request (ARQ)




Purpose: To pass to the receiver every frame
correctly, only once, in order.
Bad things can happen: Error, arbitrary delay, outof-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
34
Stop-and-Wait ARQ
Transmit a frame, wait for ACK
Error-free
packet
Packet
Information frame
Timer set after
each frame
transmission
Transmitter
Receiver
Control frame
35
Need for Sequence Numbers
(a) Frame 1 lost
A
B
Time-out
Time
Frame
0
Frame
1
ACK
(b) ACK lost
A
B




Frame
1
Frame
2
ACK
Time-out
Time
Frame
0
Frame
1
ACK
Frame
1
ACK
Frame
2
ACK
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: Slast=SN of most recent transmitted frame.
36
Sequence Numbers
(c) Premature Time-out
Time-out
A
Time
Frame
0
ACK
B
Frame
0
ACK
Frame
1
Frame
2

The transmitting station misinterprets duplicate ACKs
Question: How is the receiver to know second ACK is for frame 0?

Need SN in ACK: Rnext=SN of next frame expected by the receiver.

Implicitly acknowledges receipt of all prior frames.

What if ACK only if Slast=Rnext?

37
How many bits for SN?
1-Bit SN Suffices
0
1 0
1 0
1 0
1
0
1 0
1 0
1 0
1
Rnext
Slast
Timer
Slast
Transmitter
A
Receiver
B
Rnext
38
Finite State Machine
Slast
Transmitter
A
Receiver
B
Rnext
Frame 0
lost/error
(0,0)
ACK 1
arrives
(1,0)
ACK 1
lost/error
Error-free frame 0
arrives
Global State:
(Slast, Rnext)
Error-free frame 1
arrives
ACK 0
lost/error
(0,1)
ACK 0
arrives
(1,1)
Frame 1
lost/error
39
S/W Efficiency
First frame bit
enters channel
Last frame bit
enters channel
ACK
arrives
Transmitter waits for ACK
t
A
B
First frame bit
arrives at
receiver
t
Last frame bit
arrives at
receiver
Receiver
processes frame
and
prepares ACK
40
S/W Transmission Time
t0 = total time to transmit 1 frame if no error
A
tproc
B
tprop
frame
tf time
tproc
tprop
tack
t 0  2t prop  2t proc  t f  t ack
nf
bits/info frame
na
 2t prop  2t proc 

R
R
bits/ACK frame
channel transmission rate
41
Efficiency on Error-free channel
Effective transmission rate:
0
eff
R
Overhead bits (header, CRC)
# of informatio n bits n f  no


,
total time
t0
Transmission efficiency:
0 
0
Reff
R

n f  no
t0 R

1
na

nf
Effect of
ACK frame
no
1
nf
.
2(t prop  t proc ) R
Effect of
frame overhead
nf
Effect of
42
Delay-Bandwidth Product
Delay-Bandwidth Product
nf=10,000 bits, na=no=200 bits
2xDelayxBW
Efficiency
1 ms
200 km
10 ms
2000 km
1 Mbps
103
88%
106
1%
104
49%
107
0.1%
1 Gbps
100 ms
1 sec
20,000 km 200,000 km
105
9%
108
0.01%
106
1%
109
0.001%
S/W inefficient for very high speeds or long delays
43
Average Transmission Number
Proposition: Let Pf be the frame error probability. Then the average
number of transmissions per successful frame is 1/ (1–Pf ).
Proof: The number of transmissions to first correct arrival has
geometric distribution.

E[ N ]   iP[n  i ]
i 1

  i (1  Pf ) Pf
i 1
i 1
d
 (1  Pf )
dPf
1
d 
1

1
1  Pf dPf  1  Pf

 Pf
i
i 1

 1 .
 1 P
f

E.g., if 1-in-10 gets through, then in average 10 tries to success.
44
Efficiency in Channel with Errors

Assuming time-out is equal to t0 (it should be larger)
 SW 

Reff
R

n f  no
Rt 0 /(1  Pf )
1

na 2(t prop  t proc ) R
1

nf
nf
If bit-error-rate is p, then
1  Pf  (1  p)
nf
e
no
nf
n f p
(1  Pf )
Effect of
frame loss
for large n f and small p
45
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
46
Go-Back-N ARQ
4 frames are outstanding; so go back 4
Go-Back-4:
fr
0
A
fr
1
fr
2
fr
3
fr
4
fr
5
fr
6
fr
3
fr
4
fr
5
fr
6
fr
7
fr
8
Time
fr
9
B
Rnext


0
A
C
K
1
A
C
K
2
A
C
K
3
out of sequence
frames
1
2
3
3
A
C
K
4
4
A
C
K
5
5
A
C
K
6
6
A
C
K
7
7
A
C
K
8
8
A
C
K
9
9
Frame transmission are pipelined to keep the channel busy
Frame with errors and subsequent out-of-sequence frames are ignored
47
Choose Window Size > RTT
Time-out
Stop-and-Wait ARQ
fr
0
A
B
A
C
K
1
Receiver is
looking for
Rnext=0
If window exhausted, go back N
Go-Back-N ARQ
A
Time
fr
1
fr
0
fr
0
fr
1
fr
2
fr
3
fr
0
fr
1
B
Receiver is Out-oflooking for sequence
Rnext=0
frames
fr
2
A
C
K
1
fr
3
A
C
K
2
fr fr
4 5
A
C
K
3
A
C
K
4
fr
6
A
C
K
5
Time
A
C
K
6
48
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
49
Go-Back-N Transmitter & Receiver
Receiver
Transmitter
Send Window (size Ws)
...
Frames
transmitted S
last
and ACKed
Srecent
Slast+Ws-1
Buffers
Timer
Slast
Timer
Slast+1
oldest unACKed frame
Srecent
most recent
transmission
...
Slast+Ws-1
Frames
received
Rnext
Receiver will only accept
error-free frame with SN Rnext.
...
Timer
Receive Window (size 1)
When the frame arrives Rnext is
incremented by 1, so the receive
window slides forward by 1.
max SN
allowed
50
Maximum Window Size Ws = 2m-1
Example: M = 22 = 4, Go-Back – 4 is not good.
Transmitter goes back 4
A
fr
0
A
C
K
1
B
Rnext
fr
2
fr
1
0
1
fr
3
A
C
K
2
2
fr
0
A
C
K
3
3
fr
1
A
C
K
0
fr
2
fr
3
Time
Receiver has Rnext= 0, but it does not
know whether this is the old frame 0 or
a new frame 0
0
Example: Go-Back-3 is good.
A
fr
0
B
Rnext
0
fr
0
fr
2
fr
1
A
C
K
1
A
C
K
2
1
2
A
C
K
3
3
fr
1
fr
2
Receiver has Rnext= 3 , so it
rejects the old frame 0
Time
51
ACK Piggybacking in Bidirectional GBN

In bi-directional communication, ACKs are
often piggybacked on data frames to reduce
overhead.
SArecent RA next
Transmitter
Receiver
Receiver
Transmitter
SBrecent RB next
52
Choice of Timeout & Window Size
Tout
Tprop

Tf
Tprop
Timeout value should allow for:





Tf
Tproc
2 Tprop + Tproc
A frame begins transmission right before the first frame arrives Tf
Next frame carries the ACK, Tf (piggy-back)
Thus, timeout > 2 Tprop + 2 Tf + Tproc
Ws should be large enough to keep channel busy for Tout
53
Efficiency of Go-Back-N


GBN  1 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
Tf + Wstf /(1-Pf)
if first attempt succeeds
otherwise go back Ws and try again

Ws t f 
Ws t f


tGBN  t f (1  Pf )  t f 
Pf  t f  Pf


1  Pf 
1  Pf

n f  no
n
1 o
nf
tGBN
GBN 

(1  Pf )
R
1  (Ws  1) Pf
Delay-bandwidth product determines Ws
54
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
55
Selective Repeat ARQ
A
fr
0
fr
1
fr
2
fr
3
fr
4
fr
5
fr
6
fr
2
fr
7
A
C
K
2
A
C
K
2
fr
8
fr fr fr fr
9 10 11 12
Time
B
A
C
K
1
A
C
K
2
N
A
K
2
A
C
K
2
A
C
K
7
A
C
K
8
A
C
K
9
A
C
K
1
0
A
C
K
1
1
A
C
K
1
2
56
Selective Repeat ARQ
Receiver
Transmitter
Send Window
...
Frames
transmitted S
last
and ACKed
Timer
Timer
Srecent
Slast+ Ws-1
Receive Window
Frames
received Rnext
Buffers
Slast
Buffers
Rnext+ 1
Slast+ 1
Rnext+ 2
Rnext + Wr-1
...
Timer
Srecent
...
Slast+ Ws - 1
...
Rnext+ Wr- 1
max Seq #
accepted
57
Send & Receive Windows
Transmitter
2m-1
0
Receiver
1
2m-1
0
1
2
Slast
send
i
window
i+1
i + Ws – 1
Moves k forward when ACK
arrives with Rnext = Slast + k
k = 1, …, Ws-1
2
Rnext
receive
window
j
i
j + Wr – 1
Moves forward by 1 or more
when frame arrives with
58
Seq. # = Rnext
What size Ws and Wr allowed?

Example: M=22=4, Ws=3, Wr=3
Frame 0 resent
Send
Window
{0,1,2} {1,2}
A
B
Receive
Window
fr0
{2}
fr1
{.}
fr2
ACK1
{0,1,2} {1,2,3}
fr0
ACK2
Time
ACK3
{2,3,0}
{3,0,1}
Old frame 0 accepted as a
new frame because it falls
in the receive window
59
Ws + Wr = 2m is maximum allowed

Example: M=22=4, Ws=2, Wr=2
Frame 0 resent
Send
Window
{0,1}
A
{.}
{1}
fr0
B
Receive
Window
fr0
fr1
ACK1
{0,1}
{1,2}
Time
ACK2
{2,3}
Old frame 0 rejected because it
falls outside the receive window
60
Why Ws + Wr = 2m works


2m-1
The number of bits, m, is enough to label all
outstanding frames.
Usually, Ws = Wr = 2m-1
0
Slast
send
window
2m-1
1
2
0
Ws +Wr-1
1
2
receive
window
Rnext Ws
Ws-1
61
Efficiency of Selective Repeat

# of transmissions required to deliver a frame is:
tf / (1-Pf)
n f  no
 SR 
t f /(1  Pf )
R
 no
 1 
 n
f


(1  Pf )


62
Example: Impact Bit Error Rate on
Selective Repeat
nf=10,000 bits, na=no=200 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
S&W
8.9%
8.8%
8.0%
3.3%
GBN
98%
88.2%
45.4%
4.9%
SR
98%
97%
89%
36%



GBN >> S&W for large delay-bandwidth product
GBN becomes inefficient as error rate increases
SR is the best. Efficiency drops as error rate increases
63
Comparison of ARQ Efficiencies
Assume na, no << nf, and L = 2(tprop+tproc)R/nf =(Ws-1).
Selective-Repeat:
 SR
 no
 (1  Pf )1 
 n
f

Go-Back-N:
GBN 
1  Pf
1  (WS  1) Pf
Stop-and-Wait:
 SW

  (1  Pf )


For Pf≈0, SR & GBN same

1  Pf
1  LPf
For Pf→1, GBN & SW same
(1  Pf )
1  Pf


na 2(t prop  t proc ) R 1  L
1

nf
nf
64
ARQ Efficiencies
ARQ Efficiency Com parison
Selective
Repeat
Efficiency
1.5
Go Back N 10
1
Stop and Wait
100
0.5
0
Go Back N 100
10
10-2 -1
10-1
-9-9 10
-8-8 10
-7-7 10
-6-6 10
-5-5 10
-4-4 10
-3-3 -2
p
- LOG(p)
Delay-Bandwidth product = 10, 100
Stop and Wait
10
65
Standard Data Link Layer Protocols:
PPP & HDLC
(Chapter 5.5-6 in Leon-Garcia)
66
DLL
Network
layer
“Packet”
Network
layer
Data link
layer
“Frame”
Data link
layer
Physical
layer
Physical
layer
67
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
68
PPP Frame Format
Flag
01111110
Address
1111111
Control
00000011
1 or 2
variable
2 or 4
Protocol
Information
FCS
All stations are to
accept the frame
Flag
01111110
CRC 16 or
CRC 32
HDLC
Unnumbered frame
• Can support multiple network protocols simultaneously
• Specifies what kind of packet is contained in the payload
69
High-Level Data Link Control (HDLC)


Bit-oriented data link control
Derived from IBM Synchronous Data Link
Control (SDLC)
70
HDLC Data Transfer Modes

Normal Response Mode

Used in polling multidrop lines
Commands
Primary
Responses
Secondary

Secondary
Asynchronous Balanced Mode

Used in full-duplex point-to-point links
Primary Commands
Secondary

Secondary
Responses
Responses Secondary
Commands
Primary
Mode is selected during connection establishment
71
HDLC Frame Format
Flag Address Control


Information
FCS
Flag
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
72
Control Field Format
Information Frame
1
2-4
0
N(S)
5
P/F
6-8
N(R)
P/F
N(R)
Supervisory Frame
1
0
S
S
Unnumbered Frame
1





1
M
M
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
P/F
M
M
M
Note: The information frames and
supervisory frames allow HDLC to
implement Stop-and-Wait, Go-BackN, and Selective Repeat ARQ.
Note: The unnumbered frames implement
control functions.
73
Example: HDLC Using Polling
Address of secondary
Primary A
B, RR, 0, P
A polls B
RR=receive
ready
N(R)
X
A rejects fr1
B, SREJ, 1
A polls C
C, RR, 0, P
A polls B,
requests
selective
retrans. fr1
Secondaries B, C
N(S) N(R)
B, I, 0, 0
B, I, 1, 0
B, I, 2, 0,F
B sends 3 info
frames
C, RR, 0, F
C nothing to
send
B, I, 1, 0
B, I, 3, 0
B, I, 4, 0, F
B resends fr1
Then fr 3 & 4
B, SREJ, 1,P
A send info fr0
to B, ACKs up to 4
B, I, 0, 5
74
Time
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)
I3
I4
I5
RNR5
RR6
I6
75
Download