Chapter5-Link Layer and LANs
Chapter5-Link Layer and LANs
Computer Networking:
A Top Down Approach
5th edition.
Jim Kurose, Keith Ross
Addison-Wesley, April
2009.
1
Link Layer
5.1 Introduction and 5.6 Link-layer switches
services 5.7 PPP
5.2 Error detection 5.8 Link virtualization:
and correction MPLS
5.3Multiple access 5.9 A day in the life of a
protocols web request
5.4 Link-layer
Addressing
5.5 Ethernet
2
Link layer: context
datagram transferred by
transportation analogy
trip from Princeton to
different link protocols
Lausanne
over different links:
limo: Princeton to JFK
e.g., Ethernet on first link,
plane: JFK to Geneva
frame relay on
intermediate links, 802.11 train: Geneva to Lausanne
on last link tourist = datagram
each link protocol transport segment =
provides different communication link
services transportation mode =
e.g., may or may not link layer protocol
provide rdt over link
travel agent = routing
algorithm
5: DataLink Layer 5-5
3
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
5: DataLink Layer 5-7
layer
bus
controller (e.g., PCI)
link
attaches into host’s physical
physical
system buses
transmission
hardware, software,
card
firmware
5: DataLink Layer 5-8
4
Adaptors Communicating
datagram datagram
controller controller
frame
Link Layer
5.1 Introduction and 5.6 Link-layer switches
services 5.7 PPP
5.2 Error detection 5.8 Link virtualization:
and correction MPLS
5.3Multiple access 5.9 A day in the life of a
protocols web request
5.4 Link-layer
Addressing
5.5 Ethernet
5
Error Detection
EDC= Error Detection and Correction bits (redundancy)
D = Data protected by error checking, may include header fields
otherwise
Parity Checking
Single Bit Parity: Two Dimensional Bit Parity:
Detect single bit errors Detect and correct single bit errors
0 0
6
Internet checksum (review)
Goal: detect “errors” (e.g., flipped bits) in transmitted
packet (note: used at transport layer only)
Sender: Receiver:
compute checksum of
treat segment contents
received segment
as sequence of 16-bit
integers check if computed checksum
equals checksum field value:
checksum: addition (1’s
complement sum) of NO - error detected
segment contents YES - no error detected.
sender puts checksum But maybe errors
value into UDP checksum nonetheless?
field
7
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.2r
R = remainder[ ]
G
Link Layer
5.1 Introduction and 5.6 Link-layer switches
services 5.7 PPP
5.2 Error detection 5.8 Link virtualization:
and correction MPLS
5.3Multiple access 5.9 A day in the life of a
protocols web request
5.4 Link-layer
Addressing
5.5 Ethernet
8
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
humans at a
shared wire (e.g., shared RF shared RF cocktail party
cabled Ethernet) (e.g., 802.11 WiFi) (satellite) (shared air, acoustical)
5: DataLink Layer 5-17
9
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
“Taking turns”
nodes take turns, but nodes with more to send can take
longer turns
10
Channel Partitioning MAC protocols: TDMA
FDM cable
11
Random Access Protocols
When node has packet to send
transmit at full channel data rate R.
no a priori coordination among nodes
Slotted ALOHA
Assumptions: Operation:
all frames same size when node obtains fresh
time divided into equal frame, transmits in next
size slots (time to slot
transmit 1 frame) if no collision: node can
nodes start to transmit send new frame in next
only slot beginning slot
nodes are synchronized if collision: node
if 2 or more nodes
retransmits frame in
transmit in slot, all each subsequent slot
nodes detect collision with prob. p until
success
12
Slotted ALOHA
Pros Cons
single active node can collisions, wasting slots
continuously transmit idle slots
at full rate of channel nodes may be able to
highly decentralized: detect collision in less
only slots in nodes than time to transmit
packet
need to be in sync
clock synchronization
simple
5: DataLink Layer 5-25
!
prob that given node At best: channel
has success in a slot = used for useful
p(1-p)N-1 transmissions 37%
prob that any node has of time!
a success = Np(1-p)N-1
5: DataLink Layer 5-26
13
Pure (unslotted) ALOHA
unslotted Aloha: simpler, no synchronization
when frame first arrives
transmit immediately
= 1/(2e) = .18
14
CSMA (Carrier Sense Multiple Access)
collision:
entire packet transmission
time wasted
note:
role of distance & propagation
delay in determining collision
probability
15
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: received signal strength
overwhelmed by local transmission strength
human analogy: the polite conversationalist
16
“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!
5: DataLink Layer 5-33
concerns:
polling overhead
latency slaves
single point of
failure (master)
17
“Taking Turns” MAC protocols
Token passing:
T
control token passed
from one node to next
sequentially.
token message (nothing
to send)
concerns:
T
token overhead
latency
single point of failure
(token)
data
5: DataLink Layer 5-35
18
Link Layer
5.1 Introduction and 5.6 Link-layer switches
services 5.7 PPP
5.2 Error detection 5.8 Link virtualization:
and correction MPLS
5.3Multiple access 5.9 A day in the life of a
protocols web request
5.4 Link-Layer
Addressing
5.5 Ethernet
32-bit IP address:
network-layer address
used to get datagram to destination IP subnet
MAC (or LAN or physical or Ethernet)
address:
function: get frame from one interface to another
physically-connected interface (same network)
48 bit MAC address (for most LANs)
• burned in NIC ROM, also sometimes software settable
19
LAN Addresses and ARP
Each adapter on LAN has unique LAN address
LAN
(wired or = adapter
wireless)
71-65-F7-2B-08-53
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
20
ARP: Address Resolution Protocol
0C-C4-11-6F-E3-98
137.196.7.88
21
Addressing: routing to another LAN
walkthrough: send datagram from A to B via R
assume A knows B’s IP address
74-29-9C-E8-FF-55 88-B2-2F-54-1A-0F
A E6-E9-00-17-BB-4B
222.222.222.221
1A-23-F9-CD-06-9B
111.111.111.111
222.222.222.220 222.222.222.222
111.111.111.110
B
111.111.111.112
R 49-BD-D2-C7-56-2A
CC-49-DE-D0-AB-7D
A
E6-E9-00-17-BB-4B
222.222.222.221
1A-23-F9-CD-06-9B
111.111.111.111
222.222.222.220 222.222.222.222
111.111.111.110 B
111.111.111.112
R 49-BD-D2-C7-56-2A
CC-49-DE-D0-AB-7D
5: DataLink Layer 5-44
22
Link Layer
5.1 Introduction and 5.6 Link-layer switches
services 5.7 PPP
5.2 Error detection 5.8 Link virtualization:
and correction MPLS
5.3Multiple access 5.9 A day in the life of a
protocols web request
5.4 Link-Layer
Addressing
5.5 Ethernet
Ethernet
“dominant” wired LAN technology:
cheap $20 for NIC
first widely used LAN technology
simpler, cheaper than token LANs and ATM
kept up with speed race: 10 Mbps – 10 Gbps
Metcalfe’s Ethernet
sketch
23
Star topology
bus topology popular through mid 90s
all nodes in same collision domain (can collide with each
other)
today: star topology prevails
active switch in center
each “spoke” runs a (separate) Ethernet protocol (nodes
do not collide with each other)
switch
Preamble:
7 bytes with pattern 10101010 followed by one
byte with pattern 10101011
used to synchronize receiver, sender clock rates
24
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 network layer protocol
otherwise, adapter discards frame
25
Ethernet CSMA/CD algorithm
1. NIC receives datagram 4. If NIC detects another
from network layer, transmission while
creates frame transmitting, aborts and
2. If NIC senses channel idle, sends jam signal
starts frame transmission 5. After aborting, NIC
If NIC senses channel enters exponential
busy, waits until channel backoff: after mth
idle, then transmits collision, NIC chooses K at
3. If NIC transmits entire random from
frame without detecting {0,1,2,…,2m-1}. NIC waits
another transmission, NIC K·512 bit times, returns to
is done with frame ! Step 2
26
CSMA/CD efficiency
Tprop = max prop delay between 2 nodes in LAN
ttrans = time to transmit max-size frame
1
efficiency
1 5t prop /t trans
efficiency goes to 1
as tprop goes to 0
as ttrans goes to infinity
MAC protocol
application and frame format
transport
network 100BASE-TX 100BASE-T2 100BASE-FX
link 100BASE-T4 100BASE-SX 100BASE-BX
physical
27
Manchester encoding
used in 10BaseT
each bit has a transition
allows clocks in sending and receiving nodes to
synchronize to each other
no need for a centralized, global clock among nodes!
Hey, this is physical-layer stuff!
5: DataLink Layer 5-55
Link Layer
5.1 Introduction and 5.6 Link-layer switches,
services LANs, VLANs
5.2 Error detection 5.7 PPP
and correction 5.8 Link virtualization:
5.3 Multiple access MPLS
protocols 5.9 A day in the life of a
5.4 Link-layer web request
Addressing
5.5 Ethernet
28
Hubs
… physical-layer (“dumb”) repeaters:
bits coming in one link go out all other links at
same rate
all nodes connected to hub can collide with one
another
no frame buffering
no CSMA/CD at hub: host NICs detect
collisions
twisted pair
hub
Switch
link-layer device: smarter than hubs, take
active role
store, forward Ethernet frames
examine incoming frame’s MAC address,
selectively forward frame to one-or-more
outgoing links when frame is to be forwarded on
segment, uses CSMA/CD to access segment
transparent
hosts are unaware of presence of switches
plug-and-play, self-learning
switches do not need to be configured
29
Switch: allows multiple simultaneous
transmissions
A
Switch Table
A
Q: how does switch know that
C’
A’ reachable via interface 4, B
B’ reachable via interface 5?
1 2
A: each switch has a switch 6 3
table, each entry: 5 4
(MAC address of host, interface
to reach host, time stamp) C
30
Switch: self-learning Source: A
Dest: A’
A A A’
switch learns which hosts
C’
can be reached through B
which interfaces
1 2
when frame received, 6 3
switch “learns” location of
5 4
sender: incoming LAN
segment
C
records sender/location
pair in switch table B’ A’
31
Self-learning, Source: A
Dest: A’
forwarding: A A A’
example C’ B
frame destination 1 2
unknown: flood A6A’ 3
5 4
destination A
location known: C
A’ A
selective send
B’ A’
Interconnecting switches
switches can be connected together
S4
S1
S3
A S2
F
D I
B C
G H
E
32
Self-learning multi-switch example
Suppose C sends frame to I, I responds to C
1 S4
S1 2 S3
A S2
F
D I
B C
G H
E
Institutional network
mail server
to external
network
router web server
IP subnet
33
Switches vs. Routers
both store-and-forward devices
routers: network layer devices (examine network layer
headers)
switches are link layer devices
VLANs: motivation
34
VLANs Port-based VLAN: switch ports grouped
(by switch management software) so
that single physical switch ……
1 7 9 15
Virtual Local 2 8 10 16
Area Network
… …
Switch(es) supporting
VLAN capabilities can Electrical Engineering Computer Science
be configured to
(VLAN ports 1-8) (VLAN ports 9-15)
… …
Port-based VLAN
router
traffic isolation: frames
to/from ports 1-8 can
only reach ports 1-8
can also define VLAN based on
MAC addresses of endpoints, 1 7 9 15
dynamic membership:
…
ports can be dynamically
…
35
VLANS spanning multiple switches
1 7 9 15 1 3 5 7
2 8 10 16 2 4 6 8
… …
802.1 frame
802.1Q frame
36
Link Layer
5.1 Introduction and 5.6 Link-layer switches
services 5.7 PPP
5.2 Error detection 5.8 Link virtualization:
and correction MPLS
5.3Multiple access 5.9 A day in the life of a
protocols web request
5.4 Link-Layer
Addressing
5.5 Ethernet
37
PPP Design Requirements [RFC 1557]
PPP non-requirements
no error correction/recovery
no flow control
out of order delivery OK
no need to support multipoint links (e.g., polling)
38
PPP Data Frame
Flag: delimiter (framing)
Address: does nothing (only one option)
Control: does nothing; in the future possible
multiple control fields
Protocol: upper layer protocol to which frame
delivered (eg, PPP-LCP, IP, IPCP, etc)
39
Byte Stuffing
“data transparency” requirement: data field must
be allowed to include flag pattern <01111110>
Q: is received <01111110> data or flag?
Byte Stuffing
flag byte
pattern
in data
to send
40
PPP Data Control Protocol
Before exchanging network-
layer data, data link peers
must
configure PPP link (max.
frame length,
authentication)
learn/configure network
layer information
for IP: carry IP Control
Protocol (IPCP) msgs
(protocol field: 8021) to
configure/learn IP
address
5: DataLink Layer 5-81
Link Layer
5.1 Introduction and 5.6 Link-layer switches
services 5.7 PPP
5.2 Error detection 5.8 Link virtualization:
and correction MPLS
5.3Multiple access 5.9 A day in the life of a
protocols web request
5.4 Link-Layer
Addressing
5.5 Ethernet
41
Virtualization of networks
42
The Internet: virtualizing networks
Internetwork layer (IP): Gateway:
addressing: internetwork “embed internetwork packets in
appears as single, uniform local packet format or extract
entity, despite underlying local them”
network heterogeneity route (at internetwork level) to
network of networks next gateway
gateway
43
ATM and MPLS
ATM, MPLS separate networks in their own
right
different service models, addressing, routing
from Internet
viewed by Internet as logical link connecting
IP routers
just like dialup link is really part of separate
network (telephone network)
ATM, MPLS: of technical interest in their
own right
5: DataLink Layer 5-87
44
Multiprotocol label switching (MPLS)
PPP or Ethernet
MPLS header IP header remainder of link-layer frame
header
20 3 1 5
5: DataLink Layer 5-89
45
MPLS forwarding tables
in out out
label label dest interface
10 A 0 in out out
12 D 0 label label dest interface
8 A 1 10 6 A 1
12 9 D 0
R6
0 0
D
1 1
R4 R3
R5
0 0
A
R2 in outR1 out
label label dest interface
in out out
label label dest interface 6 - A 0
8 6 A 0
5: DataLink Layer 5-91
Link Layer
5.1 Introduction and 5.6 Link-layer switches
services 5.7 PPP
5.2 Error detection 5.8 Link virtualization:
and correction MPLS
5.3Multiple access 5.9 A day in the life of a
protocols web request
5.4 Link-Layer
Addressing
5.5 Ethernet
46
Synthesis: a day in the life of a web request
school network
68.80.2.0/24
web page
47
A day in the life… connecting to the Internet
DHCP DHCP connecting laptop needs to
UDP
get its own IP address,
DHCP
DHCP IP
DHCP Eth addr of first-hop router,
Phy addr of DNS server: use
DHCP
DHCP
DHCP request encapsulated
DHCP in UDP, encapsulated in IP,
encapsulated in 802.1
DHCP
DHCP UDP
DHCP IP Ethernet
Eth router
broadcast
DHCP
Ethernet frame
Phy (runs DHCP)
(dest: FFFFFFFFFFFF) on LAN,
received at router running
DHCP server
Ethernet demux’ed to IP
demux’ed, UDP demux’ed to
DHCP
5: DataLink Layer 5-95
48
A day in the life… ARP (before DNS, before HTTP)
DNS DNS before sending HTTP request,
DNS UDP need IP address of www.google.com:
DNS
ARP
IP DNS
ARP query Eth
Phy DNS query created, encapsulated
in UDP, encapsulated in IP,
encasulated in Eth. In order to
send frame to router, need MAC
address of router interface: ARP
ARP
ARP reply Eth
Phy
ARP query broadcast, received
by router, which replies with
ARP reply giving MAC address
of router interface
client now knows MAC address
of first hop router, so can now
send frame containing DNS
query
49
A day in the life… TCP connection carrying HTTP
HTTP
HTTP
SYNACK
SYN TCP
SYNACK
SYN IP
SYNACK
SYN Eth
Phy
50
Chapter 5: Summary
principles behind data link layer services:
error detection, correction
sharing a broadcast channel: multiple access
link layer addressing
51