0% found this document useful (0 votes)
3 views

Lecture 7

Chapter 5 covers the link layer, focusing on services such as error detection, correction, multiple access protocols, and link layer addressing in local area networks like Ethernet and VLANs. It discusses the implementation of various link layer technologies and protocols, including MAC addressing and the Address Resolution Protocol (ARP). The chapter also outlines multiple access protocols, including channel partitioning, random access, and taking turns, along with their respective advantages and challenges.

Uploaded by

ressell329
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Lecture 7

Chapter 5 covers the link layer, focusing on services such as error detection, correction, multiple access protocols, and link layer addressing in local area networks like Ethernet and VLANs. It discusses the implementation of various link layer technologies and protocols, including MAC addressing and the Address Resolution Protocol (ARP). The chapter also outlines multiple access protocols, including channel partitioning, random access, and taking turns, along with their respective advantages and challenges.

Uploaded by

ressell329
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 52

Chapter 5: Link layer

goals:
 understand principles behind link
layer services:
 error detection, correction
 sharing a broadcast channel: multiple
access
 link layer addressing
 local area networks: Ethernet, VLANs
 instantiation, implementation of
various link layer technologies

Link Layer 5-1


Link layer, LANs: outline
5.1 introduction, 5.5 a day in the life
services of a web request
5.2 error detection,
correction
5.3 multiple access
protocols
5.4 LANs
 addressing, ARP
 Ethernet
 switches
 VLANS

Link Layer 5-2


Link layer:
introduction
terminology:
 hosts and routers: nodes
 communication channels global ISP
that connect adjacent
nodes along
communication path: links
 wired links
 wireless links
 LANs
 layer-2 packet: frame,
encapsulates datagram

data-link layer has responsibility of


transferring datagram from one node
to physically adjacent node over a link
Link Layer 5-3
Link layer: context
 datagram transferred transportation
by different link analogy:
protocols over different  trip from Islamabad to
links: Lahore
 e.g., Ethernet on  Daewoo:
first link, frame relay  plane:
on intermediate  train:
links, 802.11 on last  tourist = datagram
link  transport segment =
 each link protocol communication link
provides different  transportation mode =
services link layer protocol
 e.g., may or may not  travel agent = routing
provide rdt over link algorithm
Link Layer 5-4
Link layer services

framing, link access:
 encapsulate datagram into frame, adding
header, trailer
 channel access if shared medium
 “MAC” addresses used in frame headers to
identify source, dest
• different from IP address!
 reliable delivery between adjacent
nodes
 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

Link Layer 5-5


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

Link Layer 5-6


Where is the link layer
implemented?
 in each and every host
 link layer implemented
in “adaptor” (aka
network interface card
NIC) or on a chip
 Ethernet card, 802.11 application
transport
card; Ethernet chipset network
link
cpu memory

 implements link,
physical layer host
bus
 attaches into host’s link
controller (e.g., PCI)

system buses physical


physical
 combination of transmission

hardware, software,
firmware network adapter
card

Link Layer 5-7


Adaptors communicating

datagram datagram

controller controller

sending host receiving host


datagram

frame

 sending side:  receiving side


 encapsulates  looks for errors, rdt,
datagram in frame flow control, etc
 adds error checking  extracts datagram,
bits, rdt, flow control, passes to upper layer at
etc. receiving side

Link 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

otherwise

Link Layer 5-9


Parity checking
single bit parity: two-dimensional bit parity:
 detect single bit  detect and correct single bit errors
errors

0 0

Link Layer 5-10


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

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

Link Layer 5-11


Cyclic redundancy check
 more powerful error-detection coding
 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
 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 (Ethernet, 802.11 WiFi,
ATM)

Link Layer 5-12


CRC example

Link Layer 5-13


Multiple access links,
protocols
two types of “links”:
 point-to-point
 PPP for dial-up access
 point-to-point link between Ethernet switch, host
 broadcast (shared wire or medium)
 Ethernet
 Shared RF (satellite)
 802.11 wireless LAN

shared wire (e.g., shared RF shared RF humans at a


cabled Ethernet) (e.g., 802.11 WiFi) (satellite) cocktail party
(shared air, acoustical)

Link Layer 5-14


Multiple access protocols
 single shared broadcast channel
 two or more simultaneous transmissions by nodes
 collision if node receives two or more signals at
the same 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!
 no out-of-band channel for coordination

Link Layer 5-15


An ideal multiple access
protocol
given: broadcast channel of rate R bps
Desiderata (desired things):
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

Link Layer 5-16


MAC protocols: 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”
 nodes take turns, but nodes with more to send can
take longer turns

Link Layer 5-17


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

6-slot 6-slot
frame frame
1 3 4 1 3 4

Link Layer 5-18


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

FDM cable

Link Layer 5-19


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, CSMA/CD, CSMA/CA
Link Layer 5-20
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]

Link Layer 5-21


Slotted ALOHA
assumptions: operation:
 all frames same size  when node obtains fresh
 time divided into frame, transmits in next
equal size slots (time slot
to transmit 1 frame)  if no collision: node
 nodes start to can send new frame
transmit only slot in next slot
beginning  if collision: node
 nodes are retransmits frame in
synchronized each subsequent slot
 if 2 or more nodes with prob. p until
transmit in slot, all success
nodes detect collision

Link Layer 5-22


Slotted ALOHA
node 1 1 1 1 1

node 2 2 2 2

node 3 3 3 3

C E C S E C E S S

Pros: Cons:
 single active node  collisions, wasting
can continuously slots
transmit at full rate  idle slots
of channel  nodes may be able to
 highly decentralized: detect collision in less
only slots in nodes than time to transmit
need to be in sync packet
 simple  clock synchronization
Link Layer 5-23
CSMA (carrier sense multiple
access)
CSMA: listen before transmit:
if channel sensed idle: transmit entire
frame
 if channel sensed busy, defer
transmission

 human analogy: don’t interrupt


others!

Link Layer 5-24


CSMA collisions spatial layout of nodes

 collisions can still


occur: propagation
delay means two
nodes may not hear
each other’s
transmission
 collision: entire
packet
transmission time
wasted
 distance &
propagation delay
play role in
determining collision
probability

Link Layer 5-25


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

Link Layer 5-26


CSMA/CD (collision
detection)
spatial layout of nodes

Link Layer 5-27


“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!

Link Layer 5-28


“Taking turns” MAC
protocols
polling:
 master node
“invites” slave data
nodes to transmit poll
in turn
 typically used with master
“dumb” slave data
devices
 concerns:
 polling
slaves
overhead
 latency
 single point of
failure (master)
Link Layer 5-29
“Taking turns” MAC
protocols
token passing:
T
 control token
passed from one
node to next
sequentially.
(nothing
 token message to send)
 concerns: T
 token overhead
 latency
 single point of
failure (token)

data
Link Layer 5-30
Summary of MAC
protocols
 channel partitioning, by time, frequency or
code
 Time Division, Frequency Division
 random access (dynamic),
 ALOHA, S-ALOHA, CSMA, CSMA/CD
 carrier sensing: easy in some technologies
(wire), hard in others (wireless)
 CSMA/CD used in Ethernet
 CSMA/CA used in 802.11
 taking turns
 polling from central site, token passing
 bluetooth, FDDI, token ring

Link Layer 5-31


MAC addresses and ARP
 32-bit IP address:
 network-layer address for interface
 used for layer 3 (network layer) forwarding
 MAC (or LAN or physical or Ethernet)
address:
 function: used ‘locally” to get frame from one
interface to another physically-connected
interface (same network, in IP-addressing
sense)
 48 bit MAC address (for most LANs) burned in
NIC ROM, also sometimes software settable
hexadecimal (base 16) notation
e.g.: 1A-2F-BB-76-09-AD
(each “number” represents 4 bits)

Link Layer 5-32


LAN addresses and ARP
each adapter on LAN has unique LAN address

1A-2F-BB-76-09-AD

LAN
(wired or adapter
wireless)
71-65-F7-2B-08-53
58-23-D7-FA-20-B0

0C-C4-11-6F-E3-98

Link Layer 5-33


LAN addresses (more)
 MAC address allocation administered by
IEEE
 manufacturer buys portion of MAC
address space (to assure uniqueness)
 analogy:
 MAC address: like Social Security Number
 IP address: like postal address
 MAC flat address ➜ portability
 can move LAN card from one LAN to another
 IP hierarchical address not portable
 address depends on IP subnet to which node
is attached
Link Layer 5-34
ARP: address resolution
protocol
Question: how to determine
interface’s MAC address,
knowing its IP address? ARP table: each IP node
(host, router) on LAN has
table
137.196.7.78
 IP/MAC address
1A-2F-BB-76-09-AD mappings for some
137.196.7.23
137.196.7.14
LAN nodes:
< IP address; MAC address;
TTL>
LAN  TTL (Time To Live):
71-65-F7-2B-08-53
58-23-D7-FA-20-B0 time after which
address mapping
0C-C4-11-6F-E3-98 will be forgotten
137.196.7.88 (typically 20 min)

Link Layer 5-35


ARP protocol: same LAN
 A wants to send
datagram to B
 B’s MAC address not in A  A caches (saves) IP-
’s ARP table.
to-MAC address pair
 A broadcasts ARP query in its ARP table until
packet, containing B's information becomes
IP address
 dest MAC address = FF-
old (times out)
FF-FF-FF-FF-FF  soft state: information
 all nodes on LAN receive that times out (goes
ARP query away) unless
refreshed
 B receives ARP packet,
replies to A with its  ARP is “plug-and-
(B's) MAC address play”:
 frame sent to A’s MAC  nodes create their
address (unicast) ARP tables without
intervention from net
administrator
Link Layer 5-36
Addressing: routing to another
LAN
walkthrough: send datagram from A to B via R
 focus on addressing – at IP (datagram) and MAC layer (frame)
 assume A knows B’s IP address
 assume A knows IP address of first hop router, R
 assume A knows R’s MAC address

A B
R
111.111.111.111
222.222.222.222
74-29-9C-E8-FF-55
49-BD-D2-C7-56-2A
222.222.222.220
1A-23-F9-CD-06-9B

111.111.111.112 111.111.111.110 222.222.222.221


CC-49-DE-D0-AB-7D E6-E9-00-17-BB-4B 88-B2-2F-54-1A-0F

Link Layer 5-37


Addressing: routing to another
LAN
 A creates IP datagram with IP source A, destination B
 A creates link-layer frame with R's MAC address as dest,
frame contains A-to-B IP datagram
MAC src: 74-29-9C-E8-FF-55
MAC dest: E6-E9-00-17-BB-4B
IP src: 111.111.111.111
IP dest: 222.222.222.222

IP
Eth
Phy

A B
R
111.111.111.111
222.222.222.222
74-29-9C-E8-FF-55
49-BD-D2-C7-56-2A
222.222.222.220
1A-23-F9-CD-06-9B

111.111.111.112 111.111.111.110 222.222.222.221


CC-49-DE-D0-AB-7D E6-E9-00-17-BB-4B 88-B2-2F-54-1A-0F

Link Layer 5-38


Addressing: routing to another
LAN
 frame sent from A to R
 frame received at R, datagram removed, passed up to IP

MAC src: 74-29-9C-E8-FF-55


MAC dest: E6-E9-00-17-BB-4B
IP src: 111.111.111.111
IP dest: 222.222.222.222
IP src: 111.111.111.111
IP dest: 222.222.222.222

IP IP
Eth Eth
Phy Phy

A B
R
111.111.111.111
222.222.222.222
74-29-9C-E8-FF-55
49-BD-D2-C7-56-2A
222.222.222.220
1A-23-F9-CD-06-9B

111.111.111.112 111.111.111.110 222.222.222.221


CC-49-DE-D0-AB-7D E6-E9-00-17-BB-4B 88-B2-2F-54-1A-0F

Link Layer 5-39


Addressing: routing to another
LAN
 R forwards datagram with IP source A, destination B
 R creates link-layer frame with B's MAC address as dest,
frame contains A-to-B IP datagram

MAC src: 1A-23-F9-CD-06-9B


MAC dest: 49-BD-D2-C7-56-2A
IP src: 111.111.111.111
IP dest: 222.222.222.222
IP
IP Eth
Eth Phy
Phy

A B
R
111.111.111.111
222.222.222.222
74-29-9C-E8-FF-55
49-BD-D2-C7-56-2A
222.222.222.220
1A-23-F9-CD-06-9B

111.111.111.112 111.111.111.110 222.222.222.221


CC-49-DE-D0-AB-7D E6-E9-00-17-BB-4B 88-B2-2F-54-1A-0F

Link Layer 5-40


Addressing: routing to another
LAN
 R forwards datagram with IP source A, destination B
 R creates link-layer frame with B's MAC address as dest,
frame contains A-to-B IP datagram

MAC src: 1A-23-F9-CD-06-9B


MAC dest: 49-BD-D2-C7-56-2A
IP src: 111.111.111.111
IP dest: 222.222.222.222
IP
IP Eth
Eth Phy
Phy

A B
R
111.111.111.111
222.222.222.222
74-29-9C-E8-FF-55
49-BD-D2-C7-56-2A
222.222.222.220
1A-23-F9-CD-06-9B

111.111.111.112 111.111.111.110 222.222.222.221


CC-49-DE-D0-AB-7D E6-E9-00-17-BB-4B 88-B2-2F-54-1A-0F

Link Layer 5-41


Addressing: routing to another
LAN
 R forwards datagram with IP source A, destination B
 R creates link-layer frame with B's MAC address as dest,
frame contains A-to-B IP datagram
MAC src: 1A-23-F9-CD-06-9B
MAC dest: 49-BD-D2-C7-56-2A
IP src: 111.111.111.111
IP dest: 222.222.222.222

IP
Eth
Phy

A B
R
111.111.111.111
222.222.222.222
74-29-9C-E8-FF-55
49-BD-D2-C7-56-2A
222.222.222.220
1A-23-F9-CD-06-9B

111.111.111.112 111.111.111.110 222.222.222.221


CC-49-DE-D0-AB-7D E6-E9-00-17-BB-4B 88-B2-2F-54-1A-0F

Link Layer 5-42


Link layer, LANs: outline
5.1 introduction, 5.5 a day in the life
services of a web request
5.2 error detection,
correction
5.3 multiple access
protocols
5.4 LANs
 addressing, ARP
 Ethernet
 switches
 VLANS

Link Layer 5-43


Synthesis: a day in the life of a web
request
 journey down protocol stack complete!
 application, transport, network, link
 putting-it-all-together: synthesis!
 goal: identify, review, understand protocols
(at all layers) involved in seemingly simple
scenario: requesting www page
 scenario: student attaches laptop to campus
network, requests/receives
www.google.com

Link Layer 5-44


A day in the life: scenario

browser DNS server


Comsat network
68.80.0.0/13

school network
68.80.2.0/24

web page

web server Google’s network


64.233.169.105 64.233.160.0/19

Link Layer 5-45


A day in the life… connecting to the
Internet
DHCP DHCP  connecting laptop needs to
DHCP UDP get its own IP address,
DHCP IP addr of first-hop router,
DHCP Eth addr of DNS server: use
Phy DHCP
DHCP
 DHCP request encapsulated
in UDP, encapsulated in IP,
DHCP DHCP encapsulated in 802.3
DHCP UDP Ethernet
DHCP IP
DHCP Eth router
Phy (runs DHCP)  Ethernet frame
broadcast (dest:
FFFFFFFFFFFF) on LAN,
received at router
 running DHCP
Ethernet server
demuxed to
IP demuxed, UDP
demuxed to DHCP
Link Layer 5-46
A day in the life… connecting to the
Internet
DHCP DHCP  DHCP server formulates
DHCP UDP DHCP ACK containing
DHCP IP client’s IP address, IP
DHCP Eth address of first-hop
Phy router for client, name &
IP address of DNS server
 encapsulation at DHCP
DHCP
server, frame forwarded
DHCP
DHCP UDP
(switch learning)
DHCP IP through LAN,
DHCP Eth router demultiplexing at client
Phy (runs DHCP)
DHCP
 DHCP client receives
DHCP ACK reply

Client now has IP address, knows name & addr of DNS


server, IP address of its first-hop router

Link Layer 5-47


A day in the life… ARP (before DNS,
before HTTP)
DNS DNS
 before sending HTTP
DNS UDP request, need IP address of
DNS
ARP
IP www.google.com: DNS
ARP query Eth
Phy  DNS query created, encapsulated in
UDP, encapsulated in IP,
encapsulated in Eth. To send frame
to router, need MAC address of
ARP
router interface: ARP
ARP reply Eth
Phy

router
 ARP query broadcast,
(runs DHCP) 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
Link Layer 5-48
A day in the life… using DNSDNS
DNS UDP DNS server
DNS IP
DNS DNS DNS Eth
DNS UDP DNS Phy
DNS IP
DNS Eth
Phy
DNS
Comsat network
68.80.0.0/13

router
 IP datagram forwarded
(runs DHCP) from campus network into
 IP datagram containing comsat network, routed
DNS query forwarded (tables created by RIP,
via LAN switch from OSPF, IS-IS and/or BGP
client to 1st hop router  routing protocols)
demux’ed to DNS
to DNS server
server
 DNS server replies to
client with IP address of
www.google.com
Link Layer 5-49
A day in the life…TCP connection
carrying HTTP
HTTP
HTTP
SYNACK
SYN TCP
SYNACK
SYN IP
SYNACK
SYN Eth
Phy

 to send HTTP request,


client first opens TCP
socket to web server
router  TCP SYN segment (step 1 in
(runs DHCP) 3-way handshake) inter-
SYNACK
SYN TCP domain routed to web server
SYNACK
SYN IP
SYN
SYNACK Eth
Phy  web server responds
with TCP SYNACK (step 2
web server in 3-way handshake)
64.233.169.105  TCP connection established!

Link Layer 5-50


A day in the life… HTTP
request/reply
HTTP
HTTP HTTP
 web page finally (!!!) displayed
HTTP
HTTP TCP
HTTP
HTTP IP
HTTP
HTTP Eth
Phy

 HTTP request sent into


TCP socket
router  IP datagram containing
HTTP (runs DHCP)
HTTP
HTTP TCP
HTTP request routed to
HTTP IP www.google.com
HTTP Eth  web server responds
Phy with HTTP reply
(containing web page)
web server  IP datagram containing HTTP
64.233.169.105 reply routed back to client

Link Layer 5-51


Chapter 5: Summary
 principles behind data link layer
services:
 error detection, correction
 sharing a broadcast channel: multiple access
 link layer addressing
 synthesis: a day in the life of a web
request

Link Layer 5-52

You might also like