encoding and framingweb.eecs.umich.edu/~zmao/eecs489/lectureslides/coding... · 2004-11-04 · -...

39
1 Mao F04 Encoding and Framing EECS 489 Computer Networks http://www.eecs.umich.edu/~zmao/eecs489 Z. Morley Mao Tuesday Nov 2, 2004 Acknowledgement: Some slides taken from Kurose&Ross and Katz&Stoica

Upload: others

Post on 14-Jul-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Encoding and Framingweb.eecs.umich.edu/~zmao/eecs489/LectureSlides/coding... · 2004-11-04 · - Bi-level encoding V = 2 àData rate

1Mao F04

Encoding and Framing

EECS 489 Computer Networkshttp://www.eecs.umich.edu/~zmao/eecs489

Z. Morley MaoTuesday Nov 2, 2004

Acknowledgement: Some slides taken from Kurose&Ross and Katz&Stoica

Page 2: Encoding and Framingweb.eecs.umich.edu/~zmao/eecs489/LectureSlides/coding... · 2004-11-04 · - Bi-level encoding V = 2 àData rate

2Mao F04

Questions

§ Why are some links faster than others?§ What limits the amount of information we can send on a

link?§ How can we increase the capacity of a link?

Page 3: Encoding and Framingweb.eecs.umich.edu/~zmao/eecs489/LectureSlides/coding... · 2004-11-04 · - Bi-level encoding V = 2 àData rate

3Mao F04

Signals: Analog vs. Digital

§ Signal: a function s(t) that varies with time (t stands for time)§ Analog: varies continuously

- Example: voltage representing audio (analog phone call)

§ Digital: discrete values; varies abruptly- Example: voltage representing 0s an 1s

Page 4: Encoding and Framingweb.eecs.umich.edu/~zmao/eecs489/LectureSlides/coding... · 2004-11-04 · - Bi-level encoding V = 2 àData rate

4Mao F04

Signals: Periodic vs. Aperiodic

§ Period: repeat over and over again, once per period- Period (T) is the time it takes to make one complete cycle- Frequency (f) is the inverse of period, f = 1/T;measured in hz

§ Aperiodic: don’t repeat according to any particular pattern

T = 1/f

Sig

nal s

tren

gth

Page 5: Encoding and Framingweb.eecs.umich.edu/~zmao/eecs489/LectureSlides/coding... · 2004-11-04 · - Bi-level encoding V = 2 àData rate

5Mao F04

Data vs. Signal

signaldata data

communication medium

data signal

TelephoneAnalog Analog

ModemDigital Analog

CODECAnalog Digital

Digital Transmitter

Digital Digital

Page 6: Encoding and Framingweb.eecs.umich.edu/~zmao/eecs489/LectureSlides/coding... · 2004-11-04 · - Bi-level encoding V = 2 àData rate

6Mao F04

Attenuation

Links become slower with distance because of signal attenuationAmplifiers and repeaters can help

Page 7: Encoding and Framingweb.eecs.umich.edu/~zmao/eecs489/LectureSlides/coding... · 2004-11-04 · - Bi-level encoding V = 2 àData rate

7Mao F04

Noise

§ A signal s(t) sent over a link is generally- Distorted by the physical nature of the medium

• This distortion may be known and reversible at the receiver

- Affected by random physical effects• Fading• Multipath effects

- Also interference from other links• Wireless• Crosstalk

§ Dealing with noise is what communications engineers do

s(t) r(t)

n(t)

S

link

- noise

transmitted signal received signal

Page 8: Encoding and Framingweb.eecs.umich.edu/~zmao/eecs489/LectureSlides/coding... · 2004-11-04 · - Bi-level encoding V = 2 àData rate

8Mao F04

Noise Limits the Link Rate

§ Suppose there were no noise- Then, if send s(t) always receive s(t+?)- Take a message of N bits say b1b2….bN, and send a

pulse of amplitude of size 0.b1b2….bN

- Can send at an arbitrarily high rate- This is true even if the link distorts the signal but in a

known way

§ In practice the signal always gets distorted in an unpredictable (random) way- Receiver tries to estimate the effects but this lowers

the effective rate

Page 9: Encoding and Framingweb.eecs.umich.edu/~zmao/eecs489/LectureSlides/coding... · 2004-11-04 · - Bi-level encoding V = 2 àData rate

9Mao F04

Physical Layer Functions

§ Functions1. Encode bit sequence into analog signal2. Transmit bit sequence on a physical medium (Modulation)3. Receive analog signal4. Convert Analog Signal to Bit Sequence

AdaptorAdaptor AdaptorAdaptorSignal

Adaptor: convert bits into physical signal and physical signal back into bits

Page 10: Encoding and Framingweb.eecs.umich.edu/~zmao/eecs489/LectureSlides/coding... · 2004-11-04 · - Bi-level encoding V = 2 àData rate

10Mao F04

Block Diagram

NRZI

Page 11: Encoding and Framingweb.eecs.umich.edu/~zmao/eecs489/LectureSlides/coding... · 2004-11-04 · - Bi-level encoding V = 2 àData rate

11Mao F04

Modulation

§ The function of transmitting the encoded signal over a link, often by combining it with another (carrier signal)- E.g., Frequency Modulation (FM)

• Combine the signal with a carrier signal in such a way that the i frequency of the received signal contains the information of the carrier

- E.g. Frequency Hopping (OFDM)• Signal transmitted over multiple frequencies • Sequence of frequencies is pseudo random

1 1 0 0 1 1 1 0 0 11 1 0 0 1 1 1 0 0 1

Bit sequence Modulated signal Received signal Received bit sequence

Page 12: Encoding and Framingweb.eecs.umich.edu/~zmao/eecs489/LectureSlides/coding... · 2004-11-04 · - Bi-level encoding V = 2 àData rate

12Mao F04

Outline

Ø Relation between bandwidth and link rateØFourier transform- Nyquist’s Theorem- Shannon’s Theorem

§ Encoding§ Framing

Page 13: Encoding and Framingweb.eecs.umich.edu/~zmao/eecs489/LectureSlides/coding... · 2004-11-04 · - Bi-level encoding V = 2 àData rate

13Mao F04

§ Any periodic signal g(t) with period T (=1/f) can be constructed by summing a (possibly infinite) number of sines and cosines

§ To construct signal g(t) we need to compute the values a0, a1, …, b0, b1, …, and c !

- Compute coefficients using Euler’s formulae§ But it’s an infinite series...§ Often the magnitude of the an’s and bn’s get smaller as the

frequency (n times 2πf ) gets higher.§ Key point: a “reasonable reconstruction” can be often be

made from just the first few terms (harmonics)- Though the more harmonics the better the reconstruction…

Fourier Transform

( ) ( )∑∑∞

=

=

++=11

2cos2sin21

)(n

nn

n nftbnftactg ππ

Page 14: Encoding and Framingweb.eecs.umich.edu/~zmao/eecs489/LectureSlides/coding... · 2004-11-04 · - Bi-level encoding V = 2 àData rate

14Mao F04

Fourier Transform: Example

sin(2p f t) +

1/3 sin(6p f t) =

g3(t)

Note: f = 1/T

Page 15: Encoding and Framingweb.eecs.umich.edu/~zmao/eecs489/LectureSlides/coding... · 2004-11-04 · - Bi-level encoding V = 2 àData rate

15Mao F04

Bandwidth & Data Rate

§ Physical media attenuate (reduce) different harmonics at different amounts

§ After a certain point, no harmonics get through.§ Bandwidth: the range of frequencies that can get through

the link§ Example:

- Voice grade telephone line 300Hz – 3300Hz- The bandwidth is 3000Hz

§ Data rate: highest rate at which hardware change signal

Page 16: Encoding and Framingweb.eecs.umich.edu/~zmao/eecs489/LectureSlides/coding... · 2004-11-04 · - Bi-level encoding V = 2 àData rate

16Mao F04

Outline

Ø Signal study- Fourier transformØNyquist’s Theorem- Shannon’s Theorem

§ Encoding§ Framing

Page 17: Encoding and Framingweb.eecs.umich.edu/~zmao/eecs489/LectureSlides/coding... · 2004-11-04 · - Bi-level encoding V = 2 àData rate

17Mao F04

§ Establish the connection between data rate and bandwidth (actually the highest frequency) in the absence of noise

- Developed in the context of analog to digital conversion (ACDs)

§ Say how often one needs to sample an analog signal to reproduce it faithfully

§ Suppose signal s(t) has highest frequency fmax

- Assume B = fmax, i.e., lowest frequency is 0

§ Then, if T= 1/(2B) then it is possible to reconstruct s(t) correctly§ Niquist’s Theorem: Data rate (bits/sec) <= 2*B (hz)

Nyquist’s Theorem(aka Nyquist’s Limit)

Page 18: Encoding and Framingweb.eecs.umich.edu/~zmao/eecs489/LectureSlides/coding... · 2004-11-04 · - Bi-level encoding V = 2 àData rate

18Mao F04

Why Double the Frequency?

§ Assume a sine signal, then- We need two samples in each period to identify sine function- More samples won’t help

Page 19: Encoding and Framingweb.eecs.umich.edu/~zmao/eecs489/LectureSlides/coding... · 2004-11-04 · - Bi-level encoding V = 2 àData rate

19Mao F04

Nyguist’s Theorem Revisited

§ If signal has V distinct levels, then Data rate <= 2*B*log2V- V distinct values can be used to encode log2(V) bits- Bi-level encoding V = 2 à Data rate <= 2*B- Example of achieving 2*B with bi-level encoding

§ Can you do better than Nyquist’s limit?- Yes, if clocks are synchronized sender and receiver, we only need

one sample per period- This is because the synchronized starting sample counts as one

of the two points

0 V

5 V

1/B

1/(2B)

Page 20: Encoding and Framingweb.eecs.umich.edu/~zmao/eecs489/LectureSlides/coding... · 2004-11-04 · - Bi-level encoding V = 2 àData rate

20Mao F04

Outline

Ø Signal study- Fourier transform- Nyquist’s TheoremØShannon’s Theorem

§ Encoding§ Framing

Page 21: Encoding and Framingweb.eecs.umich.edu/~zmao/eecs489/LectureSlides/coding... · 2004-11-04 · - Bi-level encoding V = 2 àData rate

21Mao F04

Shannon Theorem

§ Establish the connection between bandwidth and data rate in the presence of noise

§ Noisy channel- Consider ratio of signal power to noise power.- Consider noise to be super-imposed signal- Decibel (dB) = 10 log10 (S/N)- S/N of 10 = 10 dB- S/N of 100 = 20 dB- S/N of 1000 = 30 dB

Page 22: Encoding and Framingweb.eecs.umich.edu/~zmao/eecs489/LectureSlides/coding... · 2004-11-04 · - Bi-level encoding V = 2 àData rate

22Mao F04

Shannon Theorem (cont’d)

§ Data rate in the presence of S/N is bounded as follows

Data rate <= B log 2 (1 + S/N)

§ Example: - Voice grade line: S/N = 1000, B=3000, C=30Kbps- Technology has improved S/N and B to yield higher

speeds such as 56Kb/s

§ Higher bandwidth à higher rate; Intuition:- Signal has more space to “hide” from noise- Noise gets “diluted” across frequency space

Page 23: Encoding and Framingweb.eecs.umich.edu/~zmao/eecs489/LectureSlides/coding... · 2004-11-04 · - Bi-level encoding V = 2 àData rate

23Mao F04

Outline

§ Signal study- Fourier transform- Nyquist’s Theorem- Shannon’s Theorem

Ø Encoding§ Framing

Page 24: Encoding and Framingweb.eecs.umich.edu/~zmao/eecs489/LectureSlides/coding... · 2004-11-04 · - Bi-level encoding V = 2 àData rate

24Mao F04

Encoding

§ Specify how bits are represented in the analog signal

- This service is provided by the physical layer

§ Challenges: achieve: - Efficiency – ideally, bit rate = clock rate- Robust – avoid de-synchronization between sender

and receiver when there is a large sequence of 1’s or 0’s

Page 25: Encoding and Framingweb.eecs.umich.edu/~zmao/eecs489/LectureSlides/coding... · 2004-11-04 · - Bi-level encoding V = 2 àData rate

25Mao F04

Assumptions

§ We use two discrete signals, high and low, to encode 0 and 1

§ The transmission is synchronous, i.e., there is a clock used to sample the signal

- In general, the duration of one bit is equal to one or two clock ticks

§ If the amplitude and duration of the signals is large enough, the receiver can do a reasonable job of looking at the distorted signal and estimating what was sent.

Page 26: Encoding and Framingweb.eecs.umich.edu/~zmao/eecs489/LectureSlides/coding... · 2004-11-04 · - Bi-level encoding V = 2 àData rate

26Mao F04

Non-Return to Zero (NRZ)

§ 1 à high signal; 0 à low signal

0 0 1 0 1 0 1 1 0

NRZ(non-return to zero)

Clock

Disadvantages: when there is a long sequence of 1’s or 0’sSensitive to clock skew, i.e., difficult to do clock recovery Difficult to interpret 0’s and 1’s (baseline wander)

Page 27: Encoding and Framingweb.eecs.umich.edu/~zmao/eecs489/LectureSlides/coding... · 2004-11-04 · - Bi-level encoding V = 2 àData rate

27Mao F04

Non-Return to Zero Inverted (NRZI)

§ 1 à make transition; 0 à stay at the same level§ Solve previous problems for long sequences of 1’s,

but not for 0’s

0 0 1 0 1 0 1 1 0

Clock

NRZI(non-return to zero

intverted)

Page 28: Encoding and Framingweb.eecs.umich.edu/~zmao/eecs489/LectureSlides/coding... · 2004-11-04 · - Bi-level encoding V = 2 àData rate

28Mao F04

Manchester

§ 1 à high-to-low transition; 0 à low-to-high transition§ Addresses clock recovery and baseline wander problems§ Disadvantage: needs a clock that is twice as fast as the transmission

rate- Efficiency of 50%

0 0 1 0 1 0 1 1 0

Clock

Manchester

Page 29: Encoding and Framingweb.eecs.umich.edu/~zmao/eecs489/LectureSlides/coding... · 2004-11-04 · - Bi-level encoding V = 2 àData rate

29Mao F04

4-bit/5-bit (100Mb/s Ethernet)

§ Goal: address inefficiency of Manchester encoding, while avoiding long periods of low signals

§ Solution:- Use 5 bits to encode every sequence of four bits such that no 5 bit code has

more than one leading 0 and two trailing 0’s- Use NRZI to encode the 5 bit codes - Efficiency is 80%

0000 111100001 010010010 101000011 101010100 010100101 010110110 011100111 01111

1000 100101001 100111010 101101011 101111100 110101101 110111110 111001111 11101

4-bit 5-bit 4-bit 5-bit

Page 30: Encoding and Framingweb.eecs.umich.edu/~zmao/eecs489/LectureSlides/coding... · 2004-11-04 · - Bi-level encoding V = 2 àData rate

30Mao F04

Outline

§ Signal study- Fourier transform- Nyquist’s Theorem- Shannon’s Theorem

§ EncodingØ Framing

Page 31: Encoding and Framingweb.eecs.umich.edu/~zmao/eecs489/LectureSlides/coding... · 2004-11-04 · - Bi-level encoding V = 2 àData rate

31Mao F04

Framing

§ Specify how blocks of data are transmitted between two nodes connected on the same physical media

- This service is provided by the data link layer

§ Challenges- Decide when a frame starts/ends- If use special delimiters, differentiate between the true frame

delimiters and delimiters appearing in the payload data

Page 32: Encoding and Framingweb.eecs.umich.edu/~zmao/eecs489/LectureSlides/coding... · 2004-11-04 · - Bi-level encoding V = 2 àData rate

32Mao F04

Byte-Oriented Protocols: Sentinel Approach

§ STX – start of text§ ETX – end of text § Problem: what if ETX appears in the data portion of the

frame?§ Solution

- If ETX appears in the data, introduce a special character DLE (Data Link Escape) before it

- If DLE appears in the text, introduce another DLE character before it

§ Protocol examples- BISYNC, PPP, DDCMP

Text (Data)STX ETX

8 8

Page 33: Encoding and Framingweb.eecs.umich.edu/~zmao/eecs489/LectureSlides/coding... · 2004-11-04 · - Bi-level encoding V = 2 àData rate

33Mao F04

Byte-Oriented Protocols: Byte Counting Approach

§ Sender: insert the length of the data (in bytes) at the beginning of the frame, i.e., in the frame header

§ Receiver: extract this length and decrement it every time a byte is read. When this counter becomes zero, we are done

Page 34: Encoding and Framingweb.eecs.umich.edu/~zmao/eecs489/LectureSlides/coding... · 2004-11-04 · - Bi-level encoding V = 2 àData rate

34Mao F04

Bit-Oriented Protocols

§ Both start and end sequence can be the same- E.g., 01111110 in HDLC (High-level Data Link Protocol)

§ Sender: in data portion inserts a 0 after five consecutive 1s§ Receiver: when it sees five 1s makes decision on the next two bits

- If next bit 0 (this is a stuffed bit), remove it- If next bit 1, look at the next bit

• If 0 this is end-of-frame (receiver has seen 01111110) • If 1 this is an error, discard the frame (receiver has seen 01111111)

Text (Data)Start

sequence

8 8End

sequence

Page 35: Encoding and Framingweb.eecs.umich.edu/~zmao/eecs489/LectureSlides/coding... · 2004-11-04 · - Bi-level encoding V = 2 àData rate

35Mao F04

Clock-Based Framing (SONET)

§ SONET (Synchronous Optical NETwork)§ Developed to transmit data over optical links

- Example: SONET ST-1: 51.84 Mbps- Many streams on one link

§ SONET maintains clock synchronization across several adjacent links to form a path

- This makes the format and scheme very complicated

Page 36: Encoding and Framingweb.eecs.umich.edu/~zmao/eecs489/LectureSlides/coding... · 2004-11-04 · - Bi-level encoding V = 2 àData rate

36Mao F04

SONET Multiplexing

§ STS-3c has the payloads of three STS-1’s byte-wise interleaved.

§ STS-3 is a SONET link w/o multiplexing§ For STS-N, frame size is always 125 microseconds

- STS-1 frame is 810 bytes- STS-3 frame is 810x3 =2430 bytes

STS-1FH

STS-1FH

STS-1FH

STS-3cFH

Page 37: Encoding and Framingweb.eecs.umich.edu/~zmao/eecs489/LectureSlides/coding... · 2004-11-04 · - Bi-level encoding V = 2 àData rate

37Mao F04

STS-1 Frame

§ First two bytes of each frame contain a special bit pattern thatallows to determine where the frame starts

§ No bit-stuffing is used§ Receiver looks for the special bit pattern every 810 bytes

- Size of frame = 9x90 = 810 bytes

90 columns

9 ro

ws

Data (payload)overhead

SONET STS-1 Frame

Page 38: Encoding and Framingweb.eecs.umich.edu/~zmao/eecs489/LectureSlides/coding... · 2004-11-04 · - Bi-level encoding V = 2 àData rate

38Mao F04

Clock-Based Framing (SONET)

§ Details:- Overhead bytes are encoded using NRZ- To avoid long sequences of 0’s or 1’s the payload is

XOR-ed with a special 127-bit pattern with many transitions from 1 to 0

Page 39: Encoding and Framingweb.eecs.umich.edu/~zmao/eecs489/LectureSlides/coding... · 2004-11-04 · - Bi-level encoding V = 2 àData rate

39Mao F04

What do you need to know?

§ Concept of bandwidth and data rate§ Nyquist’s Theorem § Shannon’s Theorem§ Encoding

- Understand (not memorize) NRZ, NRZI, Manchester, 4/5 bit

§ Framing- Understand framing for bit/byte oriented protocols and

clock based framing