Unit 2 DLL PPT
Unit 2 DLL PPT
Data Link
Layer
Objective
❒ understand principles behind data link layer
services:
❍ error detection, correction
❍ sharing a broadcast channel: multiple access
❍ link layer addressing
❍ reliable data transfer, flow control: done!
Link Layer and Local Area Networks: Introduction to Link Layer and its
services
0 0
Internet
checksum
Goal: detect “errors” (e.g., flipped bits) in
transmitted segment (note: used at transport
layer only)
Sender: Receiver
:❒ compute checksum of
❒ treat segment
received segment
contents as ❒ check if computed
sequence of 16-bit checksum equals
integers checksum field value:
❒ checksum: addition ❍ NO - error detected
(1’s complement ❍ YES - no error detected.
sum) of segment But maybe errors
contents nonetheless? More later
❒ sender puts checksum ….
value into UDP
checksum field
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, HDLC)
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
D
R = remainder[ G
.2 r
]
CRC
Example
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
Multiple Access
protocols
❒ single shared broadcast 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 nodes
share channel, i.e., determine when node can
transmit
❒ communication about channel sharing must use
channel itself!
❒ what to look for in multiple access protocols:
5: DataLink 5a-15
Layer
Ideal Mulitple 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
5: DataLink 5a-16
Layer
MAC Protocols: a
taxonomy
Three broad classes:
❒ Channel Partitioning
❍ divide channel into smaller “pieces” (time
slots, frequency, code)
❍ allocate piece to node for exclusive use
❒ Random Access
❍ channel not divided, allow collisions
❍ “recover” from collisions
❒ “Taking turns”
❍ tightly coordinate shared access to avoid
collisions
5: DataLink 5a-17
Layer
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
5: DataLink 5a-18
Layer
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 bands 2,5,6 idle time
frequency
bands
5: DataLink 5a-19
Layer
Channel Partitioning
(CDMA)
CDMA (Code Division Multiple Access)
❒ unique “code” assigned to each user; i.e., code set
partitioning
❒ used mostly in wireless broadcast channels (cellular,
satellite, etc)
❒ all users share same frequency, but each user has
own “chipping” sequence (i.e., 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”) 5: DataLink 5a-20
Layer
CDMA
Encode/Decode
5: DataLink 5a-21
Layer
CDMA: two-sender
interference
5: DataLink 5a-22
Layer
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 5: DataLink 5a-23
❍ CSMA, CSMA/CD, CSMA/CA Layer
Slotted ALOHA
Assumptions Operation
❒ all frames same size ❒ when node obtains fresh
❒ time is divided into frame, it transmits in
equal size slots, time next slot
to transmit 1 frame ❒ no collision, node can
❒ nodes start to send new frame in
transmit frames only next slot
at beginning of slots ❒ if collision, node
❒ nodes are retransmits frame in
synchronized each subsequent slot
❒ if 2 or more nodes
with prob. p until
success
transmit in slot, all
nodes detect 5: DataLink 5a-24
Layer
collision
Slotted ALOHA
Pros Cons
❒ single active node ❒ collisions, wasting
can continuously slots
transmit at full rate ❒ idle slots
of channel ❒ nodes may be able
❒ highly to detect collision
decentralized: in less than time to
only slots in nodes transmit packet
need to be in sync 5: DataLink 5a-27
Layer
❒ simple
Slotted Aloha
efficiency
Efficiency is the long-run ❒ For max efficiency
fraction of successful slots with N nodes, find
when there’s many nodes, p* that maximizes
each with many frames to Np(1-p)N-1
send ❒ For many nodes,
❒ Suppose N nodes take limit of Np*(1-
with many frames p*)N-1 as N goes to
to send, each infinity, gives 1/e
transmits in slot = .37
with probability p At best: channel
❒ prob that 1st node used for useful
has success in a transmissions
slot 37% of time!
= p(1-p)N-1
❒ prob that any node 5: DataLink
Layer
5a-26
has a success =
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]
5: DataLink 5a-27
Layer
Pure Aloha
efficiency
P(success by given node) = P(node transmits) .
= p . (1-p)2(N-1)
= 1/(2e)
Even worse = .18
! … choosing optimum p and then letting n ->
infty ...
5: DataLink 5a-28
Layer
CSMA (Carrier Sense Multiple
Access)
CSMA: listen before transmit:
❒ If channel sensed idle: transmit entire
frame
❒ If channel sensed busy, defer
transmission
5: DataLink 5a-29
Layer
CSMA spatial layout of
collisions nodes
collision:
entire packet
transmission time
wasted
note:
role of distance &
propagation delay in
determining collision
probability 5: DataLink 5a-30
Layer
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
5: DataLink 5a-31
conversationalist Layer
CSMA/CD collision
detection
5: DataLink 5a-32
Layer
“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 5: DataLink 5a-33
look for best of both Layer
worlds!
“Taking Turns” MAC
protocols
Polling: Token passing:
❒ master node ❒ control token passed
“invites” slave from one node to next
nodes to transmit sequentially.
in turn ❒ token message
❒ concerns: ❒ concerns:
❍ polling overhead ❍ token overhead
❍ latency ❍ latency
❍ single point of ❍ single point of failure
failure (token)
(master)
5: DataLink 5a-34
Layer
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 site, token passing
5: DataLink 5a-35
Layer
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
5: DataLink 5a-36
Layer
LAN Addresses and
ARP
32-bit IP address:
❒ network-layer address
❒ used to get datagram to destination IP
network (recall IP network definition)
LAN (or MAC or physical or Ethernet)
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
5: DataLink 5a-37
Layer
LAN Addresses and
ARP
Each adapter on LAN has unique LAN
address
5: DataLink 5a-38
Layer
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 IP network to which node is attached
5: DataLink 5a-39
Layer
Recall earlier routing
discussion
Starting at A, given IP A 223.1.1.
datagram addressed to 1
223.1.2.
B: 223.1.1.2 1
❒ look up net. address of B, find 223.1.1.4
B
B on same net. as A 223.1.2.9
223.1.2.2
223.1.1. 223.1.3.2
❒ link layer send datagram
3 7 E
to B inside link-layer 223.1.3.
frame
frame datagram 1
223.1.3.2
source, dest source, dest
address address
B’s A’s MAC A’s IP B’s
IP
MAC addr addr IP
payload
addr addr
datagra
m
frame
5: DataLink 5a-40
Layer
ARP: Address Resolution
Protocol
Question: how to ❒ Each IP node
determine MAC address (Host, Router) on
of B LAN has ARP
knowing B’s IP address? table
❒ ARP Table: IP/MAC
address mappings
for some LAN
nodes
< IP address; MAC
address; TTL>
❍ TTL (Time To
Live): time after which
address mapping will
be forgotten (typically
20 min) 5: DataLink 5a-41
Layer
ARP
protocol
❒ A wants to send ❒ A caches (saves) IP-to-
datagram to B, and A MAC address pair in its
knows B’s IP address. ARP table until
❒ Suppose B’s MAC information becomes
address is not in A’s old (times out)
ARP table. ❍ soft state:
❒ A broadcasts ARP information that
query packet, times out (goes
containing B's IP away) unless
address refreshed
❍ all machines on ❒ ARP is “plug-and-
LAN receive ARP play”:
query ❍ nodes create their
❒ B receives ARP packet, ARP tables without
replies to A with its intervention from net
(B's) MAC address 5: DataLink 5a-42
administrator
Layer
❍ frame sent to A’s
MAC address
Routing to another
LAN
walkthrough: send datagram from A to B
via R assume A knows B
IP address
R
B
❒ Two ARP tables in router R, one for
each IP network (LAN)
5: DataLink 5a-43
Layer
❒ A creates datagram with source A, destination B
❒ A uses ARP to get R’s MAC address for 111.111.111.110
❒ A creates link-layer frame with R's MAC address as
dest, frame contains A-to-B IP datagram
❒ A’s data link layer sends frame
❒ R’s data link layer receives frame
❒ R removes IP datagram from Ethernet frame, sees
its destined to B
❒ R uses ARP to get B’s physical layer address
❒ R creates frame containing A-to-B IP datagram
sends to B
R
B
Metcalfe’s
Ethernet sketch
5: DataLink 5a-45
Layer
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
5: DataLink 5a-46
Layer
Ethernet Frame
Structure (more)
❒ Addresses: 6 bytes
❍ if adapter receives frame with matching
destination address, or with broadcast address
(eg ARP packet), it passes data in frame to net-
layer protocol
❍ otherwise, adapter discards frame
❒ 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
5: DataLink 5a-47
Layer
Ethernet uses
CSMA/CD
❒ No slots ❒ Before attempting
❒ adapter doesn’t a retransmission,
transmit if it senses adapter waits a
that some other random time, that
adapter is is, random access
transmitting, that is,
carrier sense
❒ transmitting adapter
aborts when it senses
that another adapter
is transmitting, that
is, collision detection
5: DataLink 5a-48
Layer
Interconnecting LAN
segments
❒ Hubs
❒ Bridges
❒ Switches
❍ Remark: switches are essentially multi-
port bridges.
❍ What we say about bridges also holds
for switches!
5: DataLink 5a-49
Layer
Interconnecting with
hubs
❒ Backbone hub interconnects LAN segments
❒ Extends max distance between nodes
❒ But individual segment collision domains
become one large collision domain
❍ if a node in CS and a node EE transmit at same time:
collision
❒ Can’t interconnect 10BaseT & 100BaseT
5: DataLink 5a-50
Layer
Bridge
s ❒ Link layer device
❍ stores and forwards Ethernet frames
❍ examines frame header and selectively
forwards frame based on MAC dest
address
❍ when frame is to be forwarded on
segment, uses CSMA/CD to access
segment
❒ transparent
❍ hosts are unaware of presence of
bridges
❒ plug-and-play, self-learning
❍ bridges do not need to be configured
5: DataLink 5a-51
Layer
Bridges: traffic
isolation
❒ Bridge installation breaks LAN into LAN
segments
❒ bridges filter packets:
❍ same-LAN-segment frames not
usually forwarded onto other LAN
segments
❍ segments become separate
collisio collisio =
collision bridge hub
n n
domai domains domai =
n n host
LAN LAN
segment segment
LAN (IP
network)
5: DataLink 5a-52
Layer
Bridge
example
Suppose C sends frame to D and D replies back
with frame to C.
5: DataLink 5a-54
Layer
Bridges vs.
Routers
❒ both store-and-forward devices
❍ routers: network layer devices (examine network
layer headers)
❍ bridges are link layer devices
❒ routers maintain routing tables, implement
routing algorithms
❒ bridges maintain bridge tables, implement
filtering, learning and spanning tree algorithms
5: DataLink 5a-55
Layer
Routers vs.
Bridges
Bridges + and -
+ Bridge operation is simpler requiring less
packet processing
+ Bridge tables are self learning
- All traffic confined to spanning tree, even
when alternative bandwidth is available
- Bridges do not offer protection from
broadcast storms
5: DataLink 5a-56
Layer
Routers vs.
Bridges
Routers + and -
+ arbitrary topologies can be supported, cycling is
limited by TTL counters (and good routing
protocols)
+ provide protection against broadcast storms
- require IP address configuration (not plug and
play)
- require higher packet processing
❍ Ethernet, but
Ethernet
Switches
❒ cut-through switching: frame
forwarded from input to output port
without awaiting for assembly of
entire frame
❍ slight reduction in latency
❒ combinations of
shared/dedicated, 10/100/1000
Mbps interfaces
5: DataLink 5a-59
Layer
Summary
comparison
hubs bridges routers switches
traffic no yes yes yes
isolatio
n
plug & yes yes no yes
play
optim no no yes no
al
routin
5: DataLink 5a-60
g Layer
IEEE 802.11 Wireless
LAN
❒ 802.11b ❒ 802.11a
❍ 2.4-5 GHz ❍ 5-6 GHz range
unlicensed radio ❍ up to 54 Mbps
spectrum
❒ 802.11g
❍ up to 11 Mbps
❍ 2.4-5 GHz range
❍ direct sequence
spread spectrum
❍ up to 54 Mbps
(DSSS) in physical ❒ All use CSMA/CA for
layer multiple access
• all hosts use
❒ All have base-
same chipping
code station and ad-hoc
❍ widely deployed, network versions
using base stations
5: DataLink 5a-61
Layer
Base station
approach
❒ Wireless host communicates with a base
station
❍ base station = access point (AP)
❒ Basic Service Set (BSS) (a.k.a. “cell”)
contains:
❍ wireless hosts
❍ access point (AP): base station
❒ BSSs combined to form distribution system
(DS)
5: DataLink 5a-62
Layer
Ad Hoc Network
approach
❒ No AP (i.e., base station)
❒ wireless hosts communicate with each
other
❍ to get packet from wireless host A to B
may need to route through wireless
hosts X,Y,Z
❒ Applications:
❍ “laptop” meeting in conference room,
car
❍ interconnection of “personal” devices
❍ battlefield
❒ IETF MANET
(Mobile Ad hoc 5: DataLink 5a-63
Networks) working Layer
group