Download Part I: Introduction

Document related concepts

Computer network wikipedia , lookup

Deep packet inspection wikipedia , lookup

Zero-configuration networking wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

Piggybacking (Internet access) wikipedia , lookup

AppleTalk wikipedia , lookup

Point-to-Point Protocol over Ethernet wikipedia , lookup

Wake-on-LAN wikipedia , lookup

Cellular network wikipedia , lookup

MIMO wikipedia , lookup

Internet protocol suite wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

IEEE 802.1aq wikipedia , lookup

IEEE 802.11 wikipedia , lookup

Code-division multiple access wikipedia , lookup

CAN bus wikipedia , lookup

IEEE 1355 wikipedia , lookup

UniPro protocol stack wikipedia , lookup

Transcript
Physical Media
 physical link:
transmitted data bit
propagates across link
 guided media:

signals propagate in
solid media: copper,
fiber
 unguided media:
 signals propagate
freely, e.g., radio
Twisted Pair (TP)
 two insulated copper
wires


Category 3: traditional
phone wires, 10 Mbps
ethernet
Category 5 TP:
100Mbps ethernet
1
Physical Media: coax, fiber
Coaxial cable:
 wire (signal carrier)
within a wire (shield)


baseband: single channel
on cable
broadband: multiple
channel on cable
 bidirectional
 common use in 10Mbs
Fiber optic cable:
 glass fiber carrying
light pulses
 high-speed operation:


100Mbps Ethernet
high-speed point-to-point
transmission (e.g., 5 Gps)
 very low error rate
Ethernet
2
Physical media: radio
 signal carried in
electromagnetic
spectrum
 no physical “wire”
 bidirectional
 propagation
environment effects:



reflection
obstruction by objects
interference
Radio link types:
 microwave
 e.g. up to 45 Mbps channels
 LAN (e.g., 802.11b/g)
 11Mbps
 wide-area (e.g., cellular)
 e.g. CDPD, 10’s Kbps
 satellite
 up to 50Mbps channel (or
multiple smaller channels)
 270 Msec end-end delay
 geosynchronous versus
LEOS (low earth orbit)
3
The Data Link Layer
Our goals:
Overview:
 understand principles
 link layer services
behind data link layer
services:



error detection,
correction
sharing a broadcast
channel: multiple access
link layer addressing
 error detection, correction
 multiple access protocols and
LANs
 link layer addressing
 specific link layer technologies:

Ethernet
 instantiation and
implementation of various
link layer technologies
4
Link Layer: setting the context
5
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
network
link
physical
Hl Hn Ht M
frame
adapter card
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, destination
• different from IP address!
 Reliable delivery between two physically connected
devices:


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?
7
Link Layer Services (more)
 Flow Control:

pacing between sender and receivers
 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
8
Link Layer: Implementation
 implemented in “adapter”
e.g., PCMCIA card, Ethernet card
 typically includes: RAM, DSP chips, host bus
interface, and link interface

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
9
Error Detection
EDC= Error Detection and Correction bits (redundancy)
D = Data protected by error checking, may include header fields
• Error detection not 100% reliable! Q: why?
• protocol may miss some errors, but rarely
• larger EDC field yields better detection and correction
10
Parity Checking
Single Bit Parity:
Detect single bit errors
Two Dimensional Bit Parity:
Detect and correct single bit errors
Parity bit=1 iff
Number of 1’s even
0
0
11
Internet checksum
Goal: detect “errors” (e.g., flipped bits) in transmitted
segment (note: used at transport layer only)
Sender:
 treat segment contents
as sequence of 16-bit
integers
 checksum: addition (1’s
complement sum) of
segment contents
 sender puts checksum
value into UDP checksum
field
Receiver:
 compute checksum of received
segment
 check if computed checksum equals
checksum field value:
 NO - error detected
 YES - no error detected.
But maybe errors nonetheless?
12
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)
13
CRC Example
Want:
D.2r XOR R = nG
equivalently:
D.2r = nG XOR R
equivalently:
if we divide D.2r by
G, want reminder R
R = remainder[
D.2r
G
]
14
Multiple Access Links and Protocols
Three types of “links”:
 point-to-point (single wire, e.g. PPP, SLIP)
 broadcast (shared wire or medium; e.g, Ethernet,
Wavelan, etc.)
 switched (e.g., switched Ethernet, ATM etc)
15
Multiple Access protocols
 single shared communication channel
 two or more simultaneous transmissions by nodes:
interference

only one node can send successfully at a time
 multiple access protocol:
 distributed algorithm that determines how stations share
channel, i.e., determine when station 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
16
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:
17
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, simple, decentralized
18
MAC Protocols: Measures
 Channel Rate = R bps
 Efficient:
 Single
user: Throughput R
 Fairness
N
users
 Min. user throughput R/N
 Decentralized

Fault tolerance
 Simple
19
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
20
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
21
TDMA & FDMA: Performance
 Channel Rate = R bps
 Single user
 Throughput
R/N
 Fairness
 Each
user gets the same allocation
 Depends on maximum number of users
 Decentralized

Requires division
 Simple
22
Channel Partitioning (CDMA)
CDMA (Code Division Multiple Access)
 unique “code” assigned to each user; ie, code set partitioning
 used mostly in wireless broadcast channels (cellular,




satellite, etc)
all users share same frequency, but each user has own
“chipping” sequence (ie, code) to encode data
encoded signal = (original data) X (chipping sequence)
decoding: inner-product of encoded signal and chipping
sequence
allows multiple users to “coexist” and transmit
simultaneously with minimal interference (if codes are
“orthogonal”)
23
CDMA - Basics
 Orthonormal codes:


<ci,cj> =0 i≠j
<ci,ci> =1
 Encoding at user i:


Bit 1 send +ci
Bit 0 send -ci
 Decoding (at user i):




Receive a vector ri
Compute t=<ri,ci>
If t=1 THEN bit=1
If t=-1 THEN bit=0
 Correctness of decoding


Single user
Multiple users
• Assume additive channel.
• R = c1 – c2
• Output <R,c1> = <c1,c1> + <-c2,c1> = 1 + 0 = 1
24
CDMA Encode/Decode
25
CDMA: two-sender interference
26
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 and CSMA/CD
27
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
28
Slotted Aloha efficiency
Q: what is max fraction slots successful?
A: Suppose N stations have packets to send
 each transmits in slot with probability p
 prob. successful transmission S is:
by single node:
S= p (1-p)(N-1)
by any of N nodes
S = Prob (only one transmits)
= N p (1-p)(N-1)
… choosing optimum p =1/N
as N -> infty ...
S≈ 1/e = .37 as N -> infty
At best: channel
use for useful
transmissions 37%
of time!
29
Pure (unslotted) ALOHA
 unslotted Aloha: simpler, no synchronization
 pkt needs transmission:
 send without awaiting for beginning of slot
 collision probability increases:
 pkt sent at t0 collide with other pkts sent in [t0-1, t0+1]
30
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
… choosing optimum p=1/(2N-1)
as N -> infty ... S≈ 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
31
Aloha: Performance
 Channel Rate = R bps
 Single user
 Throughput
R!
 Fairness
 Multiple
users
 Combined throughput only 0.37*R
 Decentralized

Slotted needs slot synchronization
 Simple
32
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
 Non-persistent CSMA: retry after random interval
 human analogy: don’t interrupt others!
33
CSMA collisions
spatial layout of nodes along ethernet
collisions can occur:
propagation delay means
two nodes may not yet
hear each other’s
transmission
collision:
entire packet transmission
time wasted
note:
role of distance and
propagation delay in
determining collision prob.
34
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
35
CSMA/CD collision detection
36
CDMA/CD
 Channel Rate = R bps
 Single user
 Throughput
 Fairness
R
 Multiple
users
 Depends on Detection Time
 Decentralized

Completely
 Simple
 Needs collision detection hardware
37
“Taking Turns” MAC protocols
channel partitioning MAC protocols:
 share channel efficiently 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!
38
“Taking Turns” MAC protocols
Polling:
 master node
“invites” slave nodes
to transmit in turn
 Request to Send,
Clear to Send msgs
 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)
39
Reservation-based protocols
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
40
Summary of MAC protocols
 What do you do with 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
• carrier sensing: easy in some technologies (wire), hard
in others (wireless)
• CSMA/CD used in Ethernet

Taking Turns
• polling from a central cite, token passing
• Popular in cellular 3G/4G networks where
base station is the master
41
LAN technologies
Data link layer so far:

services, error detection/correction, multiple
access
Next: LAN technologies
addressing
 Ethernet
 hubs, bridges, switches
 802.11
 PPP
 ATM

42
LAN Addresses
32-bit IP address:
 network-layer address
 used to get datagram to destination network
LAN (or MAC or physical) address:
 used to get datagram from one interface to
another physically-connected interface (same
network)
 48 bit MAC address (for most LANs)
burned in the adapter ROM
43
LAN Addresses
Each adapter on LAN has unique LAN address
44
LAN Address (more)
 MAC address allocation administered by IEEE
 manufacturer buys portion of MAC address space
(to assure uniqueness)
 Analogy:
(a) MAC address: like Social Security Number
(b) IP address: like postal address
 MAC flat address => portability

can move LAN card from one LAN to another
 IP hierarchical address NOT portable
 depends on network to which one attaches
 ARP protocol translates IP address to MAC address
45
Ethernet
“dominant” LAN technology:
 cheap $20 for 100Mbs!
 first widely used LAN technology
 Simpler, cheaper than token LANs and ATM
 Kept up with speed race: 1, 10, 100, 1000 Mbps
Metcalfe’s Etheret
sketch
46
Ethernet Frame Structure
Sending adapter encapsulates IP datagram (or other
network layer protocol packet) in Ethernet frame
Preamble:
 7 bytes with pattern 10101010 followed by one
byte with pattern 10101011
 used to synchronize receiver, sender clock rates
47
Ethernet Frame Structure
(more)
 Addresses: 6 bytes, frame is received by all
adapters on a LAN and dropped if address does
not match
 Type: indicates the higher layer protocol, mostly
IP but others may be supported such as Novell
IPX and AppleTalk)
 CRC: checked at receiver, if error is detected, the
frame is simply dropped
48
Ethernet: uses CSMA/CD
A: sense channel, if idle
then {
transmit and monitor the channel;
If detect another transmission
then {
abort and send jam signal;
update # collisions;
delay as required by exponential backoff algorithm;
goto A
}
else {done with the frame; set collisions to zero}
}
else {wait until ongoing transmission is over and goto A}
49
Ethernet’s CSMA/CD (more)
Jam Signal: make sure all other transmitters are
aware of collision; 48 bits;
Exponential Backoff:
 Goal: adapt retransmission attempts to estimated
current load

heavy load: random wait will be longer
 first collision: choose K from {0,1}; delay is K x 512
bit transmission times
 after n-th collision: choose K from {0,1,…, 2n-1}
 after ten or more collisions, choose K from
{0,1,2,3,4,…,1023}
50
Exponential Backoff (simplified)
 N users
 Interval of size 2n
 Prob Node/slot is 1/2n
 Prob of success N(1/2n)(1 – 1/2n)N-1
 Average success N(1 – 1/2n)N-1
 Intervals size: 1, 2, 4, 8, 16 …
 Fraction (out of N) of success:
 2n = N/8 -> 0.03 %
2n = N/4 -> 2%
 2n = N/2 -> 15%
2n = N -> 37 %
 2n = 2N -> 60%
51
Ethernet Technologies: 10Base2
 10: 10Mbps; 2: under 200 meters max cable length
 thin coaxial cable in a bus topology
 repeaters used to connect up to multiple segments
 repeater repeats bits it hears on one interface to
its other interfaces: physical layer device only!
52
10BaseT and 100BaseT
 10/100 Mbps rate; latter called “fast ethernet”
 T stands for Twisted Pair
 Hub to which nodes are connected by twisted pair,
thus “star topology”
 CSMA/CD implemented at hub
53
10BaseT and 100BaseT (more)
 Max distance from node to Hub is 100 meters
 Hub can disconnect “jabbering adapter
 Hub can gather monitoring information, statistics
for display to LAN administrators
54
Gbit Ethernet
 use standard Ethernet frame format
 allows for point-to-point links and shared
broadcast channels
 in shared mode, CSMA/CD is used; short distances
between nodes to be efficient
 uses hubs, called here “Buffered Distributors”
 Full-Duplex at 1 Gbps for point-to-point links
55
Token Passing: IEEE802.5 standard
 4 Mbps
 max token holding time: 10 ms, limiting frame length
 SD, ED mark start, end of packet
 AC: access control byte:
 token bit: value 0 means token can be seized, value 1 means
data follows FC
 priority bits: priority of packet
 reservation bits: station can write these bits to prevent
stations with lower priority packet from seizing token
after token becomes free
56
Token Passing: IEEE802.5 standard
 FC: frame control used for monitoring and




maintenance
source, destination address: 48 bit physical
address, as in Ethernet
data: packet from network layer
checksum: CRC
FS: frame status: set by dest., read by sender


set to indicate destination up, frame copied OK from ring
DLC-level ACKing
57