* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download ppt
Backpressure routing wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
IEEE 802.1aq wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Deep packet inspection wikipedia , lookup
Internet protocol suite wikipedia , lookup
IEEE 802.11 wikipedia , lookup
Code-division multiple access wikipedia , lookup
Serial digital interface wikipedia , lookup
CSE401N:Computer Networks
Lecture-15
Data Link Layer
EDC
MAC
Preview: The Data Link Layer
Our goals:
Understand principles
behind data link layer
services:
error detection,
correction done!
sharing a broadcast
channel: multiple access
reliable data transfer,
flow control: done!
link layer forwarding
Instantiation and
implementation of various
link layer technologies
Overview:
link layer services
error detection, correction
multiple access protocols and
LANs
link layer addressing, ARP
specific link layer technologies:
Ethernet
hubs, bridges, switches
IEEE 802.11 LANs and wireless
PPP
ATM
CSE 401N DLL
2
Link Layer: setting the context
CSE 401N DLL
3
Link Layer: setting the context
two physically connected devices:
host-router, router-router, host-host
unit of data: frame
M
Ht M
Hn Ht M
Hl Hn Ht M
application
transport
network
link
physical
data link
protocol
phys. link
adapter card
network
link
physical
Hl Hn Ht M
frame
CSE 401N DLL
4
Link Layer: Introduction
“link”
Some terminology:
hosts and routers are nodes
(bridges and switches too)
communication channels that
connect adjacent nodes along
communication path are links
wired links
wireless links
LANs
2-PDU is a frame,
encapsulates datagram
CSE 401N DLL
5
Link layer: Context
Data-link layer has
responsibility of
transferring datagram
from one node to
adjacent node over a link
Datagram transferred by
different link protocols
over different links:
transportation analogy
trip from New Haven to San
Francisco
taxi: home to union station
train: union station to JFK
plane: JFK to San
Francisco airport
limo: airport to hotel
e.g., Ethernet on first link,
frame relay on
intermediate links, 802.11
on last link
CSE 401N DLL
6
Link Layer Services
Framing, link access:
encapsulate datagram into frame, adding header, trailer
implement channel access if shared medium,
‘physical addresses’ used in frame headers to identify
source, dest
• different from IP address!
Reliable delivery between two physically connected
devices:
we learned how to do this already (chapter 3)!
seldom used on low bit error link (fiber, some twisted
pair)
wireless links: high error rates
• Q: why both link-level and end-end reliability?
CSE 401N DLL
7
Link Layer Services (more)
Flow Control:
pacing between adjacent sending and receiving nodes
Error Detection:
errors caused by signal attenuation, noise.
receiver detects presence of errors:
• signals sender for retransmission or drops frame
Error Correction:
receiver identifies and corrects bit error(s) without
resorting to retransmission
Half-duplex and full-duplex
with half duplex, nodes at both ends of link can transmit,
but not at same time
CSE 401N DLL
8
Adaptors Communicating
datagram
sending
node
rcving
node
link layer protocol
frame
adapter
{RAM, DSP Chips, a host bus
interface, link interface}
link layer implemented in
“adaptor” (aka NIC)
Ethernet card, PCMCI card,
802.11 card
sending side:
encapsulates datagram in a
frame
adds error checking bits,
rdt, flow control, etc.
frame
adapter
receiving side
looks for errors, rdt, flow
control, etc
extracts datagram, passes
to rcving node
adapter is semi-
autonomous
link & physical layers
CSE 401N DLL
9
OSI
TCP/IP
Application
Presentation
Application
Session
Transport
Transport
Network
Internet
Data Link
Physical
Network
Interface
CSE 401N DLL
10
Outline
Link layer overview
Error detection and correction
CSE 401N DLL
11
Error Detection
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
CSE 401N DLL
12
Error Detection: Parity Checking
Single Bit Parity:
Detect single bit errors
Two Dimensional Bit Parity:
Detect and correct single bit errors
1
Errors are generally
bursty, i.e. several
consecutive bits are
flipped: column parity.
0
0
CSE 401N DLL
13
Internet Checksum
Goal: detect “errors” (e.g., flipped bits) in transmitted
segment (note: used at transport layer only)
Sender:
Receiver:
contents as sequence
of 16-bit integers
checksum: addition
(1’s complement sum)
of segment contents
sender puts checksum
value into checksum
field
received segment
check if computed checksum
equals checksum field value:
NO - error detected
YES - no error detected
treat segment
compute checksum of
CSE 401N DLL
14
Cyclic Redundancy Check: Background
Widely used in practice (ATM, Ethernet,
HDCL,)
For a given data D, consider it as a
polynomial D(x)
consider the string of 0 and 1 as the
coefficients of a polynomial
• e.g. consider string 10011 as x4+x+1
addition and subtraction are modular 2, thus
the same as xor
Choose generator polynomial G(x) with r+1
bits, where r is called the degree of G(x)
CSE 401N DLL
15
Cyclic Redundancy Check: Objective
Given data G(x) and D(x), choose R(x) with r bits,
such that
D(x)xr+R(x) is exactly divisible by G(x)
x
+
The bits correspond to D(x)xr+R(x) are sent to
the receiver
Since G(x) is global, when the receiver receives
the transmission T’(x), it divides T’(x) by G(x)
If non-zero remainder: error detected!
If zero remainder, assumes no error
CSE 401N DLL
16
CRC: Steps and an Example
1.
2.
3.
4.
5.
Suppose the degree of
G(x) is r
Append r zero to D(x),
i.e. consider D(x)xr
Divide D(x)xr by G(x).
Let R(x) denote the
reminder
Send <D, R> to the
receiver
CSE 401N DLL
17
CRC Example
Example: D=101110, G=1001, r=3
Want:
D.2r XOR R = nG
equivalently:
D.2r = nG XOR R
equivalently:
if we divide D.2r by G,
remainder is R
R = remainder[
D.2r
G
]
In CRC calculations, addition and
subtraction are equivalent to
bitwise exclusive-or (XOR)
Sender transmit: 101110 011
CSE 401N DLL
18
The Power of CRC
Let T(x) denote D(x)xr+R(x), and E(x) the polynomial of the
error bits
The received signal is T(x)+E(x)
Since T(x) is divisible by G(x), we only need to consider E(x)
divided by G(x)
A single bit of error: E(x) = xi
If G(x) contains two or more terms, E(x) is not divisible by G(x)
An odd number of errors: E(x) has an odd number of terms:
Lemma: if E(x) has an odd number of terms, E(x) cannot be divisible
by (x+1)
• suppose E(x) = (x+1)F(x), let x=1, the left hand will be 1, while the right
hand will be 0
If G(x) contains x+1 as a factor, E(x) will not be divided by G(x)
Many more errors can be detected by designing the right G(x)
CSE 401N DLL
19
Example G(x)
CRC-16: x16+x15+x2+1
CRC-CCITT: x16+x12+x5+1
Both can catch
all single or double bit errors
all odd number of bit errors
All burst errors of length 16 or less
>99.99% of the 17 or 18 bits burst errors
CSE 401N DLL
20
Part-2
CSE 401N DLL
21
Outline
Media access control (MAC) protocols:
overview
Random MAC protocols
CSE 401N DLL
22
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
802.11 wireless LAN
satellite
CSE 401N DLL
23
Multiple Access Protocols
Single shared broadcast channel
Two or more simultaneous transmissions by nodes: interference
only one node can send successfully at a time (see CDMA for an
exception)
multiple access protocol
Algorithm that determines how nodes share channel, i.e.,
determines when node can transmit
Communication about channel sharing must use channel itself!
What to look for in multiple access protocols:
• synchronous or asynchronous
• information needed about other stations
• robustness (e.g., to channel errors)
• performance
CSE 401N DLL
24
Ideal Mulitple Access Protocol
Broadcast channel of rate R bps
1. Efficiency: when one node wants to transmit, it
can send at rate R.
2. Fairness: when M nodes want to transmit, each can
send at average rate R/M
3. Decentralized:
no special node to coordinate transmissions
no synchronization of clocks
4. Simple
CSE 401N DLL
25
Multiple Access protocols
claim: humans use multiple access protocols
all the time
class can "guess" multiple access protocols
multiaccess protocol
multiaccess protocol
multiaccess protocol
multiaccess protocol
1:
2:
3:
4:
CSE 401N DLL
26
MAC Protocols: a Taxonomy
Three broad classes:
Channel Partitioning
divide channel into smaller “pieces” (time slots, frequency)
allocate piece to node for exclusive use
Random Access
allow collisions
“recover” from collisions
“Taking-turns”
tightly coordinate shared access to avoid collisions
Goal: efficient, fair, decentralized, simple
CSE 401N DLL
27
Channel Partitioning MAC protocols: TDMA
TDMA: time division multiple access
Access to channel in "rounds"
Each station gets fixed length slot (length = pkt
trans time) in each round
Unused slots go idle
Example: 6-station LAN, 1,3,4 have pkt, slots 2,5,6
idle
CSE 401N DLL
28
Channel Partitioning MAC protocols: FDMA
FDMA: frequency division multiple access
Channel spectrum divided into frequency bands
Each station assigned fixed frequency band
Unused transmission time in frequency bands go idle
Example: 6-station LAN, 1,3,4 have pkt, frequency
frequency bands
bands 2,5,6 idle
1
2
3
4
5
6
CSE 401N DLL
29
FDMA and TDMA
Example:
FDMA
4 users
frequency
time
TDMA
frequency
time
CSE 401N DLL
30
TDMA and FDMA
Often combined in practice, for example, in cellular
phone networks:
TDMA cellular phones
use 30 KHz channels, with
each channel divided into three
time slots. A single handset uses
one timeslot for sending and the
other for receiving.
• e.g. Cingular (Nokia 8265, TDMA 800/ 1900 MHz, AMPS 800
mHz ), AT&T Wireless
GSM uses 200 KHz channels divided into eight time slots. A
single handset uses one slot in two channels for sending and
receiving.
• Cingular, T-Mobile, AT&T are converting to it
CSE 401N DLL
31
Channel Partitioning (CDMA)
CDMA (Code Division Multiple Access)
Used mostly in wireless broadcast channels
(cellular, satellite, etc)
Unique “code” assigned to each user; i.e., code
set partitioning
All users share same frequency, but each
user has its own “chipping” sequence (i.e.,
code) to encode data
e.g. code = 1 1 1 1 -1 -1 1 1
Examples: MetroPCS, Sprint and Verizon
CSE 401N DLL
32
CDMA: Encoding and Decoding
Assume original data are represented by 1
and -1
Encoded signal = (original data) x (chipping
sequence)
Decoding: inner-product (summation of bitby-bit product) of encoded signal and
chipping sequence
if inner-product > threshold, the data is 1; else -1
CSE 401N DLL
33
CDMA Encode/Decode
Code:
1 1 1 -1 1 -1 -1 -1
CSE 401N DLL
34
CDMA: Deal with Multiple-User Interference
Two codes Ci and Cj are orthogonal, if
c j ci 0, where we use “.”
to denote inner product,
e.g.
C1:
1
1 1 -1 1 -1 -1 -1
C2:
1 -1 1
1 1 -1
1
1
----------------------------------------C1 . C2 =
1 +(-1) + 1 + (-1) +1 + 1+ (-1)+(-1)=0
If codes are orthogonal, multiple users can
“coexist” and transmit simultaneously with
minimal interference:
( d j c j ) ci d i ci
j
Analogy: Speak in different languages!
CSE 401N DLL
35
CDMA: Two-Sender Interference
Code 1: 1 1 1 -1 1 -1 -1 -1
Code 2: 1 -1 1 1 1 -1 1 1
.
. . .
CSE 401N DLL
36
Outline
Media access control (MAC) protocols:
overview
Random MAC protocols
Random Access
• Compete for each packet
• Aloha, CSMA, CSMA/CD
“Taking-turns”
CSE 401N DLL
37
Random Access Protocols
When node has packets 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 and pure ALOHA
CSMA and CSMA/CD, CSMA/CA
CSE 401N DLL
38
Slotted Aloha
Time is divided into equal size slots (= pkt trans.
time)
Node with new arriving pkt: transmit at beginning of
next slot
If collision: retransmit pkt in future slots with
probability p, until successful.
Success (S), Collision (C), Empty (E) slots
CSE 401N DLL
39
Slotted Aloha Efficiency
Q: What is the fraction of successful slots?
A: Suppose N stations have packets to send
each transmits in a slot with probability p
prob. successful transmission S(p) is:
by single node:
S(p)= p (1-p)(N-1)
by any one of the N nodes
S(p) = Prob (only one transmits)
= N p (1-p)(N-1)
when p=1/N, S(p) achieves the maximum (1-1/N)(N-1)
CSE 401N DLL
40
Maximum Efficiency vs. N
0.4
1/e = 0.37
maximum efficiency
0.35
0.3
0.25
0.2
At best: channel
use for useful
transmissions 37%
of time!
0.15
0.1
0.05
0
2
7
12
17
N
CSE 401N DLL
41
Pure (unslotted) Aloha
Unslotted Aloha: simpler, no synchronization
Whenever pkt needs transmission:
send without awaiting for the beginning of slot
Collision probability increases:
pkt sent at t0 collide with other pkts sent in [t0-1, t0+1]
CSE 401N DLL
42
Pure Aloha (cont.)
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(success by any of N nodes) = N p . (1-p)N-1 . (1-p)N-1
Bound: 1/(2e) = .18
0.4
0.3
Slotted Aloha
0.2
0.1
protocol constrains
effective channel
throughput!
Pure Aloha
0.5
1.0
1.5
2.0
G = offered load = Np
CSE 401N DLL
43
CSMA: Carrier Sense Multiple Access
CSMA: listen before transmit:
If channel sensed idle: transmit entire pkt
If channel sensed busy, defer transmission
Persistent CSMA: retry immediately with
probability p when channel becomes idle (may cause
instability)
Non-persistent CSMA: retry after random interval
human analogy: don’t interrupt others!
CSE 401N DLL
44
CSMA collisions
spatial layout of nodes along Ethernet
collisions can occur:
propagation delay means
two nodes may not year
hear each other’s
transmission
collision:
entire packet transmission
time wasted
note:
role of distance and
propagation delay in
determining collision prob.
CSE 401N DLL
45
CSMA/CD (Collision Detection)
CSMA/CD: carrier sensing, deferral as in CSMA
collisions detected within short time
colliding transmissions aborted, reducing channel
wastage
persistent or non-persistent retransmission
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
CSE 401N DLL
46
CSMA/CD Collision Detection
instead of wasting the whole packet
transmission time, abort after detection.
CSE 401N DLL
47
MAC Rules & Collision Detection/Backoff
CSE 401N DLL
48
MAC Rules and Collision Detection/Backoff
CSE 401N DLL
49
Efficiency of CSMA/CD
Given collision detection, instead of wasting the
whole packet transmission time (a slot), we only
waste the time needed to detect collision.
P/C
P: packet size, e.g. 1000 bits
C: link capacity, e.g. 10Mbps
In the normal case, we try approximately e times
before each successful transmission, then for each
successful transmission, which takes P/C, we waste a
total of 2eT (5T) seconds on collision, where T is
one-way propagation delay
CSE 401N DLL
50
Efficiency of CSMA/CD
The efficiency (the percentage of useful
time) is
P/C
P / C 5T
151T / P 115a , where a TC
P
C
The value of a plays a fundamental role in the
efficiency of CSMA/CD protocols.
Question: you want to increase the bandwidth
of the network, but still want to maintain the
same efficiency, what do you do?
CSE 401N DLL
51
Outline
Review
CSMA protocols
“Take-turn” MAC protocols
Example protocols
CSE 401N DLL
52
“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 the best of both worlds!
CSE 401N DLL
53
“Taking Turns” MAC protocols
Polling:
master node
“invites” slave nodes
to transmit in turn
reserve or
request/reply
concerns:
polling overhead
latency
single point of
failure (master)
Token passing:
control token passed from
one node to next
sequentially
token message
concerns:
token overhead
latency
single point of failure (token)
CSE 401N DLL
54
Polling Example: Distributed Polling
Time divided into slots
Begins with N short
reservation slots
reservation slot time equal to channel end-end propagation
delay
station with message to send posts reservation
reservation seen by all stations
After reservation slots, message transmissions ordered by
known priority
CSE 401N DLL
55
Token Passing Example: Token Ring
A token rotates around a ring to each node in turn
All nodes (computers, routers, etc.) copy all data
and tokens, and repeat them along the link of the
stations
When a node wishes to transmit packet(s), it grabs
the token as it passes
It holds the token while it transmits
When it is done, it releases the token and sends it
on its way
CSE 401N DLL
56
Token Passing: Illustration
Listen:
Talk:
data
l4
l1
l3
l2
token/data
CSE 401N DLL
57
Token Ring: Two Variants
Release After Reception
(RAR)
Example: IEEE 802.5
Token Rings (4Mbps)
station 1 station 2 station N station 1
Packet 1
token
Release After
Transmissions (RAT)
Example: Fiber
Distributed Data
Interface (FDDI)
(100Mbps)
station 1 station 2 station N station 1
Packet 1
Packet 2
Packet 2
CSE 401N DLL
58
Efficiency of Token Ring: RAR
Release After Reception (RAR)
maximum efficiency RAR achieved when a station
continuously transmits:
1
2
N
1
Figure assumes
- packet time is 1
- end-to-end
propagation delay a
a
Packet 1
1
RAR
Packet 2
1
1 a
where
a:
E - 2 - E propagatio n delay
Packet Transmissi on time
if the sender always releases its token after a data
transmission:
1
2
n
1
Packet 1
a/N
Packet 2
a
1
RAR
1
1 NN1 a
1
1 a
Assume token very small, stations
equally spaced
where
a:
E - 2 - E propagatio n delay
Packet Transmissi on time
N: number
of401N
hosts
CSE
DLL
59
Efficiency of Token Ring: RAT
Release After Transmission (RAT)
maximum efficiency achieved when a station continuously
transmits:
1
2
n
Packet 1
1
a
1
Packet 2
Therefore, the efficiency is
approaching 1
assume a station always releases its token after a packet
transmission:
Assume token very small, stations
1
Time 0
2
3 n
1
a/N
a
Packet 1
Time 1+a/N
Time 2+2a/N
Packet 2
Packet 3
equally spaced
RAT
1
1 a / N
where
a:
E - 2 - E propagatio n delay
Packet Transmissi on time
N: number
of hosts
CSE 401N
DLL
60
Comparison of Efficiency
CSMA / CD
1
1 5a
1
1 a
1
1 a / N
where
E - 2 - E propagatio n delay
Packet Transmissi on time
RAR
a:
RAT
N: number of hosts
CSE 401N DLL
61
Summary of MAC Protocols
How do you access a shared media?
Channel Partitioning, by time, frequency or code
• Time Division, Code Division, Frequency Division
Random partitioning (dynamic),
• ALOHA, S-ALOHA, CSMA, CSMA/CD
“Taking-turns”
• polling
• token passing
CSE 401N DLL
62
Media Access Control (MAC) Protocols
Ethernet (IEEE 802.3)
Logical bus topology
Physical star or extended
star
Nondeterministic
• First-come, first-served
Token Ring (IEEE 802.5)
Logical ring
Physical star topology
Deterministic
Older declining technology
• Token controls traffic
FDDI (IEEE 802.5)
Fiber Distributed Data
Interface
Logical ring topology
Physical dual-ring topology
Deterministic
Near-end-of-life technology
• Token controls traffic
CSE 401N DLL
63
THANX
HOME WORK:
What is inside the Router?
CSE 402N:QUIZ
3rd May, 2006
CSE 401N DLL
64