Académique Documents
Professionnel Documents
Culture Documents
Tasks
Framing (2.3)
Framing
Error handling
Media access
Multiplexing
Framing
Whats a Frame?
Header
Trailer
Payload
Identifying Frames
Fixed-Length Frames
Length-Based Framing
Start
Payload
Length
Issues?
Sentinel-based Framing
Two solutions
Stuffing
Dynamically remove market bit patterns from data stream
Receiver unstuffs data stream to reconstruct original data
10
Bit-level Stuffing
011111100001110111011111011111001
011111010000111011101111100111110001
Byte Stuffing
0x48
ETX
HEADER
0x69
Payload
0x48
ETX
DLE
ETX
0x69
12
Consistent-Overhead BS
Break frame up into runs without zeros, encode by prepending each run with length (including length byte)
Pretend frame ends in 0x00. Max run is 254; if no zeros prepend with 255 (0xFF)
45
00
00
2C
4C
79
00
00
40
06
4F
37
02
45
01
04
2C
4C
79
01
05
40
06
4F
37
00
13
Consistent-Overhead Byte
Stuffing (COBS)
Followed by
Meaning
(not applicable)
No data bytes
(n-1) data bytes
254 data bytes
(not allowed)
A single zero byte
Data followed by 0
Data, no following 0
Clock-Based Framing
SONET
Can synch clock just like PLLlook for periodic signal bits
No need to stuff; signal pattern is unlikely, so wont be
periodic in data
SONET Frame
9 rows
Payload
90 bytes
17
FH
STS-1
FH
STS-1
FH
STS-1
FH
AB C A
STS-3
18
Synchronization
19
Synchronization
... but now try to
synchronize this
networks clocks
20
Length corrupted
Sentinel corrupted
Clock drift confuses frame boundaries
Error Handling
Hamming Distance
22
Error Detection
23
Basic Idea
24
Codewords
Hamming Distance
000000
000001
000011
000111
001111
011111
111111
26
000000
000001
000011
d
000111
d
001111
011111
2d+1
111111
27
001
00
01
000
010
101
10
11
100
111
110
000
0
011
010
1
111
101
100
110
Majority voting
Can detect any 2 bit flips and correct any 1 flip (d=1)
Two-Dimensional Parity
Parity
Bits
Data
0101001
1101001
1011110
Parity
Byte
0001110
0110100
1011111
1111011
Why?
30
Per-Frame
Error Detection Codes
Header
EDC
Payload
Checksums
Extremely lightweight
IP Checksum Example
Checksum in Hardware
+
Checksum Example
01010011110100101011110100011101011010011011111011110110
01010011
11010010
Data
10111101
00011101
01101001
10111110
Parity Byte
11110110
35
Checksum Example
01010011110100101011110100011101011010011011111011110110
0
0101
Data
Parity Byte
36
Checksum Example
01010011110100101011110100011101011010011011111011110110
0
Data
1010
37
Checksum Example
01010011110100101011110100011101011010011011111011110110
0
Data
0100
01
38
Checksum Example
01010011110100101011110100011101011010011011111011110110
0
Data
1001
010
39
Checksum Example
01010011110100101011110100011101011010011011111011110110
0
Data
0011
0101
40
Checksum Example
01010011110100101011110100011101011010011011111011110110
0
Data
1101
01010011
41
Checksum Example
01010011110100101011110100011101011010011011111011110110
1
Data
1010
01010011
1
Parity Byte
42
Checksum Example
01010011110100101011110100011101011010011011111011110110
0
Data
0100
01010011
11
Parity Byte
10
43
Checksum Example
01010011110100101011110100011101011010011011111011110110
1
Data
1011
01010011
11010010
Parity Byte
10000001
44
Checksum Example
01010011110100101011110100011101011010011011111011110110
0
0111
01010011
Data
11010010
1
Parity Byte
45
Checksum Example
01010011110100101011110100011101011010011011111011110110
1
01010011
11010010
Data
10111101
00011101
01101001
10111110
Parity Byte
11110110
46
47
= 1 x7 0 x6 0 x5 1 x4 1 x3 0 x2 1 x 0
= x7 x4 x3 x
x8 x2 x1 1
CRC-10
x10 x9 x5 x4 x1 1
CRC-12
x12 x11 x3 x2 x1 1
CRC-16
x16 x15 x2 1
CRC-CCITT
x16 x12 x5 1
CRC-32
= 1101
= 10011010
10011010000
1101
Generator
Message
Message plus r
zeros (*2k)
1001
1101
1000
1101
Result:
1011
1101
1100
1101
Remainder
D mod g
CSE 123 Lecture 4: Error Handling
1000
1101
101
Transmit message
followed by
remainder:
10011010101
54
= 1101
= 10011010101
10011010101
1101
Generator
Received Message
Received
message, no
errors
1001
1101
1000
1101
Result:
1011
1101
1100
1101
Remainder
D mod g
1101
1101
0
55
= 1101
= 10010110101
Received
message
10010110101
1101
1000
1101
Generator
Received Message
1011
1101
Result:
1101
1101
0101
Remainder
D mod g
CSE 123 Lecture 4: Error Handling
56
Summary
Stuffing
Clock-based
Error detection
Reliable transmission
59