Note: We will start at 12:53 pm ET
a
18-441/741: Computer Networks Lecture 5: Physical Layer III
Swarun Kumar
2
Physical Layer: Outline
Digitalnetworks
CharacterizationofCommunicationChannels FundamentalLimitsinDigitalTransmission
ModemsandDigitalModulation
LineCoding
ErrorDetectionandCorrection
WiredPHY101(iftimepermits)
WirelessPHY101
3
From Signals to Packets
Analog Signal
Digital Signal
BitStream 00101110001
Packets
Packet Transmission
0100010101011100101010101011101110000001111010101110101010101101011010111001
Header/Body
Sender
Header/Body
Header/Body
Receiver
4
Synchronization of clocks in transmitters and receivers.
clockdriftcausesa loss of synchronization
Example: assume 1 and 0 are
represented by V volts and 0 volts respectively
Correctreception
Incorrectreception due to slow clock at the receiver
10110100100
Synchronization
Data
T
S
clock
10111001000 Data
T
clock
S
5
Synchronization (cont)
How to avoid a loss of synchronization? Asynchronous transmission
Synchronous transmission
6
Asynchronous Transmission
Avoids synchronization loss by
specifying a short maximum length for the bit sequences (so that clock doesnt drift much within sequence)
and resetting the clock in the beginning of each bit sequence (by using a start bit)
Accuracy of the clock?
Bit sequence (n) Bit sequence (n+1) 1011 1011
Data
T clock
S
7
Asynchronous transmission: ASCII code
ASCII(AmericanNationalStandardCodefor Information Interchange) code
7 bits to represent 128 letters, symbols, and control characters. (i.e. A=1000001, CR(Carriage Return)=0001101 )
Asynchronous transmission sends sequences of 8 bits=one start bit + 7 ASCII bits.
some systems add one parity bit to make number of 1 to be even number
i.e. 11001111 or 10101100
8
Synchronous Transmission
Overcomestheinefficiencyofasynchronous transmission.
Improvesefficiencybytransmittinglonger sequences of bits, called packets (variable length).
Requiresextrainformationtoindicatetheend of the packet.
voltage 100011010
tim e
9
Encoding
Encodingconvertsabinaryinformation sequence into a digital signal
Sender then uses the digital signal to modulate the signal in a way that the receiver can recognize
Encodingcanbedoneonebitatatimeorin blocks of multiple bits called a symbol
Example: a symbol with 8 values means that 3 bits are sent in each time slot
Transmissionissynchronous,i.e.,aclockis used to sample the signal.
Receivers clock must be synchronized with the senders clock
10
Why Do We Need Encoding?
Tomeetscertainelectricalconstraints. Many of them! See next slide
Createscontrolsymbols,besidesregular
data symbols. I
E.g. start or end of frame, escape,
cannotappearin data Candoerrordetectionorerrorcorrection
Some codes are illegal so receiver can detect certain classes of errors
Minor errors can be corrected by having multiple adjacent signals mapped to the same data symbol
11
Unipolar NRZ
Polar NRZ
NRZ-inverted (differential encoding)
Bipolar encoding
Manchester encoding
Differential Manchester encoding
Line coding examples
5101011100 O
thready
25
25
Tapip
l
any
12
Spectrum of Line codes
Assume 1s & 0s independent & equiprobable
1.2
1 NRZ
0.8 0.6 0.4 0.2
0 -0.2
Bipolar
NRZ has high content at low frequencies
Bipolar tightly packed around 1/2T
Manchester wasteful of bandwidth
Manchester
fT
13
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
pow er density
mB/nB Encoding nem
m data bits are coded as symbols of n line bits
Example: FDDI uses 4B5B
4 data bits for 5 line bits, so 100 Mbps uses 125 MHz. Uses less frequency than Manchester encoding (1B2B)
Each valid symbol has at least two 1s: get dense transitions.
16 data symbols, 8 control symbols Data symbols: 4 data bits
Control symbols: idle, begin frame, etc.
Also: 8B10B (Gigabit Ethernet, Fiber channel) and 64B66B code (10G Ethernet)
14
4B/5B Encoding
Data Code
0000 11110
0001 01001
0010 10100
0011 10101
0100 01010
0101 01011
0110 01110
0111 01111
Data Code
1000 10010 1001 10011 1010 10110 1011 10111 1100 11010 1101 11011 1110 11100 1111 11101
15
Quiz Question
The following are notable absentees in 4B/5B encoding.. Why?
00000 00001 11111 10001
Need transitions NO transitions Need at least two ones
Need transitions
Control symbol! (start delimiter)
16
Physical Layer: Outline
Digitalnetworks
CharacterizationofCommunicationChannels FundamentalLimitsinDigitalTransmission
LineCoding
ModemsandDigitalModulation
ErrorDetectionandCorrection
WiredPHY101
WirelessPHY101
17
Error Control
Channels introduce errors in digital communications
Applications require certain reliability level
Data applications require error-free transfer
Voice & video applications tolerate some errors
Error control may be needed to meet application requirement
Error control ensures a data stream is transmitted to a certain level of accuracy despite errors
Two basic approaches:
Error detection & retransmission (ARQ) Forward error correction (FEC)
18
Key Idea
Alltransmitteddatablocks(codewords)are chosen so that they satisfy a pattern
Ifreceivedblockdoesntsatisfypattern,itisin error
Redundancy: Only a subset of all possible blocks can be valid codewords
Undetectable Error: When channel transforms a codeword into another valid codeword
User information
Deliver user information or set error alarm
All inputs to channel satisfy pattern or condition
Channel output
Encoder
Channel
Pattern checking
19
Single Parity Check
Appendanparitybittokinformationbits
Info Bits:
Check Bit: Codeword:
b1, b2, b3, , bk
bk+1= b1+ b2+ b3+ + bk modulo 2 (b1, b2, b3, , bk,, bk+1)
1st
i
Allcodewordshaveeven#of1s
Receivercheckstoseeif#of1siseven
All error patterns that create an odd # of 1 bits are detectable
All even-numbered error patterns are undetectable
ASCIIcodeispreciselysuchascode(7+1bits)
20
Quiz Question: Single Parity Code
Information (7 bits): (0, 1, 0, 1, 1, 0, 0) Parity Bit? (Truea1, Falsea0)
b8 =0+1+0+1+1+0=1
Codeword (8 bits): (0, 1, 0, 1, 1, 0, 0, 1)
Ifsingleerrorinbit3?(0,1,1,1,1,0,0,1) # of 1s =5, odd => Error detected
Iferrorsinbits3and5?(0,1,1,1,0,0,0,1) # of 1s =4, even => Error not detected
21
Parity Checkbits & Error Detection
Information bits
k bits
Sent check bits
n k bits
Received information bits
Recalculate check bits
Calculate check bits
Channel
Compare
Received check bits
Information accepted if check bits match
22
How good is the single parity check code?
Redundancy: Single parity check code adds 1 redundant bit per k information bits: overhead = 1/(k+1)
Coverage: all error patterns with odd # of
errors can be detected
An error pattern is a binary (k+1)-tuple with 1s where errors occur and 0s elsewhere
Of 2k+1 binary (k+1)-tuples, 12 are odd, so 50% of error patterns can be detected
Isitpossibletodetectmoreerrorsifweadd more check bits?
Yes,withtherightcodes
23
What if bit errors are random?
Many transmission channels introduce bit errors at random, independently of each other, and with probability p
Some error patterns are more probable than others:
P[10000000]=p(1-p)7=(1-p)8( p )and 1- p
P[11000000]=p2(1-p)6 =(1-p)8( p )2 1- p
Inanyworthwhilechann0elp<0.5,andso(p/(1-p))<1It follows that patterns with 1 error are more likely than patterns with 2 errorsand so forthWhat is the probability that an undetectable error pattern occurs? 24 Single parity check code with random bit errors Undetectableerrorpatternifeven#ofbiterrors:P[error detection failure] = P[undetectable error pattern] = P[error patterns with even number of 1s]no 2 n-2 no 4 n-4 =c2p (1- p) +c4p (1- p)+… Quiz! Whats the probability for n=32, p=10-3?e e32o -3 2 -3 30 32o -3 4 -3 28P[undetectableerror]=c2 (10 ) (1-10 ) +c4 (10 ) (1-10 ) e e 496 (10-6 ) + 35960(10-12 ) 4.96(10-4 ) Forthisexample,roughly1in2000 transmissions will result in an undetectable error 25 What is a good code? Most channels will have relatively few bit errors Erroneouscodewords transmitted over those channels will map to nearby n-tuples If valid codewords are close to each other, then detection failures may occur Good codes should the minimum maximize separation ooooxx Pooro x x x o o distanceoox x properties o o ox = valid codewords o = non-codewords Cxxox between valid codewords o o o ooxox o o oGood distance propertiesxox26Two-Dimensional Parity Check Moreparitybitstoimprovecoverage Arrangeinformationascolumns Addsingleparitybittoeachcolumn Addafinalparitycolumn Usedinearlyerrorcontrolsystems 100100 010001 100100 110110 100111Last column consists of check bits for each row Bottom row consists of check bit for each column27Error-detecting capability 100100 000001detectforce100100 000001100100 100110detect only Two errors 0One errorO 100100 110110 100111O 100100 000f101 100100dqeyThree errors100111100100 000101 100100 100010 100111Four errors110 100111shaped rectangler detectcantbe1000Arrows indicate failed check bitserror 281, 2, or 3 errors can always be detected; Not all patterns >4 errors can be detected
Other Error Detection Codes
Manyapplicationsrequireverylowerrorrate
Needcodesthatdetectmorenumberoferrors
Singleparitycheckcodesdonotdetectenough errors
Two-dimensionalcodesrequiretoomanycheck bits
Thefollowingerrordetectingcodesarewidely used in practice:
Internet Check Sums
CRC Polynomial Codes
29
Internet Checksum
Several Internet protocols (e.g. IP , TCP , UDP) use check bits to detect errors in the header
Achecksumiscalculatedforheadercontentsand included in a special field.
Checksumispotentiallyrecalculatedatevery router, so algorithm selected for ease of implementation in software
LetheaderconsistofL,16-bitwords, b0, b1, b2, , bL-1
Thealgorithmappendsa16-bitchecksumbL
30
Checksum Calculation
The checksum bL is calculated as follows:
Treatingeach16-bitwordasaninteger,find
x = b0 + b1 + b2+ + bL-1 modulo 216-1 Thechecksumisthengivenby:
bL = x modulo 216-1
Thus, the headers must satisfy the following pattern
at the receiver:
0=b0 + b1 + b2+ + bL-1+ bL modulo216-1
The checksum calculation is carried out in software using ones complement arithmetic
31
Internet Checksum Example
Use Modulo Arithmetic
Assume4-bitwords
Usemod24-1(=15) arithmetic
b0=1100=12
b1=1010 = 10
b0+b1=12+10=7mod15
Use Binary Arithmetic
Note 16 =1 mod15
So:10000=0001 mod15
leadingbitwraps around
O
b +b 01
=1100+1010 =10110 =10000+0110 =0001+0110 =0111
b2=-7=8mod15
Therefore
b2=10O00
=7
Take 1s complement
b2 = -0111 =1000 32
Polynomial Codes
Polynomialsinsteadofvectorsforcodewords
Polynomialarithmeticinsteadofchecksums
Implementedusingshift-registercircuits
Alsocalledcyclicredundancycheck(CRC)
Mostdatacommunicationsstandardsuse polynomial codes for error detection
Have very simple hardware implementations
Polynomialcodesalsobasisforpowerful error-correction methods
33
Binary Polynomial Arithmetic
Binaryvectorsmaptopolynomials
(i ,i ,,i ,i,i )i xk-1 +i xk-2 ++i x2 +ix1 +i k-1k-2210k-1k-2 210
Addition:
(x7 +x6 +1)+(x6 +x5)=x7 +x6 +x6 +x5 +1 =x7 +(1+1)x6 +x5 +1
Multiplication:
=x7+x5+1since 1+1=0mod2
(x+1)(x2 +x+1)=x(x2 +x+1)+1(x2 +x+1) =(x3 +x2 +x)+(x2 +x+1)
= x3 +1
34
Binary Polynomial Division
DivisionwithDecimalNumbers
34 quotient
dividend = quotient x divisor + remainder 1222 = 34 x 35 + 32 x3tx
35 ) 1222 105
dividend remainder
divisor
32
Polynomial Division
divisor
Note: Degree of r(x) is less than degree of divisor
172 140
xlix11161 5 x3btx4
= q(x) quotient 71512141 3 x5 txt
dividend t not
x3 + x2 + x x3+x+1)x6+x5
x6 +
x5 + x4 + x3
x4 + x3
x5 +
x3 + x2 x2
x2 + x x
x4 + x4 +
= r(x) remainder
35
Polynomial Coding
kinformationbitsdefinepolynomialofdegreek-1
i(x)=i xk-1+i xk-2++ix2+ix+i k-1k-2 210
Codehasbinarygeneratingpolynomialofdegreen-k g(x)=xn-k +gn-k-1xn-k-1 ++g2x2 +g1x+1
Findremainderpolynomialofatmostdegreen-k-1 q(x)
n-k xn-ki(x) = q(x)g(x) + r(x) g(x) ) x i(x)
s
r(x)
Definethecodewordpolynomialofdegreen-1
is
b(x) = xn-ki(x) + r(x)
n bits
k bits n-k bits
36
Quiz Q: Find codeword if k=4, n-k0=3
And: Generator polynomial: g(x)= x3 + x + 1 Information: (1,1,0,0) i(x) = x3 + x2 Encoding: x3i(x) = x6 + x5
37
Quiz Q: Find codeword if k=4, n-k=3
And: Generator polynomial: g(x)= x3 + x + 1
Information: (1,1,0,0) Encoding: x3i(x) = x6 + x5
x3 + x2 + x
i(x) = x3 + x2
x3 + x + 1 ) x6 + x5 x6 +
x4 + x3
x5 + x4 + x3
x5 +
x4 +
x4 +
x3 + x2
x2
x2 + x
x
38
Quiz Q: Find codeword if k=4, n-k=3
And: Generator polynomial: g(x)= x3 + x + 1
Information: (1,1,0,0) Encoding: x3i(x) = x6 + x5
x3 + x2 + x
i(x) = x3 + x2
x3 + x + 1 ) x6 + x5 x6 +
1110
x4 + x3
1011 ) 1100000
1011
1110
1011
1010
1011
010
x5 + x4 + x3
x5 +
x4 +
x4 +
x3 + x2
x2
x2 + x
x
Transmitted codeword:
b(x)=x6 +x5+x b = (1,1,0,0,0,1,0)
39
The Pattern in Polynomial Coding Allcodewordssatisfythefollowingpattern:
b(x) = xn-ki(x) + r(x) = q(x)g(x) + r(x) + r(x) = q(x)g(x)
Allcodewordsareamultipleofg(x)!
Receivershoulddividereceivedn-tuplebyg(x) and check if remainder is zero
Ifremainderisnon-zero,thenreceivedn-tupleis not a codeword
40
Undetectable error patterns
(Transmitter) (Receiver)
b(x) + R(x)=b(x)+e(x)
e(x) Error polynomial
e(x) has 1s in error locations & 0s elsewhere
Receiver divides the received polynomial R(x) by g(x)
Undetectable error: If e(x) is a multiple of g(x), that is, e(x) is a non-zero codeword, then
R(x) = b(x) + e(x) = q(x)g(x) + q(x)g(x)
The set of undetectable error polynomials is the set of nonzero code polynomials
Choose the generator polynomial so that selected error patterns can be detected.
(Channel)
41
Designing good polynomial codes
Select generator polynomial so that likely error patterns are not multiples of g(x)
Detecting Single Errors
e(x) = xi for error in location i+1
If g(x) has more than 1 term, it cannot divide xi
Detecting Double Errors
e(x) = xi + xj = xi(xj-i+1) where j>i
If g(x) has more than 1 term, it cannot divide xi
If g(x) is a primitive polynomial, it cannot divide xm+1 for all m<2n-k -1 (Need to keep codeword length less than 2n-k -1) Primitive polynomials can be found by consulting coding theory books 42 Standard Generator Polynomials CRC-8: CRC-16: CCITT-16: CCITT-32:=x8 +x2 +x+1= x16 + x15 + x2 +1= ( x + 1 )( x 1 5 + x + 1)= x16 + x12 + x5 +1ATMCRC = cyclic redundancy check= x32 +x26 +x23 +x22 +x16 +x12 +x11 +x10 +x8 +x7 +x5 +x4 +x2 +x+143BisyncHDLC, XMODEM, V.41 IEEE 802, DoD, V.42Hamming Codes Classoferror-correctingcodes Capableofcorrectingallsingle-errorpatterns Provablyoptimalfor1-biterrors Verylessredundancy,e.g.1-biterrorproofadds O(log n) bits of redundancy for n bit sequences 44 m=3 Hamming Code Information bits are b1, b2, b3, b4 Equations for parity checks b5, b6, b7b =b +b +b 51 34b=b+b +b 612 4b7 = +b2 +b3 +b4 There are 24=16 codewords (0,0,0,0,0,0,0) is a codeword 45 My simple proof of optimalityCaseb5 matchb6 matchb7 matchNo errorb1 flippedb2 flippedb3 flippedb4 flippedb5 flippedb6 flippedb7 flippedAssume you got the following 7 bit sequences and make the following checks:b =b +b +b 51 34b=b+b +b 612 4b7 = +b2 +b3 +b446 My simple proof of optimalityCaseb5 matchb6 matchb7 matchNo error b1 flipped!! b2 flipped !!b3 flipped! !b4 flipped!!!b5 flipped! b6 flipped ! b7 flipped !Assume you got the following 7 bit sequences and make the following checks:b =b +b +b 51 34b=b+b +b 612 4b7 = +b2 +b3 +b447 Why is Hamming a good code?Set of n- tuples within distance 1 of b1ob Distance31 o oooSet of n- tuples within distance 1 of b2 ob o 2o Two valid bit sequences have a minimum distance of 3 bit flips 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 Thus, receiver can correct erroneous reception back to original codeword 48 Physical Layer: Outline Digitalnetworks CharacterizationofCommunicationChannels FundamentalLimitsinDigitalTransmission LineCoding ModemsandDigitalModulation ErrorDetectionandCorrection WiredPHY101 WirelessPHY101 49Twisted Pair Two insulated copperwires arranged in a regularspiral pattern to minimize interference 2426 gauge24 gauge22 gauge 19 gauge Various thicknesses, e.g. 0.016 inch (24 gauge) Low cost Telephone subscriber loop from customer to CO Old trunk plant connecting telephone COs Intra-building telephone from wiring closet to desktop3018 12 61f (kHz) Lower attenuation rate forHigher Attenuation rate 50101001000 analog telephonefor DSL Attenuation (dB/mi)Ethernet LANs Evolved from 10 -> 100 a 1000 Mbps to now 10Gbps
All use twisted pair in some form!
10BASE-T Ethernet
10 Mbps, Baseband, Twisted pair
Two Cat3 pairs
Manchester coding, 100 meters
100BASE-T4 Fast Ethernet
100 Mbps, Baseband, Twisted pair
Four Cat3 pairs
Three pairs for one direction at-a-time
100/3 Mbps per pair;
3B6T line code, 100 meters
1000BASE-T
8b10bencoding,Fourpairs 51
llllll
Optical Fiber
Electrical Optical fiber Receiver Electrical
Modulator
signal
signal
Optical source
Light sources (lasers, LEDs) generate pulses of light that are transmitted on optical fiber
Very long distances (>1000 km)
Very high speeds (>40 Gbps/wavelength)
Nearly error-free (BER of 10-15)
Profound influence on network architecture
Dominates long distance transmission
Distance less of a cost factor in communications
Plentiful bandwidth for new services
52
Transmission in Optical Fiber
Geometry of optical fiber
Light
Cladding Core
Jacket
Total Internal Reflection in optical fiber
qc
Very fine glass cylindrical core surrounded by concentric layer of glass (cladding)
Core has higher index of refraction than cladding
Light rays incident at less than critical angle qc is completely reflected back into the core
53
Multimode & Single-mode Fiber
Multimode fiber: multiple rays follow different paths
Reflected path Direct path
Single-mode fiber: only direct path propagates in fiber
Multi Mode: Thicker core, shorter reach
Rays on different paths interfere causing dispersion & limiting bit rate
Single Mode: Very thin core supports only one mode (path) More expensive lasers, but achieves very high speeds
54
Huge Available Bandwidth
Optical range from l1 to l1+Dl contains bandwidth
B=f1-f2=n- n
l1 l1 +Dl
iDl u =nii Dl1 iynDl
l 1 ii 1 + l 1 i l 12
100 50
10 5
1 0 . 5
0.1
0.8 1.0
1.2 1.4 1.6 1.8
55
Loss (dB/km)
Quiz Question
How much optical fiber bandwidth is available between: l1 = 1450 nm and l1+Dl =1650 nm:
Answer: B = 2(108 )m/s 200nm 19 THz (1450nm)2
56
Wavelength-Division Multiplexing
Different wavelengths carry separate signals
Multiplex into shared optical fiber
Each wavelength like a separate circuit
A single fiber can carry 160 wavelengths, 10 Gbps
per wavelength: 1.6 Tbps!
l1 l2
lm
optical mux
l1 l2. lm
optical fiber
optical demux
l1 l2
lm
57
How Do We Extend Range
Use combinations of optical amplifiers and regenerators
More amplifiers than regenerators (why?)
RR
OA OA R OA OA R
Optical amplifier
R
R
R
R
58
Physical Layer: Outline
Digitalnetworks
CharacterizationofCommunicationChannels FundamentalLimitsinDigitalTransmission
LineCoding
ModemsandDigitalModulation
ErrorDetectionandCorrection
WiredPHY101
WirelessPHY101
59
Reviews
There are no reviews yet.