You are on page 1of 11

Chapter 5: The Data Link Layer

Our goals:
r understand principles behind data link layer
services:
m error detection, correction
m sharing a broadcast channel: multiple access
m link layer addressing
m reliable data transfer, flow control: done!
r instantiation and implementation of various link
layer technologies

5: DataLink Layer 5-1


Link Layer
r 5.1 Introduction and r 5.6 Hubs and switches
services r 5.7 PPP
r 5.2 Error detection
and correction
r 5.3Multiple access
protocols
r 5.4 Link-Layer
Addressing
r 5.5 Ethernet

5: DataLink Layer 5-2


Link Layer: Introduction “link”
Some terminology:
r hosts and routers are nodes
r communication channels that
connect adjacent nodes along
communication path are links
m wired links
m wireless links
m LANs
r 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
5: DataLink Layer 5-3
Link layer: context
transportation analogy
r Datagram transferred by
r trip from Princeton to
different link protocols Lausanne
over different links: m limo: Princeton to JFK
m e.g., Ethernet on first link, m plane: JFK to Geneva
frame relay on m train: Geneva to Lausanne
intermediate links, 802.11
r tourist = datagram
on last link
r transport segment =
r Each link protocol communication link
provides different
r travel agent = routing
services algorithm
e.g., may or
Traffic may not
lights, r transportation access =
m
provide rdt over link
Airport control, link layer protocol
Platform scheduling,

5-4
Link Layer Services
r Framing, link access:
m encapsulate datagram into frame, adding header, trailer
m channel access if shared medium
m “MAC” addresses used in frame headers to identify
source, dest
• different from IP address!
r Reliable delivery between adjacent nodes
m we learned how to do this already (chapter 3)!
m seldom used on low bit error link (fiber, some twisted
pair)
m wireless links: high error rates
• Q: why both link-level and end-end reliability?

5: DataLink Layer 5-5


Link Layer Services (more)
r Flow Control:
m pacing between adjacent sending and receiving nodes
r Error Detection:
m errors caused by signal attenuation, noise.
m receiver detects presence of errors:
• signals sender for retransmission or drops frame
r Error Correction:
m receiver identifies and corrects bit error(s) without
resorting to retransmission
r Half-duplex and full-duplex
m with half duplex, nodes at both ends of link can transmit,
but not at same time
5: DataLink Layer 5-6
Adaptors Communicating
datagram
link layer protocol rcving
sending node
node
frame frame
adapter adapter

r link layer implemented in r receiving side


“adaptor” (aka NIC) m looks for errors, rdt, flow
m Ethernet card, PCMCI control, etc
card, 802.11 card m extracts datagram, passes
to rcving node
r sending side:
m encapsulates datagram in r adapter is semi-
a frame autonomous
m adds error checking bits, r link & physical layers
rdt, flow control, etc.
5: DataLink Layer 5-7
Link Layer
r 5.1 Introduction and r 5.6 Hubs and switches
services r 5.7 PPP
r 5.2 Error detection r 5.8 Link Virtualization:
and correction ATM
r 5.3Multiple access
protocols
r 5.4 Link-Layer
Addressing
r 5.5 Ethernet

5: DataLink Layer 5-8


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

5: DataLink Layer 5-9


Parity Checking
Single Bit Parity: Two Dimensional Bit Parity:
Detect single bit errors Detect and correct single bit errors

0 0

5: DataLink Layer 5-10


Internet checksum
Goal: detect “errors” (e.g., flipped bits) in transmitted
segment (note: used at transport layer only)

Sender: Receiver:
r compute checksum of received
r treat segment contents
segment
as sequence of 16-bit
r check if computed checksum
integers equals checksum field value:
r checksum: addition (1’s m NO - error detected
complement sum) of m YES - no error detected. But
segment contents maybe errors nonetheless?
r sender puts checksum More later ….
value into UDP checksum
field

5: DataLink Layer 5-11

You might also like