2013 Session 1: TELE3118: Network Technologies Week 2: Data Link Layer

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 28

2013 session 1

TELE3118: Network Technologies


Week 2: Data Link Layer
Framing, Error Control, Multiple Access

Some slides have been taken from:


Computer

Networking: A Top Down Approach Featuring the Internet, 3rd edition.

Jim Kurose, Keith Ross. Addison-Wesley, July 2004. All material copyright 19962004. J.F Kurose and K.W. Ross, All Rights Reserved.
Computer Networks, 4th edition. Andrew S. Tanenbaum. Prentice-Hall, 2003.

DataLink Layer

2-1

Link Layer: Introduction


Some terminology:

link

hosts and routers are nodes

communication channels that

connect adjacent nodes along


communication path are links

wired links
wireless links
LANs

layer-2 packet is a frame,

encapsulates datagram

data-link layer has responsibility of


transferring datagram from one node
to adjacent node over a link
DataLink Layer

2-2

Link Layer Functions


Framing

Error control
Addressing and Multiple-access control
Flow control
Reliable transfer

DataLink Layer

2-3

Framing

A character stream. (a) Without errors. (b) With one error.


DataLink Layer

2-4

Framing (2)

(a) A frame delimited by flag bytes.


(b) Four examples of byte sequences before and after stuffing.
DataLink Layer

2-5

Framing (3)

Bit stuffing
(a) The original data.
(b) The data as they appear on the line.
(c) The data as they are stored in receivers memory after destuffing.
DataLink Layer

2-6

Error Detection and Correction


EDC= Error Detection and Correction bits (redundancy)
D = Data protected by error checking, may include header fields
Error detection not 100% reliable!
protocol may miss some errors, but rarely
larger EDC field yields better detection and correction

DataLink Layer

2-7

Theory: Hamming Distances


Hamming distance of two codewords:
The number of bit positions in which they differ
Example: 10001001 and 10110001 have Hamming distance 3
Hamming distance of a code:
Minimum distance between any two valid codewords
E.g. the code: 0000000000, 0000011111, 1111100000,
1111111111 has Hamming distance 5
message size n = data bits m + redundant bits
Of 2n codewords, only 2m are valid

How many redundant bits needed for 1-bit error

correction?

Should satisfy: (n+1)2m 2n : why?


DataLink Layer

2-8

Error Detection: Parity Checking


Single Bit Parity:
Detect single bit errors

Two Dimensional Bit Parity:


Detect and correct single bit errors

DataLink Layer

2-9

Checksumming: Cyclic Redundancy Check


view data bits, D, as a binary number
choose r+1 bit pattern (generator), G
goal: choose r CRC bits, R, such that

<D,R> exactly divisible by G (modulo 2)


receiver knows G, divides <D,R> by G. If non-zero remainder:
error detected!
can detect all burst errors less than r+1 bits

widely used in practice (ATM, HDCL)

DataLink Layer

2-10

CRC Example
Want:
D.2r XOR R = nG

equivalently:

D.2r = nG XOR R

equivalently:

if we divide D.2r by
G, want remainder R

R = remainder[

D.2r
G

DataLink Layer

2-11

Multiple Access Links and Protocols


Two types of links:
point-to-point
PPP for dial-up access
point-to-point link between Ethernet switch and host
broadcast (shared wire or medium)
traditional Ethernet
upstream HFC
802.11 wireless LAN

DataLink Layer

2-12

Multiple Access protocols


single shared broadcast channel

two or more simultaneous transmissions by nodes:

interference

collision if node receives two or more signals at the same time

multiple access protocol

distributed algorithm that determines how nodes

share channel, i.e., determine when node can transmit


communication about channel sharing must use channel
itself!

no out-of-band channel for coordination

DataLink Layer

2-13

Ideal Multiple Access Protocol


Broadcast channel of rate R bps
1. When one node wants to transmit, it can send at
rate R.
2. When M nodes want to transmit, each can send at
average rate R/M
3. Fully decentralized:

no special node to coordinate transmissions


no synchronization of clocks, slots

4. Simple

DataLink Layer

2-14

MAC Protocols: a taxonomy


Three broad classes:
Channel Partitioning

divide channel into pieces (TDM, FDM, CDM, WDM)


allocate piece to node for exclusive use

Random Access
channel not divided, allow collisions
recover from collisions
Taking turns
Nodes take turns, but nodes with more to send can take
longer turns

DataLink Layer

2-15

Random Access Protocols


When node has packet to send
transmit at full channel data rate R.
no a priori coordination among nodes
two or more transmitting nodes collision,
random access MAC protocol specifies:
how to detect collisions
how to recover from collisions (e.g., via delayed
retransmissions)
Examples of random access MAC protocols:
slotted ALOHA
ALOHA
CSMA, CSMA/CD, CSMA/CA
DataLink Layer

2-16

Slotted ALOHA
Assumptions
all frames same size
time is divided into
equal size slots, time to
transmit 1 frame
nodes start to transmit
frames only at
beginning of slots
nodes are synchronized
if 2 or more nodes
transmit in slot, all
nodes detect collision

Operation
when node obtains fresh
frame, it transmits in next
slot
no collision, node can send
new frame in next slot
if collision, node
retransmits frame in each
subsequent slot with prob.
p until success

DataLink Layer

2-17

Slotted ALOHA

Pros
single active node can
continuously transmit
at full rate of channel
highly decentralized:
only slots in nodes
need to be in sync
simple

Cons
collisions, wasting slots
idle slots
nodes may be able to
detect collision in less
than time to transmit
packet
clock synchronization
DataLink Layer

2-18

Slotted Aloha efficiency


Efficiency is the long-run
fraction of successful slots
when there are many nodes,
each with many frames to send
Suppose N nodes with

many frames to send,


each transmits in slot
with probability p
prob that node 1 has
success in a slot
= p(1-p)N-1

prob that any node has


a success = Np(1-p)N-1

For max efficiency

with N nodes, find p*


that maximizes
Np(1-p)N-1
For many nodes, take
limit of Np*(1-p*)N-1
as N goes to infinity,
gives 1/e = .37

At best: channel

used for useful


transmissions 37%
of time!
DataLink Layer

2-19

Pure (unslotted) ALOHA


unslotted Aloha: simpler, no synchronization
when frame first arrives
transmit immediately
collision probability increases:
frame sent at t0 collides with other frames sent in [t0-1,t0+1]

DataLink Layer

2-20

Pure Aloha efficiency


P(success by given node) = P(node transmits) .
P(no other node transmits in [t0-1,t0] .

P(no other node transmits in [t0,,t0+1]


= p . (1-p)N-1 . (1-p)N-1
= p . (1-p)2(N-1)

choosing optimum p and then letting n -> infty ...

Even worse !

= 1/(2e) = .18

DataLink Layer

2-21

CSMA (Carrier Sense Multiple Access)


CSMA: listen before transmit:
If channel sensed idle: transmit entire frame
If channel sensed busy, defer transmission
Human analogy: dont interrupt others!

DataLink Layer

2-22

CSMA collisions

spatial layout of nodes

collisions can still occur:


propagation delay means
two nodes may not hear
each others transmission

collision:

entire packet transmission


time wasted

note:

role of distance & propagation


delay in determining collision
probability

DataLink Layer

2-23

CSMA/CD (Collision Detection)


CSMA/CD: carrier sensing, deferral as in CSMA
collisions

detected within short time

colliding transmissions aborted, reducing channel


wastage

collision detection:
easy in wired LANs: measure signal strengths,
compare transmitted, received signals
difficult in wireless LANs: receiver shut off while
transmitting
human analogy: the polite conversationalist
DataLink Layer

2-24

CSMA/CD collision detection

DataLink Layer

2-25

Taking Turns MAC protocols


channel partitioning MAC protocols:
share channel efficiently and fairly at high load
inefficient at low load: delay in channel access,
1/N bandwidth allocated even if only 1 active
node!
Random access MAC protocols
efficient at low load: single node can fully
utilize channel
high load: collision overhead
taking turns protocols
look for best of both worlds!
DataLink Layer

2-26

Taking Turns MAC protocols


Token passing:
Polling:
control token passed from
master node
one node to next
invites slave nodes
sequentially.
to transmit in turn
token message
concerns:
concerns:
polling overhead

latency
single point of
failure (master)

token overhead
latency
single point of failure (token)

DataLink Layer

2-27

Summary of MAC protocols


What do you do with a shared media?
Channel

Partitioning, by time, frequency or code

Time Division, Frequency Division

Random partitioning (dynamic),


ALOHA, S-ALOHA, CSMA, CSMA/CD
carrier sensing: easy in some technologies (wire), hard
in others (wireless)
CSMA/CD used in Ethernet
CSMA/CA used in 802.11

Taking Turns
polling from a central site, token passing
DataLink Layer

2-28

You might also like