CompSci 356: Computer Network Architectures Lecture 4: Link layer: - - PowerPoint PPT Presentation

compsci 356 computer network architectures lecture 4 link
SMART_READER_LITE
LIVE PREVIEW

CompSci 356: Computer Network Architectures Lecture 4: Link layer: - - PowerPoint PPT Presentation

CompSci 356: Computer Network Architectures Lecture 4: Link layer: Encoding, Framing, and Error Detection Ref. Chap 2.2, 2.3,2.4 Xiaowei Yang xwy@cs.duke.edu Overview Review: link/network performance metrics Bandwidth Latency /


slide-1
SLIDE 1

CompSci 356: Computer Network Architectures Lecture 4: Link layer: Encoding, Framing, and Error Detection

  • Ref. Chap 2.2, 2.3,2.4

Xiaowei Yang xwy@cs.duke.edu

slide-2
SLIDE 2

Overview

  • Review: link/network performance metrics

– Bandwidth – Latency / delay – Bandwidth * delay product – Throughput

  • Today

– Types of physical links – Link layer functions

  • Encoding
  • Framing
  • Error detection
slide-3
SLIDE 3

The simplest network is one link plus two nodes

Hi Alice…

?

slide-4
SLIDE 4

Recap: Put bits on the wire

  • Each node (e.g. a PC) connects to a

network via a network adaptor.

  • The adaptor delivers data between a

nodes memory and the network.

  • A device driver is the program

running inside the node that manages the above task.

  • At one end, a network adaptor encodes

and modulates a bit into signals on a physical link.

  • At the other end, a network adaptor reads

the signals on a physical link and converts it back to a bit.

slide-5
SLIDE 5

Metrics to describe a link

  • Bandwidth

– Why are some links slow/fast?

  • Latency/delay
  • Transmission delay

– Store and forward

  • Delay * bandwidth product
  • Throughput

– How long does it take to send a file?

slide-6
SLIDE 6

Commonly Used Physical Links

  • Different links have different transmission ranges

– Signal attenuation

  • Cables

– Connect computers in the same building

  • Leased lines

– Lease a dedicated line to connect far-away nodes from telephone companies

  • Wireless links

– Wifi, WiMax, Bluetooth, ZigBee, 4G, 5G…

slide-7
SLIDE 7

Cables

  • CAT-5: twisted pair
  • Coaxial: thick and thin
  • Fiber

10BASE2 cable, thin-net 200m

10Base4, thick-net 500m CAT-5

Fiber Cable Ethernet 40GbE

slide-8
SLIDE 8

Leased lines

  • Tx series speed: multiple of 64Kpbs

– Copper-based transmission

  • DS-1 (T1): 1,544, 24*64kpbs
  • DS-2 (T2): 6,312, 96*64kps
  • DS-3 (T3): 44,736, 672*64kps
  • OC-N series speed: multiple of OC-1

– Optical fiber based transmission

  • OC-1: 51.840 Mbps
  • OC-3: 155.250 Mbps
  • OC-12: 622.080 Mbps
slide-9
SLIDE 9

Last mile links

  • Wired links

– POTS: 28.8-56Kbps (Plain old telephone service) – ISDN: 64-128Kbps (Integrated Services Digital Network) – xDSL: 128Kbps-100Mbps (over telephone lines)

  • Digital Subscriber Line

– CATV: 1-40Mpbs (shared, over TV cables)

  • Wireless links

– Wifi, WiMax, Bluetooth, ZigBee, 4G, 5G… – Data rates: 4G (20Mbps), 5G (10Gbps)

slide-10
SLIDE 10

Central Office Subscriber premises Local loop Runs on existing copper 18,000 feet at 1.544Mbps 9,000 at 8.448 Mbps ADSL 1.5-8.4Mpbs 16-640Kpbs Central office Nbrhood optical Network unit Subscriber premises OC links 13-55Mpbs 1000-4500 feet of copper VDSL (Very high) Symmetric

xDSL wiring

Must install VDSL transmission hardware

slide-11
SLIDE 11

Wireless links

  • Wireless links transmit electromagnetic signals

through space

– Used also by cellular networks, TV networks, satellite networks etc.

  • Shared media

– Divided by frequency and space

  • FCC determines who can use a spectrum in a

geographic area, ie, licensing

– Auction is used to determine the allocation – Expensive to become a cellular carrier

  • Unlicensed spectrum

– WiFi, Bluetooth, Infrared

slide-12
SLIDE 12

Sample link metrics

Link type Typical Bandwidth Typical one- way latency Round-trip delay RTT x Bandwidth Dial-up 56 Kbps 10 km 87 us 5 bits Wireless LAN 54 Mbps 50 m 0.33 us 18 bits Satellite 45 Mbps 35,000 km 230 ms 10 Mb Cross-country fiber 10 Gbps 4,000 km 40 ms 400 Mb

slide-13
SLIDE 13

Overview

  • Review: link/network performance metrics

– Bandwidth / throughput – Latency / delay – Bandwidth * delay product

  • Today

– Types of physical links – Link layer functions

  • Encoding
  • Framing
  • Error detection
slide-14
SLIDE 14

Link-layer functions

  • Most functions are completed by adapters

– Encoding – Framing – Error detection – Reliable transmission (if have time)

slide-15
SLIDE 15

Encoding

  • Implemented in hardware
  • High and low signals, ignore modulation
  • Simplest one: 1 to high, 0 to low
slide-16
SLIDE 16

Non-return to zero

  • 1 to high, 0 to low
  • Not good for decoding

– Baseline wander – Clock recovery

slide-17
SLIDE 17

Solution 1: Nonreturn to zero inverted (NRZI)

  • A transition from current signal encodes 1
  • No transition encodes 0
  • Does it solve all problems?

– Not for consecutive 0s NRZI

slide-18
SLIDE 18

Solution 2: Manchester encoding

  • Clock XOR NRZ

– 1: high à low; 0: low à high – Drawback: doubles the rate at which signals are sent

  • Baud rate: signal change rate
  • Bit rate = half of baud rate. 50% efficient
slide-19
SLIDE 19

Final solution: 4B/5B

  • Key idea: insert extra bits to break up long sequences of

0s or 1s

  • 4-bit of data are encoded in a 5-bit code word

– 16 data symbols, 32 code words – At most one leading 0, two trailing 0s – For every pair of codes, no more than three consecutive 0s

  • 5-bit codes are sent using NRZI
slide-20
SLIDE 20
  • Exercise:

– 00101101

  • Whats the high/low

signal sequence?

  • Efficiency?

4-bit data symbol 5-bit code 0000 11110 0001 01001 0010 10100 0011 10101 0100 01010 0101 01011 0110 01110 0111 01111 1000 10010 1001 10011 4-bit data symbol 5-bit code 1010 10110 1011 10111 1100 11010 1101 11011 1110 11100 1111 11101

slide-21
SLIDE 21

Overview

  • Link layer functions

– Encoding – Framing – Error detection

slide-22
SLIDE 22

Framing

  • Now we’ve seen how to encode bitstreams
  • But nodes send blocks of data (frames)

– As memory à adaptor à adaptor à Bs memory

  • An adaptor must determine the boundary of frames

Block of data

slide-23
SLIDE 23

Variety of Framing Protocols

  • Framing

– Why is it an important task of an adaptor?

  • Frames may belong to different apps
  • Need to decide when to deliver them to apps
  • Design choices

– Byte-oriented protocols

  • Sentinel approach
  • Byte-counting approach
  • BISYNC, PPP, DDCMP

– Bit-oriented protocols – Clock-based framing

slide-24
SLIDE 24

Byte-oriented protocols: the sentinel approach

  • Frame: a collection of bytes (characters)
  • SYN, ETX

– What if special characters appear in a data stream?

  • Escape character: DLE
  • Character stuffing
  • Transmitted from the leftmost bit
  • Binary Synchronous Communication (BISYNC) by IBM in late 60s
slide-25
SLIDE 25

Point-to-Point Protocol (PPP)

  • Internet dialup access

– RFC 1661, 1994

  • Flag: 01111110;
  • Address & Control: default
  • Protocol: de-multiplexing

– IP, Link Control Protocol, …,

  • Checksum: two or four bytes
  • Link Control Protocol

– Set up and terminate the link – Negotiate other parameters

  • maximum receive unit
slide-26
SLIDE 26

Byte-oriented protocols: the byte counting approach

  • A byte count field
  • The corruption of the count field

– The sentinel approach: Corrupted ETX

  • DDCMP by DECNET (Digital Data Communication Message Protocol)
slide-27
SLIDE 27

Bit-oriented protocols

  • Frame: a collection of bits
  • Beginning/ending sequence: 01111110
  • Idle sequence:

– 01111110 or idle flags 11111111

  • Bit-stuffing for data
  • Frames are of variable length
  • High-level data link control (HDLC) protocol
slide-28
SLIDE 28

The bit-stuffing algorithm

  • Bit-stuffing for data

– Sender: inserts a 0 after every five consecutive 1s – Receiver: after five consecutive 1s,

  • If the next bit is 0, removes it
  • If the next bit is 1

–If the next bit is 0 (i.e. the last 8 bits are 01111110), then frame ends –Else error; discard frame, wait for next 01111110 to receive

slide-29
SLIDE 29

An exercise

  • Suppose a receiver receives the following bit

sequence

– 011010111110101001111111011001111110

  • Whats the resulting frame after removing

stuffed bits? Indicate any error.

slide-30
SLIDE 30

Clock-based Framing

  • Synchronous Optical Network (SONET)
  • Each frame is 125 us long, 810 bytes = 125 us

* 51.84Mbps

  • Clock synchronization

–special pattern repeated enough times

  • STS-1/OC-1 frame
  • 51.840Mbps
  • The slowest SONET link
slide-31
SLIDE 31

Synchronized timeslots as placeholder

  • Real frame data may float inside
slide-32
SLIDE 32

Overview

  • Link layer functions

– Encoding – Framing – Error detection

slide-33
SLIDE 33

Error detection

  • Error detection code adds redundancy

– Analogy: sending two copies – Parity – Checksum – CRC

  • Error correcting code
slide-34
SLIDE 34

Two-dimensional parity

  • Even parity bit

– Make an even number of 1s in each row and column

  • Detect all 1,2,3-bit errors, and most 4-bit errors

A sample frame of six bytes

slide-35
SLIDE 35

Internet checksum algorithm

  • Basic idea (for efficiency)

– Add all the words transmitted and then send the sum. – Receiver does the same computation and compares the sums

  • IP checksum

– Adding 16-bit short integers using 1s complement arithmetic – Take 1s complement of the result

  • Used by lab 2 to detect errors
slide-36
SLIDE 36

1s complement arithmetic

  • -x is each bit of x inverted
  • If there is a carry bit, add 1 to the sum
  • [-2^(n-1)-1, 2^(n-1)-1]
  • Example: 4-bit integer

– -5 + -2 – +5: 0101; -5: 1010; – +2: 0010; -2: 1101; – -5 + -2 = 1010+1101 = 0111 + one carrier bit; – à1000 = -7

slide-37
SLIDE 37

Calculating the Internet checksum

  • u_short cksum (u_short *buf, int count) {

register u_long sum = 0; while (count--) { sum += *buf++; if (sum & 0xFFFF0000) { /* carry occurred. So wrap around */ sum &= 0xFFFF; sum++; } } // one’s complement sum return ~(sum & 0xFFFF); // one’s complement of the sum }

slide-38
SLIDE 38

Verifying the checksum

  • Adds all 16-bit words together, including the

checksum

  • 0: correct
  • 1: errors
slide-39
SLIDE 39

Remarks

  • Can detect 1 bit error
  • Not all two-bits
  • Efficient for software implementation
slide-40
SLIDE 40

Cyclic Redundancy Check

  • Cyclic error-correcting codes
  • High-level idea:

– Represent an n+1-bit message with an n degree polynomial M(x) – Divide the polynomial by a degree-k divisor polynomial C(x) – k-bit CRC: remainder – Send Message + CRC that is dividable by C(x)

slide-41
SLIDE 41

Polynomial arithmetic modulo 2

– B(x) can be divided by C(x) if B(x) has higher degree – B(x) can be divided once by C(x) if of same degree

  • x^3 + 1 can be divided by x^3 + x^2 + 1
  • The remainder would be 0*x^3 + 1*x^2 + 0*x^1 +

0*x^0 (obtained by XORing the coefficients of each term)

– Remainder of B(x)/C(x) = B(x) – C(x) – Substraction is done by XOR each pair of matching coefficients

slide-42
SLIDE 42

CRC algorithm

  • 1. Multiply M(x) by x^k. Add k zeros to
  • Message. Call it T(x)
  • 2. Divide T(x) by C(x) and find the remainder
  • 3. Send P(x) = T(x) – remainder
  • Append remainder to T(x)
  • P(x) dividable by C(x)
slide-43
SLIDE 43

An example

  • 8-bit msg

– 10011010

  • Divisor (3bit CRC)

– 1101 Msg sent: 11111001101

slide-44
SLIDE 44

How to choose a divisor

  • Arithmetic of a finite field
  • Intuition: unlikely to be divided evenly by an

error

  • Corrupted msg is P(x) + E(x)
  • If E(x) is single bit, then E(x) = xi
  • If C(x) has the first and last term nonzero, then

detects all single bit errors

  • Find C(x) by looking it up in a book
slide-45
SLIDE 45

Summary

  • Link layer functions

– Encoding

  • NRZ, NRZI, Manchester, 4B/5B

– Framing

  • Byte-oriented, bit-oriented, time-based
  • Bit stuffing

– Error detection

  • Parity, checkshum, CRC