Post on 05-May-2023
1
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-1
Introduction toComputer Networking
Guy Leduc
Chapter 5Link Layer and LANs Computer Networking
A Top Down Approach5th editionJim Kurose Keith RossAddison-Wesley April2009
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-2
Chapter 5 The Data Link LayerOur goals understand principles behind data link layer
services error detection sharing a broadcast channel multiple access link layer addressing reliable data transfer flow control done
instantiation and implementation of various linklayer technologies
2
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-3
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-4
Link Layer IntroductionSome terminology hosts and routers are nodes communication channels that
connect adjacent nodes alongcommunication path are links wired links wireless links LANs
layer-2 packet is a frameencapsulates datagram
data-link layer has responsibility of transferring datagram from one node to adjacent node over a link
3
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-5
Link layer context datagram transferred by
different link protocolsover different links eg Ethernet on first link
frame relay onintermediate links 80211on last link
each link protocolprovides differentservices eg may or may not
provide rdt over link
transportation analogy trip from Princeton to
Lausanne limo Princeton to JFK plane JFK to Geneva train Geneva to Lausanne
tourist = datagram transport segment =
communication link transportation mode =
link layer protocol travel agent = routing
algorithm
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-6
Link Layer Services framing link access
encapsulate datagram into frame adding header trailer channel access if shared medium ldquoMACrdquo addresses used in frame headers to identify
source destbull 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
bull Q why both link-level and end-end reliability
4
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-7
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
bull drops framebull if recovery needed signals sender for retransmission
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 butnot at same time
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-8
Where is the link layer implemented
in each and every host link layer implemented in
ldquoadaptorrdquo (aka networkinterface card NIC) Ethernet card PCMCI
card 80211 card implements link physical
layer attaches into hostrsquos
system buses combination of
hardware softwarefirmware
controller
physicaltransmission
cpu memory
host bus (eg PCI)
network adaptercard
host schematic
applicationtransportnetwork
link
linkphysical
5
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-9
Adaptors Communicating
sending side encapsulates datagram in
frame adds error checking bits
rdt flow control etc
receiving side looks for errors rdt flow
control etc extracts datagram passes
to upper layer at receivingside
controller controller
sending host receiving host
datagram datagram
datagram
frame
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-10
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
6
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-11
Error DetectionEDC= Error Detection (and sometimes Correction) bits (redundancy)D = Data protected by error checking may include header fields
bull Error detection not 100 reliablebull protocol may miss some errors but rarelybull larger EDC field yields better detection (and correction)
otherwise
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-12
Parity CheckingSingle Bit ParityDetect single bit errors
Two Dimensional Bit ParityDetect and correct single bit errors
0 0
7
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-13
Internet checksum (review)
Sender treat segment contents as
sequence of 16-bitintegers
checksum addition (1rsquoscomplement sum) ofsegment contents
sender puts checksumvalue into UDP checksumfield
Receiver compute checksum of
received segment check if computed checksum
equals checksum field value NO - error detected YES - no error detected
But maybe errorsnonetheless
Goal detect ldquoerrorsrdquo (eg flipped bits) intransmitted packet (note used at transport layeronly)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-14
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
ltDRgt exactly divisible by G (in base-2 arithmetic) receiver knows G divides ltDRgt by G If non-zero remainder
error detected can detect all burst errors less than or equal to r bits (see later)
widely used in practice (Ethernet 80211 WiFi PPP ATM)
8
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-15
CRC ExampleWant
D2r XOR R = nGequivalently
D2r = nG XOR Requivalently if we divide D2r by G
(in base-2 arithmetic)want remainder R
r=3
R = remainderD 2r
G
$
amp
(
Divisor
Quotient
Dividend
In base-2 arithmetic-no carries-no borrows
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-16
CRC Example the polynomial view
Transmitted frameT(x) = D(x) xr - R(x)
Is divisible byG(x)
D(x) = x5 + x3 + x2 + xr=3G(x) = x3 + 1
R(x) = remainderD(x) xr
G(x)
$
amp
(
9
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-17
Why does it work We have T(x) = D(x) xr - R(x)
Therefore the remainder of T(x) G(x) is zero This is easy to check at the receiver provided that the
sender and the receiver agree on a certain G(x) Suppose some errors occur during transmission
The received frame is T(x) + E(x) The receiver will then calculate the remainder of
(T(x) + E(x)) G(x) This remainder is equal to the remainder of E(x) G(x) If there is an error such that E(x) is not divisible by
G(x) it is detected The choice of G(x) is thus very important
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-18
Example of CRC Generator = G(x) = x16 + x12 + x5 + 1 G(x) detects every E(x) consisting of an odd number of error bits
Because G(x) is a factor of x + 1 (in base-2 arithmetic G(1) = 0)and a polynomial E(x) with an odd number of terms is not divisible by x+1 (in base-2arithmetic E(1) = 1 for such E(x))
More generally a G(x) composed of an even number of terms detects everyerror consisting of an odd number of error bits At least as good as a parity bit Could a parity bit be seen as a trivial CRC Any G(x) to suggest
G(x) detects every 2-bit error (in any place in the frame) G(x) detects every error burst of length le 16 bits
An error burst of length n (ge 2) is 1 erroneous bit followed by n-2 bits (correct or not)followed by an erroneous bit
So an error burst of length le 16 bits is an E(x) = Ersquo(x) xk with neither Ersquo(x) nor xk beingdivisible by G(x) because Ersquo(x) is of degree le 15 while G(x) is of degree 16
More generally a G(x) of degree r detects every r-bit error bursts G(x) detects 99997 of the 17-bit error bursts (if errors are random) G(x) detects 99998 of the 18-bit error bursts (if errors are random)
From Computer Networks by Tanenbaum copy Prentice Hall
10
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-19
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-20
Multiple Access Links and ProtocolsTwo types of ldquolinksrdquo point-to-point
PPP for dial-up access point-to-point link between Ethernet switch and host
broadcast (shared wire or medium) old-fashioned Ethernet upstream HFC 80211 wireless LAN
shared wire (eg cabled Ethernet)
shared RF (eg 80211 WiFi)
shared RF(satellite)
humans at acocktail party
(shared air acoustical)
11
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-21
Multiple Access protocols single shared broadcast channel two or more simultaneous transmissions by nodes
interference collision if node receives two or more signals at the same time
multiple access protocol distributed algorithm that determines how nodes
share channel ie determine when node can transmit communication about channel sharing must use channel
itself no out-of-band channel for coordination
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-22
Ideal Multiple Access Protocol
Broadcast channel of rate R bps1 when one node wants to transmit it can send at
rate R2 when M nodes want to transmit each can send at
average rate RM (fairness)3 fully decentralized
no special node to coordinate transmissions no synchronization of clocks slots
4 simple
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-23
MAC Protocols a taxonomyThree broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slotsfrequency code)
allocate piece to node for exclusive use Random Access
channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo nodes take turns but nodes with more to send can take
longer turns
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-24
Channel Partitioning MAC protocols TDMA
TDMA time division multiple access access to channel in rounds each station gets fixed length slot (length = pkt
transmission time) in each round unused slots go idle example 6-station LAN 134 have pkt slots 256
idle
1 3 4 1 3 4
6-slotframe
13
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-25
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 134 have pkt frequency
bands 256 idlefr
eque
ncy
band
stime
FDM cable
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-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 ldquocollisionrdquo random access MAC protocol specifies
how to detect collisions how to recover from collisions (eg via delayed
retransmissions) Examples of random access MAC protocols
slotted ALOHA ALOHA CSMA CSMACD CSMACA
14
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-27
Slotted ALOHA
Assumptions all frames have same
size time is divided into
equal size slots (time totransmit 1 frame)
nodes start to transmitonly at slot beginning
nodes are synchronized if 2 or more nodes
transmit in slot allnodes detect collision
Operation when node obtains fresh
frame transmits in nextslot if no collision node can
send new frame in nextslot
if collision noderetransmits frame ineach subsequent slotwith prob p untilsuccess
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-28
Slotted ALOHA
Pros single active node can
continuously transmit atfull rate of channel
highly decentralizedonly slots in nodes needto be in sync
simple
Cons collisions wasting slots idle slots nodes may be able to
detect collision in less thantime to transmit packet
clock synchronization
15
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-29
Slotted Aloha efficiency
Suppose N nodes with many frames tosend each transmits in slot withprobability p Note not exactly slotted ALOHA
prob that node 1 has success in a slot =p(1-p)N-1
prob that any node has a success =Np(1-p)N-1
For max efficiency with Nnodes find p that maximizesNp(1-p)N-1
p = 1N For many nodes take limit of
Np(1-p)N-1 = (1-1N)N-1
as N goes to infinityit gives 1e = 037
Efficiency is the long-runfraction of successful slotswhen there are many nodes eachwith many frames to send
At best channelused for useful transmissions 37of time
limN
1$G
N
amp
(
)
N
= e$G
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-30
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-1t0+1]
In frame time units
16
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-31
Pure Aloha efficiencyP(success by given node) = P(node transmits) P(no other node transmits in [t0-1t0] P(no other node transmits in [t0t0+1] = p (1-p)N-1 (1-p)N-1
= p (1-p)2(N-1)
P (success by any node) = Np (1-p)2(N-1)
hellip choosing optimum p and then letting n go to infinity
= 1(2e) = 018
Even worse than slotted Aloha
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-32
Efficiency wrt average trafficload Let G = pN be the average aggregated traffic load
(or demand) per frame time = nr of transmission attempts per frame time N stations sending one frame with probability p in every
frame time Efficiency
Slotted ALOHA Np(1-p)N-1 = G (1-GN)N-1
ALOHA Np(1-p)2(N-1) = G (1-GN)2(N-1)
Efficiency (for a given G) when N gtgt Slotted ALOHA G e-G
ALOHA G e-2G
If G ltlt 1 efficiency asymp G perfect
limN
1$G
N
amp
(
)
N
= e$G
17
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-33
Efficiency Optimum out of 100 frame times- 37 are used effectively- 26 are collisions- 37 are just empty
From Computer Networks by Tanenbaum copy Prentice Hall
ALOHA versus Slotted ALOHA
frame
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-34
CSMA (Carrier Sense Multiple Access)
CSMA listen before transmitIf channel sensed idle transmit entire frame If channel sensed busy defer transmission
LBT Listen Before Talking (and deference)
human analogy donrsquot interrupt others
18
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-35
CSMA collisions
collisions can still occurpropagation delay meanstwo nodes may not heareach otherrsquos transmission
collisionentire packet transmissiontime wasted
spatial layout of nodes
noterole of distance amp propagationdelay in determining collisionprobability
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-36
persistent CSMA(if channel is busy listen until it isfreed)
non persistent CSMA(if channel is busy program anew attempt later)
p-persistent CSMAWhile true doif channel is freethen
with probability p immediate transmission or
with probability 1-p stay idle during at least propagation time (τ) else listen until the channel is freed
Trade-off between efficiency and delaybull This introduces a useless delay at low loadsbull But the efficiency of the channel is better at high loads
p-persistent CSMA
19
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-37
Efficiency
Efficiency versus load for various randomaccess protocols
From Computer Networks by Tanenbaum copy Prentice Hall
frame
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-38
B = Channel Data Rate (so-called Bandwidth) (bps)F = (Maximum) Frame size (bits)L = Length of the channel (m)c = Propagation speed (ms)
τ = Propagation delay = L c (s)T = Transmission delay = F B (s)
a = τ T = BL cFLet a = 1 rarr F = 100 BL c = plusmn 5 10-7 BL (with c = plusmn 200000 kms)Let B = 10 Mbps L = 25 km rarr F = 12500 bits (= 15625 bytes)This is roughly the Ethernet frame size
Engineering a CSMA network
20
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-39
CSMACD (Collision Detection)CSMACD 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 strengthscompare transmitted received signals
difficult in wireless LANs received signal strengthoverwhelmed by local transmission strength
human analogy the polite conversationalist
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-40
CSMACD collision detectionCSMACD CSMA
Lost time le 2 τ(worst case 2 max propagation timeswhen the 2 stations are at the 2 ends)+ detectabort time No abort so loss is T
21
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-41
To detect collision the sender must still be transmitting when the collisionpropagates back to it So the condition is
T gt 2τ which means FB gt 2 Lcwhich leads to a minimal Fmin = 2BLc = plusmn BL 10-8 bits
Let B = 10 Mbps L = 25 km rarr Fmin = plusmn 250 bits (= plusmn 32 bytes) Ethernet has chosen 64 bytes = 512 bits (extra margin due to other delays)
A B
(a)
A B
(b)
A B
(c)
A B
(d)Collision attime τ
Noise burst getsback to A at 2τ
Packet startsat time 0
Packet almostat B at τminusε
Minimal frame size with CSMACD
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-42
ldquoTaking Turnsrdquo MAC protocols
channel partitioning MAC protocols share channel efficiently and fairly at high load inefficient at low load delay in channel access
1N bandwidth allocated even if only 1 activenode
Random access MAC protocols efficient at low load single node can fully
utilize channel high load collision overhead
ldquotaking turnsrdquo protocolslook for best of both worlds
22
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-43
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodesto transmit in turn
typically used withldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-44
ldquoTaking Turnsrdquo MAC protocolsToken passing control token passed
from one node to nextsequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
23
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-45
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire) hard in
others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-46
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
24
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-47
MAC Addresses and ARP
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)
bull burned in NIC ROM also sometimes software settable
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-48
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
25
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-49
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
address depends on IP subnet to which node is attached
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-50
ARP Address Resolution Protocol
Each IP node (hostrouter) on LAN hasARP table
ARP table IPMACaddress mappings forsome LAN nodes
lt IP address MAC address TTLgt TTL (Time To Live) time
after which addressmapping will be forgotten(typically 20 min)
Question how to determineBrsquos MAC addressknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
26
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-51
ARP protocol Same LAN (network)
A wants to send datagramto B and Brsquos MAC addressnot in Arsquos ARP table
A broadcasts ARP querypacket containing Bs IPaddress dest MAC address =
FF-FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs)MAC address frame sent to Arsquos MAC
address (unicast)
A caches (saves) Brsquos IP-to-MAC address pair in itsARP table until informationbecomes old (times out) soft state information
that times out (goes away)unless refreshed
All other stations had alsocached Arsquos IP-to-MAC pair
ARP is ldquoplug-and-playrdquo nodes create their ARP
tables withoutintervention from netadministrator
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-52
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IPnetwork (LAN)
27
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-53
A creates IP datagram with source A destination B In routing table at source Host find Rrsquos IP = 111111111110 A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees itrsquos
destined for B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-54
Link Layer
51 Introduction andservices
52 Error detection
53Multiple accessprotocols
54 Link-LayerAddressing
55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
28
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-55
Ethernetldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-56
Star topology bus topology popular through mid 90s
all nodes in same collision domain (can collide with eachother)
today star topology prevails active switch in center each ldquospokerdquo runs a (separate) Ethernet protocol (nodes
do not collide with each other)
switch
bus coaxial cable star
29
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-57
Ethernet Frame StructureSending 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
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-58
Ethernet Frame Structure (more) Addresses 6 bytes
if adapter receives frame with matching destinationaddress or with broadcast address (eg ARP packet) itpasses data in frame to network layer protocol
otherwise adapter discards frame Type indicates higher layer protocol (mostly IP
but others possible eg Novell IPX AppleTalk) CRC checked at receiver if error is detected
frame is dropped
30
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-59
Ethernet Unreliable connectionless
connectionless No handshaking between sending andreceiving NICs
unreliable receiving NIC doesnrsquot send acks nor nacksto sending NIC stream of datagrams passed to network layer can have gaps
(missing datagrams) gaps will be filled if app is using TCP otherwise app will see gaps
Ethernetrsquos MAC protocol unslotted CSMACD
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-60
Ethernet CSMACD algorithm1 NIC receives datagram
from network layercreates frame
2 If NIC senses channel idlestarts frame transmissionIf NIC senses channelbusy waits until channelidle then transmits
3 If NIC transmits entireframe without detectinganother transmission NICis done with frame
4 If NIC detects anothertransmission whiletransmitting (collision)aborts and sends jamsignal
5 After aborting NICenters exponentialbackoff after mthcollision NIC chooses K atrandom from012hellip2m-1 NIC waitsK512 bit times returns toStep 2
31
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-61
Ethernetrsquos CSMACD (more)Jam Signal make sure all
other transmitters areaware of collision 48bits
Bit time 01 microsec for 10Mbps Ethernetfor K=1023 wait timeis about 50 msec
Exponential Backoff Goal adapt retransmission
attempts to estimatedcurrent load heavy load random wait
will be longer first collision choose K from
01 delay is K 512 bittransmission times
after second collision chooseK from 0123hellip
after ten collisions choose Kfrom 01234hellip1023
with this backoff algorithmEthernet is sort ofp-persistent CSMA with anadaptive p
Seeinteract with Javaapplet on AWL Web sitehighly recommended
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-62
S = T (T + α times 2τ)= 1 (1 + α times 2τT)= 1 (1 + α times 2BLcF )For large N α convergestowards e (plusmn27) for ap-persistent CSMA withp = 1N (ideal case)
So for N gtgt S cannotbe better than1 (1 + e times 2τT)= 1 (1 + 54 τT)
Number of active stations = N
Channel efficiency
S10
09
08
07
06
05
04
03
02
01
0 1 2 4 8 16 32 64 128 256
1024 byte frames
512 byte frames
256 byte frames
128 byte frames
64 byte frames
From Computer Networks by Tanenbaum copy Prentice Hall
Channel efficiency of an adaptivep-persistent CSMA
Let α = the average number of slots (2 τ) before any successful transmission
32
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-63
8023 Ethernet Standards Link amp Physical Layers
many different Ethernet standards common MAC protocol and frame format different speeds 2 Mbps 10 Mbps 100 Mbps
1 Gbps 10 Gbps different physical layer media fiber cable
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twistedpair) physical layer
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-64
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
33
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-65
Manchester encoding - Signaldistortion
Transmittedsignal
Receivedsignal
after 1200 mon RG11 coax
Manchester signal at 4Mbps
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-66
Link Layer
51 Introduction andservices
52 Error detection 53 Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
34
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-67
Hubshellip physical-layer (ldquodumbrdquo) repeaters
bits coming in one link go out all other links at samerate
all nodes connected to hub can collide with oneanother
no frame buffering no CSMACD at hub host NICs detect collisions
twisted pair
hub
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-68
Switch link-layer device smarter than hubs take
active role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links whenframe is to be forwarded on segment usesCSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
35
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-69
Switch allows multiple simultaneoustransmissions
hosts have dedicateddirect connection to switch
switches buffer packets Ethernet protocol used on
each incoming link but nocollisions full duplex each link is its own collision
domain switching A-to-Arsquo and B-
to-Brsquo simultaneouslywithout collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-70
Switch Table
Q how does switch know thatArsquo reachable via interface 4Brsquo reachable via interface 5
A each switch has a switchtable each entry (MAC address of host interface
to reach host time stamp) Is a MAC forwarding table
Looks like an IP forwarding table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
36
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-71
Switch self-learning
switch learns which hostscan be reached throughwhich interfaces when frame received
switch ldquolearnsrdquo location ofsender incoming LANsegment
records senderlocationpair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-72
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 if entry found for destination
then if dest on segment from which frame arrived
then drop the frame else forward the frame on interface indicated else flood forward on all but the interface
on which the frame arrived
37
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-73
Self-learningforwardingexample
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo frame destination
unknown flood
Arsquo A
destination Alocation known
Arsquo 4 60
selective send
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-74
Interconnecting switches
switches can be connected together
A
B
Q sending from A to F - how does S1 know how toforward frame destined for F via S4 and S2
A self learning (works exactly the same as insingle-switch case)
S1
C D
E
FS2
S4
S3
HI
G
38
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-75
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
HI
G
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-76
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
39
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-77
All principles seen so far are applicable to a subnet withseveral switches if there is no cycle in the topology No cycle = no redundancy in case of failure
Part of subnet can be disconnected
A B
LAN 1
C D E
F G H
LAN 4
LAN 3LAN 2
From Computer Networks by Tanenbaum copy Prentice Hall
More than one switch in asubnet
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-78
Problem Frame F (whose destination address is unknown to bothswitches) will loop
Solution build a logical spanning tree topology over the real topology
LAN 1
LAN 2
FInitial frame
F1 F2
Frame copiedby left switch
Frame copiedby right switch
From Computer Networks by Tanenbaum copy Prentice Hall
Problem with cycles
40
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-79
Build a logical tree reaching allLANs
1 Determine the root switch(smallest switch id)
Switches regularly flood controlmessages (BPDUs) on all theiroutput ports
BPDU = ltSource switch id root asassumed distance to rootgt
All switches will soon discoverthe root id
A B2
C31
LAN
4
G
I
D E F
6 75
H J8 9
Switch
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (1)Root switch A sends ltAA0gt on LAN1 and LAN2
B sends ltBA1gt on LAN 3
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-80
2 Build the tree By continuously receiving these
BPDUs (possibly on severalports) a switch knows itsdistance to the root and whichport leads to the root by thatshortest distance (root port r)
A B2
C31 4
G
I
D E F
6 75
H J8 9
r
r
r
rr
r
r
rr
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (2)Root portRoot switch
41
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-81
3 Decide if non-root ports are (data)forwarding or (data) blockingA port is forwarding (f) on a givenLAN if the BPDUs this switch sendson this LAN are smaller thanthose other switches (would) send
Smaller = shorter distance or equaldistance and smaller switch id
Exampleon LAN6 E sends ltEA2gt G would sendltGA2gt and J would send ltJA3gtSo E is elected to be the only one toforward frames on LAN6 J is too faraway from the root and G gt E
A B2
C31 4
G
I
D E F
6 75
H J8 9
rf
r
r
rr
r
r
rr
f f f
f f f
f f
Spanning tree (3)Forwarding port
Blocking port
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-82
Some switches (eg G and J) are not part of the tree Another case could be that some ports of some switches are blocking
They could become part of the tree if another switch or port would fail(leading to no refresh of BPDUs)
So switches have to listen to BPDUs on blocking ports to detect failures
1 2 3 4
5 6 7
8 9
A B C
D E F
H
LAN
Switch thatis part of the
spanning tree
Switch that isnot part of thespanning tree
I
The resulting spanning treeRouting on a spanning treeis not optimal
Same spanning tree for allsource-destination pair
Compare to layer-3 routing
From Computer Networks by Tanenbaum copy Prentice Hall
42
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-83
Switches vs Routers both store-and-forward devices
routers network layer devices (examine network layerheaders)
switches are link layer devices routers maintain IP routing and IP forwarding
tables implement routing algorithms switches maintain MAC forwarding tables
implement filtering learning and spanning treealgorithms
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-84
Summary comparison
hubs routers switches
traffic
isolation
no yes yes
plug amp play yes no yes
optimal
routing
no yes no
cut
through
yes no yes
Some do
43
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-85
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-86
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line ADSL line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
bull Data link used to be considered ldquohigh layerrdquo inprotocol stack
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
2
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-3
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-4
Link Layer IntroductionSome terminology hosts and routers are nodes communication channels that
connect adjacent nodes alongcommunication path are links wired links wireless links LANs
layer-2 packet is a frameencapsulates datagram
data-link layer has responsibility of transferring datagram from one node to adjacent node over a link
3
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-5
Link layer context datagram transferred by
different link protocolsover different links eg Ethernet on first link
frame relay onintermediate links 80211on last link
each link protocolprovides differentservices eg may or may not
provide rdt over link
transportation analogy trip from Princeton to
Lausanne limo Princeton to JFK plane JFK to Geneva train Geneva to Lausanne
tourist = datagram transport segment =
communication link transportation mode =
link layer protocol travel agent = routing
algorithm
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-6
Link Layer Services framing link access
encapsulate datagram into frame adding header trailer channel access if shared medium ldquoMACrdquo addresses used in frame headers to identify
source destbull 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
bull Q why both link-level and end-end reliability
4
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-7
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
bull drops framebull if recovery needed signals sender for retransmission
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 butnot at same time
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-8
Where is the link layer implemented
in each and every host link layer implemented in
ldquoadaptorrdquo (aka networkinterface card NIC) Ethernet card PCMCI
card 80211 card implements link physical
layer attaches into hostrsquos
system buses combination of
hardware softwarefirmware
controller
physicaltransmission
cpu memory
host bus (eg PCI)
network adaptercard
host schematic
applicationtransportnetwork
link
linkphysical
5
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-9
Adaptors Communicating
sending side encapsulates datagram in
frame adds error checking bits
rdt flow control etc
receiving side looks for errors rdt flow
control etc extracts datagram passes
to upper layer at receivingside
controller controller
sending host receiving host
datagram datagram
datagram
frame
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-10
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
6
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-11
Error DetectionEDC= Error Detection (and sometimes Correction) bits (redundancy)D = Data protected by error checking may include header fields
bull Error detection not 100 reliablebull protocol may miss some errors but rarelybull larger EDC field yields better detection (and correction)
otherwise
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-12
Parity CheckingSingle Bit ParityDetect single bit errors
Two Dimensional Bit ParityDetect and correct single bit errors
0 0
7
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-13
Internet checksum (review)
Sender treat segment contents as
sequence of 16-bitintegers
checksum addition (1rsquoscomplement sum) ofsegment contents
sender puts checksumvalue into UDP checksumfield
Receiver compute checksum of
received segment check if computed checksum
equals checksum field value NO - error detected YES - no error detected
But maybe errorsnonetheless
Goal detect ldquoerrorsrdquo (eg flipped bits) intransmitted packet (note used at transport layeronly)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-14
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
ltDRgt exactly divisible by G (in base-2 arithmetic) receiver knows G divides ltDRgt by G If non-zero remainder
error detected can detect all burst errors less than or equal to r bits (see later)
widely used in practice (Ethernet 80211 WiFi PPP ATM)
8
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-15
CRC ExampleWant
D2r XOR R = nGequivalently
D2r = nG XOR Requivalently if we divide D2r by G
(in base-2 arithmetic)want remainder R
r=3
R = remainderD 2r
G
$
amp
(
Divisor
Quotient
Dividend
In base-2 arithmetic-no carries-no borrows
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-16
CRC Example the polynomial view
Transmitted frameT(x) = D(x) xr - R(x)
Is divisible byG(x)
D(x) = x5 + x3 + x2 + xr=3G(x) = x3 + 1
R(x) = remainderD(x) xr
G(x)
$
amp
(
9
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-17
Why does it work We have T(x) = D(x) xr - R(x)
Therefore the remainder of T(x) G(x) is zero This is easy to check at the receiver provided that the
sender and the receiver agree on a certain G(x) Suppose some errors occur during transmission
The received frame is T(x) + E(x) The receiver will then calculate the remainder of
(T(x) + E(x)) G(x) This remainder is equal to the remainder of E(x) G(x) If there is an error such that E(x) is not divisible by
G(x) it is detected The choice of G(x) is thus very important
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-18
Example of CRC Generator = G(x) = x16 + x12 + x5 + 1 G(x) detects every E(x) consisting of an odd number of error bits
Because G(x) is a factor of x + 1 (in base-2 arithmetic G(1) = 0)and a polynomial E(x) with an odd number of terms is not divisible by x+1 (in base-2arithmetic E(1) = 1 for such E(x))
More generally a G(x) composed of an even number of terms detects everyerror consisting of an odd number of error bits At least as good as a parity bit Could a parity bit be seen as a trivial CRC Any G(x) to suggest
G(x) detects every 2-bit error (in any place in the frame) G(x) detects every error burst of length le 16 bits
An error burst of length n (ge 2) is 1 erroneous bit followed by n-2 bits (correct or not)followed by an erroneous bit
So an error burst of length le 16 bits is an E(x) = Ersquo(x) xk with neither Ersquo(x) nor xk beingdivisible by G(x) because Ersquo(x) is of degree le 15 while G(x) is of degree 16
More generally a G(x) of degree r detects every r-bit error bursts G(x) detects 99997 of the 17-bit error bursts (if errors are random) G(x) detects 99998 of the 18-bit error bursts (if errors are random)
From Computer Networks by Tanenbaum copy Prentice Hall
10
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-19
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-20
Multiple Access Links and ProtocolsTwo types of ldquolinksrdquo point-to-point
PPP for dial-up access point-to-point link between Ethernet switch and host
broadcast (shared wire or medium) old-fashioned Ethernet upstream HFC 80211 wireless LAN
shared wire (eg cabled Ethernet)
shared RF (eg 80211 WiFi)
shared RF(satellite)
humans at acocktail party
(shared air acoustical)
11
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-21
Multiple Access protocols single shared broadcast channel two or more simultaneous transmissions by nodes
interference collision if node receives two or more signals at the same time
multiple access protocol distributed algorithm that determines how nodes
share channel ie determine when node can transmit communication about channel sharing must use channel
itself no out-of-band channel for coordination
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-22
Ideal Multiple Access Protocol
Broadcast channel of rate R bps1 when one node wants to transmit it can send at
rate R2 when M nodes want to transmit each can send at
average rate RM (fairness)3 fully decentralized
no special node to coordinate transmissions no synchronization of clocks slots
4 simple
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-23
MAC Protocols a taxonomyThree broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slotsfrequency code)
allocate piece to node for exclusive use Random Access
channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo nodes take turns but nodes with more to send can take
longer turns
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-24
Channel Partitioning MAC protocols TDMA
TDMA time division multiple access access to channel in rounds each station gets fixed length slot (length = pkt
transmission time) in each round unused slots go idle example 6-station LAN 134 have pkt slots 256
idle
1 3 4 1 3 4
6-slotframe
13
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-25
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 134 have pkt frequency
bands 256 idlefr
eque
ncy
band
stime
FDM cable
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-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 ldquocollisionrdquo random access MAC protocol specifies
how to detect collisions how to recover from collisions (eg via delayed
retransmissions) Examples of random access MAC protocols
slotted ALOHA ALOHA CSMA CSMACD CSMACA
14
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-27
Slotted ALOHA
Assumptions all frames have same
size time is divided into
equal size slots (time totransmit 1 frame)
nodes start to transmitonly at slot beginning
nodes are synchronized if 2 or more nodes
transmit in slot allnodes detect collision
Operation when node obtains fresh
frame transmits in nextslot if no collision node can
send new frame in nextslot
if collision noderetransmits frame ineach subsequent slotwith prob p untilsuccess
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-28
Slotted ALOHA
Pros single active node can
continuously transmit atfull rate of channel
highly decentralizedonly slots in nodes needto be in sync
simple
Cons collisions wasting slots idle slots nodes may be able to
detect collision in less thantime to transmit packet
clock synchronization
15
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-29
Slotted Aloha efficiency
Suppose N nodes with many frames tosend each transmits in slot withprobability p Note not exactly slotted ALOHA
prob that node 1 has success in a slot =p(1-p)N-1
prob that any node has a success =Np(1-p)N-1
For max efficiency with Nnodes find p that maximizesNp(1-p)N-1
p = 1N For many nodes take limit of
Np(1-p)N-1 = (1-1N)N-1
as N goes to infinityit gives 1e = 037
Efficiency is the long-runfraction of successful slotswhen there are many nodes eachwith many frames to send
At best channelused for useful transmissions 37of time
limN
1$G
N
amp
(
)
N
= e$G
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-30
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-1t0+1]
In frame time units
16
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-31
Pure Aloha efficiencyP(success by given node) = P(node transmits) P(no other node transmits in [t0-1t0] P(no other node transmits in [t0t0+1] = p (1-p)N-1 (1-p)N-1
= p (1-p)2(N-1)
P (success by any node) = Np (1-p)2(N-1)
hellip choosing optimum p and then letting n go to infinity
= 1(2e) = 018
Even worse than slotted Aloha
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-32
Efficiency wrt average trafficload Let G = pN be the average aggregated traffic load
(or demand) per frame time = nr of transmission attempts per frame time N stations sending one frame with probability p in every
frame time Efficiency
Slotted ALOHA Np(1-p)N-1 = G (1-GN)N-1
ALOHA Np(1-p)2(N-1) = G (1-GN)2(N-1)
Efficiency (for a given G) when N gtgt Slotted ALOHA G e-G
ALOHA G e-2G
If G ltlt 1 efficiency asymp G perfect
limN
1$G
N
amp
(
)
N
= e$G
17
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-33
Efficiency Optimum out of 100 frame times- 37 are used effectively- 26 are collisions- 37 are just empty
From Computer Networks by Tanenbaum copy Prentice Hall
ALOHA versus Slotted ALOHA
frame
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-34
CSMA (Carrier Sense Multiple Access)
CSMA listen before transmitIf channel sensed idle transmit entire frame If channel sensed busy defer transmission
LBT Listen Before Talking (and deference)
human analogy donrsquot interrupt others
18
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-35
CSMA collisions
collisions can still occurpropagation delay meanstwo nodes may not heareach otherrsquos transmission
collisionentire packet transmissiontime wasted
spatial layout of nodes
noterole of distance amp propagationdelay in determining collisionprobability
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-36
persistent CSMA(if channel is busy listen until it isfreed)
non persistent CSMA(if channel is busy program anew attempt later)
p-persistent CSMAWhile true doif channel is freethen
with probability p immediate transmission or
with probability 1-p stay idle during at least propagation time (τ) else listen until the channel is freed
Trade-off between efficiency and delaybull This introduces a useless delay at low loadsbull But the efficiency of the channel is better at high loads
p-persistent CSMA
19
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-37
Efficiency
Efficiency versus load for various randomaccess protocols
From Computer Networks by Tanenbaum copy Prentice Hall
frame
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-38
B = Channel Data Rate (so-called Bandwidth) (bps)F = (Maximum) Frame size (bits)L = Length of the channel (m)c = Propagation speed (ms)
τ = Propagation delay = L c (s)T = Transmission delay = F B (s)
a = τ T = BL cFLet a = 1 rarr F = 100 BL c = plusmn 5 10-7 BL (with c = plusmn 200000 kms)Let B = 10 Mbps L = 25 km rarr F = 12500 bits (= 15625 bytes)This is roughly the Ethernet frame size
Engineering a CSMA network
20
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-39
CSMACD (Collision Detection)CSMACD 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 strengthscompare transmitted received signals
difficult in wireless LANs received signal strengthoverwhelmed by local transmission strength
human analogy the polite conversationalist
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-40
CSMACD collision detectionCSMACD CSMA
Lost time le 2 τ(worst case 2 max propagation timeswhen the 2 stations are at the 2 ends)+ detectabort time No abort so loss is T
21
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-41
To detect collision the sender must still be transmitting when the collisionpropagates back to it So the condition is
T gt 2τ which means FB gt 2 Lcwhich leads to a minimal Fmin = 2BLc = plusmn BL 10-8 bits
Let B = 10 Mbps L = 25 km rarr Fmin = plusmn 250 bits (= plusmn 32 bytes) Ethernet has chosen 64 bytes = 512 bits (extra margin due to other delays)
A B
(a)
A B
(b)
A B
(c)
A B
(d)Collision attime τ
Noise burst getsback to A at 2τ
Packet startsat time 0
Packet almostat B at τminusε
Minimal frame size with CSMACD
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-42
ldquoTaking Turnsrdquo MAC protocols
channel partitioning MAC protocols share channel efficiently and fairly at high load inefficient at low load delay in channel access
1N bandwidth allocated even if only 1 activenode
Random access MAC protocols efficient at low load single node can fully
utilize channel high load collision overhead
ldquotaking turnsrdquo protocolslook for best of both worlds
22
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-43
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodesto transmit in turn
typically used withldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-44
ldquoTaking Turnsrdquo MAC protocolsToken passing control token passed
from one node to nextsequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
23
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-45
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire) hard in
others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-46
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
24
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-47
MAC Addresses and ARP
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)
bull burned in NIC ROM also sometimes software settable
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-48
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
25
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-49
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
address depends on IP subnet to which node is attached
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-50
ARP Address Resolution Protocol
Each IP node (hostrouter) on LAN hasARP table
ARP table IPMACaddress mappings forsome LAN nodes
lt IP address MAC address TTLgt TTL (Time To Live) time
after which addressmapping will be forgotten(typically 20 min)
Question how to determineBrsquos MAC addressknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
26
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-51
ARP protocol Same LAN (network)
A wants to send datagramto B and Brsquos MAC addressnot in Arsquos ARP table
A broadcasts ARP querypacket containing Bs IPaddress dest MAC address =
FF-FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs)MAC address frame sent to Arsquos MAC
address (unicast)
A caches (saves) Brsquos IP-to-MAC address pair in itsARP table until informationbecomes old (times out) soft state information
that times out (goes away)unless refreshed
All other stations had alsocached Arsquos IP-to-MAC pair
ARP is ldquoplug-and-playrdquo nodes create their ARP
tables withoutintervention from netadministrator
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-52
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IPnetwork (LAN)
27
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-53
A creates IP datagram with source A destination B In routing table at source Host find Rrsquos IP = 111111111110 A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees itrsquos
destined for B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-54
Link Layer
51 Introduction andservices
52 Error detection
53Multiple accessprotocols
54 Link-LayerAddressing
55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
28
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-55
Ethernetldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-56
Star topology bus topology popular through mid 90s
all nodes in same collision domain (can collide with eachother)
today star topology prevails active switch in center each ldquospokerdquo runs a (separate) Ethernet protocol (nodes
do not collide with each other)
switch
bus coaxial cable star
29
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-57
Ethernet Frame StructureSending 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
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-58
Ethernet Frame Structure (more) Addresses 6 bytes
if adapter receives frame with matching destinationaddress or with broadcast address (eg ARP packet) itpasses data in frame to network layer protocol
otherwise adapter discards frame Type indicates higher layer protocol (mostly IP
but others possible eg Novell IPX AppleTalk) CRC checked at receiver if error is detected
frame is dropped
30
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-59
Ethernet Unreliable connectionless
connectionless No handshaking between sending andreceiving NICs
unreliable receiving NIC doesnrsquot send acks nor nacksto sending NIC stream of datagrams passed to network layer can have gaps
(missing datagrams) gaps will be filled if app is using TCP otherwise app will see gaps
Ethernetrsquos MAC protocol unslotted CSMACD
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-60
Ethernet CSMACD algorithm1 NIC receives datagram
from network layercreates frame
2 If NIC senses channel idlestarts frame transmissionIf NIC senses channelbusy waits until channelidle then transmits
3 If NIC transmits entireframe without detectinganother transmission NICis done with frame
4 If NIC detects anothertransmission whiletransmitting (collision)aborts and sends jamsignal
5 After aborting NICenters exponentialbackoff after mthcollision NIC chooses K atrandom from012hellip2m-1 NIC waitsK512 bit times returns toStep 2
31
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-61
Ethernetrsquos CSMACD (more)Jam Signal make sure all
other transmitters areaware of collision 48bits
Bit time 01 microsec for 10Mbps Ethernetfor K=1023 wait timeis about 50 msec
Exponential Backoff Goal adapt retransmission
attempts to estimatedcurrent load heavy load random wait
will be longer first collision choose K from
01 delay is K 512 bittransmission times
after second collision chooseK from 0123hellip
after ten collisions choose Kfrom 01234hellip1023
with this backoff algorithmEthernet is sort ofp-persistent CSMA with anadaptive p
Seeinteract with Javaapplet on AWL Web sitehighly recommended
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-62
S = T (T + α times 2τ)= 1 (1 + α times 2τT)= 1 (1 + α times 2BLcF )For large N α convergestowards e (plusmn27) for ap-persistent CSMA withp = 1N (ideal case)
So for N gtgt S cannotbe better than1 (1 + e times 2τT)= 1 (1 + 54 τT)
Number of active stations = N
Channel efficiency
S10
09
08
07
06
05
04
03
02
01
0 1 2 4 8 16 32 64 128 256
1024 byte frames
512 byte frames
256 byte frames
128 byte frames
64 byte frames
From Computer Networks by Tanenbaum copy Prentice Hall
Channel efficiency of an adaptivep-persistent CSMA
Let α = the average number of slots (2 τ) before any successful transmission
32
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-63
8023 Ethernet Standards Link amp Physical Layers
many different Ethernet standards common MAC protocol and frame format different speeds 2 Mbps 10 Mbps 100 Mbps
1 Gbps 10 Gbps different physical layer media fiber cable
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twistedpair) physical layer
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-64
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
33
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-65
Manchester encoding - Signaldistortion
Transmittedsignal
Receivedsignal
after 1200 mon RG11 coax
Manchester signal at 4Mbps
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-66
Link Layer
51 Introduction andservices
52 Error detection 53 Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
34
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-67
Hubshellip physical-layer (ldquodumbrdquo) repeaters
bits coming in one link go out all other links at samerate
all nodes connected to hub can collide with oneanother
no frame buffering no CSMACD at hub host NICs detect collisions
twisted pair
hub
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-68
Switch link-layer device smarter than hubs take
active role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links whenframe is to be forwarded on segment usesCSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
35
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-69
Switch allows multiple simultaneoustransmissions
hosts have dedicateddirect connection to switch
switches buffer packets Ethernet protocol used on
each incoming link but nocollisions full duplex each link is its own collision
domain switching A-to-Arsquo and B-
to-Brsquo simultaneouslywithout collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-70
Switch Table
Q how does switch know thatArsquo reachable via interface 4Brsquo reachable via interface 5
A each switch has a switchtable each entry (MAC address of host interface
to reach host time stamp) Is a MAC forwarding table
Looks like an IP forwarding table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
36
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-71
Switch self-learning
switch learns which hostscan be reached throughwhich interfaces when frame received
switch ldquolearnsrdquo location ofsender incoming LANsegment
records senderlocationpair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-72
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 if entry found for destination
then if dest on segment from which frame arrived
then drop the frame else forward the frame on interface indicated else flood forward on all but the interface
on which the frame arrived
37
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-73
Self-learningforwardingexample
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo frame destination
unknown flood
Arsquo A
destination Alocation known
Arsquo 4 60
selective send
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-74
Interconnecting switches
switches can be connected together
A
B
Q sending from A to F - how does S1 know how toforward frame destined for F via S4 and S2
A self learning (works exactly the same as insingle-switch case)
S1
C D
E
FS2
S4
S3
HI
G
38
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-75
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
HI
G
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-76
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
39
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-77
All principles seen so far are applicable to a subnet withseveral switches if there is no cycle in the topology No cycle = no redundancy in case of failure
Part of subnet can be disconnected
A B
LAN 1
C D E
F G H
LAN 4
LAN 3LAN 2
From Computer Networks by Tanenbaum copy Prentice Hall
More than one switch in asubnet
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-78
Problem Frame F (whose destination address is unknown to bothswitches) will loop
Solution build a logical spanning tree topology over the real topology
LAN 1
LAN 2
FInitial frame
F1 F2
Frame copiedby left switch
Frame copiedby right switch
From Computer Networks by Tanenbaum copy Prentice Hall
Problem with cycles
40
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-79
Build a logical tree reaching allLANs
1 Determine the root switch(smallest switch id)
Switches regularly flood controlmessages (BPDUs) on all theiroutput ports
BPDU = ltSource switch id root asassumed distance to rootgt
All switches will soon discoverthe root id
A B2
C31
LAN
4
G
I
D E F
6 75
H J8 9
Switch
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (1)Root switch A sends ltAA0gt on LAN1 and LAN2
B sends ltBA1gt on LAN 3
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-80
2 Build the tree By continuously receiving these
BPDUs (possibly on severalports) a switch knows itsdistance to the root and whichport leads to the root by thatshortest distance (root port r)
A B2
C31 4
G
I
D E F
6 75
H J8 9
r
r
r
rr
r
r
rr
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (2)Root portRoot switch
41
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-81
3 Decide if non-root ports are (data)forwarding or (data) blockingA port is forwarding (f) on a givenLAN if the BPDUs this switch sendson this LAN are smaller thanthose other switches (would) send
Smaller = shorter distance or equaldistance and smaller switch id
Exampleon LAN6 E sends ltEA2gt G would sendltGA2gt and J would send ltJA3gtSo E is elected to be the only one toforward frames on LAN6 J is too faraway from the root and G gt E
A B2
C31 4
G
I
D E F
6 75
H J8 9
rf
r
r
rr
r
r
rr
f f f
f f f
f f
Spanning tree (3)Forwarding port
Blocking port
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-82
Some switches (eg G and J) are not part of the tree Another case could be that some ports of some switches are blocking
They could become part of the tree if another switch or port would fail(leading to no refresh of BPDUs)
So switches have to listen to BPDUs on blocking ports to detect failures
1 2 3 4
5 6 7
8 9
A B C
D E F
H
LAN
Switch thatis part of the
spanning tree
Switch that isnot part of thespanning tree
I
The resulting spanning treeRouting on a spanning treeis not optimal
Same spanning tree for allsource-destination pair
Compare to layer-3 routing
From Computer Networks by Tanenbaum copy Prentice Hall
42
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-83
Switches vs Routers both store-and-forward devices
routers network layer devices (examine network layerheaders)
switches are link layer devices routers maintain IP routing and IP forwarding
tables implement routing algorithms switches maintain MAC forwarding tables
implement filtering learning and spanning treealgorithms
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-84
Summary comparison
hubs routers switches
traffic
isolation
no yes yes
plug amp play yes no yes
optimal
routing
no yes no
cut
through
yes no yes
Some do
43
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-85
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-86
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line ADSL line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
bull Data link used to be considered ldquohigh layerrdquo inprotocol stack
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
3
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-5
Link layer context datagram transferred by
different link protocolsover different links eg Ethernet on first link
frame relay onintermediate links 80211on last link
each link protocolprovides differentservices eg may or may not
provide rdt over link
transportation analogy trip from Princeton to
Lausanne limo Princeton to JFK plane JFK to Geneva train Geneva to Lausanne
tourist = datagram transport segment =
communication link transportation mode =
link layer protocol travel agent = routing
algorithm
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-6
Link Layer Services framing link access
encapsulate datagram into frame adding header trailer channel access if shared medium ldquoMACrdquo addresses used in frame headers to identify
source destbull 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
bull Q why both link-level and end-end reliability
4
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-7
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
bull drops framebull if recovery needed signals sender for retransmission
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 butnot at same time
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-8
Where is the link layer implemented
in each and every host link layer implemented in
ldquoadaptorrdquo (aka networkinterface card NIC) Ethernet card PCMCI
card 80211 card implements link physical
layer attaches into hostrsquos
system buses combination of
hardware softwarefirmware
controller
physicaltransmission
cpu memory
host bus (eg PCI)
network adaptercard
host schematic
applicationtransportnetwork
link
linkphysical
5
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-9
Adaptors Communicating
sending side encapsulates datagram in
frame adds error checking bits
rdt flow control etc
receiving side looks for errors rdt flow
control etc extracts datagram passes
to upper layer at receivingside
controller controller
sending host receiving host
datagram datagram
datagram
frame
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-10
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
6
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-11
Error DetectionEDC= Error Detection (and sometimes Correction) bits (redundancy)D = Data protected by error checking may include header fields
bull Error detection not 100 reliablebull protocol may miss some errors but rarelybull larger EDC field yields better detection (and correction)
otherwise
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-12
Parity CheckingSingle Bit ParityDetect single bit errors
Two Dimensional Bit ParityDetect and correct single bit errors
0 0
7
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-13
Internet checksum (review)
Sender treat segment contents as
sequence of 16-bitintegers
checksum addition (1rsquoscomplement sum) ofsegment contents
sender puts checksumvalue into UDP checksumfield
Receiver compute checksum of
received segment check if computed checksum
equals checksum field value NO - error detected YES - no error detected
But maybe errorsnonetheless
Goal detect ldquoerrorsrdquo (eg flipped bits) intransmitted packet (note used at transport layeronly)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-14
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
ltDRgt exactly divisible by G (in base-2 arithmetic) receiver knows G divides ltDRgt by G If non-zero remainder
error detected can detect all burst errors less than or equal to r bits (see later)
widely used in practice (Ethernet 80211 WiFi PPP ATM)
8
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-15
CRC ExampleWant
D2r XOR R = nGequivalently
D2r = nG XOR Requivalently if we divide D2r by G
(in base-2 arithmetic)want remainder R
r=3
R = remainderD 2r
G
$
amp
(
Divisor
Quotient
Dividend
In base-2 arithmetic-no carries-no borrows
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-16
CRC Example the polynomial view
Transmitted frameT(x) = D(x) xr - R(x)
Is divisible byG(x)
D(x) = x5 + x3 + x2 + xr=3G(x) = x3 + 1
R(x) = remainderD(x) xr
G(x)
$
amp
(
9
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-17
Why does it work We have T(x) = D(x) xr - R(x)
Therefore the remainder of T(x) G(x) is zero This is easy to check at the receiver provided that the
sender and the receiver agree on a certain G(x) Suppose some errors occur during transmission
The received frame is T(x) + E(x) The receiver will then calculate the remainder of
(T(x) + E(x)) G(x) This remainder is equal to the remainder of E(x) G(x) If there is an error such that E(x) is not divisible by
G(x) it is detected The choice of G(x) is thus very important
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-18
Example of CRC Generator = G(x) = x16 + x12 + x5 + 1 G(x) detects every E(x) consisting of an odd number of error bits
Because G(x) is a factor of x + 1 (in base-2 arithmetic G(1) = 0)and a polynomial E(x) with an odd number of terms is not divisible by x+1 (in base-2arithmetic E(1) = 1 for such E(x))
More generally a G(x) composed of an even number of terms detects everyerror consisting of an odd number of error bits At least as good as a parity bit Could a parity bit be seen as a trivial CRC Any G(x) to suggest
G(x) detects every 2-bit error (in any place in the frame) G(x) detects every error burst of length le 16 bits
An error burst of length n (ge 2) is 1 erroneous bit followed by n-2 bits (correct or not)followed by an erroneous bit
So an error burst of length le 16 bits is an E(x) = Ersquo(x) xk with neither Ersquo(x) nor xk beingdivisible by G(x) because Ersquo(x) is of degree le 15 while G(x) is of degree 16
More generally a G(x) of degree r detects every r-bit error bursts G(x) detects 99997 of the 17-bit error bursts (if errors are random) G(x) detects 99998 of the 18-bit error bursts (if errors are random)
From Computer Networks by Tanenbaum copy Prentice Hall
10
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-19
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-20
Multiple Access Links and ProtocolsTwo types of ldquolinksrdquo point-to-point
PPP for dial-up access point-to-point link between Ethernet switch and host
broadcast (shared wire or medium) old-fashioned Ethernet upstream HFC 80211 wireless LAN
shared wire (eg cabled Ethernet)
shared RF (eg 80211 WiFi)
shared RF(satellite)
humans at acocktail party
(shared air acoustical)
11
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-21
Multiple Access protocols single shared broadcast channel two or more simultaneous transmissions by nodes
interference collision if node receives two or more signals at the same time
multiple access protocol distributed algorithm that determines how nodes
share channel ie determine when node can transmit communication about channel sharing must use channel
itself no out-of-band channel for coordination
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-22
Ideal Multiple Access Protocol
Broadcast channel of rate R bps1 when one node wants to transmit it can send at
rate R2 when M nodes want to transmit each can send at
average rate RM (fairness)3 fully decentralized
no special node to coordinate transmissions no synchronization of clocks slots
4 simple
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-23
MAC Protocols a taxonomyThree broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slotsfrequency code)
allocate piece to node for exclusive use Random Access
channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo nodes take turns but nodes with more to send can take
longer turns
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-24
Channel Partitioning MAC protocols TDMA
TDMA time division multiple access access to channel in rounds each station gets fixed length slot (length = pkt
transmission time) in each round unused slots go idle example 6-station LAN 134 have pkt slots 256
idle
1 3 4 1 3 4
6-slotframe
13
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-25
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 134 have pkt frequency
bands 256 idlefr
eque
ncy
band
stime
FDM cable
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-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 ldquocollisionrdquo random access MAC protocol specifies
how to detect collisions how to recover from collisions (eg via delayed
retransmissions) Examples of random access MAC protocols
slotted ALOHA ALOHA CSMA CSMACD CSMACA
14
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-27
Slotted ALOHA
Assumptions all frames have same
size time is divided into
equal size slots (time totransmit 1 frame)
nodes start to transmitonly at slot beginning
nodes are synchronized if 2 or more nodes
transmit in slot allnodes detect collision
Operation when node obtains fresh
frame transmits in nextslot if no collision node can
send new frame in nextslot
if collision noderetransmits frame ineach subsequent slotwith prob p untilsuccess
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-28
Slotted ALOHA
Pros single active node can
continuously transmit atfull rate of channel
highly decentralizedonly slots in nodes needto be in sync
simple
Cons collisions wasting slots idle slots nodes may be able to
detect collision in less thantime to transmit packet
clock synchronization
15
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-29
Slotted Aloha efficiency
Suppose N nodes with many frames tosend each transmits in slot withprobability p Note not exactly slotted ALOHA
prob that node 1 has success in a slot =p(1-p)N-1
prob that any node has a success =Np(1-p)N-1
For max efficiency with Nnodes find p that maximizesNp(1-p)N-1
p = 1N For many nodes take limit of
Np(1-p)N-1 = (1-1N)N-1
as N goes to infinityit gives 1e = 037
Efficiency is the long-runfraction of successful slotswhen there are many nodes eachwith many frames to send
At best channelused for useful transmissions 37of time
limN
1$G
N
amp
(
)
N
= e$G
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-30
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-1t0+1]
In frame time units
16
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-31
Pure Aloha efficiencyP(success by given node) = P(node transmits) P(no other node transmits in [t0-1t0] P(no other node transmits in [t0t0+1] = p (1-p)N-1 (1-p)N-1
= p (1-p)2(N-1)
P (success by any node) = Np (1-p)2(N-1)
hellip choosing optimum p and then letting n go to infinity
= 1(2e) = 018
Even worse than slotted Aloha
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-32
Efficiency wrt average trafficload Let G = pN be the average aggregated traffic load
(or demand) per frame time = nr of transmission attempts per frame time N stations sending one frame with probability p in every
frame time Efficiency
Slotted ALOHA Np(1-p)N-1 = G (1-GN)N-1
ALOHA Np(1-p)2(N-1) = G (1-GN)2(N-1)
Efficiency (for a given G) when N gtgt Slotted ALOHA G e-G
ALOHA G e-2G
If G ltlt 1 efficiency asymp G perfect
limN
1$G
N
amp
(
)
N
= e$G
17
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-33
Efficiency Optimum out of 100 frame times- 37 are used effectively- 26 are collisions- 37 are just empty
From Computer Networks by Tanenbaum copy Prentice Hall
ALOHA versus Slotted ALOHA
frame
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-34
CSMA (Carrier Sense Multiple Access)
CSMA listen before transmitIf channel sensed idle transmit entire frame If channel sensed busy defer transmission
LBT Listen Before Talking (and deference)
human analogy donrsquot interrupt others
18
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-35
CSMA collisions
collisions can still occurpropagation delay meanstwo nodes may not heareach otherrsquos transmission
collisionentire packet transmissiontime wasted
spatial layout of nodes
noterole of distance amp propagationdelay in determining collisionprobability
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-36
persistent CSMA(if channel is busy listen until it isfreed)
non persistent CSMA(if channel is busy program anew attempt later)
p-persistent CSMAWhile true doif channel is freethen
with probability p immediate transmission or
with probability 1-p stay idle during at least propagation time (τ) else listen until the channel is freed
Trade-off between efficiency and delaybull This introduces a useless delay at low loadsbull But the efficiency of the channel is better at high loads
p-persistent CSMA
19
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-37
Efficiency
Efficiency versus load for various randomaccess protocols
From Computer Networks by Tanenbaum copy Prentice Hall
frame
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-38
B = Channel Data Rate (so-called Bandwidth) (bps)F = (Maximum) Frame size (bits)L = Length of the channel (m)c = Propagation speed (ms)
τ = Propagation delay = L c (s)T = Transmission delay = F B (s)
a = τ T = BL cFLet a = 1 rarr F = 100 BL c = plusmn 5 10-7 BL (with c = plusmn 200000 kms)Let B = 10 Mbps L = 25 km rarr F = 12500 bits (= 15625 bytes)This is roughly the Ethernet frame size
Engineering a CSMA network
20
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-39
CSMACD (Collision Detection)CSMACD 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 strengthscompare transmitted received signals
difficult in wireless LANs received signal strengthoverwhelmed by local transmission strength
human analogy the polite conversationalist
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-40
CSMACD collision detectionCSMACD CSMA
Lost time le 2 τ(worst case 2 max propagation timeswhen the 2 stations are at the 2 ends)+ detectabort time No abort so loss is T
21
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-41
To detect collision the sender must still be transmitting when the collisionpropagates back to it So the condition is
T gt 2τ which means FB gt 2 Lcwhich leads to a minimal Fmin = 2BLc = plusmn BL 10-8 bits
Let B = 10 Mbps L = 25 km rarr Fmin = plusmn 250 bits (= plusmn 32 bytes) Ethernet has chosen 64 bytes = 512 bits (extra margin due to other delays)
A B
(a)
A B
(b)
A B
(c)
A B
(d)Collision attime τ
Noise burst getsback to A at 2τ
Packet startsat time 0
Packet almostat B at τminusε
Minimal frame size with CSMACD
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-42
ldquoTaking Turnsrdquo MAC protocols
channel partitioning MAC protocols share channel efficiently and fairly at high load inefficient at low load delay in channel access
1N bandwidth allocated even if only 1 activenode
Random access MAC protocols efficient at low load single node can fully
utilize channel high load collision overhead
ldquotaking turnsrdquo protocolslook for best of both worlds
22
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-43
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodesto transmit in turn
typically used withldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-44
ldquoTaking Turnsrdquo MAC protocolsToken passing control token passed
from one node to nextsequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
23
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-45
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire) hard in
others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-46
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
24
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-47
MAC Addresses and ARP
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)
bull burned in NIC ROM also sometimes software settable
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-48
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
25
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-49
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
address depends on IP subnet to which node is attached
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-50
ARP Address Resolution Protocol
Each IP node (hostrouter) on LAN hasARP table
ARP table IPMACaddress mappings forsome LAN nodes
lt IP address MAC address TTLgt TTL (Time To Live) time
after which addressmapping will be forgotten(typically 20 min)
Question how to determineBrsquos MAC addressknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
26
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-51
ARP protocol Same LAN (network)
A wants to send datagramto B and Brsquos MAC addressnot in Arsquos ARP table
A broadcasts ARP querypacket containing Bs IPaddress dest MAC address =
FF-FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs)MAC address frame sent to Arsquos MAC
address (unicast)
A caches (saves) Brsquos IP-to-MAC address pair in itsARP table until informationbecomes old (times out) soft state information
that times out (goes away)unless refreshed
All other stations had alsocached Arsquos IP-to-MAC pair
ARP is ldquoplug-and-playrdquo nodes create their ARP
tables withoutintervention from netadministrator
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-52
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IPnetwork (LAN)
27
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-53
A creates IP datagram with source A destination B In routing table at source Host find Rrsquos IP = 111111111110 A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees itrsquos
destined for B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-54
Link Layer
51 Introduction andservices
52 Error detection
53Multiple accessprotocols
54 Link-LayerAddressing
55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
28
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-55
Ethernetldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-56
Star topology bus topology popular through mid 90s
all nodes in same collision domain (can collide with eachother)
today star topology prevails active switch in center each ldquospokerdquo runs a (separate) Ethernet protocol (nodes
do not collide with each other)
switch
bus coaxial cable star
29
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-57
Ethernet Frame StructureSending 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
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-58
Ethernet Frame Structure (more) Addresses 6 bytes
if adapter receives frame with matching destinationaddress or with broadcast address (eg ARP packet) itpasses data in frame to network layer protocol
otherwise adapter discards frame Type indicates higher layer protocol (mostly IP
but others possible eg Novell IPX AppleTalk) CRC checked at receiver if error is detected
frame is dropped
30
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-59
Ethernet Unreliable connectionless
connectionless No handshaking between sending andreceiving NICs
unreliable receiving NIC doesnrsquot send acks nor nacksto sending NIC stream of datagrams passed to network layer can have gaps
(missing datagrams) gaps will be filled if app is using TCP otherwise app will see gaps
Ethernetrsquos MAC protocol unslotted CSMACD
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-60
Ethernet CSMACD algorithm1 NIC receives datagram
from network layercreates frame
2 If NIC senses channel idlestarts frame transmissionIf NIC senses channelbusy waits until channelidle then transmits
3 If NIC transmits entireframe without detectinganother transmission NICis done with frame
4 If NIC detects anothertransmission whiletransmitting (collision)aborts and sends jamsignal
5 After aborting NICenters exponentialbackoff after mthcollision NIC chooses K atrandom from012hellip2m-1 NIC waitsK512 bit times returns toStep 2
31
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-61
Ethernetrsquos CSMACD (more)Jam Signal make sure all
other transmitters areaware of collision 48bits
Bit time 01 microsec for 10Mbps Ethernetfor K=1023 wait timeis about 50 msec
Exponential Backoff Goal adapt retransmission
attempts to estimatedcurrent load heavy load random wait
will be longer first collision choose K from
01 delay is K 512 bittransmission times
after second collision chooseK from 0123hellip
after ten collisions choose Kfrom 01234hellip1023
with this backoff algorithmEthernet is sort ofp-persistent CSMA with anadaptive p
Seeinteract with Javaapplet on AWL Web sitehighly recommended
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-62
S = T (T + α times 2τ)= 1 (1 + α times 2τT)= 1 (1 + α times 2BLcF )For large N α convergestowards e (plusmn27) for ap-persistent CSMA withp = 1N (ideal case)
So for N gtgt S cannotbe better than1 (1 + e times 2τT)= 1 (1 + 54 τT)
Number of active stations = N
Channel efficiency
S10
09
08
07
06
05
04
03
02
01
0 1 2 4 8 16 32 64 128 256
1024 byte frames
512 byte frames
256 byte frames
128 byte frames
64 byte frames
From Computer Networks by Tanenbaum copy Prentice Hall
Channel efficiency of an adaptivep-persistent CSMA
Let α = the average number of slots (2 τ) before any successful transmission
32
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-63
8023 Ethernet Standards Link amp Physical Layers
many different Ethernet standards common MAC protocol and frame format different speeds 2 Mbps 10 Mbps 100 Mbps
1 Gbps 10 Gbps different physical layer media fiber cable
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twistedpair) physical layer
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-64
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
33
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-65
Manchester encoding - Signaldistortion
Transmittedsignal
Receivedsignal
after 1200 mon RG11 coax
Manchester signal at 4Mbps
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-66
Link Layer
51 Introduction andservices
52 Error detection 53 Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
34
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-67
Hubshellip physical-layer (ldquodumbrdquo) repeaters
bits coming in one link go out all other links at samerate
all nodes connected to hub can collide with oneanother
no frame buffering no CSMACD at hub host NICs detect collisions
twisted pair
hub
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-68
Switch link-layer device smarter than hubs take
active role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links whenframe is to be forwarded on segment usesCSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
35
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-69
Switch allows multiple simultaneoustransmissions
hosts have dedicateddirect connection to switch
switches buffer packets Ethernet protocol used on
each incoming link but nocollisions full duplex each link is its own collision
domain switching A-to-Arsquo and B-
to-Brsquo simultaneouslywithout collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-70
Switch Table
Q how does switch know thatArsquo reachable via interface 4Brsquo reachable via interface 5
A each switch has a switchtable each entry (MAC address of host interface
to reach host time stamp) Is a MAC forwarding table
Looks like an IP forwarding table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
36
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-71
Switch self-learning
switch learns which hostscan be reached throughwhich interfaces when frame received
switch ldquolearnsrdquo location ofsender incoming LANsegment
records senderlocationpair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-72
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 if entry found for destination
then if dest on segment from which frame arrived
then drop the frame else forward the frame on interface indicated else flood forward on all but the interface
on which the frame arrived
37
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-73
Self-learningforwardingexample
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo frame destination
unknown flood
Arsquo A
destination Alocation known
Arsquo 4 60
selective send
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-74
Interconnecting switches
switches can be connected together
A
B
Q sending from A to F - how does S1 know how toforward frame destined for F via S4 and S2
A self learning (works exactly the same as insingle-switch case)
S1
C D
E
FS2
S4
S3
HI
G
38
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-75
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
HI
G
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-76
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
39
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-77
All principles seen so far are applicable to a subnet withseveral switches if there is no cycle in the topology No cycle = no redundancy in case of failure
Part of subnet can be disconnected
A B
LAN 1
C D E
F G H
LAN 4
LAN 3LAN 2
From Computer Networks by Tanenbaum copy Prentice Hall
More than one switch in asubnet
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-78
Problem Frame F (whose destination address is unknown to bothswitches) will loop
Solution build a logical spanning tree topology over the real topology
LAN 1
LAN 2
FInitial frame
F1 F2
Frame copiedby left switch
Frame copiedby right switch
From Computer Networks by Tanenbaum copy Prentice Hall
Problem with cycles
40
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-79
Build a logical tree reaching allLANs
1 Determine the root switch(smallest switch id)
Switches regularly flood controlmessages (BPDUs) on all theiroutput ports
BPDU = ltSource switch id root asassumed distance to rootgt
All switches will soon discoverthe root id
A B2
C31
LAN
4
G
I
D E F
6 75
H J8 9
Switch
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (1)Root switch A sends ltAA0gt on LAN1 and LAN2
B sends ltBA1gt on LAN 3
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-80
2 Build the tree By continuously receiving these
BPDUs (possibly on severalports) a switch knows itsdistance to the root and whichport leads to the root by thatshortest distance (root port r)
A B2
C31 4
G
I
D E F
6 75
H J8 9
r
r
r
rr
r
r
rr
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (2)Root portRoot switch
41
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-81
3 Decide if non-root ports are (data)forwarding or (data) blockingA port is forwarding (f) on a givenLAN if the BPDUs this switch sendson this LAN are smaller thanthose other switches (would) send
Smaller = shorter distance or equaldistance and smaller switch id
Exampleon LAN6 E sends ltEA2gt G would sendltGA2gt and J would send ltJA3gtSo E is elected to be the only one toforward frames on LAN6 J is too faraway from the root and G gt E
A B2
C31 4
G
I
D E F
6 75
H J8 9
rf
r
r
rr
r
r
rr
f f f
f f f
f f
Spanning tree (3)Forwarding port
Blocking port
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-82
Some switches (eg G and J) are not part of the tree Another case could be that some ports of some switches are blocking
They could become part of the tree if another switch or port would fail(leading to no refresh of BPDUs)
So switches have to listen to BPDUs on blocking ports to detect failures
1 2 3 4
5 6 7
8 9
A B C
D E F
H
LAN
Switch thatis part of the
spanning tree
Switch that isnot part of thespanning tree
I
The resulting spanning treeRouting on a spanning treeis not optimal
Same spanning tree for allsource-destination pair
Compare to layer-3 routing
From Computer Networks by Tanenbaum copy Prentice Hall
42
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-83
Switches vs Routers both store-and-forward devices
routers network layer devices (examine network layerheaders)
switches are link layer devices routers maintain IP routing and IP forwarding
tables implement routing algorithms switches maintain MAC forwarding tables
implement filtering learning and spanning treealgorithms
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-84
Summary comparison
hubs routers switches
traffic
isolation
no yes yes
plug amp play yes no yes
optimal
routing
no yes no
cut
through
yes no yes
Some do
43
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-85
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-86
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line ADSL line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
bull Data link used to be considered ldquohigh layerrdquo inprotocol stack
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
4
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-7
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
bull drops framebull if recovery needed signals sender for retransmission
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 butnot at same time
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-8
Where is the link layer implemented
in each and every host link layer implemented in
ldquoadaptorrdquo (aka networkinterface card NIC) Ethernet card PCMCI
card 80211 card implements link physical
layer attaches into hostrsquos
system buses combination of
hardware softwarefirmware
controller
physicaltransmission
cpu memory
host bus (eg PCI)
network adaptercard
host schematic
applicationtransportnetwork
link
linkphysical
5
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-9
Adaptors Communicating
sending side encapsulates datagram in
frame adds error checking bits
rdt flow control etc
receiving side looks for errors rdt flow
control etc extracts datagram passes
to upper layer at receivingside
controller controller
sending host receiving host
datagram datagram
datagram
frame
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-10
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
6
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-11
Error DetectionEDC= Error Detection (and sometimes Correction) bits (redundancy)D = Data protected by error checking may include header fields
bull Error detection not 100 reliablebull protocol may miss some errors but rarelybull larger EDC field yields better detection (and correction)
otherwise
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-12
Parity CheckingSingle Bit ParityDetect single bit errors
Two Dimensional Bit ParityDetect and correct single bit errors
0 0
7
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-13
Internet checksum (review)
Sender treat segment contents as
sequence of 16-bitintegers
checksum addition (1rsquoscomplement sum) ofsegment contents
sender puts checksumvalue into UDP checksumfield
Receiver compute checksum of
received segment check if computed checksum
equals checksum field value NO - error detected YES - no error detected
But maybe errorsnonetheless
Goal detect ldquoerrorsrdquo (eg flipped bits) intransmitted packet (note used at transport layeronly)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-14
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
ltDRgt exactly divisible by G (in base-2 arithmetic) receiver knows G divides ltDRgt by G If non-zero remainder
error detected can detect all burst errors less than or equal to r bits (see later)
widely used in practice (Ethernet 80211 WiFi PPP ATM)
8
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-15
CRC ExampleWant
D2r XOR R = nGequivalently
D2r = nG XOR Requivalently if we divide D2r by G
(in base-2 arithmetic)want remainder R
r=3
R = remainderD 2r
G
$
amp
(
Divisor
Quotient
Dividend
In base-2 arithmetic-no carries-no borrows
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-16
CRC Example the polynomial view
Transmitted frameT(x) = D(x) xr - R(x)
Is divisible byG(x)
D(x) = x5 + x3 + x2 + xr=3G(x) = x3 + 1
R(x) = remainderD(x) xr
G(x)
$
amp
(
9
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-17
Why does it work We have T(x) = D(x) xr - R(x)
Therefore the remainder of T(x) G(x) is zero This is easy to check at the receiver provided that the
sender and the receiver agree on a certain G(x) Suppose some errors occur during transmission
The received frame is T(x) + E(x) The receiver will then calculate the remainder of
(T(x) + E(x)) G(x) This remainder is equal to the remainder of E(x) G(x) If there is an error such that E(x) is not divisible by
G(x) it is detected The choice of G(x) is thus very important
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-18
Example of CRC Generator = G(x) = x16 + x12 + x5 + 1 G(x) detects every E(x) consisting of an odd number of error bits
Because G(x) is a factor of x + 1 (in base-2 arithmetic G(1) = 0)and a polynomial E(x) with an odd number of terms is not divisible by x+1 (in base-2arithmetic E(1) = 1 for such E(x))
More generally a G(x) composed of an even number of terms detects everyerror consisting of an odd number of error bits At least as good as a parity bit Could a parity bit be seen as a trivial CRC Any G(x) to suggest
G(x) detects every 2-bit error (in any place in the frame) G(x) detects every error burst of length le 16 bits
An error burst of length n (ge 2) is 1 erroneous bit followed by n-2 bits (correct or not)followed by an erroneous bit
So an error burst of length le 16 bits is an E(x) = Ersquo(x) xk with neither Ersquo(x) nor xk beingdivisible by G(x) because Ersquo(x) is of degree le 15 while G(x) is of degree 16
More generally a G(x) of degree r detects every r-bit error bursts G(x) detects 99997 of the 17-bit error bursts (if errors are random) G(x) detects 99998 of the 18-bit error bursts (if errors are random)
From Computer Networks by Tanenbaum copy Prentice Hall
10
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-19
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-20
Multiple Access Links and ProtocolsTwo types of ldquolinksrdquo point-to-point
PPP for dial-up access point-to-point link between Ethernet switch and host
broadcast (shared wire or medium) old-fashioned Ethernet upstream HFC 80211 wireless LAN
shared wire (eg cabled Ethernet)
shared RF (eg 80211 WiFi)
shared RF(satellite)
humans at acocktail party
(shared air acoustical)
11
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-21
Multiple Access protocols single shared broadcast channel two or more simultaneous transmissions by nodes
interference collision if node receives two or more signals at the same time
multiple access protocol distributed algorithm that determines how nodes
share channel ie determine when node can transmit communication about channel sharing must use channel
itself no out-of-band channel for coordination
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-22
Ideal Multiple Access Protocol
Broadcast channel of rate R bps1 when one node wants to transmit it can send at
rate R2 when M nodes want to transmit each can send at
average rate RM (fairness)3 fully decentralized
no special node to coordinate transmissions no synchronization of clocks slots
4 simple
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-23
MAC Protocols a taxonomyThree broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slotsfrequency code)
allocate piece to node for exclusive use Random Access
channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo nodes take turns but nodes with more to send can take
longer turns
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-24
Channel Partitioning MAC protocols TDMA
TDMA time division multiple access access to channel in rounds each station gets fixed length slot (length = pkt
transmission time) in each round unused slots go idle example 6-station LAN 134 have pkt slots 256
idle
1 3 4 1 3 4
6-slotframe
13
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-25
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 134 have pkt frequency
bands 256 idlefr
eque
ncy
band
stime
FDM cable
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-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 ldquocollisionrdquo random access MAC protocol specifies
how to detect collisions how to recover from collisions (eg via delayed
retransmissions) Examples of random access MAC protocols
slotted ALOHA ALOHA CSMA CSMACD CSMACA
14
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-27
Slotted ALOHA
Assumptions all frames have same
size time is divided into
equal size slots (time totransmit 1 frame)
nodes start to transmitonly at slot beginning
nodes are synchronized if 2 or more nodes
transmit in slot allnodes detect collision
Operation when node obtains fresh
frame transmits in nextslot if no collision node can
send new frame in nextslot
if collision noderetransmits frame ineach subsequent slotwith prob p untilsuccess
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-28
Slotted ALOHA
Pros single active node can
continuously transmit atfull rate of channel
highly decentralizedonly slots in nodes needto be in sync
simple
Cons collisions wasting slots idle slots nodes may be able to
detect collision in less thantime to transmit packet
clock synchronization
15
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-29
Slotted Aloha efficiency
Suppose N nodes with many frames tosend each transmits in slot withprobability p Note not exactly slotted ALOHA
prob that node 1 has success in a slot =p(1-p)N-1
prob that any node has a success =Np(1-p)N-1
For max efficiency with Nnodes find p that maximizesNp(1-p)N-1
p = 1N For many nodes take limit of
Np(1-p)N-1 = (1-1N)N-1
as N goes to infinityit gives 1e = 037
Efficiency is the long-runfraction of successful slotswhen there are many nodes eachwith many frames to send
At best channelused for useful transmissions 37of time
limN
1$G
N
amp
(
)
N
= e$G
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-30
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-1t0+1]
In frame time units
16
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-31
Pure Aloha efficiencyP(success by given node) = P(node transmits) P(no other node transmits in [t0-1t0] P(no other node transmits in [t0t0+1] = p (1-p)N-1 (1-p)N-1
= p (1-p)2(N-1)
P (success by any node) = Np (1-p)2(N-1)
hellip choosing optimum p and then letting n go to infinity
= 1(2e) = 018
Even worse than slotted Aloha
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-32
Efficiency wrt average trafficload Let G = pN be the average aggregated traffic load
(or demand) per frame time = nr of transmission attempts per frame time N stations sending one frame with probability p in every
frame time Efficiency
Slotted ALOHA Np(1-p)N-1 = G (1-GN)N-1
ALOHA Np(1-p)2(N-1) = G (1-GN)2(N-1)
Efficiency (for a given G) when N gtgt Slotted ALOHA G e-G
ALOHA G e-2G
If G ltlt 1 efficiency asymp G perfect
limN
1$G
N
amp
(
)
N
= e$G
17
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-33
Efficiency Optimum out of 100 frame times- 37 are used effectively- 26 are collisions- 37 are just empty
From Computer Networks by Tanenbaum copy Prentice Hall
ALOHA versus Slotted ALOHA
frame
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-34
CSMA (Carrier Sense Multiple Access)
CSMA listen before transmitIf channel sensed idle transmit entire frame If channel sensed busy defer transmission
LBT Listen Before Talking (and deference)
human analogy donrsquot interrupt others
18
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-35
CSMA collisions
collisions can still occurpropagation delay meanstwo nodes may not heareach otherrsquos transmission
collisionentire packet transmissiontime wasted
spatial layout of nodes
noterole of distance amp propagationdelay in determining collisionprobability
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-36
persistent CSMA(if channel is busy listen until it isfreed)
non persistent CSMA(if channel is busy program anew attempt later)
p-persistent CSMAWhile true doif channel is freethen
with probability p immediate transmission or
with probability 1-p stay idle during at least propagation time (τ) else listen until the channel is freed
Trade-off between efficiency and delaybull This introduces a useless delay at low loadsbull But the efficiency of the channel is better at high loads
p-persistent CSMA
19
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-37
Efficiency
Efficiency versus load for various randomaccess protocols
From Computer Networks by Tanenbaum copy Prentice Hall
frame
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-38
B = Channel Data Rate (so-called Bandwidth) (bps)F = (Maximum) Frame size (bits)L = Length of the channel (m)c = Propagation speed (ms)
τ = Propagation delay = L c (s)T = Transmission delay = F B (s)
a = τ T = BL cFLet a = 1 rarr F = 100 BL c = plusmn 5 10-7 BL (with c = plusmn 200000 kms)Let B = 10 Mbps L = 25 km rarr F = 12500 bits (= 15625 bytes)This is roughly the Ethernet frame size
Engineering a CSMA network
20
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-39
CSMACD (Collision Detection)CSMACD 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 strengthscompare transmitted received signals
difficult in wireless LANs received signal strengthoverwhelmed by local transmission strength
human analogy the polite conversationalist
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-40
CSMACD collision detectionCSMACD CSMA
Lost time le 2 τ(worst case 2 max propagation timeswhen the 2 stations are at the 2 ends)+ detectabort time No abort so loss is T
21
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-41
To detect collision the sender must still be transmitting when the collisionpropagates back to it So the condition is
T gt 2τ which means FB gt 2 Lcwhich leads to a minimal Fmin = 2BLc = plusmn BL 10-8 bits
Let B = 10 Mbps L = 25 km rarr Fmin = plusmn 250 bits (= plusmn 32 bytes) Ethernet has chosen 64 bytes = 512 bits (extra margin due to other delays)
A B
(a)
A B
(b)
A B
(c)
A B
(d)Collision attime τ
Noise burst getsback to A at 2τ
Packet startsat time 0
Packet almostat B at τminusε
Minimal frame size with CSMACD
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-42
ldquoTaking Turnsrdquo MAC protocols
channel partitioning MAC protocols share channel efficiently and fairly at high load inefficient at low load delay in channel access
1N bandwidth allocated even if only 1 activenode
Random access MAC protocols efficient at low load single node can fully
utilize channel high load collision overhead
ldquotaking turnsrdquo protocolslook for best of both worlds
22
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-43
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodesto transmit in turn
typically used withldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-44
ldquoTaking Turnsrdquo MAC protocolsToken passing control token passed
from one node to nextsequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
23
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-45
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire) hard in
others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-46
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
24
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-47
MAC Addresses and ARP
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)
bull burned in NIC ROM also sometimes software settable
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-48
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
25
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-49
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
address depends on IP subnet to which node is attached
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-50
ARP Address Resolution Protocol
Each IP node (hostrouter) on LAN hasARP table
ARP table IPMACaddress mappings forsome LAN nodes
lt IP address MAC address TTLgt TTL (Time To Live) time
after which addressmapping will be forgotten(typically 20 min)
Question how to determineBrsquos MAC addressknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
26
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-51
ARP protocol Same LAN (network)
A wants to send datagramto B and Brsquos MAC addressnot in Arsquos ARP table
A broadcasts ARP querypacket containing Bs IPaddress dest MAC address =
FF-FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs)MAC address frame sent to Arsquos MAC
address (unicast)
A caches (saves) Brsquos IP-to-MAC address pair in itsARP table until informationbecomes old (times out) soft state information
that times out (goes away)unless refreshed
All other stations had alsocached Arsquos IP-to-MAC pair
ARP is ldquoplug-and-playrdquo nodes create their ARP
tables withoutintervention from netadministrator
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-52
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IPnetwork (LAN)
27
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-53
A creates IP datagram with source A destination B In routing table at source Host find Rrsquos IP = 111111111110 A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees itrsquos
destined for B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-54
Link Layer
51 Introduction andservices
52 Error detection
53Multiple accessprotocols
54 Link-LayerAddressing
55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
28
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-55
Ethernetldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-56
Star topology bus topology popular through mid 90s
all nodes in same collision domain (can collide with eachother)
today star topology prevails active switch in center each ldquospokerdquo runs a (separate) Ethernet protocol (nodes
do not collide with each other)
switch
bus coaxial cable star
29
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-57
Ethernet Frame StructureSending 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
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-58
Ethernet Frame Structure (more) Addresses 6 bytes
if adapter receives frame with matching destinationaddress or with broadcast address (eg ARP packet) itpasses data in frame to network layer protocol
otherwise adapter discards frame Type indicates higher layer protocol (mostly IP
but others possible eg Novell IPX AppleTalk) CRC checked at receiver if error is detected
frame is dropped
30
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-59
Ethernet Unreliable connectionless
connectionless No handshaking between sending andreceiving NICs
unreliable receiving NIC doesnrsquot send acks nor nacksto sending NIC stream of datagrams passed to network layer can have gaps
(missing datagrams) gaps will be filled if app is using TCP otherwise app will see gaps
Ethernetrsquos MAC protocol unslotted CSMACD
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-60
Ethernet CSMACD algorithm1 NIC receives datagram
from network layercreates frame
2 If NIC senses channel idlestarts frame transmissionIf NIC senses channelbusy waits until channelidle then transmits
3 If NIC transmits entireframe without detectinganother transmission NICis done with frame
4 If NIC detects anothertransmission whiletransmitting (collision)aborts and sends jamsignal
5 After aborting NICenters exponentialbackoff after mthcollision NIC chooses K atrandom from012hellip2m-1 NIC waitsK512 bit times returns toStep 2
31
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-61
Ethernetrsquos CSMACD (more)Jam Signal make sure all
other transmitters areaware of collision 48bits
Bit time 01 microsec for 10Mbps Ethernetfor K=1023 wait timeis about 50 msec
Exponential Backoff Goal adapt retransmission
attempts to estimatedcurrent load heavy load random wait
will be longer first collision choose K from
01 delay is K 512 bittransmission times
after second collision chooseK from 0123hellip
after ten collisions choose Kfrom 01234hellip1023
with this backoff algorithmEthernet is sort ofp-persistent CSMA with anadaptive p
Seeinteract with Javaapplet on AWL Web sitehighly recommended
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-62
S = T (T + α times 2τ)= 1 (1 + α times 2τT)= 1 (1 + α times 2BLcF )For large N α convergestowards e (plusmn27) for ap-persistent CSMA withp = 1N (ideal case)
So for N gtgt S cannotbe better than1 (1 + e times 2τT)= 1 (1 + 54 τT)
Number of active stations = N
Channel efficiency
S10
09
08
07
06
05
04
03
02
01
0 1 2 4 8 16 32 64 128 256
1024 byte frames
512 byte frames
256 byte frames
128 byte frames
64 byte frames
From Computer Networks by Tanenbaum copy Prentice Hall
Channel efficiency of an adaptivep-persistent CSMA
Let α = the average number of slots (2 τ) before any successful transmission
32
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-63
8023 Ethernet Standards Link amp Physical Layers
many different Ethernet standards common MAC protocol and frame format different speeds 2 Mbps 10 Mbps 100 Mbps
1 Gbps 10 Gbps different physical layer media fiber cable
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twistedpair) physical layer
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-64
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
33
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-65
Manchester encoding - Signaldistortion
Transmittedsignal
Receivedsignal
after 1200 mon RG11 coax
Manchester signal at 4Mbps
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-66
Link Layer
51 Introduction andservices
52 Error detection 53 Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
34
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-67
Hubshellip physical-layer (ldquodumbrdquo) repeaters
bits coming in one link go out all other links at samerate
all nodes connected to hub can collide with oneanother
no frame buffering no CSMACD at hub host NICs detect collisions
twisted pair
hub
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-68
Switch link-layer device smarter than hubs take
active role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links whenframe is to be forwarded on segment usesCSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
35
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-69
Switch allows multiple simultaneoustransmissions
hosts have dedicateddirect connection to switch
switches buffer packets Ethernet protocol used on
each incoming link but nocollisions full duplex each link is its own collision
domain switching A-to-Arsquo and B-
to-Brsquo simultaneouslywithout collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-70
Switch Table
Q how does switch know thatArsquo reachable via interface 4Brsquo reachable via interface 5
A each switch has a switchtable each entry (MAC address of host interface
to reach host time stamp) Is a MAC forwarding table
Looks like an IP forwarding table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
36
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-71
Switch self-learning
switch learns which hostscan be reached throughwhich interfaces when frame received
switch ldquolearnsrdquo location ofsender incoming LANsegment
records senderlocationpair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-72
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 if entry found for destination
then if dest on segment from which frame arrived
then drop the frame else forward the frame on interface indicated else flood forward on all but the interface
on which the frame arrived
37
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-73
Self-learningforwardingexample
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo frame destination
unknown flood
Arsquo A
destination Alocation known
Arsquo 4 60
selective send
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-74
Interconnecting switches
switches can be connected together
A
B
Q sending from A to F - how does S1 know how toforward frame destined for F via S4 and S2
A self learning (works exactly the same as insingle-switch case)
S1
C D
E
FS2
S4
S3
HI
G
38
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-75
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
HI
G
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-76
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
39
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-77
All principles seen so far are applicable to a subnet withseveral switches if there is no cycle in the topology No cycle = no redundancy in case of failure
Part of subnet can be disconnected
A B
LAN 1
C D E
F G H
LAN 4
LAN 3LAN 2
From Computer Networks by Tanenbaum copy Prentice Hall
More than one switch in asubnet
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-78
Problem Frame F (whose destination address is unknown to bothswitches) will loop
Solution build a logical spanning tree topology over the real topology
LAN 1
LAN 2
FInitial frame
F1 F2
Frame copiedby left switch
Frame copiedby right switch
From Computer Networks by Tanenbaum copy Prentice Hall
Problem with cycles
40
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-79
Build a logical tree reaching allLANs
1 Determine the root switch(smallest switch id)
Switches regularly flood controlmessages (BPDUs) on all theiroutput ports
BPDU = ltSource switch id root asassumed distance to rootgt
All switches will soon discoverthe root id
A B2
C31
LAN
4
G
I
D E F
6 75
H J8 9
Switch
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (1)Root switch A sends ltAA0gt on LAN1 and LAN2
B sends ltBA1gt on LAN 3
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-80
2 Build the tree By continuously receiving these
BPDUs (possibly on severalports) a switch knows itsdistance to the root and whichport leads to the root by thatshortest distance (root port r)
A B2
C31 4
G
I
D E F
6 75
H J8 9
r
r
r
rr
r
r
rr
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (2)Root portRoot switch
41
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-81
3 Decide if non-root ports are (data)forwarding or (data) blockingA port is forwarding (f) on a givenLAN if the BPDUs this switch sendson this LAN are smaller thanthose other switches (would) send
Smaller = shorter distance or equaldistance and smaller switch id
Exampleon LAN6 E sends ltEA2gt G would sendltGA2gt and J would send ltJA3gtSo E is elected to be the only one toforward frames on LAN6 J is too faraway from the root and G gt E
A B2
C31 4
G
I
D E F
6 75
H J8 9
rf
r
r
rr
r
r
rr
f f f
f f f
f f
Spanning tree (3)Forwarding port
Blocking port
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-82
Some switches (eg G and J) are not part of the tree Another case could be that some ports of some switches are blocking
They could become part of the tree if another switch or port would fail(leading to no refresh of BPDUs)
So switches have to listen to BPDUs on blocking ports to detect failures
1 2 3 4
5 6 7
8 9
A B C
D E F
H
LAN
Switch thatis part of the
spanning tree
Switch that isnot part of thespanning tree
I
The resulting spanning treeRouting on a spanning treeis not optimal
Same spanning tree for allsource-destination pair
Compare to layer-3 routing
From Computer Networks by Tanenbaum copy Prentice Hall
42
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-83
Switches vs Routers both store-and-forward devices
routers network layer devices (examine network layerheaders)
switches are link layer devices routers maintain IP routing and IP forwarding
tables implement routing algorithms switches maintain MAC forwarding tables
implement filtering learning and spanning treealgorithms
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-84
Summary comparison
hubs routers switches
traffic
isolation
no yes yes
plug amp play yes no yes
optimal
routing
no yes no
cut
through
yes no yes
Some do
43
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-85
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-86
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line ADSL line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
bull Data link used to be considered ldquohigh layerrdquo inprotocol stack
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
5
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-9
Adaptors Communicating
sending side encapsulates datagram in
frame adds error checking bits
rdt flow control etc
receiving side looks for errors rdt flow
control etc extracts datagram passes
to upper layer at receivingside
controller controller
sending host receiving host
datagram datagram
datagram
frame
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-10
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
6
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-11
Error DetectionEDC= Error Detection (and sometimes Correction) bits (redundancy)D = Data protected by error checking may include header fields
bull Error detection not 100 reliablebull protocol may miss some errors but rarelybull larger EDC field yields better detection (and correction)
otherwise
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-12
Parity CheckingSingle Bit ParityDetect single bit errors
Two Dimensional Bit ParityDetect and correct single bit errors
0 0
7
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-13
Internet checksum (review)
Sender treat segment contents as
sequence of 16-bitintegers
checksum addition (1rsquoscomplement sum) ofsegment contents
sender puts checksumvalue into UDP checksumfield
Receiver compute checksum of
received segment check if computed checksum
equals checksum field value NO - error detected YES - no error detected
But maybe errorsnonetheless
Goal detect ldquoerrorsrdquo (eg flipped bits) intransmitted packet (note used at transport layeronly)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-14
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
ltDRgt exactly divisible by G (in base-2 arithmetic) receiver knows G divides ltDRgt by G If non-zero remainder
error detected can detect all burst errors less than or equal to r bits (see later)
widely used in practice (Ethernet 80211 WiFi PPP ATM)
8
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-15
CRC ExampleWant
D2r XOR R = nGequivalently
D2r = nG XOR Requivalently if we divide D2r by G
(in base-2 arithmetic)want remainder R
r=3
R = remainderD 2r
G
$
amp
(
Divisor
Quotient
Dividend
In base-2 arithmetic-no carries-no borrows
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-16
CRC Example the polynomial view
Transmitted frameT(x) = D(x) xr - R(x)
Is divisible byG(x)
D(x) = x5 + x3 + x2 + xr=3G(x) = x3 + 1
R(x) = remainderD(x) xr
G(x)
$
amp
(
9
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-17
Why does it work We have T(x) = D(x) xr - R(x)
Therefore the remainder of T(x) G(x) is zero This is easy to check at the receiver provided that the
sender and the receiver agree on a certain G(x) Suppose some errors occur during transmission
The received frame is T(x) + E(x) The receiver will then calculate the remainder of
(T(x) + E(x)) G(x) This remainder is equal to the remainder of E(x) G(x) If there is an error such that E(x) is not divisible by
G(x) it is detected The choice of G(x) is thus very important
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-18
Example of CRC Generator = G(x) = x16 + x12 + x5 + 1 G(x) detects every E(x) consisting of an odd number of error bits
Because G(x) is a factor of x + 1 (in base-2 arithmetic G(1) = 0)and a polynomial E(x) with an odd number of terms is not divisible by x+1 (in base-2arithmetic E(1) = 1 for such E(x))
More generally a G(x) composed of an even number of terms detects everyerror consisting of an odd number of error bits At least as good as a parity bit Could a parity bit be seen as a trivial CRC Any G(x) to suggest
G(x) detects every 2-bit error (in any place in the frame) G(x) detects every error burst of length le 16 bits
An error burst of length n (ge 2) is 1 erroneous bit followed by n-2 bits (correct or not)followed by an erroneous bit
So an error burst of length le 16 bits is an E(x) = Ersquo(x) xk with neither Ersquo(x) nor xk beingdivisible by G(x) because Ersquo(x) is of degree le 15 while G(x) is of degree 16
More generally a G(x) of degree r detects every r-bit error bursts G(x) detects 99997 of the 17-bit error bursts (if errors are random) G(x) detects 99998 of the 18-bit error bursts (if errors are random)
From Computer Networks by Tanenbaum copy Prentice Hall
10
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-19
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-20
Multiple Access Links and ProtocolsTwo types of ldquolinksrdquo point-to-point
PPP for dial-up access point-to-point link between Ethernet switch and host
broadcast (shared wire or medium) old-fashioned Ethernet upstream HFC 80211 wireless LAN
shared wire (eg cabled Ethernet)
shared RF (eg 80211 WiFi)
shared RF(satellite)
humans at acocktail party
(shared air acoustical)
11
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-21
Multiple Access protocols single shared broadcast channel two or more simultaneous transmissions by nodes
interference collision if node receives two or more signals at the same time
multiple access protocol distributed algorithm that determines how nodes
share channel ie determine when node can transmit communication about channel sharing must use channel
itself no out-of-band channel for coordination
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-22
Ideal Multiple Access Protocol
Broadcast channel of rate R bps1 when one node wants to transmit it can send at
rate R2 when M nodes want to transmit each can send at
average rate RM (fairness)3 fully decentralized
no special node to coordinate transmissions no synchronization of clocks slots
4 simple
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-23
MAC Protocols a taxonomyThree broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slotsfrequency code)
allocate piece to node for exclusive use Random Access
channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo nodes take turns but nodes with more to send can take
longer turns
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-24
Channel Partitioning MAC protocols TDMA
TDMA time division multiple access access to channel in rounds each station gets fixed length slot (length = pkt
transmission time) in each round unused slots go idle example 6-station LAN 134 have pkt slots 256
idle
1 3 4 1 3 4
6-slotframe
13
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-25
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 134 have pkt frequency
bands 256 idlefr
eque
ncy
band
stime
FDM cable
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-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 ldquocollisionrdquo random access MAC protocol specifies
how to detect collisions how to recover from collisions (eg via delayed
retransmissions) Examples of random access MAC protocols
slotted ALOHA ALOHA CSMA CSMACD CSMACA
14
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-27
Slotted ALOHA
Assumptions all frames have same
size time is divided into
equal size slots (time totransmit 1 frame)
nodes start to transmitonly at slot beginning
nodes are synchronized if 2 or more nodes
transmit in slot allnodes detect collision
Operation when node obtains fresh
frame transmits in nextslot if no collision node can
send new frame in nextslot
if collision noderetransmits frame ineach subsequent slotwith prob p untilsuccess
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-28
Slotted ALOHA
Pros single active node can
continuously transmit atfull rate of channel
highly decentralizedonly slots in nodes needto be in sync
simple
Cons collisions wasting slots idle slots nodes may be able to
detect collision in less thantime to transmit packet
clock synchronization
15
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-29
Slotted Aloha efficiency
Suppose N nodes with many frames tosend each transmits in slot withprobability p Note not exactly slotted ALOHA
prob that node 1 has success in a slot =p(1-p)N-1
prob that any node has a success =Np(1-p)N-1
For max efficiency with Nnodes find p that maximizesNp(1-p)N-1
p = 1N For many nodes take limit of
Np(1-p)N-1 = (1-1N)N-1
as N goes to infinityit gives 1e = 037
Efficiency is the long-runfraction of successful slotswhen there are many nodes eachwith many frames to send
At best channelused for useful transmissions 37of time
limN
1$G
N
amp
(
)
N
= e$G
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-30
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-1t0+1]
In frame time units
16
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-31
Pure Aloha efficiencyP(success by given node) = P(node transmits) P(no other node transmits in [t0-1t0] P(no other node transmits in [t0t0+1] = p (1-p)N-1 (1-p)N-1
= p (1-p)2(N-1)
P (success by any node) = Np (1-p)2(N-1)
hellip choosing optimum p and then letting n go to infinity
= 1(2e) = 018
Even worse than slotted Aloha
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-32
Efficiency wrt average trafficload Let G = pN be the average aggregated traffic load
(or demand) per frame time = nr of transmission attempts per frame time N stations sending one frame with probability p in every
frame time Efficiency
Slotted ALOHA Np(1-p)N-1 = G (1-GN)N-1
ALOHA Np(1-p)2(N-1) = G (1-GN)2(N-1)
Efficiency (for a given G) when N gtgt Slotted ALOHA G e-G
ALOHA G e-2G
If G ltlt 1 efficiency asymp G perfect
limN
1$G
N
amp
(
)
N
= e$G
17
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-33
Efficiency Optimum out of 100 frame times- 37 are used effectively- 26 are collisions- 37 are just empty
From Computer Networks by Tanenbaum copy Prentice Hall
ALOHA versus Slotted ALOHA
frame
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-34
CSMA (Carrier Sense Multiple Access)
CSMA listen before transmitIf channel sensed idle transmit entire frame If channel sensed busy defer transmission
LBT Listen Before Talking (and deference)
human analogy donrsquot interrupt others
18
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-35
CSMA collisions
collisions can still occurpropagation delay meanstwo nodes may not heareach otherrsquos transmission
collisionentire packet transmissiontime wasted
spatial layout of nodes
noterole of distance amp propagationdelay in determining collisionprobability
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-36
persistent CSMA(if channel is busy listen until it isfreed)
non persistent CSMA(if channel is busy program anew attempt later)
p-persistent CSMAWhile true doif channel is freethen
with probability p immediate transmission or
with probability 1-p stay idle during at least propagation time (τ) else listen until the channel is freed
Trade-off between efficiency and delaybull This introduces a useless delay at low loadsbull But the efficiency of the channel is better at high loads
p-persistent CSMA
19
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-37
Efficiency
Efficiency versus load for various randomaccess protocols
From Computer Networks by Tanenbaum copy Prentice Hall
frame
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-38
B = Channel Data Rate (so-called Bandwidth) (bps)F = (Maximum) Frame size (bits)L = Length of the channel (m)c = Propagation speed (ms)
τ = Propagation delay = L c (s)T = Transmission delay = F B (s)
a = τ T = BL cFLet a = 1 rarr F = 100 BL c = plusmn 5 10-7 BL (with c = plusmn 200000 kms)Let B = 10 Mbps L = 25 km rarr F = 12500 bits (= 15625 bytes)This is roughly the Ethernet frame size
Engineering a CSMA network
20
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-39
CSMACD (Collision Detection)CSMACD 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 strengthscompare transmitted received signals
difficult in wireless LANs received signal strengthoverwhelmed by local transmission strength
human analogy the polite conversationalist
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-40
CSMACD collision detectionCSMACD CSMA
Lost time le 2 τ(worst case 2 max propagation timeswhen the 2 stations are at the 2 ends)+ detectabort time No abort so loss is T
21
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-41
To detect collision the sender must still be transmitting when the collisionpropagates back to it So the condition is
T gt 2τ which means FB gt 2 Lcwhich leads to a minimal Fmin = 2BLc = plusmn BL 10-8 bits
Let B = 10 Mbps L = 25 km rarr Fmin = plusmn 250 bits (= plusmn 32 bytes) Ethernet has chosen 64 bytes = 512 bits (extra margin due to other delays)
A B
(a)
A B
(b)
A B
(c)
A B
(d)Collision attime τ
Noise burst getsback to A at 2τ
Packet startsat time 0
Packet almostat B at τminusε
Minimal frame size with CSMACD
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-42
ldquoTaking Turnsrdquo MAC protocols
channel partitioning MAC protocols share channel efficiently and fairly at high load inefficient at low load delay in channel access
1N bandwidth allocated even if only 1 activenode
Random access MAC protocols efficient at low load single node can fully
utilize channel high load collision overhead
ldquotaking turnsrdquo protocolslook for best of both worlds
22
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-43
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodesto transmit in turn
typically used withldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-44
ldquoTaking Turnsrdquo MAC protocolsToken passing control token passed
from one node to nextsequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
23
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-45
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire) hard in
others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-46
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
24
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-47
MAC Addresses and ARP
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)
bull burned in NIC ROM also sometimes software settable
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-48
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
25
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-49
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
address depends on IP subnet to which node is attached
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-50
ARP Address Resolution Protocol
Each IP node (hostrouter) on LAN hasARP table
ARP table IPMACaddress mappings forsome LAN nodes
lt IP address MAC address TTLgt TTL (Time To Live) time
after which addressmapping will be forgotten(typically 20 min)
Question how to determineBrsquos MAC addressknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
26
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-51
ARP protocol Same LAN (network)
A wants to send datagramto B and Brsquos MAC addressnot in Arsquos ARP table
A broadcasts ARP querypacket containing Bs IPaddress dest MAC address =
FF-FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs)MAC address frame sent to Arsquos MAC
address (unicast)
A caches (saves) Brsquos IP-to-MAC address pair in itsARP table until informationbecomes old (times out) soft state information
that times out (goes away)unless refreshed
All other stations had alsocached Arsquos IP-to-MAC pair
ARP is ldquoplug-and-playrdquo nodes create their ARP
tables withoutintervention from netadministrator
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-52
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IPnetwork (LAN)
27
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-53
A creates IP datagram with source A destination B In routing table at source Host find Rrsquos IP = 111111111110 A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees itrsquos
destined for B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-54
Link Layer
51 Introduction andservices
52 Error detection
53Multiple accessprotocols
54 Link-LayerAddressing
55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
28
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-55
Ethernetldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-56
Star topology bus topology popular through mid 90s
all nodes in same collision domain (can collide with eachother)
today star topology prevails active switch in center each ldquospokerdquo runs a (separate) Ethernet protocol (nodes
do not collide with each other)
switch
bus coaxial cable star
29
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-57
Ethernet Frame StructureSending 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
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-58
Ethernet Frame Structure (more) Addresses 6 bytes
if adapter receives frame with matching destinationaddress or with broadcast address (eg ARP packet) itpasses data in frame to network layer protocol
otherwise adapter discards frame Type indicates higher layer protocol (mostly IP
but others possible eg Novell IPX AppleTalk) CRC checked at receiver if error is detected
frame is dropped
30
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-59
Ethernet Unreliable connectionless
connectionless No handshaking between sending andreceiving NICs
unreliable receiving NIC doesnrsquot send acks nor nacksto sending NIC stream of datagrams passed to network layer can have gaps
(missing datagrams) gaps will be filled if app is using TCP otherwise app will see gaps
Ethernetrsquos MAC protocol unslotted CSMACD
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-60
Ethernet CSMACD algorithm1 NIC receives datagram
from network layercreates frame
2 If NIC senses channel idlestarts frame transmissionIf NIC senses channelbusy waits until channelidle then transmits
3 If NIC transmits entireframe without detectinganother transmission NICis done with frame
4 If NIC detects anothertransmission whiletransmitting (collision)aborts and sends jamsignal
5 After aborting NICenters exponentialbackoff after mthcollision NIC chooses K atrandom from012hellip2m-1 NIC waitsK512 bit times returns toStep 2
31
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-61
Ethernetrsquos CSMACD (more)Jam Signal make sure all
other transmitters areaware of collision 48bits
Bit time 01 microsec for 10Mbps Ethernetfor K=1023 wait timeis about 50 msec
Exponential Backoff Goal adapt retransmission
attempts to estimatedcurrent load heavy load random wait
will be longer first collision choose K from
01 delay is K 512 bittransmission times
after second collision chooseK from 0123hellip
after ten collisions choose Kfrom 01234hellip1023
with this backoff algorithmEthernet is sort ofp-persistent CSMA with anadaptive p
Seeinteract with Javaapplet on AWL Web sitehighly recommended
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-62
S = T (T + α times 2τ)= 1 (1 + α times 2τT)= 1 (1 + α times 2BLcF )For large N α convergestowards e (plusmn27) for ap-persistent CSMA withp = 1N (ideal case)
So for N gtgt S cannotbe better than1 (1 + e times 2τT)= 1 (1 + 54 τT)
Number of active stations = N
Channel efficiency
S10
09
08
07
06
05
04
03
02
01
0 1 2 4 8 16 32 64 128 256
1024 byte frames
512 byte frames
256 byte frames
128 byte frames
64 byte frames
From Computer Networks by Tanenbaum copy Prentice Hall
Channel efficiency of an adaptivep-persistent CSMA
Let α = the average number of slots (2 τ) before any successful transmission
32
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-63
8023 Ethernet Standards Link amp Physical Layers
many different Ethernet standards common MAC protocol and frame format different speeds 2 Mbps 10 Mbps 100 Mbps
1 Gbps 10 Gbps different physical layer media fiber cable
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twistedpair) physical layer
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-64
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
33
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-65
Manchester encoding - Signaldistortion
Transmittedsignal
Receivedsignal
after 1200 mon RG11 coax
Manchester signal at 4Mbps
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-66
Link Layer
51 Introduction andservices
52 Error detection 53 Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
34
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-67
Hubshellip physical-layer (ldquodumbrdquo) repeaters
bits coming in one link go out all other links at samerate
all nodes connected to hub can collide with oneanother
no frame buffering no CSMACD at hub host NICs detect collisions
twisted pair
hub
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-68
Switch link-layer device smarter than hubs take
active role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links whenframe is to be forwarded on segment usesCSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
35
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-69
Switch allows multiple simultaneoustransmissions
hosts have dedicateddirect connection to switch
switches buffer packets Ethernet protocol used on
each incoming link but nocollisions full duplex each link is its own collision
domain switching A-to-Arsquo and B-
to-Brsquo simultaneouslywithout collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-70
Switch Table
Q how does switch know thatArsquo reachable via interface 4Brsquo reachable via interface 5
A each switch has a switchtable each entry (MAC address of host interface
to reach host time stamp) Is a MAC forwarding table
Looks like an IP forwarding table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
36
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-71
Switch self-learning
switch learns which hostscan be reached throughwhich interfaces when frame received
switch ldquolearnsrdquo location ofsender incoming LANsegment
records senderlocationpair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-72
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 if entry found for destination
then if dest on segment from which frame arrived
then drop the frame else forward the frame on interface indicated else flood forward on all but the interface
on which the frame arrived
37
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-73
Self-learningforwardingexample
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo frame destination
unknown flood
Arsquo A
destination Alocation known
Arsquo 4 60
selective send
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-74
Interconnecting switches
switches can be connected together
A
B
Q sending from A to F - how does S1 know how toforward frame destined for F via S4 and S2
A self learning (works exactly the same as insingle-switch case)
S1
C D
E
FS2
S4
S3
HI
G
38
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-75
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
HI
G
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-76
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
39
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-77
All principles seen so far are applicable to a subnet withseveral switches if there is no cycle in the topology No cycle = no redundancy in case of failure
Part of subnet can be disconnected
A B
LAN 1
C D E
F G H
LAN 4
LAN 3LAN 2
From Computer Networks by Tanenbaum copy Prentice Hall
More than one switch in asubnet
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-78
Problem Frame F (whose destination address is unknown to bothswitches) will loop
Solution build a logical spanning tree topology over the real topology
LAN 1
LAN 2
FInitial frame
F1 F2
Frame copiedby left switch
Frame copiedby right switch
From Computer Networks by Tanenbaum copy Prentice Hall
Problem with cycles
40
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-79
Build a logical tree reaching allLANs
1 Determine the root switch(smallest switch id)
Switches regularly flood controlmessages (BPDUs) on all theiroutput ports
BPDU = ltSource switch id root asassumed distance to rootgt
All switches will soon discoverthe root id
A B2
C31
LAN
4
G
I
D E F
6 75
H J8 9
Switch
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (1)Root switch A sends ltAA0gt on LAN1 and LAN2
B sends ltBA1gt on LAN 3
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-80
2 Build the tree By continuously receiving these
BPDUs (possibly on severalports) a switch knows itsdistance to the root and whichport leads to the root by thatshortest distance (root port r)
A B2
C31 4
G
I
D E F
6 75
H J8 9
r
r
r
rr
r
r
rr
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (2)Root portRoot switch
41
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-81
3 Decide if non-root ports are (data)forwarding or (data) blockingA port is forwarding (f) on a givenLAN if the BPDUs this switch sendson this LAN are smaller thanthose other switches (would) send
Smaller = shorter distance or equaldistance and smaller switch id
Exampleon LAN6 E sends ltEA2gt G would sendltGA2gt and J would send ltJA3gtSo E is elected to be the only one toforward frames on LAN6 J is too faraway from the root and G gt E
A B2
C31 4
G
I
D E F
6 75
H J8 9
rf
r
r
rr
r
r
rr
f f f
f f f
f f
Spanning tree (3)Forwarding port
Blocking port
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-82
Some switches (eg G and J) are not part of the tree Another case could be that some ports of some switches are blocking
They could become part of the tree if another switch or port would fail(leading to no refresh of BPDUs)
So switches have to listen to BPDUs on blocking ports to detect failures
1 2 3 4
5 6 7
8 9
A B C
D E F
H
LAN
Switch thatis part of the
spanning tree
Switch that isnot part of thespanning tree
I
The resulting spanning treeRouting on a spanning treeis not optimal
Same spanning tree for allsource-destination pair
Compare to layer-3 routing
From Computer Networks by Tanenbaum copy Prentice Hall
42
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-83
Switches vs Routers both store-and-forward devices
routers network layer devices (examine network layerheaders)
switches are link layer devices routers maintain IP routing and IP forwarding
tables implement routing algorithms switches maintain MAC forwarding tables
implement filtering learning and spanning treealgorithms
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-84
Summary comparison
hubs routers switches
traffic
isolation
no yes yes
plug amp play yes no yes
optimal
routing
no yes no
cut
through
yes no yes
Some do
43
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-85
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-86
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line ADSL line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
bull Data link used to be considered ldquohigh layerrdquo inprotocol stack
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
6
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-11
Error DetectionEDC= Error Detection (and sometimes Correction) bits (redundancy)D = Data protected by error checking may include header fields
bull Error detection not 100 reliablebull protocol may miss some errors but rarelybull larger EDC field yields better detection (and correction)
otherwise
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-12
Parity CheckingSingle Bit ParityDetect single bit errors
Two Dimensional Bit ParityDetect and correct single bit errors
0 0
7
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-13
Internet checksum (review)
Sender treat segment contents as
sequence of 16-bitintegers
checksum addition (1rsquoscomplement sum) ofsegment contents
sender puts checksumvalue into UDP checksumfield
Receiver compute checksum of
received segment check if computed checksum
equals checksum field value NO - error detected YES - no error detected
But maybe errorsnonetheless
Goal detect ldquoerrorsrdquo (eg flipped bits) intransmitted packet (note used at transport layeronly)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-14
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
ltDRgt exactly divisible by G (in base-2 arithmetic) receiver knows G divides ltDRgt by G If non-zero remainder
error detected can detect all burst errors less than or equal to r bits (see later)
widely used in practice (Ethernet 80211 WiFi PPP ATM)
8
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-15
CRC ExampleWant
D2r XOR R = nGequivalently
D2r = nG XOR Requivalently if we divide D2r by G
(in base-2 arithmetic)want remainder R
r=3
R = remainderD 2r
G
$
amp
(
Divisor
Quotient
Dividend
In base-2 arithmetic-no carries-no borrows
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-16
CRC Example the polynomial view
Transmitted frameT(x) = D(x) xr - R(x)
Is divisible byG(x)
D(x) = x5 + x3 + x2 + xr=3G(x) = x3 + 1
R(x) = remainderD(x) xr
G(x)
$
amp
(
9
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-17
Why does it work We have T(x) = D(x) xr - R(x)
Therefore the remainder of T(x) G(x) is zero This is easy to check at the receiver provided that the
sender and the receiver agree on a certain G(x) Suppose some errors occur during transmission
The received frame is T(x) + E(x) The receiver will then calculate the remainder of
(T(x) + E(x)) G(x) This remainder is equal to the remainder of E(x) G(x) If there is an error such that E(x) is not divisible by
G(x) it is detected The choice of G(x) is thus very important
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-18
Example of CRC Generator = G(x) = x16 + x12 + x5 + 1 G(x) detects every E(x) consisting of an odd number of error bits
Because G(x) is a factor of x + 1 (in base-2 arithmetic G(1) = 0)and a polynomial E(x) with an odd number of terms is not divisible by x+1 (in base-2arithmetic E(1) = 1 for such E(x))
More generally a G(x) composed of an even number of terms detects everyerror consisting of an odd number of error bits At least as good as a parity bit Could a parity bit be seen as a trivial CRC Any G(x) to suggest
G(x) detects every 2-bit error (in any place in the frame) G(x) detects every error burst of length le 16 bits
An error burst of length n (ge 2) is 1 erroneous bit followed by n-2 bits (correct or not)followed by an erroneous bit
So an error burst of length le 16 bits is an E(x) = Ersquo(x) xk with neither Ersquo(x) nor xk beingdivisible by G(x) because Ersquo(x) is of degree le 15 while G(x) is of degree 16
More generally a G(x) of degree r detects every r-bit error bursts G(x) detects 99997 of the 17-bit error bursts (if errors are random) G(x) detects 99998 of the 18-bit error bursts (if errors are random)
From Computer Networks by Tanenbaum copy Prentice Hall
10
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-19
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-20
Multiple Access Links and ProtocolsTwo types of ldquolinksrdquo point-to-point
PPP for dial-up access point-to-point link between Ethernet switch and host
broadcast (shared wire or medium) old-fashioned Ethernet upstream HFC 80211 wireless LAN
shared wire (eg cabled Ethernet)
shared RF (eg 80211 WiFi)
shared RF(satellite)
humans at acocktail party
(shared air acoustical)
11
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-21
Multiple Access protocols single shared broadcast channel two or more simultaneous transmissions by nodes
interference collision if node receives two or more signals at the same time
multiple access protocol distributed algorithm that determines how nodes
share channel ie determine when node can transmit communication about channel sharing must use channel
itself no out-of-band channel for coordination
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-22
Ideal Multiple Access Protocol
Broadcast channel of rate R bps1 when one node wants to transmit it can send at
rate R2 when M nodes want to transmit each can send at
average rate RM (fairness)3 fully decentralized
no special node to coordinate transmissions no synchronization of clocks slots
4 simple
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-23
MAC Protocols a taxonomyThree broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slotsfrequency code)
allocate piece to node for exclusive use Random Access
channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo nodes take turns but nodes with more to send can take
longer turns
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-24
Channel Partitioning MAC protocols TDMA
TDMA time division multiple access access to channel in rounds each station gets fixed length slot (length = pkt
transmission time) in each round unused slots go idle example 6-station LAN 134 have pkt slots 256
idle
1 3 4 1 3 4
6-slotframe
13
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-25
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 134 have pkt frequency
bands 256 idlefr
eque
ncy
band
stime
FDM cable
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-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 ldquocollisionrdquo random access MAC protocol specifies
how to detect collisions how to recover from collisions (eg via delayed
retransmissions) Examples of random access MAC protocols
slotted ALOHA ALOHA CSMA CSMACD CSMACA
14
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-27
Slotted ALOHA
Assumptions all frames have same
size time is divided into
equal size slots (time totransmit 1 frame)
nodes start to transmitonly at slot beginning
nodes are synchronized if 2 or more nodes
transmit in slot allnodes detect collision
Operation when node obtains fresh
frame transmits in nextslot if no collision node can
send new frame in nextslot
if collision noderetransmits frame ineach subsequent slotwith prob p untilsuccess
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-28
Slotted ALOHA
Pros single active node can
continuously transmit atfull rate of channel
highly decentralizedonly slots in nodes needto be in sync
simple
Cons collisions wasting slots idle slots nodes may be able to
detect collision in less thantime to transmit packet
clock synchronization
15
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-29
Slotted Aloha efficiency
Suppose N nodes with many frames tosend each transmits in slot withprobability p Note not exactly slotted ALOHA
prob that node 1 has success in a slot =p(1-p)N-1
prob that any node has a success =Np(1-p)N-1
For max efficiency with Nnodes find p that maximizesNp(1-p)N-1
p = 1N For many nodes take limit of
Np(1-p)N-1 = (1-1N)N-1
as N goes to infinityit gives 1e = 037
Efficiency is the long-runfraction of successful slotswhen there are many nodes eachwith many frames to send
At best channelused for useful transmissions 37of time
limN
1$G
N
amp
(
)
N
= e$G
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-30
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-1t0+1]
In frame time units
16
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-31
Pure Aloha efficiencyP(success by given node) = P(node transmits) P(no other node transmits in [t0-1t0] P(no other node transmits in [t0t0+1] = p (1-p)N-1 (1-p)N-1
= p (1-p)2(N-1)
P (success by any node) = Np (1-p)2(N-1)
hellip choosing optimum p and then letting n go to infinity
= 1(2e) = 018
Even worse than slotted Aloha
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-32
Efficiency wrt average trafficload Let G = pN be the average aggregated traffic load
(or demand) per frame time = nr of transmission attempts per frame time N stations sending one frame with probability p in every
frame time Efficiency
Slotted ALOHA Np(1-p)N-1 = G (1-GN)N-1
ALOHA Np(1-p)2(N-1) = G (1-GN)2(N-1)
Efficiency (for a given G) when N gtgt Slotted ALOHA G e-G
ALOHA G e-2G
If G ltlt 1 efficiency asymp G perfect
limN
1$G
N
amp
(
)
N
= e$G
17
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-33
Efficiency Optimum out of 100 frame times- 37 are used effectively- 26 are collisions- 37 are just empty
From Computer Networks by Tanenbaum copy Prentice Hall
ALOHA versus Slotted ALOHA
frame
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-34
CSMA (Carrier Sense Multiple Access)
CSMA listen before transmitIf channel sensed idle transmit entire frame If channel sensed busy defer transmission
LBT Listen Before Talking (and deference)
human analogy donrsquot interrupt others
18
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-35
CSMA collisions
collisions can still occurpropagation delay meanstwo nodes may not heareach otherrsquos transmission
collisionentire packet transmissiontime wasted
spatial layout of nodes
noterole of distance amp propagationdelay in determining collisionprobability
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-36
persistent CSMA(if channel is busy listen until it isfreed)
non persistent CSMA(if channel is busy program anew attempt later)
p-persistent CSMAWhile true doif channel is freethen
with probability p immediate transmission or
with probability 1-p stay idle during at least propagation time (τ) else listen until the channel is freed
Trade-off between efficiency and delaybull This introduces a useless delay at low loadsbull But the efficiency of the channel is better at high loads
p-persistent CSMA
19
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-37
Efficiency
Efficiency versus load for various randomaccess protocols
From Computer Networks by Tanenbaum copy Prentice Hall
frame
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-38
B = Channel Data Rate (so-called Bandwidth) (bps)F = (Maximum) Frame size (bits)L = Length of the channel (m)c = Propagation speed (ms)
τ = Propagation delay = L c (s)T = Transmission delay = F B (s)
a = τ T = BL cFLet a = 1 rarr F = 100 BL c = plusmn 5 10-7 BL (with c = plusmn 200000 kms)Let B = 10 Mbps L = 25 km rarr F = 12500 bits (= 15625 bytes)This is roughly the Ethernet frame size
Engineering a CSMA network
20
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-39
CSMACD (Collision Detection)CSMACD 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 strengthscompare transmitted received signals
difficult in wireless LANs received signal strengthoverwhelmed by local transmission strength
human analogy the polite conversationalist
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-40
CSMACD collision detectionCSMACD CSMA
Lost time le 2 τ(worst case 2 max propagation timeswhen the 2 stations are at the 2 ends)+ detectabort time No abort so loss is T
21
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-41
To detect collision the sender must still be transmitting when the collisionpropagates back to it So the condition is
T gt 2τ which means FB gt 2 Lcwhich leads to a minimal Fmin = 2BLc = plusmn BL 10-8 bits
Let B = 10 Mbps L = 25 km rarr Fmin = plusmn 250 bits (= plusmn 32 bytes) Ethernet has chosen 64 bytes = 512 bits (extra margin due to other delays)
A B
(a)
A B
(b)
A B
(c)
A B
(d)Collision attime τ
Noise burst getsback to A at 2τ
Packet startsat time 0
Packet almostat B at τminusε
Minimal frame size with CSMACD
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-42
ldquoTaking Turnsrdquo MAC protocols
channel partitioning MAC protocols share channel efficiently and fairly at high load inefficient at low load delay in channel access
1N bandwidth allocated even if only 1 activenode
Random access MAC protocols efficient at low load single node can fully
utilize channel high load collision overhead
ldquotaking turnsrdquo protocolslook for best of both worlds
22
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-43
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodesto transmit in turn
typically used withldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-44
ldquoTaking Turnsrdquo MAC protocolsToken passing control token passed
from one node to nextsequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
23
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-45
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire) hard in
others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-46
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
24
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-47
MAC Addresses and ARP
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)
bull burned in NIC ROM also sometimes software settable
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-48
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
25
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-49
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
address depends on IP subnet to which node is attached
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-50
ARP Address Resolution Protocol
Each IP node (hostrouter) on LAN hasARP table
ARP table IPMACaddress mappings forsome LAN nodes
lt IP address MAC address TTLgt TTL (Time To Live) time
after which addressmapping will be forgotten(typically 20 min)
Question how to determineBrsquos MAC addressknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
26
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-51
ARP protocol Same LAN (network)
A wants to send datagramto B and Brsquos MAC addressnot in Arsquos ARP table
A broadcasts ARP querypacket containing Bs IPaddress dest MAC address =
FF-FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs)MAC address frame sent to Arsquos MAC
address (unicast)
A caches (saves) Brsquos IP-to-MAC address pair in itsARP table until informationbecomes old (times out) soft state information
that times out (goes away)unless refreshed
All other stations had alsocached Arsquos IP-to-MAC pair
ARP is ldquoplug-and-playrdquo nodes create their ARP
tables withoutintervention from netadministrator
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-52
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IPnetwork (LAN)
27
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-53
A creates IP datagram with source A destination B In routing table at source Host find Rrsquos IP = 111111111110 A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees itrsquos
destined for B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-54
Link Layer
51 Introduction andservices
52 Error detection
53Multiple accessprotocols
54 Link-LayerAddressing
55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
28
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-55
Ethernetldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-56
Star topology bus topology popular through mid 90s
all nodes in same collision domain (can collide with eachother)
today star topology prevails active switch in center each ldquospokerdquo runs a (separate) Ethernet protocol (nodes
do not collide with each other)
switch
bus coaxial cable star
29
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-57
Ethernet Frame StructureSending 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
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-58
Ethernet Frame Structure (more) Addresses 6 bytes
if adapter receives frame with matching destinationaddress or with broadcast address (eg ARP packet) itpasses data in frame to network layer protocol
otherwise adapter discards frame Type indicates higher layer protocol (mostly IP
but others possible eg Novell IPX AppleTalk) CRC checked at receiver if error is detected
frame is dropped
30
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-59
Ethernet Unreliable connectionless
connectionless No handshaking between sending andreceiving NICs
unreliable receiving NIC doesnrsquot send acks nor nacksto sending NIC stream of datagrams passed to network layer can have gaps
(missing datagrams) gaps will be filled if app is using TCP otherwise app will see gaps
Ethernetrsquos MAC protocol unslotted CSMACD
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-60
Ethernet CSMACD algorithm1 NIC receives datagram
from network layercreates frame
2 If NIC senses channel idlestarts frame transmissionIf NIC senses channelbusy waits until channelidle then transmits
3 If NIC transmits entireframe without detectinganother transmission NICis done with frame
4 If NIC detects anothertransmission whiletransmitting (collision)aborts and sends jamsignal
5 After aborting NICenters exponentialbackoff after mthcollision NIC chooses K atrandom from012hellip2m-1 NIC waitsK512 bit times returns toStep 2
31
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-61
Ethernetrsquos CSMACD (more)Jam Signal make sure all
other transmitters areaware of collision 48bits
Bit time 01 microsec for 10Mbps Ethernetfor K=1023 wait timeis about 50 msec
Exponential Backoff Goal adapt retransmission
attempts to estimatedcurrent load heavy load random wait
will be longer first collision choose K from
01 delay is K 512 bittransmission times
after second collision chooseK from 0123hellip
after ten collisions choose Kfrom 01234hellip1023
with this backoff algorithmEthernet is sort ofp-persistent CSMA with anadaptive p
Seeinteract with Javaapplet on AWL Web sitehighly recommended
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-62
S = T (T + α times 2τ)= 1 (1 + α times 2τT)= 1 (1 + α times 2BLcF )For large N α convergestowards e (plusmn27) for ap-persistent CSMA withp = 1N (ideal case)
So for N gtgt S cannotbe better than1 (1 + e times 2τT)= 1 (1 + 54 τT)
Number of active stations = N
Channel efficiency
S10
09
08
07
06
05
04
03
02
01
0 1 2 4 8 16 32 64 128 256
1024 byte frames
512 byte frames
256 byte frames
128 byte frames
64 byte frames
From Computer Networks by Tanenbaum copy Prentice Hall
Channel efficiency of an adaptivep-persistent CSMA
Let α = the average number of slots (2 τ) before any successful transmission
32
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-63
8023 Ethernet Standards Link amp Physical Layers
many different Ethernet standards common MAC protocol and frame format different speeds 2 Mbps 10 Mbps 100 Mbps
1 Gbps 10 Gbps different physical layer media fiber cable
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twistedpair) physical layer
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-64
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
33
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-65
Manchester encoding - Signaldistortion
Transmittedsignal
Receivedsignal
after 1200 mon RG11 coax
Manchester signal at 4Mbps
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-66
Link Layer
51 Introduction andservices
52 Error detection 53 Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
34
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-67
Hubshellip physical-layer (ldquodumbrdquo) repeaters
bits coming in one link go out all other links at samerate
all nodes connected to hub can collide with oneanother
no frame buffering no CSMACD at hub host NICs detect collisions
twisted pair
hub
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-68
Switch link-layer device smarter than hubs take
active role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links whenframe is to be forwarded on segment usesCSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
35
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-69
Switch allows multiple simultaneoustransmissions
hosts have dedicateddirect connection to switch
switches buffer packets Ethernet protocol used on
each incoming link but nocollisions full duplex each link is its own collision
domain switching A-to-Arsquo and B-
to-Brsquo simultaneouslywithout collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-70
Switch Table
Q how does switch know thatArsquo reachable via interface 4Brsquo reachable via interface 5
A each switch has a switchtable each entry (MAC address of host interface
to reach host time stamp) Is a MAC forwarding table
Looks like an IP forwarding table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
36
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-71
Switch self-learning
switch learns which hostscan be reached throughwhich interfaces when frame received
switch ldquolearnsrdquo location ofsender incoming LANsegment
records senderlocationpair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-72
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 if entry found for destination
then if dest on segment from which frame arrived
then drop the frame else forward the frame on interface indicated else flood forward on all but the interface
on which the frame arrived
37
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-73
Self-learningforwardingexample
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo frame destination
unknown flood
Arsquo A
destination Alocation known
Arsquo 4 60
selective send
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-74
Interconnecting switches
switches can be connected together
A
B
Q sending from A to F - how does S1 know how toforward frame destined for F via S4 and S2
A self learning (works exactly the same as insingle-switch case)
S1
C D
E
FS2
S4
S3
HI
G
38
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-75
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
HI
G
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-76
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
39
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-77
All principles seen so far are applicable to a subnet withseveral switches if there is no cycle in the topology No cycle = no redundancy in case of failure
Part of subnet can be disconnected
A B
LAN 1
C D E
F G H
LAN 4
LAN 3LAN 2
From Computer Networks by Tanenbaum copy Prentice Hall
More than one switch in asubnet
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-78
Problem Frame F (whose destination address is unknown to bothswitches) will loop
Solution build a logical spanning tree topology over the real topology
LAN 1
LAN 2
FInitial frame
F1 F2
Frame copiedby left switch
Frame copiedby right switch
From Computer Networks by Tanenbaum copy Prentice Hall
Problem with cycles
40
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-79
Build a logical tree reaching allLANs
1 Determine the root switch(smallest switch id)
Switches regularly flood controlmessages (BPDUs) on all theiroutput ports
BPDU = ltSource switch id root asassumed distance to rootgt
All switches will soon discoverthe root id
A B2
C31
LAN
4
G
I
D E F
6 75
H J8 9
Switch
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (1)Root switch A sends ltAA0gt on LAN1 and LAN2
B sends ltBA1gt on LAN 3
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-80
2 Build the tree By continuously receiving these
BPDUs (possibly on severalports) a switch knows itsdistance to the root and whichport leads to the root by thatshortest distance (root port r)
A B2
C31 4
G
I
D E F
6 75
H J8 9
r
r
r
rr
r
r
rr
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (2)Root portRoot switch
41
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-81
3 Decide if non-root ports are (data)forwarding or (data) blockingA port is forwarding (f) on a givenLAN if the BPDUs this switch sendson this LAN are smaller thanthose other switches (would) send
Smaller = shorter distance or equaldistance and smaller switch id
Exampleon LAN6 E sends ltEA2gt G would sendltGA2gt and J would send ltJA3gtSo E is elected to be the only one toforward frames on LAN6 J is too faraway from the root and G gt E
A B2
C31 4
G
I
D E F
6 75
H J8 9
rf
r
r
rr
r
r
rr
f f f
f f f
f f
Spanning tree (3)Forwarding port
Blocking port
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-82
Some switches (eg G and J) are not part of the tree Another case could be that some ports of some switches are blocking
They could become part of the tree if another switch or port would fail(leading to no refresh of BPDUs)
So switches have to listen to BPDUs on blocking ports to detect failures
1 2 3 4
5 6 7
8 9
A B C
D E F
H
LAN
Switch thatis part of the
spanning tree
Switch that isnot part of thespanning tree
I
The resulting spanning treeRouting on a spanning treeis not optimal
Same spanning tree for allsource-destination pair
Compare to layer-3 routing
From Computer Networks by Tanenbaum copy Prentice Hall
42
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-83
Switches vs Routers both store-and-forward devices
routers network layer devices (examine network layerheaders)
switches are link layer devices routers maintain IP routing and IP forwarding
tables implement routing algorithms switches maintain MAC forwarding tables
implement filtering learning and spanning treealgorithms
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-84
Summary comparison
hubs routers switches
traffic
isolation
no yes yes
plug amp play yes no yes
optimal
routing
no yes no
cut
through
yes no yes
Some do
43
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-85
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-86
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line ADSL line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
bull Data link used to be considered ldquohigh layerrdquo inprotocol stack
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
7
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-13
Internet checksum (review)
Sender treat segment contents as
sequence of 16-bitintegers
checksum addition (1rsquoscomplement sum) ofsegment contents
sender puts checksumvalue into UDP checksumfield
Receiver compute checksum of
received segment check if computed checksum
equals checksum field value NO - error detected YES - no error detected
But maybe errorsnonetheless
Goal detect ldquoerrorsrdquo (eg flipped bits) intransmitted packet (note used at transport layeronly)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-14
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
ltDRgt exactly divisible by G (in base-2 arithmetic) receiver knows G divides ltDRgt by G If non-zero remainder
error detected can detect all burst errors less than or equal to r bits (see later)
widely used in practice (Ethernet 80211 WiFi PPP ATM)
8
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-15
CRC ExampleWant
D2r XOR R = nGequivalently
D2r = nG XOR Requivalently if we divide D2r by G
(in base-2 arithmetic)want remainder R
r=3
R = remainderD 2r
G
$
amp
(
Divisor
Quotient
Dividend
In base-2 arithmetic-no carries-no borrows
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-16
CRC Example the polynomial view
Transmitted frameT(x) = D(x) xr - R(x)
Is divisible byG(x)
D(x) = x5 + x3 + x2 + xr=3G(x) = x3 + 1
R(x) = remainderD(x) xr
G(x)
$
amp
(
9
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-17
Why does it work We have T(x) = D(x) xr - R(x)
Therefore the remainder of T(x) G(x) is zero This is easy to check at the receiver provided that the
sender and the receiver agree on a certain G(x) Suppose some errors occur during transmission
The received frame is T(x) + E(x) The receiver will then calculate the remainder of
(T(x) + E(x)) G(x) This remainder is equal to the remainder of E(x) G(x) If there is an error such that E(x) is not divisible by
G(x) it is detected The choice of G(x) is thus very important
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-18
Example of CRC Generator = G(x) = x16 + x12 + x5 + 1 G(x) detects every E(x) consisting of an odd number of error bits
Because G(x) is a factor of x + 1 (in base-2 arithmetic G(1) = 0)and a polynomial E(x) with an odd number of terms is not divisible by x+1 (in base-2arithmetic E(1) = 1 for such E(x))
More generally a G(x) composed of an even number of terms detects everyerror consisting of an odd number of error bits At least as good as a parity bit Could a parity bit be seen as a trivial CRC Any G(x) to suggest
G(x) detects every 2-bit error (in any place in the frame) G(x) detects every error burst of length le 16 bits
An error burst of length n (ge 2) is 1 erroneous bit followed by n-2 bits (correct or not)followed by an erroneous bit
So an error burst of length le 16 bits is an E(x) = Ersquo(x) xk with neither Ersquo(x) nor xk beingdivisible by G(x) because Ersquo(x) is of degree le 15 while G(x) is of degree 16
More generally a G(x) of degree r detects every r-bit error bursts G(x) detects 99997 of the 17-bit error bursts (if errors are random) G(x) detects 99998 of the 18-bit error bursts (if errors are random)
From Computer Networks by Tanenbaum copy Prentice Hall
10
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-19
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-20
Multiple Access Links and ProtocolsTwo types of ldquolinksrdquo point-to-point
PPP for dial-up access point-to-point link between Ethernet switch and host
broadcast (shared wire or medium) old-fashioned Ethernet upstream HFC 80211 wireless LAN
shared wire (eg cabled Ethernet)
shared RF (eg 80211 WiFi)
shared RF(satellite)
humans at acocktail party
(shared air acoustical)
11
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-21
Multiple Access protocols single shared broadcast channel two or more simultaneous transmissions by nodes
interference collision if node receives two or more signals at the same time
multiple access protocol distributed algorithm that determines how nodes
share channel ie determine when node can transmit communication about channel sharing must use channel
itself no out-of-band channel for coordination
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-22
Ideal Multiple Access Protocol
Broadcast channel of rate R bps1 when one node wants to transmit it can send at
rate R2 when M nodes want to transmit each can send at
average rate RM (fairness)3 fully decentralized
no special node to coordinate transmissions no synchronization of clocks slots
4 simple
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-23
MAC Protocols a taxonomyThree broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slotsfrequency code)
allocate piece to node for exclusive use Random Access
channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo nodes take turns but nodes with more to send can take
longer turns
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-24
Channel Partitioning MAC protocols TDMA
TDMA time division multiple access access to channel in rounds each station gets fixed length slot (length = pkt
transmission time) in each round unused slots go idle example 6-station LAN 134 have pkt slots 256
idle
1 3 4 1 3 4
6-slotframe
13
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-25
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 134 have pkt frequency
bands 256 idlefr
eque
ncy
band
stime
FDM cable
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-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 ldquocollisionrdquo random access MAC protocol specifies
how to detect collisions how to recover from collisions (eg via delayed
retransmissions) Examples of random access MAC protocols
slotted ALOHA ALOHA CSMA CSMACD CSMACA
14
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-27
Slotted ALOHA
Assumptions all frames have same
size time is divided into
equal size slots (time totransmit 1 frame)
nodes start to transmitonly at slot beginning
nodes are synchronized if 2 or more nodes
transmit in slot allnodes detect collision
Operation when node obtains fresh
frame transmits in nextslot if no collision node can
send new frame in nextslot
if collision noderetransmits frame ineach subsequent slotwith prob p untilsuccess
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-28
Slotted ALOHA
Pros single active node can
continuously transmit atfull rate of channel
highly decentralizedonly slots in nodes needto be in sync
simple
Cons collisions wasting slots idle slots nodes may be able to
detect collision in less thantime to transmit packet
clock synchronization
15
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-29
Slotted Aloha efficiency
Suppose N nodes with many frames tosend each transmits in slot withprobability p Note not exactly slotted ALOHA
prob that node 1 has success in a slot =p(1-p)N-1
prob that any node has a success =Np(1-p)N-1
For max efficiency with Nnodes find p that maximizesNp(1-p)N-1
p = 1N For many nodes take limit of
Np(1-p)N-1 = (1-1N)N-1
as N goes to infinityit gives 1e = 037
Efficiency is the long-runfraction of successful slotswhen there are many nodes eachwith many frames to send
At best channelused for useful transmissions 37of time
limN
1$G
N
amp
(
)
N
= e$G
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-30
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-1t0+1]
In frame time units
16
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-31
Pure Aloha efficiencyP(success by given node) = P(node transmits) P(no other node transmits in [t0-1t0] P(no other node transmits in [t0t0+1] = p (1-p)N-1 (1-p)N-1
= p (1-p)2(N-1)
P (success by any node) = Np (1-p)2(N-1)
hellip choosing optimum p and then letting n go to infinity
= 1(2e) = 018
Even worse than slotted Aloha
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-32
Efficiency wrt average trafficload Let G = pN be the average aggregated traffic load
(or demand) per frame time = nr of transmission attempts per frame time N stations sending one frame with probability p in every
frame time Efficiency
Slotted ALOHA Np(1-p)N-1 = G (1-GN)N-1
ALOHA Np(1-p)2(N-1) = G (1-GN)2(N-1)
Efficiency (for a given G) when N gtgt Slotted ALOHA G e-G
ALOHA G e-2G
If G ltlt 1 efficiency asymp G perfect
limN
1$G
N
amp
(
)
N
= e$G
17
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-33
Efficiency Optimum out of 100 frame times- 37 are used effectively- 26 are collisions- 37 are just empty
From Computer Networks by Tanenbaum copy Prentice Hall
ALOHA versus Slotted ALOHA
frame
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-34
CSMA (Carrier Sense Multiple Access)
CSMA listen before transmitIf channel sensed idle transmit entire frame If channel sensed busy defer transmission
LBT Listen Before Talking (and deference)
human analogy donrsquot interrupt others
18
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-35
CSMA collisions
collisions can still occurpropagation delay meanstwo nodes may not heareach otherrsquos transmission
collisionentire packet transmissiontime wasted
spatial layout of nodes
noterole of distance amp propagationdelay in determining collisionprobability
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-36
persistent CSMA(if channel is busy listen until it isfreed)
non persistent CSMA(if channel is busy program anew attempt later)
p-persistent CSMAWhile true doif channel is freethen
with probability p immediate transmission or
with probability 1-p stay idle during at least propagation time (τ) else listen until the channel is freed
Trade-off between efficiency and delaybull This introduces a useless delay at low loadsbull But the efficiency of the channel is better at high loads
p-persistent CSMA
19
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-37
Efficiency
Efficiency versus load for various randomaccess protocols
From Computer Networks by Tanenbaum copy Prentice Hall
frame
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-38
B = Channel Data Rate (so-called Bandwidth) (bps)F = (Maximum) Frame size (bits)L = Length of the channel (m)c = Propagation speed (ms)
τ = Propagation delay = L c (s)T = Transmission delay = F B (s)
a = τ T = BL cFLet a = 1 rarr F = 100 BL c = plusmn 5 10-7 BL (with c = plusmn 200000 kms)Let B = 10 Mbps L = 25 km rarr F = 12500 bits (= 15625 bytes)This is roughly the Ethernet frame size
Engineering a CSMA network
20
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-39
CSMACD (Collision Detection)CSMACD 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 strengthscompare transmitted received signals
difficult in wireless LANs received signal strengthoverwhelmed by local transmission strength
human analogy the polite conversationalist
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-40
CSMACD collision detectionCSMACD CSMA
Lost time le 2 τ(worst case 2 max propagation timeswhen the 2 stations are at the 2 ends)+ detectabort time No abort so loss is T
21
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-41
To detect collision the sender must still be transmitting when the collisionpropagates back to it So the condition is
T gt 2τ which means FB gt 2 Lcwhich leads to a minimal Fmin = 2BLc = plusmn BL 10-8 bits
Let B = 10 Mbps L = 25 km rarr Fmin = plusmn 250 bits (= plusmn 32 bytes) Ethernet has chosen 64 bytes = 512 bits (extra margin due to other delays)
A B
(a)
A B
(b)
A B
(c)
A B
(d)Collision attime τ
Noise burst getsback to A at 2τ
Packet startsat time 0
Packet almostat B at τminusε
Minimal frame size with CSMACD
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-42
ldquoTaking Turnsrdquo MAC protocols
channel partitioning MAC protocols share channel efficiently and fairly at high load inefficient at low load delay in channel access
1N bandwidth allocated even if only 1 activenode
Random access MAC protocols efficient at low load single node can fully
utilize channel high load collision overhead
ldquotaking turnsrdquo protocolslook for best of both worlds
22
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-43
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodesto transmit in turn
typically used withldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-44
ldquoTaking Turnsrdquo MAC protocolsToken passing control token passed
from one node to nextsequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
23
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-45
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire) hard in
others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-46
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
24
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-47
MAC Addresses and ARP
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)
bull burned in NIC ROM also sometimes software settable
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-48
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
25
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-49
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
address depends on IP subnet to which node is attached
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-50
ARP Address Resolution Protocol
Each IP node (hostrouter) on LAN hasARP table
ARP table IPMACaddress mappings forsome LAN nodes
lt IP address MAC address TTLgt TTL (Time To Live) time
after which addressmapping will be forgotten(typically 20 min)
Question how to determineBrsquos MAC addressknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
26
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-51
ARP protocol Same LAN (network)
A wants to send datagramto B and Brsquos MAC addressnot in Arsquos ARP table
A broadcasts ARP querypacket containing Bs IPaddress dest MAC address =
FF-FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs)MAC address frame sent to Arsquos MAC
address (unicast)
A caches (saves) Brsquos IP-to-MAC address pair in itsARP table until informationbecomes old (times out) soft state information
that times out (goes away)unless refreshed
All other stations had alsocached Arsquos IP-to-MAC pair
ARP is ldquoplug-and-playrdquo nodes create their ARP
tables withoutintervention from netadministrator
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-52
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IPnetwork (LAN)
27
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-53
A creates IP datagram with source A destination B In routing table at source Host find Rrsquos IP = 111111111110 A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees itrsquos
destined for B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-54
Link Layer
51 Introduction andservices
52 Error detection
53Multiple accessprotocols
54 Link-LayerAddressing
55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
28
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-55
Ethernetldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-56
Star topology bus topology popular through mid 90s
all nodes in same collision domain (can collide with eachother)
today star topology prevails active switch in center each ldquospokerdquo runs a (separate) Ethernet protocol (nodes
do not collide with each other)
switch
bus coaxial cable star
29
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-57
Ethernet Frame StructureSending 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
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-58
Ethernet Frame Structure (more) Addresses 6 bytes
if adapter receives frame with matching destinationaddress or with broadcast address (eg ARP packet) itpasses data in frame to network layer protocol
otherwise adapter discards frame Type indicates higher layer protocol (mostly IP
but others possible eg Novell IPX AppleTalk) CRC checked at receiver if error is detected
frame is dropped
30
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-59
Ethernet Unreliable connectionless
connectionless No handshaking between sending andreceiving NICs
unreliable receiving NIC doesnrsquot send acks nor nacksto sending NIC stream of datagrams passed to network layer can have gaps
(missing datagrams) gaps will be filled if app is using TCP otherwise app will see gaps
Ethernetrsquos MAC protocol unslotted CSMACD
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-60
Ethernet CSMACD algorithm1 NIC receives datagram
from network layercreates frame
2 If NIC senses channel idlestarts frame transmissionIf NIC senses channelbusy waits until channelidle then transmits
3 If NIC transmits entireframe without detectinganother transmission NICis done with frame
4 If NIC detects anothertransmission whiletransmitting (collision)aborts and sends jamsignal
5 After aborting NICenters exponentialbackoff after mthcollision NIC chooses K atrandom from012hellip2m-1 NIC waitsK512 bit times returns toStep 2
31
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-61
Ethernetrsquos CSMACD (more)Jam Signal make sure all
other transmitters areaware of collision 48bits
Bit time 01 microsec for 10Mbps Ethernetfor K=1023 wait timeis about 50 msec
Exponential Backoff Goal adapt retransmission
attempts to estimatedcurrent load heavy load random wait
will be longer first collision choose K from
01 delay is K 512 bittransmission times
after second collision chooseK from 0123hellip
after ten collisions choose Kfrom 01234hellip1023
with this backoff algorithmEthernet is sort ofp-persistent CSMA with anadaptive p
Seeinteract with Javaapplet on AWL Web sitehighly recommended
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-62
S = T (T + α times 2τ)= 1 (1 + α times 2τT)= 1 (1 + α times 2BLcF )For large N α convergestowards e (plusmn27) for ap-persistent CSMA withp = 1N (ideal case)
So for N gtgt S cannotbe better than1 (1 + e times 2τT)= 1 (1 + 54 τT)
Number of active stations = N
Channel efficiency
S10
09
08
07
06
05
04
03
02
01
0 1 2 4 8 16 32 64 128 256
1024 byte frames
512 byte frames
256 byte frames
128 byte frames
64 byte frames
From Computer Networks by Tanenbaum copy Prentice Hall
Channel efficiency of an adaptivep-persistent CSMA
Let α = the average number of slots (2 τ) before any successful transmission
32
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-63
8023 Ethernet Standards Link amp Physical Layers
many different Ethernet standards common MAC protocol and frame format different speeds 2 Mbps 10 Mbps 100 Mbps
1 Gbps 10 Gbps different physical layer media fiber cable
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twistedpair) physical layer
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-64
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
33
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-65
Manchester encoding - Signaldistortion
Transmittedsignal
Receivedsignal
after 1200 mon RG11 coax
Manchester signal at 4Mbps
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-66
Link Layer
51 Introduction andservices
52 Error detection 53 Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
34
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-67
Hubshellip physical-layer (ldquodumbrdquo) repeaters
bits coming in one link go out all other links at samerate
all nodes connected to hub can collide with oneanother
no frame buffering no CSMACD at hub host NICs detect collisions
twisted pair
hub
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-68
Switch link-layer device smarter than hubs take
active role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links whenframe is to be forwarded on segment usesCSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
35
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-69
Switch allows multiple simultaneoustransmissions
hosts have dedicateddirect connection to switch
switches buffer packets Ethernet protocol used on
each incoming link but nocollisions full duplex each link is its own collision
domain switching A-to-Arsquo and B-
to-Brsquo simultaneouslywithout collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-70
Switch Table
Q how does switch know thatArsquo reachable via interface 4Brsquo reachable via interface 5
A each switch has a switchtable each entry (MAC address of host interface
to reach host time stamp) Is a MAC forwarding table
Looks like an IP forwarding table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
36
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-71
Switch self-learning
switch learns which hostscan be reached throughwhich interfaces when frame received
switch ldquolearnsrdquo location ofsender incoming LANsegment
records senderlocationpair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-72
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 if entry found for destination
then if dest on segment from which frame arrived
then drop the frame else forward the frame on interface indicated else flood forward on all but the interface
on which the frame arrived
37
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-73
Self-learningforwardingexample
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo frame destination
unknown flood
Arsquo A
destination Alocation known
Arsquo 4 60
selective send
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-74
Interconnecting switches
switches can be connected together
A
B
Q sending from A to F - how does S1 know how toforward frame destined for F via S4 and S2
A self learning (works exactly the same as insingle-switch case)
S1
C D
E
FS2
S4
S3
HI
G
38
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-75
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
HI
G
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-76
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
39
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-77
All principles seen so far are applicable to a subnet withseveral switches if there is no cycle in the topology No cycle = no redundancy in case of failure
Part of subnet can be disconnected
A B
LAN 1
C D E
F G H
LAN 4
LAN 3LAN 2
From Computer Networks by Tanenbaum copy Prentice Hall
More than one switch in asubnet
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-78
Problem Frame F (whose destination address is unknown to bothswitches) will loop
Solution build a logical spanning tree topology over the real topology
LAN 1
LAN 2
FInitial frame
F1 F2
Frame copiedby left switch
Frame copiedby right switch
From Computer Networks by Tanenbaum copy Prentice Hall
Problem with cycles
40
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-79
Build a logical tree reaching allLANs
1 Determine the root switch(smallest switch id)
Switches regularly flood controlmessages (BPDUs) on all theiroutput ports
BPDU = ltSource switch id root asassumed distance to rootgt
All switches will soon discoverthe root id
A B2
C31
LAN
4
G
I
D E F
6 75
H J8 9
Switch
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (1)Root switch A sends ltAA0gt on LAN1 and LAN2
B sends ltBA1gt on LAN 3
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-80
2 Build the tree By continuously receiving these
BPDUs (possibly on severalports) a switch knows itsdistance to the root and whichport leads to the root by thatshortest distance (root port r)
A B2
C31 4
G
I
D E F
6 75
H J8 9
r
r
r
rr
r
r
rr
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (2)Root portRoot switch
41
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-81
3 Decide if non-root ports are (data)forwarding or (data) blockingA port is forwarding (f) on a givenLAN if the BPDUs this switch sendson this LAN are smaller thanthose other switches (would) send
Smaller = shorter distance or equaldistance and smaller switch id
Exampleon LAN6 E sends ltEA2gt G would sendltGA2gt and J would send ltJA3gtSo E is elected to be the only one toforward frames on LAN6 J is too faraway from the root and G gt E
A B2
C31 4
G
I
D E F
6 75
H J8 9
rf
r
r
rr
r
r
rr
f f f
f f f
f f
Spanning tree (3)Forwarding port
Blocking port
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-82
Some switches (eg G and J) are not part of the tree Another case could be that some ports of some switches are blocking
They could become part of the tree if another switch or port would fail(leading to no refresh of BPDUs)
So switches have to listen to BPDUs on blocking ports to detect failures
1 2 3 4
5 6 7
8 9
A B C
D E F
H
LAN
Switch thatis part of the
spanning tree
Switch that isnot part of thespanning tree
I
The resulting spanning treeRouting on a spanning treeis not optimal
Same spanning tree for allsource-destination pair
Compare to layer-3 routing
From Computer Networks by Tanenbaum copy Prentice Hall
42
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-83
Switches vs Routers both store-and-forward devices
routers network layer devices (examine network layerheaders)
switches are link layer devices routers maintain IP routing and IP forwarding
tables implement routing algorithms switches maintain MAC forwarding tables
implement filtering learning and spanning treealgorithms
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-84
Summary comparison
hubs routers switches
traffic
isolation
no yes yes
plug amp play yes no yes
optimal
routing
no yes no
cut
through
yes no yes
Some do
43
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-85
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-86
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line ADSL line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
bull Data link used to be considered ldquohigh layerrdquo inprotocol stack
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
8
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-15
CRC ExampleWant
D2r XOR R = nGequivalently
D2r = nG XOR Requivalently if we divide D2r by G
(in base-2 arithmetic)want remainder R
r=3
R = remainderD 2r
G
$
amp
(
Divisor
Quotient
Dividend
In base-2 arithmetic-no carries-no borrows
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-16
CRC Example the polynomial view
Transmitted frameT(x) = D(x) xr - R(x)
Is divisible byG(x)
D(x) = x5 + x3 + x2 + xr=3G(x) = x3 + 1
R(x) = remainderD(x) xr
G(x)
$
amp
(
9
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-17
Why does it work We have T(x) = D(x) xr - R(x)
Therefore the remainder of T(x) G(x) is zero This is easy to check at the receiver provided that the
sender and the receiver agree on a certain G(x) Suppose some errors occur during transmission
The received frame is T(x) + E(x) The receiver will then calculate the remainder of
(T(x) + E(x)) G(x) This remainder is equal to the remainder of E(x) G(x) If there is an error such that E(x) is not divisible by
G(x) it is detected The choice of G(x) is thus very important
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-18
Example of CRC Generator = G(x) = x16 + x12 + x5 + 1 G(x) detects every E(x) consisting of an odd number of error bits
Because G(x) is a factor of x + 1 (in base-2 arithmetic G(1) = 0)and a polynomial E(x) with an odd number of terms is not divisible by x+1 (in base-2arithmetic E(1) = 1 for such E(x))
More generally a G(x) composed of an even number of terms detects everyerror consisting of an odd number of error bits At least as good as a parity bit Could a parity bit be seen as a trivial CRC Any G(x) to suggest
G(x) detects every 2-bit error (in any place in the frame) G(x) detects every error burst of length le 16 bits
An error burst of length n (ge 2) is 1 erroneous bit followed by n-2 bits (correct or not)followed by an erroneous bit
So an error burst of length le 16 bits is an E(x) = Ersquo(x) xk with neither Ersquo(x) nor xk beingdivisible by G(x) because Ersquo(x) is of degree le 15 while G(x) is of degree 16
More generally a G(x) of degree r detects every r-bit error bursts G(x) detects 99997 of the 17-bit error bursts (if errors are random) G(x) detects 99998 of the 18-bit error bursts (if errors are random)
From Computer Networks by Tanenbaum copy Prentice Hall
10
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-19
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-20
Multiple Access Links and ProtocolsTwo types of ldquolinksrdquo point-to-point
PPP for dial-up access point-to-point link between Ethernet switch and host
broadcast (shared wire or medium) old-fashioned Ethernet upstream HFC 80211 wireless LAN
shared wire (eg cabled Ethernet)
shared RF (eg 80211 WiFi)
shared RF(satellite)
humans at acocktail party
(shared air acoustical)
11
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-21
Multiple Access protocols single shared broadcast channel two or more simultaneous transmissions by nodes
interference collision if node receives two or more signals at the same time
multiple access protocol distributed algorithm that determines how nodes
share channel ie determine when node can transmit communication about channel sharing must use channel
itself no out-of-band channel for coordination
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-22
Ideal Multiple Access Protocol
Broadcast channel of rate R bps1 when one node wants to transmit it can send at
rate R2 when M nodes want to transmit each can send at
average rate RM (fairness)3 fully decentralized
no special node to coordinate transmissions no synchronization of clocks slots
4 simple
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-23
MAC Protocols a taxonomyThree broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slotsfrequency code)
allocate piece to node for exclusive use Random Access
channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo nodes take turns but nodes with more to send can take
longer turns
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-24
Channel Partitioning MAC protocols TDMA
TDMA time division multiple access access to channel in rounds each station gets fixed length slot (length = pkt
transmission time) in each round unused slots go idle example 6-station LAN 134 have pkt slots 256
idle
1 3 4 1 3 4
6-slotframe
13
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-25
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 134 have pkt frequency
bands 256 idlefr
eque
ncy
band
stime
FDM cable
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-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 ldquocollisionrdquo random access MAC protocol specifies
how to detect collisions how to recover from collisions (eg via delayed
retransmissions) Examples of random access MAC protocols
slotted ALOHA ALOHA CSMA CSMACD CSMACA
14
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-27
Slotted ALOHA
Assumptions all frames have same
size time is divided into
equal size slots (time totransmit 1 frame)
nodes start to transmitonly at slot beginning
nodes are synchronized if 2 or more nodes
transmit in slot allnodes detect collision
Operation when node obtains fresh
frame transmits in nextslot if no collision node can
send new frame in nextslot
if collision noderetransmits frame ineach subsequent slotwith prob p untilsuccess
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-28
Slotted ALOHA
Pros single active node can
continuously transmit atfull rate of channel
highly decentralizedonly slots in nodes needto be in sync
simple
Cons collisions wasting slots idle slots nodes may be able to
detect collision in less thantime to transmit packet
clock synchronization
15
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-29
Slotted Aloha efficiency
Suppose N nodes with many frames tosend each transmits in slot withprobability p Note not exactly slotted ALOHA
prob that node 1 has success in a slot =p(1-p)N-1
prob that any node has a success =Np(1-p)N-1
For max efficiency with Nnodes find p that maximizesNp(1-p)N-1
p = 1N For many nodes take limit of
Np(1-p)N-1 = (1-1N)N-1
as N goes to infinityit gives 1e = 037
Efficiency is the long-runfraction of successful slotswhen there are many nodes eachwith many frames to send
At best channelused for useful transmissions 37of time
limN
1$G
N
amp
(
)
N
= e$G
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-30
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-1t0+1]
In frame time units
16
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-31
Pure Aloha efficiencyP(success by given node) = P(node transmits) P(no other node transmits in [t0-1t0] P(no other node transmits in [t0t0+1] = p (1-p)N-1 (1-p)N-1
= p (1-p)2(N-1)
P (success by any node) = Np (1-p)2(N-1)
hellip choosing optimum p and then letting n go to infinity
= 1(2e) = 018
Even worse than slotted Aloha
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-32
Efficiency wrt average trafficload Let G = pN be the average aggregated traffic load
(or demand) per frame time = nr of transmission attempts per frame time N stations sending one frame with probability p in every
frame time Efficiency
Slotted ALOHA Np(1-p)N-1 = G (1-GN)N-1
ALOHA Np(1-p)2(N-1) = G (1-GN)2(N-1)
Efficiency (for a given G) when N gtgt Slotted ALOHA G e-G
ALOHA G e-2G
If G ltlt 1 efficiency asymp G perfect
limN
1$G
N
amp
(
)
N
= e$G
17
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-33
Efficiency Optimum out of 100 frame times- 37 are used effectively- 26 are collisions- 37 are just empty
From Computer Networks by Tanenbaum copy Prentice Hall
ALOHA versus Slotted ALOHA
frame
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-34
CSMA (Carrier Sense Multiple Access)
CSMA listen before transmitIf channel sensed idle transmit entire frame If channel sensed busy defer transmission
LBT Listen Before Talking (and deference)
human analogy donrsquot interrupt others
18
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-35
CSMA collisions
collisions can still occurpropagation delay meanstwo nodes may not heareach otherrsquos transmission
collisionentire packet transmissiontime wasted
spatial layout of nodes
noterole of distance amp propagationdelay in determining collisionprobability
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-36
persistent CSMA(if channel is busy listen until it isfreed)
non persistent CSMA(if channel is busy program anew attempt later)
p-persistent CSMAWhile true doif channel is freethen
with probability p immediate transmission or
with probability 1-p stay idle during at least propagation time (τ) else listen until the channel is freed
Trade-off between efficiency and delaybull This introduces a useless delay at low loadsbull But the efficiency of the channel is better at high loads
p-persistent CSMA
19
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-37
Efficiency
Efficiency versus load for various randomaccess protocols
From Computer Networks by Tanenbaum copy Prentice Hall
frame
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-38
B = Channel Data Rate (so-called Bandwidth) (bps)F = (Maximum) Frame size (bits)L = Length of the channel (m)c = Propagation speed (ms)
τ = Propagation delay = L c (s)T = Transmission delay = F B (s)
a = τ T = BL cFLet a = 1 rarr F = 100 BL c = plusmn 5 10-7 BL (with c = plusmn 200000 kms)Let B = 10 Mbps L = 25 km rarr F = 12500 bits (= 15625 bytes)This is roughly the Ethernet frame size
Engineering a CSMA network
20
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-39
CSMACD (Collision Detection)CSMACD 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 strengthscompare transmitted received signals
difficult in wireless LANs received signal strengthoverwhelmed by local transmission strength
human analogy the polite conversationalist
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-40
CSMACD collision detectionCSMACD CSMA
Lost time le 2 τ(worst case 2 max propagation timeswhen the 2 stations are at the 2 ends)+ detectabort time No abort so loss is T
21
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-41
To detect collision the sender must still be transmitting when the collisionpropagates back to it So the condition is
T gt 2τ which means FB gt 2 Lcwhich leads to a minimal Fmin = 2BLc = plusmn BL 10-8 bits
Let B = 10 Mbps L = 25 km rarr Fmin = plusmn 250 bits (= plusmn 32 bytes) Ethernet has chosen 64 bytes = 512 bits (extra margin due to other delays)
A B
(a)
A B
(b)
A B
(c)
A B
(d)Collision attime τ
Noise burst getsback to A at 2τ
Packet startsat time 0
Packet almostat B at τminusε
Minimal frame size with CSMACD
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-42
ldquoTaking Turnsrdquo MAC protocols
channel partitioning MAC protocols share channel efficiently and fairly at high load inefficient at low load delay in channel access
1N bandwidth allocated even if only 1 activenode
Random access MAC protocols efficient at low load single node can fully
utilize channel high load collision overhead
ldquotaking turnsrdquo protocolslook for best of both worlds
22
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-43
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodesto transmit in turn
typically used withldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-44
ldquoTaking Turnsrdquo MAC protocolsToken passing control token passed
from one node to nextsequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
23
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-45
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire) hard in
others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-46
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
24
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-47
MAC Addresses and ARP
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)
bull burned in NIC ROM also sometimes software settable
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-48
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
25
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-49
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
address depends on IP subnet to which node is attached
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-50
ARP Address Resolution Protocol
Each IP node (hostrouter) on LAN hasARP table
ARP table IPMACaddress mappings forsome LAN nodes
lt IP address MAC address TTLgt TTL (Time To Live) time
after which addressmapping will be forgotten(typically 20 min)
Question how to determineBrsquos MAC addressknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
26
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-51
ARP protocol Same LAN (network)
A wants to send datagramto B and Brsquos MAC addressnot in Arsquos ARP table
A broadcasts ARP querypacket containing Bs IPaddress dest MAC address =
FF-FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs)MAC address frame sent to Arsquos MAC
address (unicast)
A caches (saves) Brsquos IP-to-MAC address pair in itsARP table until informationbecomes old (times out) soft state information
that times out (goes away)unless refreshed
All other stations had alsocached Arsquos IP-to-MAC pair
ARP is ldquoplug-and-playrdquo nodes create their ARP
tables withoutintervention from netadministrator
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-52
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IPnetwork (LAN)
27
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-53
A creates IP datagram with source A destination B In routing table at source Host find Rrsquos IP = 111111111110 A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees itrsquos
destined for B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-54
Link Layer
51 Introduction andservices
52 Error detection
53Multiple accessprotocols
54 Link-LayerAddressing
55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
28
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-55
Ethernetldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-56
Star topology bus topology popular through mid 90s
all nodes in same collision domain (can collide with eachother)
today star topology prevails active switch in center each ldquospokerdquo runs a (separate) Ethernet protocol (nodes
do not collide with each other)
switch
bus coaxial cable star
29
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-57
Ethernet Frame StructureSending 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
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-58
Ethernet Frame Structure (more) Addresses 6 bytes
if adapter receives frame with matching destinationaddress or with broadcast address (eg ARP packet) itpasses data in frame to network layer protocol
otherwise adapter discards frame Type indicates higher layer protocol (mostly IP
but others possible eg Novell IPX AppleTalk) CRC checked at receiver if error is detected
frame is dropped
30
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-59
Ethernet Unreliable connectionless
connectionless No handshaking between sending andreceiving NICs
unreliable receiving NIC doesnrsquot send acks nor nacksto sending NIC stream of datagrams passed to network layer can have gaps
(missing datagrams) gaps will be filled if app is using TCP otherwise app will see gaps
Ethernetrsquos MAC protocol unslotted CSMACD
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-60
Ethernet CSMACD algorithm1 NIC receives datagram
from network layercreates frame
2 If NIC senses channel idlestarts frame transmissionIf NIC senses channelbusy waits until channelidle then transmits
3 If NIC transmits entireframe without detectinganother transmission NICis done with frame
4 If NIC detects anothertransmission whiletransmitting (collision)aborts and sends jamsignal
5 After aborting NICenters exponentialbackoff after mthcollision NIC chooses K atrandom from012hellip2m-1 NIC waitsK512 bit times returns toStep 2
31
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-61
Ethernetrsquos CSMACD (more)Jam Signal make sure all
other transmitters areaware of collision 48bits
Bit time 01 microsec for 10Mbps Ethernetfor K=1023 wait timeis about 50 msec
Exponential Backoff Goal adapt retransmission
attempts to estimatedcurrent load heavy load random wait
will be longer first collision choose K from
01 delay is K 512 bittransmission times
after second collision chooseK from 0123hellip
after ten collisions choose Kfrom 01234hellip1023
with this backoff algorithmEthernet is sort ofp-persistent CSMA with anadaptive p
Seeinteract with Javaapplet on AWL Web sitehighly recommended
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-62
S = T (T + α times 2τ)= 1 (1 + α times 2τT)= 1 (1 + α times 2BLcF )For large N α convergestowards e (plusmn27) for ap-persistent CSMA withp = 1N (ideal case)
So for N gtgt S cannotbe better than1 (1 + e times 2τT)= 1 (1 + 54 τT)
Number of active stations = N
Channel efficiency
S10
09
08
07
06
05
04
03
02
01
0 1 2 4 8 16 32 64 128 256
1024 byte frames
512 byte frames
256 byte frames
128 byte frames
64 byte frames
From Computer Networks by Tanenbaum copy Prentice Hall
Channel efficiency of an adaptivep-persistent CSMA
Let α = the average number of slots (2 τ) before any successful transmission
32
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-63
8023 Ethernet Standards Link amp Physical Layers
many different Ethernet standards common MAC protocol and frame format different speeds 2 Mbps 10 Mbps 100 Mbps
1 Gbps 10 Gbps different physical layer media fiber cable
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twistedpair) physical layer
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-64
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
33
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-65
Manchester encoding - Signaldistortion
Transmittedsignal
Receivedsignal
after 1200 mon RG11 coax
Manchester signal at 4Mbps
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-66
Link Layer
51 Introduction andservices
52 Error detection 53 Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
34
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-67
Hubshellip physical-layer (ldquodumbrdquo) repeaters
bits coming in one link go out all other links at samerate
all nodes connected to hub can collide with oneanother
no frame buffering no CSMACD at hub host NICs detect collisions
twisted pair
hub
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-68
Switch link-layer device smarter than hubs take
active role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links whenframe is to be forwarded on segment usesCSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
35
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-69
Switch allows multiple simultaneoustransmissions
hosts have dedicateddirect connection to switch
switches buffer packets Ethernet protocol used on
each incoming link but nocollisions full duplex each link is its own collision
domain switching A-to-Arsquo and B-
to-Brsquo simultaneouslywithout collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-70
Switch Table
Q how does switch know thatArsquo reachable via interface 4Brsquo reachable via interface 5
A each switch has a switchtable each entry (MAC address of host interface
to reach host time stamp) Is a MAC forwarding table
Looks like an IP forwarding table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
36
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-71
Switch self-learning
switch learns which hostscan be reached throughwhich interfaces when frame received
switch ldquolearnsrdquo location ofsender incoming LANsegment
records senderlocationpair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-72
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 if entry found for destination
then if dest on segment from which frame arrived
then drop the frame else forward the frame on interface indicated else flood forward on all but the interface
on which the frame arrived
37
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-73
Self-learningforwardingexample
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo frame destination
unknown flood
Arsquo A
destination Alocation known
Arsquo 4 60
selective send
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-74
Interconnecting switches
switches can be connected together
A
B
Q sending from A to F - how does S1 know how toforward frame destined for F via S4 and S2
A self learning (works exactly the same as insingle-switch case)
S1
C D
E
FS2
S4
S3
HI
G
38
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-75
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
HI
G
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-76
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
39
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-77
All principles seen so far are applicable to a subnet withseveral switches if there is no cycle in the topology No cycle = no redundancy in case of failure
Part of subnet can be disconnected
A B
LAN 1
C D E
F G H
LAN 4
LAN 3LAN 2
From Computer Networks by Tanenbaum copy Prentice Hall
More than one switch in asubnet
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-78
Problem Frame F (whose destination address is unknown to bothswitches) will loop
Solution build a logical spanning tree topology over the real topology
LAN 1
LAN 2
FInitial frame
F1 F2
Frame copiedby left switch
Frame copiedby right switch
From Computer Networks by Tanenbaum copy Prentice Hall
Problem with cycles
40
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-79
Build a logical tree reaching allLANs
1 Determine the root switch(smallest switch id)
Switches regularly flood controlmessages (BPDUs) on all theiroutput ports
BPDU = ltSource switch id root asassumed distance to rootgt
All switches will soon discoverthe root id
A B2
C31
LAN
4
G
I
D E F
6 75
H J8 9
Switch
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (1)Root switch A sends ltAA0gt on LAN1 and LAN2
B sends ltBA1gt on LAN 3
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-80
2 Build the tree By continuously receiving these
BPDUs (possibly on severalports) a switch knows itsdistance to the root and whichport leads to the root by thatshortest distance (root port r)
A B2
C31 4
G
I
D E F
6 75
H J8 9
r
r
r
rr
r
r
rr
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (2)Root portRoot switch
41
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-81
3 Decide if non-root ports are (data)forwarding or (data) blockingA port is forwarding (f) on a givenLAN if the BPDUs this switch sendson this LAN are smaller thanthose other switches (would) send
Smaller = shorter distance or equaldistance and smaller switch id
Exampleon LAN6 E sends ltEA2gt G would sendltGA2gt and J would send ltJA3gtSo E is elected to be the only one toforward frames on LAN6 J is too faraway from the root and G gt E
A B2
C31 4
G
I
D E F
6 75
H J8 9
rf
r
r
rr
r
r
rr
f f f
f f f
f f
Spanning tree (3)Forwarding port
Blocking port
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-82
Some switches (eg G and J) are not part of the tree Another case could be that some ports of some switches are blocking
They could become part of the tree if another switch or port would fail(leading to no refresh of BPDUs)
So switches have to listen to BPDUs on blocking ports to detect failures
1 2 3 4
5 6 7
8 9
A B C
D E F
H
LAN
Switch thatis part of the
spanning tree
Switch that isnot part of thespanning tree
I
The resulting spanning treeRouting on a spanning treeis not optimal
Same spanning tree for allsource-destination pair
Compare to layer-3 routing
From Computer Networks by Tanenbaum copy Prentice Hall
42
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-83
Switches vs Routers both store-and-forward devices
routers network layer devices (examine network layerheaders)
switches are link layer devices routers maintain IP routing and IP forwarding
tables implement routing algorithms switches maintain MAC forwarding tables
implement filtering learning and spanning treealgorithms
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-84
Summary comparison
hubs routers switches
traffic
isolation
no yes yes
plug amp play yes no yes
optimal
routing
no yes no
cut
through
yes no yes
Some do
43
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-85
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-86
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line ADSL line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
bull Data link used to be considered ldquohigh layerrdquo inprotocol stack
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
9
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-17
Why does it work We have T(x) = D(x) xr - R(x)
Therefore the remainder of T(x) G(x) is zero This is easy to check at the receiver provided that the
sender and the receiver agree on a certain G(x) Suppose some errors occur during transmission
The received frame is T(x) + E(x) The receiver will then calculate the remainder of
(T(x) + E(x)) G(x) This remainder is equal to the remainder of E(x) G(x) If there is an error such that E(x) is not divisible by
G(x) it is detected The choice of G(x) is thus very important
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-18
Example of CRC Generator = G(x) = x16 + x12 + x5 + 1 G(x) detects every E(x) consisting of an odd number of error bits
Because G(x) is a factor of x + 1 (in base-2 arithmetic G(1) = 0)and a polynomial E(x) with an odd number of terms is not divisible by x+1 (in base-2arithmetic E(1) = 1 for such E(x))
More generally a G(x) composed of an even number of terms detects everyerror consisting of an odd number of error bits At least as good as a parity bit Could a parity bit be seen as a trivial CRC Any G(x) to suggest
G(x) detects every 2-bit error (in any place in the frame) G(x) detects every error burst of length le 16 bits
An error burst of length n (ge 2) is 1 erroneous bit followed by n-2 bits (correct or not)followed by an erroneous bit
So an error burst of length le 16 bits is an E(x) = Ersquo(x) xk with neither Ersquo(x) nor xk beingdivisible by G(x) because Ersquo(x) is of degree le 15 while G(x) is of degree 16
More generally a G(x) of degree r detects every r-bit error bursts G(x) detects 99997 of the 17-bit error bursts (if errors are random) G(x) detects 99998 of the 18-bit error bursts (if errors are random)
From Computer Networks by Tanenbaum copy Prentice Hall
10
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-19
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-20
Multiple Access Links and ProtocolsTwo types of ldquolinksrdquo point-to-point
PPP for dial-up access point-to-point link between Ethernet switch and host
broadcast (shared wire or medium) old-fashioned Ethernet upstream HFC 80211 wireless LAN
shared wire (eg cabled Ethernet)
shared RF (eg 80211 WiFi)
shared RF(satellite)
humans at acocktail party
(shared air acoustical)
11
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-21
Multiple Access protocols single shared broadcast channel two or more simultaneous transmissions by nodes
interference collision if node receives two or more signals at the same time
multiple access protocol distributed algorithm that determines how nodes
share channel ie determine when node can transmit communication about channel sharing must use channel
itself no out-of-band channel for coordination
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-22
Ideal Multiple Access Protocol
Broadcast channel of rate R bps1 when one node wants to transmit it can send at
rate R2 when M nodes want to transmit each can send at
average rate RM (fairness)3 fully decentralized
no special node to coordinate transmissions no synchronization of clocks slots
4 simple
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-23
MAC Protocols a taxonomyThree broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slotsfrequency code)
allocate piece to node for exclusive use Random Access
channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo nodes take turns but nodes with more to send can take
longer turns
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-24
Channel Partitioning MAC protocols TDMA
TDMA time division multiple access access to channel in rounds each station gets fixed length slot (length = pkt
transmission time) in each round unused slots go idle example 6-station LAN 134 have pkt slots 256
idle
1 3 4 1 3 4
6-slotframe
13
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-25
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 134 have pkt frequency
bands 256 idlefr
eque
ncy
band
stime
FDM cable
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-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 ldquocollisionrdquo random access MAC protocol specifies
how to detect collisions how to recover from collisions (eg via delayed
retransmissions) Examples of random access MAC protocols
slotted ALOHA ALOHA CSMA CSMACD CSMACA
14
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-27
Slotted ALOHA
Assumptions all frames have same
size time is divided into
equal size slots (time totransmit 1 frame)
nodes start to transmitonly at slot beginning
nodes are synchronized if 2 or more nodes
transmit in slot allnodes detect collision
Operation when node obtains fresh
frame transmits in nextslot if no collision node can
send new frame in nextslot
if collision noderetransmits frame ineach subsequent slotwith prob p untilsuccess
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-28
Slotted ALOHA
Pros single active node can
continuously transmit atfull rate of channel
highly decentralizedonly slots in nodes needto be in sync
simple
Cons collisions wasting slots idle slots nodes may be able to
detect collision in less thantime to transmit packet
clock synchronization
15
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-29
Slotted Aloha efficiency
Suppose N nodes with many frames tosend each transmits in slot withprobability p Note not exactly slotted ALOHA
prob that node 1 has success in a slot =p(1-p)N-1
prob that any node has a success =Np(1-p)N-1
For max efficiency with Nnodes find p that maximizesNp(1-p)N-1
p = 1N For many nodes take limit of
Np(1-p)N-1 = (1-1N)N-1
as N goes to infinityit gives 1e = 037
Efficiency is the long-runfraction of successful slotswhen there are many nodes eachwith many frames to send
At best channelused for useful transmissions 37of time
limN
1$G
N
amp
(
)
N
= e$G
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-30
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-1t0+1]
In frame time units
16
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-31
Pure Aloha efficiencyP(success by given node) = P(node transmits) P(no other node transmits in [t0-1t0] P(no other node transmits in [t0t0+1] = p (1-p)N-1 (1-p)N-1
= p (1-p)2(N-1)
P (success by any node) = Np (1-p)2(N-1)
hellip choosing optimum p and then letting n go to infinity
= 1(2e) = 018
Even worse than slotted Aloha
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-32
Efficiency wrt average trafficload Let G = pN be the average aggregated traffic load
(or demand) per frame time = nr of transmission attempts per frame time N stations sending one frame with probability p in every
frame time Efficiency
Slotted ALOHA Np(1-p)N-1 = G (1-GN)N-1
ALOHA Np(1-p)2(N-1) = G (1-GN)2(N-1)
Efficiency (for a given G) when N gtgt Slotted ALOHA G e-G
ALOHA G e-2G
If G ltlt 1 efficiency asymp G perfect
limN
1$G
N
amp
(
)
N
= e$G
17
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-33
Efficiency Optimum out of 100 frame times- 37 are used effectively- 26 are collisions- 37 are just empty
From Computer Networks by Tanenbaum copy Prentice Hall
ALOHA versus Slotted ALOHA
frame
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-34
CSMA (Carrier Sense Multiple Access)
CSMA listen before transmitIf channel sensed idle transmit entire frame If channel sensed busy defer transmission
LBT Listen Before Talking (and deference)
human analogy donrsquot interrupt others
18
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-35
CSMA collisions
collisions can still occurpropagation delay meanstwo nodes may not heareach otherrsquos transmission
collisionentire packet transmissiontime wasted
spatial layout of nodes
noterole of distance amp propagationdelay in determining collisionprobability
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-36
persistent CSMA(if channel is busy listen until it isfreed)
non persistent CSMA(if channel is busy program anew attempt later)
p-persistent CSMAWhile true doif channel is freethen
with probability p immediate transmission or
with probability 1-p stay idle during at least propagation time (τ) else listen until the channel is freed
Trade-off between efficiency and delaybull This introduces a useless delay at low loadsbull But the efficiency of the channel is better at high loads
p-persistent CSMA
19
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-37
Efficiency
Efficiency versus load for various randomaccess protocols
From Computer Networks by Tanenbaum copy Prentice Hall
frame
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-38
B = Channel Data Rate (so-called Bandwidth) (bps)F = (Maximum) Frame size (bits)L = Length of the channel (m)c = Propagation speed (ms)
τ = Propagation delay = L c (s)T = Transmission delay = F B (s)
a = τ T = BL cFLet a = 1 rarr F = 100 BL c = plusmn 5 10-7 BL (with c = plusmn 200000 kms)Let B = 10 Mbps L = 25 km rarr F = 12500 bits (= 15625 bytes)This is roughly the Ethernet frame size
Engineering a CSMA network
20
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-39
CSMACD (Collision Detection)CSMACD 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 strengthscompare transmitted received signals
difficult in wireless LANs received signal strengthoverwhelmed by local transmission strength
human analogy the polite conversationalist
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-40
CSMACD collision detectionCSMACD CSMA
Lost time le 2 τ(worst case 2 max propagation timeswhen the 2 stations are at the 2 ends)+ detectabort time No abort so loss is T
21
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-41
To detect collision the sender must still be transmitting when the collisionpropagates back to it So the condition is
T gt 2τ which means FB gt 2 Lcwhich leads to a minimal Fmin = 2BLc = plusmn BL 10-8 bits
Let B = 10 Mbps L = 25 km rarr Fmin = plusmn 250 bits (= plusmn 32 bytes) Ethernet has chosen 64 bytes = 512 bits (extra margin due to other delays)
A B
(a)
A B
(b)
A B
(c)
A B
(d)Collision attime τ
Noise burst getsback to A at 2τ
Packet startsat time 0
Packet almostat B at τminusε
Minimal frame size with CSMACD
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-42
ldquoTaking Turnsrdquo MAC protocols
channel partitioning MAC protocols share channel efficiently and fairly at high load inefficient at low load delay in channel access
1N bandwidth allocated even if only 1 activenode
Random access MAC protocols efficient at low load single node can fully
utilize channel high load collision overhead
ldquotaking turnsrdquo protocolslook for best of both worlds
22
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-43
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodesto transmit in turn
typically used withldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-44
ldquoTaking Turnsrdquo MAC protocolsToken passing control token passed
from one node to nextsequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
23
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-45
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire) hard in
others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-46
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
24
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-47
MAC Addresses and ARP
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)
bull burned in NIC ROM also sometimes software settable
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-48
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
25
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-49
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
address depends on IP subnet to which node is attached
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-50
ARP Address Resolution Protocol
Each IP node (hostrouter) on LAN hasARP table
ARP table IPMACaddress mappings forsome LAN nodes
lt IP address MAC address TTLgt TTL (Time To Live) time
after which addressmapping will be forgotten(typically 20 min)
Question how to determineBrsquos MAC addressknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
26
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-51
ARP protocol Same LAN (network)
A wants to send datagramto B and Brsquos MAC addressnot in Arsquos ARP table
A broadcasts ARP querypacket containing Bs IPaddress dest MAC address =
FF-FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs)MAC address frame sent to Arsquos MAC
address (unicast)
A caches (saves) Brsquos IP-to-MAC address pair in itsARP table until informationbecomes old (times out) soft state information
that times out (goes away)unless refreshed
All other stations had alsocached Arsquos IP-to-MAC pair
ARP is ldquoplug-and-playrdquo nodes create their ARP
tables withoutintervention from netadministrator
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-52
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IPnetwork (LAN)
27
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-53
A creates IP datagram with source A destination B In routing table at source Host find Rrsquos IP = 111111111110 A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees itrsquos
destined for B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-54
Link Layer
51 Introduction andservices
52 Error detection
53Multiple accessprotocols
54 Link-LayerAddressing
55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
28
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-55
Ethernetldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-56
Star topology bus topology popular through mid 90s
all nodes in same collision domain (can collide with eachother)
today star topology prevails active switch in center each ldquospokerdquo runs a (separate) Ethernet protocol (nodes
do not collide with each other)
switch
bus coaxial cable star
29
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-57
Ethernet Frame StructureSending 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
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-58
Ethernet Frame Structure (more) Addresses 6 bytes
if adapter receives frame with matching destinationaddress or with broadcast address (eg ARP packet) itpasses data in frame to network layer protocol
otherwise adapter discards frame Type indicates higher layer protocol (mostly IP
but others possible eg Novell IPX AppleTalk) CRC checked at receiver if error is detected
frame is dropped
30
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-59
Ethernet Unreliable connectionless
connectionless No handshaking between sending andreceiving NICs
unreliable receiving NIC doesnrsquot send acks nor nacksto sending NIC stream of datagrams passed to network layer can have gaps
(missing datagrams) gaps will be filled if app is using TCP otherwise app will see gaps
Ethernetrsquos MAC protocol unslotted CSMACD
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-60
Ethernet CSMACD algorithm1 NIC receives datagram
from network layercreates frame
2 If NIC senses channel idlestarts frame transmissionIf NIC senses channelbusy waits until channelidle then transmits
3 If NIC transmits entireframe without detectinganother transmission NICis done with frame
4 If NIC detects anothertransmission whiletransmitting (collision)aborts and sends jamsignal
5 After aborting NICenters exponentialbackoff after mthcollision NIC chooses K atrandom from012hellip2m-1 NIC waitsK512 bit times returns toStep 2
31
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-61
Ethernetrsquos CSMACD (more)Jam Signal make sure all
other transmitters areaware of collision 48bits
Bit time 01 microsec for 10Mbps Ethernetfor K=1023 wait timeis about 50 msec
Exponential Backoff Goal adapt retransmission
attempts to estimatedcurrent load heavy load random wait
will be longer first collision choose K from
01 delay is K 512 bittransmission times
after second collision chooseK from 0123hellip
after ten collisions choose Kfrom 01234hellip1023
with this backoff algorithmEthernet is sort ofp-persistent CSMA with anadaptive p
Seeinteract with Javaapplet on AWL Web sitehighly recommended
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-62
S = T (T + α times 2τ)= 1 (1 + α times 2τT)= 1 (1 + α times 2BLcF )For large N α convergestowards e (plusmn27) for ap-persistent CSMA withp = 1N (ideal case)
So for N gtgt S cannotbe better than1 (1 + e times 2τT)= 1 (1 + 54 τT)
Number of active stations = N
Channel efficiency
S10
09
08
07
06
05
04
03
02
01
0 1 2 4 8 16 32 64 128 256
1024 byte frames
512 byte frames
256 byte frames
128 byte frames
64 byte frames
From Computer Networks by Tanenbaum copy Prentice Hall
Channel efficiency of an adaptivep-persistent CSMA
Let α = the average number of slots (2 τ) before any successful transmission
32
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-63
8023 Ethernet Standards Link amp Physical Layers
many different Ethernet standards common MAC protocol and frame format different speeds 2 Mbps 10 Mbps 100 Mbps
1 Gbps 10 Gbps different physical layer media fiber cable
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twistedpair) physical layer
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-64
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
33
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-65
Manchester encoding - Signaldistortion
Transmittedsignal
Receivedsignal
after 1200 mon RG11 coax
Manchester signal at 4Mbps
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-66
Link Layer
51 Introduction andservices
52 Error detection 53 Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
34
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-67
Hubshellip physical-layer (ldquodumbrdquo) repeaters
bits coming in one link go out all other links at samerate
all nodes connected to hub can collide with oneanother
no frame buffering no CSMACD at hub host NICs detect collisions
twisted pair
hub
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-68
Switch link-layer device smarter than hubs take
active role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links whenframe is to be forwarded on segment usesCSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
35
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-69
Switch allows multiple simultaneoustransmissions
hosts have dedicateddirect connection to switch
switches buffer packets Ethernet protocol used on
each incoming link but nocollisions full duplex each link is its own collision
domain switching A-to-Arsquo and B-
to-Brsquo simultaneouslywithout collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-70
Switch Table
Q how does switch know thatArsquo reachable via interface 4Brsquo reachable via interface 5
A each switch has a switchtable each entry (MAC address of host interface
to reach host time stamp) Is a MAC forwarding table
Looks like an IP forwarding table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
36
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-71
Switch self-learning
switch learns which hostscan be reached throughwhich interfaces when frame received
switch ldquolearnsrdquo location ofsender incoming LANsegment
records senderlocationpair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-72
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 if entry found for destination
then if dest on segment from which frame arrived
then drop the frame else forward the frame on interface indicated else flood forward on all but the interface
on which the frame arrived
37
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-73
Self-learningforwardingexample
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo frame destination
unknown flood
Arsquo A
destination Alocation known
Arsquo 4 60
selective send
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-74
Interconnecting switches
switches can be connected together
A
B
Q sending from A to F - how does S1 know how toforward frame destined for F via S4 and S2
A self learning (works exactly the same as insingle-switch case)
S1
C D
E
FS2
S4
S3
HI
G
38
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-75
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
HI
G
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-76
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
39
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-77
All principles seen so far are applicable to a subnet withseveral switches if there is no cycle in the topology No cycle = no redundancy in case of failure
Part of subnet can be disconnected
A B
LAN 1
C D E
F G H
LAN 4
LAN 3LAN 2
From Computer Networks by Tanenbaum copy Prentice Hall
More than one switch in asubnet
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-78
Problem Frame F (whose destination address is unknown to bothswitches) will loop
Solution build a logical spanning tree topology over the real topology
LAN 1
LAN 2
FInitial frame
F1 F2
Frame copiedby left switch
Frame copiedby right switch
From Computer Networks by Tanenbaum copy Prentice Hall
Problem with cycles
40
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-79
Build a logical tree reaching allLANs
1 Determine the root switch(smallest switch id)
Switches regularly flood controlmessages (BPDUs) on all theiroutput ports
BPDU = ltSource switch id root asassumed distance to rootgt
All switches will soon discoverthe root id
A B2
C31
LAN
4
G
I
D E F
6 75
H J8 9
Switch
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (1)Root switch A sends ltAA0gt on LAN1 and LAN2
B sends ltBA1gt on LAN 3
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-80
2 Build the tree By continuously receiving these
BPDUs (possibly on severalports) a switch knows itsdistance to the root and whichport leads to the root by thatshortest distance (root port r)
A B2
C31 4
G
I
D E F
6 75
H J8 9
r
r
r
rr
r
r
rr
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (2)Root portRoot switch
41
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-81
3 Decide if non-root ports are (data)forwarding or (data) blockingA port is forwarding (f) on a givenLAN if the BPDUs this switch sendson this LAN are smaller thanthose other switches (would) send
Smaller = shorter distance or equaldistance and smaller switch id
Exampleon LAN6 E sends ltEA2gt G would sendltGA2gt and J would send ltJA3gtSo E is elected to be the only one toforward frames on LAN6 J is too faraway from the root and G gt E
A B2
C31 4
G
I
D E F
6 75
H J8 9
rf
r
r
rr
r
r
rr
f f f
f f f
f f
Spanning tree (3)Forwarding port
Blocking port
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-82
Some switches (eg G and J) are not part of the tree Another case could be that some ports of some switches are blocking
They could become part of the tree if another switch or port would fail(leading to no refresh of BPDUs)
So switches have to listen to BPDUs on blocking ports to detect failures
1 2 3 4
5 6 7
8 9
A B C
D E F
H
LAN
Switch thatis part of the
spanning tree
Switch that isnot part of thespanning tree
I
The resulting spanning treeRouting on a spanning treeis not optimal
Same spanning tree for allsource-destination pair
Compare to layer-3 routing
From Computer Networks by Tanenbaum copy Prentice Hall
42
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-83
Switches vs Routers both store-and-forward devices
routers network layer devices (examine network layerheaders)
switches are link layer devices routers maintain IP routing and IP forwarding
tables implement routing algorithms switches maintain MAC forwarding tables
implement filtering learning and spanning treealgorithms
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-84
Summary comparison
hubs routers switches
traffic
isolation
no yes yes
plug amp play yes no yes
optimal
routing
no yes no
cut
through
yes no yes
Some do
43
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-85
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-86
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line ADSL line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
bull Data link used to be considered ldquohigh layerrdquo inprotocol stack
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
10
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-19
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-20
Multiple Access Links and ProtocolsTwo types of ldquolinksrdquo point-to-point
PPP for dial-up access point-to-point link between Ethernet switch and host
broadcast (shared wire or medium) old-fashioned Ethernet upstream HFC 80211 wireless LAN
shared wire (eg cabled Ethernet)
shared RF (eg 80211 WiFi)
shared RF(satellite)
humans at acocktail party
(shared air acoustical)
11
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-21
Multiple Access protocols single shared broadcast channel two or more simultaneous transmissions by nodes
interference collision if node receives two or more signals at the same time
multiple access protocol distributed algorithm that determines how nodes
share channel ie determine when node can transmit communication about channel sharing must use channel
itself no out-of-band channel for coordination
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-22
Ideal Multiple Access Protocol
Broadcast channel of rate R bps1 when one node wants to transmit it can send at
rate R2 when M nodes want to transmit each can send at
average rate RM (fairness)3 fully decentralized
no special node to coordinate transmissions no synchronization of clocks slots
4 simple
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-23
MAC Protocols a taxonomyThree broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slotsfrequency code)
allocate piece to node for exclusive use Random Access
channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo nodes take turns but nodes with more to send can take
longer turns
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-24
Channel Partitioning MAC protocols TDMA
TDMA time division multiple access access to channel in rounds each station gets fixed length slot (length = pkt
transmission time) in each round unused slots go idle example 6-station LAN 134 have pkt slots 256
idle
1 3 4 1 3 4
6-slotframe
13
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-25
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 134 have pkt frequency
bands 256 idlefr
eque
ncy
band
stime
FDM cable
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-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 ldquocollisionrdquo random access MAC protocol specifies
how to detect collisions how to recover from collisions (eg via delayed
retransmissions) Examples of random access MAC protocols
slotted ALOHA ALOHA CSMA CSMACD CSMACA
14
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-27
Slotted ALOHA
Assumptions all frames have same
size time is divided into
equal size slots (time totransmit 1 frame)
nodes start to transmitonly at slot beginning
nodes are synchronized if 2 or more nodes
transmit in slot allnodes detect collision
Operation when node obtains fresh
frame transmits in nextslot if no collision node can
send new frame in nextslot
if collision noderetransmits frame ineach subsequent slotwith prob p untilsuccess
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-28
Slotted ALOHA
Pros single active node can
continuously transmit atfull rate of channel
highly decentralizedonly slots in nodes needto be in sync
simple
Cons collisions wasting slots idle slots nodes may be able to
detect collision in less thantime to transmit packet
clock synchronization
15
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-29
Slotted Aloha efficiency
Suppose N nodes with many frames tosend each transmits in slot withprobability p Note not exactly slotted ALOHA
prob that node 1 has success in a slot =p(1-p)N-1
prob that any node has a success =Np(1-p)N-1
For max efficiency with Nnodes find p that maximizesNp(1-p)N-1
p = 1N For many nodes take limit of
Np(1-p)N-1 = (1-1N)N-1
as N goes to infinityit gives 1e = 037
Efficiency is the long-runfraction of successful slotswhen there are many nodes eachwith many frames to send
At best channelused for useful transmissions 37of time
limN
1$G
N
amp
(
)
N
= e$G
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-30
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-1t0+1]
In frame time units
16
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-31
Pure Aloha efficiencyP(success by given node) = P(node transmits) P(no other node transmits in [t0-1t0] P(no other node transmits in [t0t0+1] = p (1-p)N-1 (1-p)N-1
= p (1-p)2(N-1)
P (success by any node) = Np (1-p)2(N-1)
hellip choosing optimum p and then letting n go to infinity
= 1(2e) = 018
Even worse than slotted Aloha
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-32
Efficiency wrt average trafficload Let G = pN be the average aggregated traffic load
(or demand) per frame time = nr of transmission attempts per frame time N stations sending one frame with probability p in every
frame time Efficiency
Slotted ALOHA Np(1-p)N-1 = G (1-GN)N-1
ALOHA Np(1-p)2(N-1) = G (1-GN)2(N-1)
Efficiency (for a given G) when N gtgt Slotted ALOHA G e-G
ALOHA G e-2G
If G ltlt 1 efficiency asymp G perfect
limN
1$G
N
amp
(
)
N
= e$G
17
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-33
Efficiency Optimum out of 100 frame times- 37 are used effectively- 26 are collisions- 37 are just empty
From Computer Networks by Tanenbaum copy Prentice Hall
ALOHA versus Slotted ALOHA
frame
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-34
CSMA (Carrier Sense Multiple Access)
CSMA listen before transmitIf channel sensed idle transmit entire frame If channel sensed busy defer transmission
LBT Listen Before Talking (and deference)
human analogy donrsquot interrupt others
18
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-35
CSMA collisions
collisions can still occurpropagation delay meanstwo nodes may not heareach otherrsquos transmission
collisionentire packet transmissiontime wasted
spatial layout of nodes
noterole of distance amp propagationdelay in determining collisionprobability
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-36
persistent CSMA(if channel is busy listen until it isfreed)
non persistent CSMA(if channel is busy program anew attempt later)
p-persistent CSMAWhile true doif channel is freethen
with probability p immediate transmission or
with probability 1-p stay idle during at least propagation time (τ) else listen until the channel is freed
Trade-off between efficiency and delaybull This introduces a useless delay at low loadsbull But the efficiency of the channel is better at high loads
p-persistent CSMA
19
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-37
Efficiency
Efficiency versus load for various randomaccess protocols
From Computer Networks by Tanenbaum copy Prentice Hall
frame
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-38
B = Channel Data Rate (so-called Bandwidth) (bps)F = (Maximum) Frame size (bits)L = Length of the channel (m)c = Propagation speed (ms)
τ = Propagation delay = L c (s)T = Transmission delay = F B (s)
a = τ T = BL cFLet a = 1 rarr F = 100 BL c = plusmn 5 10-7 BL (with c = plusmn 200000 kms)Let B = 10 Mbps L = 25 km rarr F = 12500 bits (= 15625 bytes)This is roughly the Ethernet frame size
Engineering a CSMA network
20
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-39
CSMACD (Collision Detection)CSMACD 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 strengthscompare transmitted received signals
difficult in wireless LANs received signal strengthoverwhelmed by local transmission strength
human analogy the polite conversationalist
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-40
CSMACD collision detectionCSMACD CSMA
Lost time le 2 τ(worst case 2 max propagation timeswhen the 2 stations are at the 2 ends)+ detectabort time No abort so loss is T
21
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-41
To detect collision the sender must still be transmitting when the collisionpropagates back to it So the condition is
T gt 2τ which means FB gt 2 Lcwhich leads to a minimal Fmin = 2BLc = plusmn BL 10-8 bits
Let B = 10 Mbps L = 25 km rarr Fmin = plusmn 250 bits (= plusmn 32 bytes) Ethernet has chosen 64 bytes = 512 bits (extra margin due to other delays)
A B
(a)
A B
(b)
A B
(c)
A B
(d)Collision attime τ
Noise burst getsback to A at 2τ
Packet startsat time 0
Packet almostat B at τminusε
Minimal frame size with CSMACD
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-42
ldquoTaking Turnsrdquo MAC protocols
channel partitioning MAC protocols share channel efficiently and fairly at high load inefficient at low load delay in channel access
1N bandwidth allocated even if only 1 activenode
Random access MAC protocols efficient at low load single node can fully
utilize channel high load collision overhead
ldquotaking turnsrdquo protocolslook for best of both worlds
22
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-43
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodesto transmit in turn
typically used withldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-44
ldquoTaking Turnsrdquo MAC protocolsToken passing control token passed
from one node to nextsequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
23
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-45
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire) hard in
others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-46
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
24
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-47
MAC Addresses and ARP
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)
bull burned in NIC ROM also sometimes software settable
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-48
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
25
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-49
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
address depends on IP subnet to which node is attached
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-50
ARP Address Resolution Protocol
Each IP node (hostrouter) on LAN hasARP table
ARP table IPMACaddress mappings forsome LAN nodes
lt IP address MAC address TTLgt TTL (Time To Live) time
after which addressmapping will be forgotten(typically 20 min)
Question how to determineBrsquos MAC addressknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
26
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-51
ARP protocol Same LAN (network)
A wants to send datagramto B and Brsquos MAC addressnot in Arsquos ARP table
A broadcasts ARP querypacket containing Bs IPaddress dest MAC address =
FF-FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs)MAC address frame sent to Arsquos MAC
address (unicast)
A caches (saves) Brsquos IP-to-MAC address pair in itsARP table until informationbecomes old (times out) soft state information
that times out (goes away)unless refreshed
All other stations had alsocached Arsquos IP-to-MAC pair
ARP is ldquoplug-and-playrdquo nodes create their ARP
tables withoutintervention from netadministrator
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-52
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IPnetwork (LAN)
27
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-53
A creates IP datagram with source A destination B In routing table at source Host find Rrsquos IP = 111111111110 A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees itrsquos
destined for B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-54
Link Layer
51 Introduction andservices
52 Error detection
53Multiple accessprotocols
54 Link-LayerAddressing
55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
28
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-55
Ethernetldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-56
Star topology bus topology popular through mid 90s
all nodes in same collision domain (can collide with eachother)
today star topology prevails active switch in center each ldquospokerdquo runs a (separate) Ethernet protocol (nodes
do not collide with each other)
switch
bus coaxial cable star
29
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-57
Ethernet Frame StructureSending 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
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-58
Ethernet Frame Structure (more) Addresses 6 bytes
if adapter receives frame with matching destinationaddress or with broadcast address (eg ARP packet) itpasses data in frame to network layer protocol
otherwise adapter discards frame Type indicates higher layer protocol (mostly IP
but others possible eg Novell IPX AppleTalk) CRC checked at receiver if error is detected
frame is dropped
30
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-59
Ethernet Unreliable connectionless
connectionless No handshaking between sending andreceiving NICs
unreliable receiving NIC doesnrsquot send acks nor nacksto sending NIC stream of datagrams passed to network layer can have gaps
(missing datagrams) gaps will be filled if app is using TCP otherwise app will see gaps
Ethernetrsquos MAC protocol unslotted CSMACD
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-60
Ethernet CSMACD algorithm1 NIC receives datagram
from network layercreates frame
2 If NIC senses channel idlestarts frame transmissionIf NIC senses channelbusy waits until channelidle then transmits
3 If NIC transmits entireframe without detectinganother transmission NICis done with frame
4 If NIC detects anothertransmission whiletransmitting (collision)aborts and sends jamsignal
5 After aborting NICenters exponentialbackoff after mthcollision NIC chooses K atrandom from012hellip2m-1 NIC waitsK512 bit times returns toStep 2
31
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-61
Ethernetrsquos CSMACD (more)Jam Signal make sure all
other transmitters areaware of collision 48bits
Bit time 01 microsec for 10Mbps Ethernetfor K=1023 wait timeis about 50 msec
Exponential Backoff Goal adapt retransmission
attempts to estimatedcurrent load heavy load random wait
will be longer first collision choose K from
01 delay is K 512 bittransmission times
after second collision chooseK from 0123hellip
after ten collisions choose Kfrom 01234hellip1023
with this backoff algorithmEthernet is sort ofp-persistent CSMA with anadaptive p
Seeinteract with Javaapplet on AWL Web sitehighly recommended
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-62
S = T (T + α times 2τ)= 1 (1 + α times 2τT)= 1 (1 + α times 2BLcF )For large N α convergestowards e (plusmn27) for ap-persistent CSMA withp = 1N (ideal case)
So for N gtgt S cannotbe better than1 (1 + e times 2τT)= 1 (1 + 54 τT)
Number of active stations = N
Channel efficiency
S10
09
08
07
06
05
04
03
02
01
0 1 2 4 8 16 32 64 128 256
1024 byte frames
512 byte frames
256 byte frames
128 byte frames
64 byte frames
From Computer Networks by Tanenbaum copy Prentice Hall
Channel efficiency of an adaptivep-persistent CSMA
Let α = the average number of slots (2 τ) before any successful transmission
32
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-63
8023 Ethernet Standards Link amp Physical Layers
many different Ethernet standards common MAC protocol and frame format different speeds 2 Mbps 10 Mbps 100 Mbps
1 Gbps 10 Gbps different physical layer media fiber cable
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twistedpair) physical layer
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-64
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
33
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-65
Manchester encoding - Signaldistortion
Transmittedsignal
Receivedsignal
after 1200 mon RG11 coax
Manchester signal at 4Mbps
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-66
Link Layer
51 Introduction andservices
52 Error detection 53 Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
34
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-67
Hubshellip physical-layer (ldquodumbrdquo) repeaters
bits coming in one link go out all other links at samerate
all nodes connected to hub can collide with oneanother
no frame buffering no CSMACD at hub host NICs detect collisions
twisted pair
hub
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-68
Switch link-layer device smarter than hubs take
active role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links whenframe is to be forwarded on segment usesCSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
35
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-69
Switch allows multiple simultaneoustransmissions
hosts have dedicateddirect connection to switch
switches buffer packets Ethernet protocol used on
each incoming link but nocollisions full duplex each link is its own collision
domain switching A-to-Arsquo and B-
to-Brsquo simultaneouslywithout collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-70
Switch Table
Q how does switch know thatArsquo reachable via interface 4Brsquo reachable via interface 5
A each switch has a switchtable each entry (MAC address of host interface
to reach host time stamp) Is a MAC forwarding table
Looks like an IP forwarding table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
36
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-71
Switch self-learning
switch learns which hostscan be reached throughwhich interfaces when frame received
switch ldquolearnsrdquo location ofsender incoming LANsegment
records senderlocationpair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-72
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 if entry found for destination
then if dest on segment from which frame arrived
then drop the frame else forward the frame on interface indicated else flood forward on all but the interface
on which the frame arrived
37
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-73
Self-learningforwardingexample
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo frame destination
unknown flood
Arsquo A
destination Alocation known
Arsquo 4 60
selective send
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-74
Interconnecting switches
switches can be connected together
A
B
Q sending from A to F - how does S1 know how toforward frame destined for F via S4 and S2
A self learning (works exactly the same as insingle-switch case)
S1
C D
E
FS2
S4
S3
HI
G
38
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-75
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
HI
G
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-76
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
39
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-77
All principles seen so far are applicable to a subnet withseveral switches if there is no cycle in the topology No cycle = no redundancy in case of failure
Part of subnet can be disconnected
A B
LAN 1
C D E
F G H
LAN 4
LAN 3LAN 2
From Computer Networks by Tanenbaum copy Prentice Hall
More than one switch in asubnet
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-78
Problem Frame F (whose destination address is unknown to bothswitches) will loop
Solution build a logical spanning tree topology over the real topology
LAN 1
LAN 2
FInitial frame
F1 F2
Frame copiedby left switch
Frame copiedby right switch
From Computer Networks by Tanenbaum copy Prentice Hall
Problem with cycles
40
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-79
Build a logical tree reaching allLANs
1 Determine the root switch(smallest switch id)
Switches regularly flood controlmessages (BPDUs) on all theiroutput ports
BPDU = ltSource switch id root asassumed distance to rootgt
All switches will soon discoverthe root id
A B2
C31
LAN
4
G
I
D E F
6 75
H J8 9
Switch
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (1)Root switch A sends ltAA0gt on LAN1 and LAN2
B sends ltBA1gt on LAN 3
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-80
2 Build the tree By continuously receiving these
BPDUs (possibly on severalports) a switch knows itsdistance to the root and whichport leads to the root by thatshortest distance (root port r)
A B2
C31 4
G
I
D E F
6 75
H J8 9
r
r
r
rr
r
r
rr
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (2)Root portRoot switch
41
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-81
3 Decide if non-root ports are (data)forwarding or (data) blockingA port is forwarding (f) on a givenLAN if the BPDUs this switch sendson this LAN are smaller thanthose other switches (would) send
Smaller = shorter distance or equaldistance and smaller switch id
Exampleon LAN6 E sends ltEA2gt G would sendltGA2gt and J would send ltJA3gtSo E is elected to be the only one toforward frames on LAN6 J is too faraway from the root and G gt E
A B2
C31 4
G
I
D E F
6 75
H J8 9
rf
r
r
rr
r
r
rr
f f f
f f f
f f
Spanning tree (3)Forwarding port
Blocking port
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-82
Some switches (eg G and J) are not part of the tree Another case could be that some ports of some switches are blocking
They could become part of the tree if another switch or port would fail(leading to no refresh of BPDUs)
So switches have to listen to BPDUs on blocking ports to detect failures
1 2 3 4
5 6 7
8 9
A B C
D E F
H
LAN
Switch thatis part of the
spanning tree
Switch that isnot part of thespanning tree
I
The resulting spanning treeRouting on a spanning treeis not optimal
Same spanning tree for allsource-destination pair
Compare to layer-3 routing
From Computer Networks by Tanenbaum copy Prentice Hall
42
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-83
Switches vs Routers both store-and-forward devices
routers network layer devices (examine network layerheaders)
switches are link layer devices routers maintain IP routing and IP forwarding
tables implement routing algorithms switches maintain MAC forwarding tables
implement filtering learning and spanning treealgorithms
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-84
Summary comparison
hubs routers switches
traffic
isolation
no yes yes
plug amp play yes no yes
optimal
routing
no yes no
cut
through
yes no yes
Some do
43
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-85
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-86
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line ADSL line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
bull Data link used to be considered ldquohigh layerrdquo inprotocol stack
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
11
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-21
Multiple Access protocols single shared broadcast channel two or more simultaneous transmissions by nodes
interference collision if node receives two or more signals at the same time
multiple access protocol distributed algorithm that determines how nodes
share channel ie determine when node can transmit communication about channel sharing must use channel
itself no out-of-band channel for coordination
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-22
Ideal Multiple Access Protocol
Broadcast channel of rate R bps1 when one node wants to transmit it can send at
rate R2 when M nodes want to transmit each can send at
average rate RM (fairness)3 fully decentralized
no special node to coordinate transmissions no synchronization of clocks slots
4 simple
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-23
MAC Protocols a taxonomyThree broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slotsfrequency code)
allocate piece to node for exclusive use Random Access
channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo nodes take turns but nodes with more to send can take
longer turns
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-24
Channel Partitioning MAC protocols TDMA
TDMA time division multiple access access to channel in rounds each station gets fixed length slot (length = pkt
transmission time) in each round unused slots go idle example 6-station LAN 134 have pkt slots 256
idle
1 3 4 1 3 4
6-slotframe
13
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-25
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 134 have pkt frequency
bands 256 idlefr
eque
ncy
band
stime
FDM cable
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-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 ldquocollisionrdquo random access MAC protocol specifies
how to detect collisions how to recover from collisions (eg via delayed
retransmissions) Examples of random access MAC protocols
slotted ALOHA ALOHA CSMA CSMACD CSMACA
14
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-27
Slotted ALOHA
Assumptions all frames have same
size time is divided into
equal size slots (time totransmit 1 frame)
nodes start to transmitonly at slot beginning
nodes are synchronized if 2 or more nodes
transmit in slot allnodes detect collision
Operation when node obtains fresh
frame transmits in nextslot if no collision node can
send new frame in nextslot
if collision noderetransmits frame ineach subsequent slotwith prob p untilsuccess
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-28
Slotted ALOHA
Pros single active node can
continuously transmit atfull rate of channel
highly decentralizedonly slots in nodes needto be in sync
simple
Cons collisions wasting slots idle slots nodes may be able to
detect collision in less thantime to transmit packet
clock synchronization
15
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-29
Slotted Aloha efficiency
Suppose N nodes with many frames tosend each transmits in slot withprobability p Note not exactly slotted ALOHA
prob that node 1 has success in a slot =p(1-p)N-1
prob that any node has a success =Np(1-p)N-1
For max efficiency with Nnodes find p that maximizesNp(1-p)N-1
p = 1N For many nodes take limit of
Np(1-p)N-1 = (1-1N)N-1
as N goes to infinityit gives 1e = 037
Efficiency is the long-runfraction of successful slotswhen there are many nodes eachwith many frames to send
At best channelused for useful transmissions 37of time
limN
1$G
N
amp
(
)
N
= e$G
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-30
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-1t0+1]
In frame time units
16
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-31
Pure Aloha efficiencyP(success by given node) = P(node transmits) P(no other node transmits in [t0-1t0] P(no other node transmits in [t0t0+1] = p (1-p)N-1 (1-p)N-1
= p (1-p)2(N-1)
P (success by any node) = Np (1-p)2(N-1)
hellip choosing optimum p and then letting n go to infinity
= 1(2e) = 018
Even worse than slotted Aloha
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-32
Efficiency wrt average trafficload Let G = pN be the average aggregated traffic load
(or demand) per frame time = nr of transmission attempts per frame time N stations sending one frame with probability p in every
frame time Efficiency
Slotted ALOHA Np(1-p)N-1 = G (1-GN)N-1
ALOHA Np(1-p)2(N-1) = G (1-GN)2(N-1)
Efficiency (for a given G) when N gtgt Slotted ALOHA G e-G
ALOHA G e-2G
If G ltlt 1 efficiency asymp G perfect
limN
1$G
N
amp
(
)
N
= e$G
17
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-33
Efficiency Optimum out of 100 frame times- 37 are used effectively- 26 are collisions- 37 are just empty
From Computer Networks by Tanenbaum copy Prentice Hall
ALOHA versus Slotted ALOHA
frame
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-34
CSMA (Carrier Sense Multiple Access)
CSMA listen before transmitIf channel sensed idle transmit entire frame If channel sensed busy defer transmission
LBT Listen Before Talking (and deference)
human analogy donrsquot interrupt others
18
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-35
CSMA collisions
collisions can still occurpropagation delay meanstwo nodes may not heareach otherrsquos transmission
collisionentire packet transmissiontime wasted
spatial layout of nodes
noterole of distance amp propagationdelay in determining collisionprobability
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-36
persistent CSMA(if channel is busy listen until it isfreed)
non persistent CSMA(if channel is busy program anew attempt later)
p-persistent CSMAWhile true doif channel is freethen
with probability p immediate transmission or
with probability 1-p stay idle during at least propagation time (τ) else listen until the channel is freed
Trade-off between efficiency and delaybull This introduces a useless delay at low loadsbull But the efficiency of the channel is better at high loads
p-persistent CSMA
19
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-37
Efficiency
Efficiency versus load for various randomaccess protocols
From Computer Networks by Tanenbaum copy Prentice Hall
frame
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-38
B = Channel Data Rate (so-called Bandwidth) (bps)F = (Maximum) Frame size (bits)L = Length of the channel (m)c = Propagation speed (ms)
τ = Propagation delay = L c (s)T = Transmission delay = F B (s)
a = τ T = BL cFLet a = 1 rarr F = 100 BL c = plusmn 5 10-7 BL (with c = plusmn 200000 kms)Let B = 10 Mbps L = 25 km rarr F = 12500 bits (= 15625 bytes)This is roughly the Ethernet frame size
Engineering a CSMA network
20
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-39
CSMACD (Collision Detection)CSMACD 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 strengthscompare transmitted received signals
difficult in wireless LANs received signal strengthoverwhelmed by local transmission strength
human analogy the polite conversationalist
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-40
CSMACD collision detectionCSMACD CSMA
Lost time le 2 τ(worst case 2 max propagation timeswhen the 2 stations are at the 2 ends)+ detectabort time No abort so loss is T
21
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-41
To detect collision the sender must still be transmitting when the collisionpropagates back to it So the condition is
T gt 2τ which means FB gt 2 Lcwhich leads to a minimal Fmin = 2BLc = plusmn BL 10-8 bits
Let B = 10 Mbps L = 25 km rarr Fmin = plusmn 250 bits (= plusmn 32 bytes) Ethernet has chosen 64 bytes = 512 bits (extra margin due to other delays)
A B
(a)
A B
(b)
A B
(c)
A B
(d)Collision attime τ
Noise burst getsback to A at 2τ
Packet startsat time 0
Packet almostat B at τminusε
Minimal frame size with CSMACD
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-42
ldquoTaking Turnsrdquo MAC protocols
channel partitioning MAC protocols share channel efficiently and fairly at high load inefficient at low load delay in channel access
1N bandwidth allocated even if only 1 activenode
Random access MAC protocols efficient at low load single node can fully
utilize channel high load collision overhead
ldquotaking turnsrdquo protocolslook for best of both worlds
22
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-43
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodesto transmit in turn
typically used withldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-44
ldquoTaking Turnsrdquo MAC protocolsToken passing control token passed
from one node to nextsequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
23
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-45
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire) hard in
others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-46
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
24
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-47
MAC Addresses and ARP
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)
bull burned in NIC ROM also sometimes software settable
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-48
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
25
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-49
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
address depends on IP subnet to which node is attached
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-50
ARP Address Resolution Protocol
Each IP node (hostrouter) on LAN hasARP table
ARP table IPMACaddress mappings forsome LAN nodes
lt IP address MAC address TTLgt TTL (Time To Live) time
after which addressmapping will be forgotten(typically 20 min)
Question how to determineBrsquos MAC addressknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
26
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-51
ARP protocol Same LAN (network)
A wants to send datagramto B and Brsquos MAC addressnot in Arsquos ARP table
A broadcasts ARP querypacket containing Bs IPaddress dest MAC address =
FF-FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs)MAC address frame sent to Arsquos MAC
address (unicast)
A caches (saves) Brsquos IP-to-MAC address pair in itsARP table until informationbecomes old (times out) soft state information
that times out (goes away)unless refreshed
All other stations had alsocached Arsquos IP-to-MAC pair
ARP is ldquoplug-and-playrdquo nodes create their ARP
tables withoutintervention from netadministrator
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-52
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IPnetwork (LAN)
27
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-53
A creates IP datagram with source A destination B In routing table at source Host find Rrsquos IP = 111111111110 A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees itrsquos
destined for B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-54
Link Layer
51 Introduction andservices
52 Error detection
53Multiple accessprotocols
54 Link-LayerAddressing
55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
28
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-55
Ethernetldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-56
Star topology bus topology popular through mid 90s
all nodes in same collision domain (can collide with eachother)
today star topology prevails active switch in center each ldquospokerdquo runs a (separate) Ethernet protocol (nodes
do not collide with each other)
switch
bus coaxial cable star
29
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-57
Ethernet Frame StructureSending 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
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-58
Ethernet Frame Structure (more) Addresses 6 bytes
if adapter receives frame with matching destinationaddress or with broadcast address (eg ARP packet) itpasses data in frame to network layer protocol
otherwise adapter discards frame Type indicates higher layer protocol (mostly IP
but others possible eg Novell IPX AppleTalk) CRC checked at receiver if error is detected
frame is dropped
30
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-59
Ethernet Unreliable connectionless
connectionless No handshaking between sending andreceiving NICs
unreliable receiving NIC doesnrsquot send acks nor nacksto sending NIC stream of datagrams passed to network layer can have gaps
(missing datagrams) gaps will be filled if app is using TCP otherwise app will see gaps
Ethernetrsquos MAC protocol unslotted CSMACD
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-60
Ethernet CSMACD algorithm1 NIC receives datagram
from network layercreates frame
2 If NIC senses channel idlestarts frame transmissionIf NIC senses channelbusy waits until channelidle then transmits
3 If NIC transmits entireframe without detectinganother transmission NICis done with frame
4 If NIC detects anothertransmission whiletransmitting (collision)aborts and sends jamsignal
5 After aborting NICenters exponentialbackoff after mthcollision NIC chooses K atrandom from012hellip2m-1 NIC waitsK512 bit times returns toStep 2
31
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-61
Ethernetrsquos CSMACD (more)Jam Signal make sure all
other transmitters areaware of collision 48bits
Bit time 01 microsec for 10Mbps Ethernetfor K=1023 wait timeis about 50 msec
Exponential Backoff Goal adapt retransmission
attempts to estimatedcurrent load heavy load random wait
will be longer first collision choose K from
01 delay is K 512 bittransmission times
after second collision chooseK from 0123hellip
after ten collisions choose Kfrom 01234hellip1023
with this backoff algorithmEthernet is sort ofp-persistent CSMA with anadaptive p
Seeinteract with Javaapplet on AWL Web sitehighly recommended
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-62
S = T (T + α times 2τ)= 1 (1 + α times 2τT)= 1 (1 + α times 2BLcF )For large N α convergestowards e (plusmn27) for ap-persistent CSMA withp = 1N (ideal case)
So for N gtgt S cannotbe better than1 (1 + e times 2τT)= 1 (1 + 54 τT)
Number of active stations = N
Channel efficiency
S10
09
08
07
06
05
04
03
02
01
0 1 2 4 8 16 32 64 128 256
1024 byte frames
512 byte frames
256 byte frames
128 byte frames
64 byte frames
From Computer Networks by Tanenbaum copy Prentice Hall
Channel efficiency of an adaptivep-persistent CSMA
Let α = the average number of slots (2 τ) before any successful transmission
32
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-63
8023 Ethernet Standards Link amp Physical Layers
many different Ethernet standards common MAC protocol and frame format different speeds 2 Mbps 10 Mbps 100 Mbps
1 Gbps 10 Gbps different physical layer media fiber cable
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twistedpair) physical layer
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-64
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
33
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-65
Manchester encoding - Signaldistortion
Transmittedsignal
Receivedsignal
after 1200 mon RG11 coax
Manchester signal at 4Mbps
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-66
Link Layer
51 Introduction andservices
52 Error detection 53 Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
34
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-67
Hubshellip physical-layer (ldquodumbrdquo) repeaters
bits coming in one link go out all other links at samerate
all nodes connected to hub can collide with oneanother
no frame buffering no CSMACD at hub host NICs detect collisions
twisted pair
hub
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-68
Switch link-layer device smarter than hubs take
active role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links whenframe is to be forwarded on segment usesCSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
35
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-69
Switch allows multiple simultaneoustransmissions
hosts have dedicateddirect connection to switch
switches buffer packets Ethernet protocol used on
each incoming link but nocollisions full duplex each link is its own collision
domain switching A-to-Arsquo and B-
to-Brsquo simultaneouslywithout collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-70
Switch Table
Q how does switch know thatArsquo reachable via interface 4Brsquo reachable via interface 5
A each switch has a switchtable each entry (MAC address of host interface
to reach host time stamp) Is a MAC forwarding table
Looks like an IP forwarding table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
36
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-71
Switch self-learning
switch learns which hostscan be reached throughwhich interfaces when frame received
switch ldquolearnsrdquo location ofsender incoming LANsegment
records senderlocationpair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-72
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 if entry found for destination
then if dest on segment from which frame arrived
then drop the frame else forward the frame on interface indicated else flood forward on all but the interface
on which the frame arrived
37
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-73
Self-learningforwardingexample
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo frame destination
unknown flood
Arsquo A
destination Alocation known
Arsquo 4 60
selective send
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-74
Interconnecting switches
switches can be connected together
A
B
Q sending from A to F - how does S1 know how toforward frame destined for F via S4 and S2
A self learning (works exactly the same as insingle-switch case)
S1
C D
E
FS2
S4
S3
HI
G
38
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-75
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
HI
G
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-76
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
39
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-77
All principles seen so far are applicable to a subnet withseveral switches if there is no cycle in the topology No cycle = no redundancy in case of failure
Part of subnet can be disconnected
A B
LAN 1
C D E
F G H
LAN 4
LAN 3LAN 2
From Computer Networks by Tanenbaum copy Prentice Hall
More than one switch in asubnet
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-78
Problem Frame F (whose destination address is unknown to bothswitches) will loop
Solution build a logical spanning tree topology over the real topology
LAN 1
LAN 2
FInitial frame
F1 F2
Frame copiedby left switch
Frame copiedby right switch
From Computer Networks by Tanenbaum copy Prentice Hall
Problem with cycles
40
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-79
Build a logical tree reaching allLANs
1 Determine the root switch(smallest switch id)
Switches regularly flood controlmessages (BPDUs) on all theiroutput ports
BPDU = ltSource switch id root asassumed distance to rootgt
All switches will soon discoverthe root id
A B2
C31
LAN
4
G
I
D E F
6 75
H J8 9
Switch
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (1)Root switch A sends ltAA0gt on LAN1 and LAN2
B sends ltBA1gt on LAN 3
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-80
2 Build the tree By continuously receiving these
BPDUs (possibly on severalports) a switch knows itsdistance to the root and whichport leads to the root by thatshortest distance (root port r)
A B2
C31 4
G
I
D E F
6 75
H J8 9
r
r
r
rr
r
r
rr
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (2)Root portRoot switch
41
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-81
3 Decide if non-root ports are (data)forwarding or (data) blockingA port is forwarding (f) on a givenLAN if the BPDUs this switch sendson this LAN are smaller thanthose other switches (would) send
Smaller = shorter distance or equaldistance and smaller switch id
Exampleon LAN6 E sends ltEA2gt G would sendltGA2gt and J would send ltJA3gtSo E is elected to be the only one toforward frames on LAN6 J is too faraway from the root and G gt E
A B2
C31 4
G
I
D E F
6 75
H J8 9
rf
r
r
rr
r
r
rr
f f f
f f f
f f
Spanning tree (3)Forwarding port
Blocking port
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-82
Some switches (eg G and J) are not part of the tree Another case could be that some ports of some switches are blocking
They could become part of the tree if another switch or port would fail(leading to no refresh of BPDUs)
So switches have to listen to BPDUs on blocking ports to detect failures
1 2 3 4
5 6 7
8 9
A B C
D E F
H
LAN
Switch thatis part of the
spanning tree
Switch that isnot part of thespanning tree
I
The resulting spanning treeRouting on a spanning treeis not optimal
Same spanning tree for allsource-destination pair
Compare to layer-3 routing
From Computer Networks by Tanenbaum copy Prentice Hall
42
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-83
Switches vs Routers both store-and-forward devices
routers network layer devices (examine network layerheaders)
switches are link layer devices routers maintain IP routing and IP forwarding
tables implement routing algorithms switches maintain MAC forwarding tables
implement filtering learning and spanning treealgorithms
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-84
Summary comparison
hubs routers switches
traffic
isolation
no yes yes
plug amp play yes no yes
optimal
routing
no yes no
cut
through
yes no yes
Some do
43
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-85
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-86
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line ADSL line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
bull Data link used to be considered ldquohigh layerrdquo inprotocol stack
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-23
MAC Protocols a taxonomyThree broad classes Channel Partitioning
divide channel into smaller ldquopiecesrdquo (time slotsfrequency code)
allocate piece to node for exclusive use Random Access
channel not divided allow collisions ldquorecoverrdquo from collisions
ldquoTaking turnsrdquo nodes take turns but nodes with more to send can take
longer turns
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-24
Channel Partitioning MAC protocols TDMA
TDMA time division multiple access access to channel in rounds each station gets fixed length slot (length = pkt
transmission time) in each round unused slots go idle example 6-station LAN 134 have pkt slots 256
idle
1 3 4 1 3 4
6-slotframe
13
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-25
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 134 have pkt frequency
bands 256 idlefr
eque
ncy
band
stime
FDM cable
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-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 ldquocollisionrdquo random access MAC protocol specifies
how to detect collisions how to recover from collisions (eg via delayed
retransmissions) Examples of random access MAC protocols
slotted ALOHA ALOHA CSMA CSMACD CSMACA
14
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-27
Slotted ALOHA
Assumptions all frames have same
size time is divided into
equal size slots (time totransmit 1 frame)
nodes start to transmitonly at slot beginning
nodes are synchronized if 2 or more nodes
transmit in slot allnodes detect collision
Operation when node obtains fresh
frame transmits in nextslot if no collision node can
send new frame in nextslot
if collision noderetransmits frame ineach subsequent slotwith prob p untilsuccess
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-28
Slotted ALOHA
Pros single active node can
continuously transmit atfull rate of channel
highly decentralizedonly slots in nodes needto be in sync
simple
Cons collisions wasting slots idle slots nodes may be able to
detect collision in less thantime to transmit packet
clock synchronization
15
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-29
Slotted Aloha efficiency
Suppose N nodes with many frames tosend each transmits in slot withprobability p Note not exactly slotted ALOHA
prob that node 1 has success in a slot =p(1-p)N-1
prob that any node has a success =Np(1-p)N-1
For max efficiency with Nnodes find p that maximizesNp(1-p)N-1
p = 1N For many nodes take limit of
Np(1-p)N-1 = (1-1N)N-1
as N goes to infinityit gives 1e = 037
Efficiency is the long-runfraction of successful slotswhen there are many nodes eachwith many frames to send
At best channelused for useful transmissions 37of time
limN
1$G
N
amp
(
)
N
= e$G
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-30
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-1t0+1]
In frame time units
16
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-31
Pure Aloha efficiencyP(success by given node) = P(node transmits) P(no other node transmits in [t0-1t0] P(no other node transmits in [t0t0+1] = p (1-p)N-1 (1-p)N-1
= p (1-p)2(N-1)
P (success by any node) = Np (1-p)2(N-1)
hellip choosing optimum p and then letting n go to infinity
= 1(2e) = 018
Even worse than slotted Aloha
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-32
Efficiency wrt average trafficload Let G = pN be the average aggregated traffic load
(or demand) per frame time = nr of transmission attempts per frame time N stations sending one frame with probability p in every
frame time Efficiency
Slotted ALOHA Np(1-p)N-1 = G (1-GN)N-1
ALOHA Np(1-p)2(N-1) = G (1-GN)2(N-1)
Efficiency (for a given G) when N gtgt Slotted ALOHA G e-G
ALOHA G e-2G
If G ltlt 1 efficiency asymp G perfect
limN
1$G
N
amp
(
)
N
= e$G
17
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-33
Efficiency Optimum out of 100 frame times- 37 are used effectively- 26 are collisions- 37 are just empty
From Computer Networks by Tanenbaum copy Prentice Hall
ALOHA versus Slotted ALOHA
frame
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-34
CSMA (Carrier Sense Multiple Access)
CSMA listen before transmitIf channel sensed idle transmit entire frame If channel sensed busy defer transmission
LBT Listen Before Talking (and deference)
human analogy donrsquot interrupt others
18
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-35
CSMA collisions
collisions can still occurpropagation delay meanstwo nodes may not heareach otherrsquos transmission
collisionentire packet transmissiontime wasted
spatial layout of nodes
noterole of distance amp propagationdelay in determining collisionprobability
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-36
persistent CSMA(if channel is busy listen until it isfreed)
non persistent CSMA(if channel is busy program anew attempt later)
p-persistent CSMAWhile true doif channel is freethen
with probability p immediate transmission or
with probability 1-p stay idle during at least propagation time (τ) else listen until the channel is freed
Trade-off between efficiency and delaybull This introduces a useless delay at low loadsbull But the efficiency of the channel is better at high loads
p-persistent CSMA
19
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-37
Efficiency
Efficiency versus load for various randomaccess protocols
From Computer Networks by Tanenbaum copy Prentice Hall
frame
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-38
B = Channel Data Rate (so-called Bandwidth) (bps)F = (Maximum) Frame size (bits)L = Length of the channel (m)c = Propagation speed (ms)
τ = Propagation delay = L c (s)T = Transmission delay = F B (s)
a = τ T = BL cFLet a = 1 rarr F = 100 BL c = plusmn 5 10-7 BL (with c = plusmn 200000 kms)Let B = 10 Mbps L = 25 km rarr F = 12500 bits (= 15625 bytes)This is roughly the Ethernet frame size
Engineering a CSMA network
20
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-39
CSMACD (Collision Detection)CSMACD 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 strengthscompare transmitted received signals
difficult in wireless LANs received signal strengthoverwhelmed by local transmission strength
human analogy the polite conversationalist
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-40
CSMACD collision detectionCSMACD CSMA
Lost time le 2 τ(worst case 2 max propagation timeswhen the 2 stations are at the 2 ends)+ detectabort time No abort so loss is T
21
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-41
To detect collision the sender must still be transmitting when the collisionpropagates back to it So the condition is
T gt 2τ which means FB gt 2 Lcwhich leads to a minimal Fmin = 2BLc = plusmn BL 10-8 bits
Let B = 10 Mbps L = 25 km rarr Fmin = plusmn 250 bits (= plusmn 32 bytes) Ethernet has chosen 64 bytes = 512 bits (extra margin due to other delays)
A B
(a)
A B
(b)
A B
(c)
A B
(d)Collision attime τ
Noise burst getsback to A at 2τ
Packet startsat time 0
Packet almostat B at τminusε
Minimal frame size with CSMACD
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-42
ldquoTaking Turnsrdquo MAC protocols
channel partitioning MAC protocols share channel efficiently and fairly at high load inefficient at low load delay in channel access
1N bandwidth allocated even if only 1 activenode
Random access MAC protocols efficient at low load single node can fully
utilize channel high load collision overhead
ldquotaking turnsrdquo protocolslook for best of both worlds
22
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-43
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodesto transmit in turn
typically used withldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-44
ldquoTaking Turnsrdquo MAC protocolsToken passing control token passed
from one node to nextsequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
23
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-45
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire) hard in
others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-46
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
24
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-47
MAC Addresses and ARP
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)
bull burned in NIC ROM also sometimes software settable
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-48
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
25
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-49
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
address depends on IP subnet to which node is attached
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-50
ARP Address Resolution Protocol
Each IP node (hostrouter) on LAN hasARP table
ARP table IPMACaddress mappings forsome LAN nodes
lt IP address MAC address TTLgt TTL (Time To Live) time
after which addressmapping will be forgotten(typically 20 min)
Question how to determineBrsquos MAC addressknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
26
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-51
ARP protocol Same LAN (network)
A wants to send datagramto B and Brsquos MAC addressnot in Arsquos ARP table
A broadcasts ARP querypacket containing Bs IPaddress dest MAC address =
FF-FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs)MAC address frame sent to Arsquos MAC
address (unicast)
A caches (saves) Brsquos IP-to-MAC address pair in itsARP table until informationbecomes old (times out) soft state information
that times out (goes away)unless refreshed
All other stations had alsocached Arsquos IP-to-MAC pair
ARP is ldquoplug-and-playrdquo nodes create their ARP
tables withoutintervention from netadministrator
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-52
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IPnetwork (LAN)
27
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-53
A creates IP datagram with source A destination B In routing table at source Host find Rrsquos IP = 111111111110 A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees itrsquos
destined for B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-54
Link Layer
51 Introduction andservices
52 Error detection
53Multiple accessprotocols
54 Link-LayerAddressing
55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
28
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-55
Ethernetldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-56
Star topology bus topology popular through mid 90s
all nodes in same collision domain (can collide with eachother)
today star topology prevails active switch in center each ldquospokerdquo runs a (separate) Ethernet protocol (nodes
do not collide with each other)
switch
bus coaxial cable star
29
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-57
Ethernet Frame StructureSending 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
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-58
Ethernet Frame Structure (more) Addresses 6 bytes
if adapter receives frame with matching destinationaddress or with broadcast address (eg ARP packet) itpasses data in frame to network layer protocol
otherwise adapter discards frame Type indicates higher layer protocol (mostly IP
but others possible eg Novell IPX AppleTalk) CRC checked at receiver if error is detected
frame is dropped
30
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-59
Ethernet Unreliable connectionless
connectionless No handshaking between sending andreceiving NICs
unreliable receiving NIC doesnrsquot send acks nor nacksto sending NIC stream of datagrams passed to network layer can have gaps
(missing datagrams) gaps will be filled if app is using TCP otherwise app will see gaps
Ethernetrsquos MAC protocol unslotted CSMACD
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-60
Ethernet CSMACD algorithm1 NIC receives datagram
from network layercreates frame
2 If NIC senses channel idlestarts frame transmissionIf NIC senses channelbusy waits until channelidle then transmits
3 If NIC transmits entireframe without detectinganother transmission NICis done with frame
4 If NIC detects anothertransmission whiletransmitting (collision)aborts and sends jamsignal
5 After aborting NICenters exponentialbackoff after mthcollision NIC chooses K atrandom from012hellip2m-1 NIC waitsK512 bit times returns toStep 2
31
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-61
Ethernetrsquos CSMACD (more)Jam Signal make sure all
other transmitters areaware of collision 48bits
Bit time 01 microsec for 10Mbps Ethernetfor K=1023 wait timeis about 50 msec
Exponential Backoff Goal adapt retransmission
attempts to estimatedcurrent load heavy load random wait
will be longer first collision choose K from
01 delay is K 512 bittransmission times
after second collision chooseK from 0123hellip
after ten collisions choose Kfrom 01234hellip1023
with this backoff algorithmEthernet is sort ofp-persistent CSMA with anadaptive p
Seeinteract with Javaapplet on AWL Web sitehighly recommended
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-62
S = T (T + α times 2τ)= 1 (1 + α times 2τT)= 1 (1 + α times 2BLcF )For large N α convergestowards e (plusmn27) for ap-persistent CSMA withp = 1N (ideal case)
So for N gtgt S cannotbe better than1 (1 + e times 2τT)= 1 (1 + 54 τT)
Number of active stations = N
Channel efficiency
S10
09
08
07
06
05
04
03
02
01
0 1 2 4 8 16 32 64 128 256
1024 byte frames
512 byte frames
256 byte frames
128 byte frames
64 byte frames
From Computer Networks by Tanenbaum copy Prentice Hall
Channel efficiency of an adaptivep-persistent CSMA
Let α = the average number of slots (2 τ) before any successful transmission
32
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-63
8023 Ethernet Standards Link amp Physical Layers
many different Ethernet standards common MAC protocol and frame format different speeds 2 Mbps 10 Mbps 100 Mbps
1 Gbps 10 Gbps different physical layer media fiber cable
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twistedpair) physical layer
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-64
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
33
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-65
Manchester encoding - Signaldistortion
Transmittedsignal
Receivedsignal
after 1200 mon RG11 coax
Manchester signal at 4Mbps
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-66
Link Layer
51 Introduction andservices
52 Error detection 53 Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
34
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-67
Hubshellip physical-layer (ldquodumbrdquo) repeaters
bits coming in one link go out all other links at samerate
all nodes connected to hub can collide with oneanother
no frame buffering no CSMACD at hub host NICs detect collisions
twisted pair
hub
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-68
Switch link-layer device smarter than hubs take
active role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links whenframe is to be forwarded on segment usesCSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
35
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-69
Switch allows multiple simultaneoustransmissions
hosts have dedicateddirect connection to switch
switches buffer packets Ethernet protocol used on
each incoming link but nocollisions full duplex each link is its own collision
domain switching A-to-Arsquo and B-
to-Brsquo simultaneouslywithout collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-70
Switch Table
Q how does switch know thatArsquo reachable via interface 4Brsquo reachable via interface 5
A each switch has a switchtable each entry (MAC address of host interface
to reach host time stamp) Is a MAC forwarding table
Looks like an IP forwarding table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
36
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-71
Switch self-learning
switch learns which hostscan be reached throughwhich interfaces when frame received
switch ldquolearnsrdquo location ofsender incoming LANsegment
records senderlocationpair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-72
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 if entry found for destination
then if dest on segment from which frame arrived
then drop the frame else forward the frame on interface indicated else flood forward on all but the interface
on which the frame arrived
37
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-73
Self-learningforwardingexample
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo frame destination
unknown flood
Arsquo A
destination Alocation known
Arsquo 4 60
selective send
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-74
Interconnecting switches
switches can be connected together
A
B
Q sending from A to F - how does S1 know how toforward frame destined for F via S4 and S2
A self learning (works exactly the same as insingle-switch case)
S1
C D
E
FS2
S4
S3
HI
G
38
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-75
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
HI
G
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-76
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
39
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-77
All principles seen so far are applicable to a subnet withseveral switches if there is no cycle in the topology No cycle = no redundancy in case of failure
Part of subnet can be disconnected
A B
LAN 1
C D E
F G H
LAN 4
LAN 3LAN 2
From Computer Networks by Tanenbaum copy Prentice Hall
More than one switch in asubnet
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-78
Problem Frame F (whose destination address is unknown to bothswitches) will loop
Solution build a logical spanning tree topology over the real topology
LAN 1
LAN 2
FInitial frame
F1 F2
Frame copiedby left switch
Frame copiedby right switch
From Computer Networks by Tanenbaum copy Prentice Hall
Problem with cycles
40
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-79
Build a logical tree reaching allLANs
1 Determine the root switch(smallest switch id)
Switches regularly flood controlmessages (BPDUs) on all theiroutput ports
BPDU = ltSource switch id root asassumed distance to rootgt
All switches will soon discoverthe root id
A B2
C31
LAN
4
G
I
D E F
6 75
H J8 9
Switch
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (1)Root switch A sends ltAA0gt on LAN1 and LAN2
B sends ltBA1gt on LAN 3
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-80
2 Build the tree By continuously receiving these
BPDUs (possibly on severalports) a switch knows itsdistance to the root and whichport leads to the root by thatshortest distance (root port r)
A B2
C31 4
G
I
D E F
6 75
H J8 9
r
r
r
rr
r
r
rr
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (2)Root portRoot switch
41
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-81
3 Decide if non-root ports are (data)forwarding or (data) blockingA port is forwarding (f) on a givenLAN if the BPDUs this switch sendson this LAN are smaller thanthose other switches (would) send
Smaller = shorter distance or equaldistance and smaller switch id
Exampleon LAN6 E sends ltEA2gt G would sendltGA2gt and J would send ltJA3gtSo E is elected to be the only one toforward frames on LAN6 J is too faraway from the root and G gt E
A B2
C31 4
G
I
D E F
6 75
H J8 9
rf
r
r
rr
r
r
rr
f f f
f f f
f f
Spanning tree (3)Forwarding port
Blocking port
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-82
Some switches (eg G and J) are not part of the tree Another case could be that some ports of some switches are blocking
They could become part of the tree if another switch or port would fail(leading to no refresh of BPDUs)
So switches have to listen to BPDUs on blocking ports to detect failures
1 2 3 4
5 6 7
8 9
A B C
D E F
H
LAN
Switch thatis part of the
spanning tree
Switch that isnot part of thespanning tree
I
The resulting spanning treeRouting on a spanning treeis not optimal
Same spanning tree for allsource-destination pair
Compare to layer-3 routing
From Computer Networks by Tanenbaum copy Prentice Hall
42
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-83
Switches vs Routers both store-and-forward devices
routers network layer devices (examine network layerheaders)
switches are link layer devices routers maintain IP routing and IP forwarding
tables implement routing algorithms switches maintain MAC forwarding tables
implement filtering learning and spanning treealgorithms
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-84
Summary comparison
hubs routers switches
traffic
isolation
no yes yes
plug amp play yes no yes
optimal
routing
no yes no
cut
through
yes no yes
Some do
43
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-85
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-86
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line ADSL line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
bull Data link used to be considered ldquohigh layerrdquo inprotocol stack
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
13
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-25
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 134 have pkt frequency
bands 256 idlefr
eque
ncy
band
stime
FDM cable
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-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 ldquocollisionrdquo random access MAC protocol specifies
how to detect collisions how to recover from collisions (eg via delayed
retransmissions) Examples of random access MAC protocols
slotted ALOHA ALOHA CSMA CSMACD CSMACA
14
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-27
Slotted ALOHA
Assumptions all frames have same
size time is divided into
equal size slots (time totransmit 1 frame)
nodes start to transmitonly at slot beginning
nodes are synchronized if 2 or more nodes
transmit in slot allnodes detect collision
Operation when node obtains fresh
frame transmits in nextslot if no collision node can
send new frame in nextslot
if collision noderetransmits frame ineach subsequent slotwith prob p untilsuccess
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-28
Slotted ALOHA
Pros single active node can
continuously transmit atfull rate of channel
highly decentralizedonly slots in nodes needto be in sync
simple
Cons collisions wasting slots idle slots nodes may be able to
detect collision in less thantime to transmit packet
clock synchronization
15
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-29
Slotted Aloha efficiency
Suppose N nodes with many frames tosend each transmits in slot withprobability p Note not exactly slotted ALOHA
prob that node 1 has success in a slot =p(1-p)N-1
prob that any node has a success =Np(1-p)N-1
For max efficiency with Nnodes find p that maximizesNp(1-p)N-1
p = 1N For many nodes take limit of
Np(1-p)N-1 = (1-1N)N-1
as N goes to infinityit gives 1e = 037
Efficiency is the long-runfraction of successful slotswhen there are many nodes eachwith many frames to send
At best channelused for useful transmissions 37of time
limN
1$G
N
amp
(
)
N
= e$G
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-30
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-1t0+1]
In frame time units
16
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-31
Pure Aloha efficiencyP(success by given node) = P(node transmits) P(no other node transmits in [t0-1t0] P(no other node transmits in [t0t0+1] = p (1-p)N-1 (1-p)N-1
= p (1-p)2(N-1)
P (success by any node) = Np (1-p)2(N-1)
hellip choosing optimum p and then letting n go to infinity
= 1(2e) = 018
Even worse than slotted Aloha
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-32
Efficiency wrt average trafficload Let G = pN be the average aggregated traffic load
(or demand) per frame time = nr of transmission attempts per frame time N stations sending one frame with probability p in every
frame time Efficiency
Slotted ALOHA Np(1-p)N-1 = G (1-GN)N-1
ALOHA Np(1-p)2(N-1) = G (1-GN)2(N-1)
Efficiency (for a given G) when N gtgt Slotted ALOHA G e-G
ALOHA G e-2G
If G ltlt 1 efficiency asymp G perfect
limN
1$G
N
amp
(
)
N
= e$G
17
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-33
Efficiency Optimum out of 100 frame times- 37 are used effectively- 26 are collisions- 37 are just empty
From Computer Networks by Tanenbaum copy Prentice Hall
ALOHA versus Slotted ALOHA
frame
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-34
CSMA (Carrier Sense Multiple Access)
CSMA listen before transmitIf channel sensed idle transmit entire frame If channel sensed busy defer transmission
LBT Listen Before Talking (and deference)
human analogy donrsquot interrupt others
18
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-35
CSMA collisions
collisions can still occurpropagation delay meanstwo nodes may not heareach otherrsquos transmission
collisionentire packet transmissiontime wasted
spatial layout of nodes
noterole of distance amp propagationdelay in determining collisionprobability
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-36
persistent CSMA(if channel is busy listen until it isfreed)
non persistent CSMA(if channel is busy program anew attempt later)
p-persistent CSMAWhile true doif channel is freethen
with probability p immediate transmission or
with probability 1-p stay idle during at least propagation time (τ) else listen until the channel is freed
Trade-off between efficiency and delaybull This introduces a useless delay at low loadsbull But the efficiency of the channel is better at high loads
p-persistent CSMA
19
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-37
Efficiency
Efficiency versus load for various randomaccess protocols
From Computer Networks by Tanenbaum copy Prentice Hall
frame
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-38
B = Channel Data Rate (so-called Bandwidth) (bps)F = (Maximum) Frame size (bits)L = Length of the channel (m)c = Propagation speed (ms)
τ = Propagation delay = L c (s)T = Transmission delay = F B (s)
a = τ T = BL cFLet a = 1 rarr F = 100 BL c = plusmn 5 10-7 BL (with c = plusmn 200000 kms)Let B = 10 Mbps L = 25 km rarr F = 12500 bits (= 15625 bytes)This is roughly the Ethernet frame size
Engineering a CSMA network
20
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-39
CSMACD (Collision Detection)CSMACD 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 strengthscompare transmitted received signals
difficult in wireless LANs received signal strengthoverwhelmed by local transmission strength
human analogy the polite conversationalist
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-40
CSMACD collision detectionCSMACD CSMA
Lost time le 2 τ(worst case 2 max propagation timeswhen the 2 stations are at the 2 ends)+ detectabort time No abort so loss is T
21
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-41
To detect collision the sender must still be transmitting when the collisionpropagates back to it So the condition is
T gt 2τ which means FB gt 2 Lcwhich leads to a minimal Fmin = 2BLc = plusmn BL 10-8 bits
Let B = 10 Mbps L = 25 km rarr Fmin = plusmn 250 bits (= plusmn 32 bytes) Ethernet has chosen 64 bytes = 512 bits (extra margin due to other delays)
A B
(a)
A B
(b)
A B
(c)
A B
(d)Collision attime τ
Noise burst getsback to A at 2τ
Packet startsat time 0
Packet almostat B at τminusε
Minimal frame size with CSMACD
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-42
ldquoTaking Turnsrdquo MAC protocols
channel partitioning MAC protocols share channel efficiently and fairly at high load inefficient at low load delay in channel access
1N bandwidth allocated even if only 1 activenode
Random access MAC protocols efficient at low load single node can fully
utilize channel high load collision overhead
ldquotaking turnsrdquo protocolslook for best of both worlds
22
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-43
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodesto transmit in turn
typically used withldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-44
ldquoTaking Turnsrdquo MAC protocolsToken passing control token passed
from one node to nextsequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
23
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-45
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire) hard in
others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-46
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
24
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-47
MAC Addresses and ARP
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)
bull burned in NIC ROM also sometimes software settable
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-48
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
25
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-49
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
address depends on IP subnet to which node is attached
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-50
ARP Address Resolution Protocol
Each IP node (hostrouter) on LAN hasARP table
ARP table IPMACaddress mappings forsome LAN nodes
lt IP address MAC address TTLgt TTL (Time To Live) time
after which addressmapping will be forgotten(typically 20 min)
Question how to determineBrsquos MAC addressknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
26
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-51
ARP protocol Same LAN (network)
A wants to send datagramto B and Brsquos MAC addressnot in Arsquos ARP table
A broadcasts ARP querypacket containing Bs IPaddress dest MAC address =
FF-FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs)MAC address frame sent to Arsquos MAC
address (unicast)
A caches (saves) Brsquos IP-to-MAC address pair in itsARP table until informationbecomes old (times out) soft state information
that times out (goes away)unless refreshed
All other stations had alsocached Arsquos IP-to-MAC pair
ARP is ldquoplug-and-playrdquo nodes create their ARP
tables withoutintervention from netadministrator
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-52
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IPnetwork (LAN)
27
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-53
A creates IP datagram with source A destination B In routing table at source Host find Rrsquos IP = 111111111110 A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees itrsquos
destined for B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-54
Link Layer
51 Introduction andservices
52 Error detection
53Multiple accessprotocols
54 Link-LayerAddressing
55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
28
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-55
Ethernetldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-56
Star topology bus topology popular through mid 90s
all nodes in same collision domain (can collide with eachother)
today star topology prevails active switch in center each ldquospokerdquo runs a (separate) Ethernet protocol (nodes
do not collide with each other)
switch
bus coaxial cable star
29
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-57
Ethernet Frame StructureSending 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
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-58
Ethernet Frame Structure (more) Addresses 6 bytes
if adapter receives frame with matching destinationaddress or with broadcast address (eg ARP packet) itpasses data in frame to network layer protocol
otherwise adapter discards frame Type indicates higher layer protocol (mostly IP
but others possible eg Novell IPX AppleTalk) CRC checked at receiver if error is detected
frame is dropped
30
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-59
Ethernet Unreliable connectionless
connectionless No handshaking between sending andreceiving NICs
unreliable receiving NIC doesnrsquot send acks nor nacksto sending NIC stream of datagrams passed to network layer can have gaps
(missing datagrams) gaps will be filled if app is using TCP otherwise app will see gaps
Ethernetrsquos MAC protocol unslotted CSMACD
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-60
Ethernet CSMACD algorithm1 NIC receives datagram
from network layercreates frame
2 If NIC senses channel idlestarts frame transmissionIf NIC senses channelbusy waits until channelidle then transmits
3 If NIC transmits entireframe without detectinganother transmission NICis done with frame
4 If NIC detects anothertransmission whiletransmitting (collision)aborts and sends jamsignal
5 After aborting NICenters exponentialbackoff after mthcollision NIC chooses K atrandom from012hellip2m-1 NIC waitsK512 bit times returns toStep 2
31
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-61
Ethernetrsquos CSMACD (more)Jam Signal make sure all
other transmitters areaware of collision 48bits
Bit time 01 microsec for 10Mbps Ethernetfor K=1023 wait timeis about 50 msec
Exponential Backoff Goal adapt retransmission
attempts to estimatedcurrent load heavy load random wait
will be longer first collision choose K from
01 delay is K 512 bittransmission times
after second collision chooseK from 0123hellip
after ten collisions choose Kfrom 01234hellip1023
with this backoff algorithmEthernet is sort ofp-persistent CSMA with anadaptive p
Seeinteract with Javaapplet on AWL Web sitehighly recommended
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-62
S = T (T + α times 2τ)= 1 (1 + α times 2τT)= 1 (1 + α times 2BLcF )For large N α convergestowards e (plusmn27) for ap-persistent CSMA withp = 1N (ideal case)
So for N gtgt S cannotbe better than1 (1 + e times 2τT)= 1 (1 + 54 τT)
Number of active stations = N
Channel efficiency
S10
09
08
07
06
05
04
03
02
01
0 1 2 4 8 16 32 64 128 256
1024 byte frames
512 byte frames
256 byte frames
128 byte frames
64 byte frames
From Computer Networks by Tanenbaum copy Prentice Hall
Channel efficiency of an adaptivep-persistent CSMA
Let α = the average number of slots (2 τ) before any successful transmission
32
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-63
8023 Ethernet Standards Link amp Physical Layers
many different Ethernet standards common MAC protocol and frame format different speeds 2 Mbps 10 Mbps 100 Mbps
1 Gbps 10 Gbps different physical layer media fiber cable
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twistedpair) physical layer
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-64
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
33
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-65
Manchester encoding - Signaldistortion
Transmittedsignal
Receivedsignal
after 1200 mon RG11 coax
Manchester signal at 4Mbps
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-66
Link Layer
51 Introduction andservices
52 Error detection 53 Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
34
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-67
Hubshellip physical-layer (ldquodumbrdquo) repeaters
bits coming in one link go out all other links at samerate
all nodes connected to hub can collide with oneanother
no frame buffering no CSMACD at hub host NICs detect collisions
twisted pair
hub
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-68
Switch link-layer device smarter than hubs take
active role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links whenframe is to be forwarded on segment usesCSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
35
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-69
Switch allows multiple simultaneoustransmissions
hosts have dedicateddirect connection to switch
switches buffer packets Ethernet protocol used on
each incoming link but nocollisions full duplex each link is its own collision
domain switching A-to-Arsquo and B-
to-Brsquo simultaneouslywithout collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-70
Switch Table
Q how does switch know thatArsquo reachable via interface 4Brsquo reachable via interface 5
A each switch has a switchtable each entry (MAC address of host interface
to reach host time stamp) Is a MAC forwarding table
Looks like an IP forwarding table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
36
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-71
Switch self-learning
switch learns which hostscan be reached throughwhich interfaces when frame received
switch ldquolearnsrdquo location ofsender incoming LANsegment
records senderlocationpair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-72
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 if entry found for destination
then if dest on segment from which frame arrived
then drop the frame else forward the frame on interface indicated else flood forward on all but the interface
on which the frame arrived
37
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-73
Self-learningforwardingexample
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo frame destination
unknown flood
Arsquo A
destination Alocation known
Arsquo 4 60
selective send
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-74
Interconnecting switches
switches can be connected together
A
B
Q sending from A to F - how does S1 know how toforward frame destined for F via S4 and S2
A self learning (works exactly the same as insingle-switch case)
S1
C D
E
FS2
S4
S3
HI
G
38
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-75
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
HI
G
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-76
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
39
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-77
All principles seen so far are applicable to a subnet withseveral switches if there is no cycle in the topology No cycle = no redundancy in case of failure
Part of subnet can be disconnected
A B
LAN 1
C D E
F G H
LAN 4
LAN 3LAN 2
From Computer Networks by Tanenbaum copy Prentice Hall
More than one switch in asubnet
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-78
Problem Frame F (whose destination address is unknown to bothswitches) will loop
Solution build a logical spanning tree topology over the real topology
LAN 1
LAN 2
FInitial frame
F1 F2
Frame copiedby left switch
Frame copiedby right switch
From Computer Networks by Tanenbaum copy Prentice Hall
Problem with cycles
40
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-79
Build a logical tree reaching allLANs
1 Determine the root switch(smallest switch id)
Switches regularly flood controlmessages (BPDUs) on all theiroutput ports
BPDU = ltSource switch id root asassumed distance to rootgt
All switches will soon discoverthe root id
A B2
C31
LAN
4
G
I
D E F
6 75
H J8 9
Switch
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (1)Root switch A sends ltAA0gt on LAN1 and LAN2
B sends ltBA1gt on LAN 3
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-80
2 Build the tree By continuously receiving these
BPDUs (possibly on severalports) a switch knows itsdistance to the root and whichport leads to the root by thatshortest distance (root port r)
A B2
C31 4
G
I
D E F
6 75
H J8 9
r
r
r
rr
r
r
rr
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (2)Root portRoot switch
41
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-81
3 Decide if non-root ports are (data)forwarding or (data) blockingA port is forwarding (f) on a givenLAN if the BPDUs this switch sendson this LAN are smaller thanthose other switches (would) send
Smaller = shorter distance or equaldistance and smaller switch id
Exampleon LAN6 E sends ltEA2gt G would sendltGA2gt and J would send ltJA3gtSo E is elected to be the only one toforward frames on LAN6 J is too faraway from the root and G gt E
A B2
C31 4
G
I
D E F
6 75
H J8 9
rf
r
r
rr
r
r
rr
f f f
f f f
f f
Spanning tree (3)Forwarding port
Blocking port
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-82
Some switches (eg G and J) are not part of the tree Another case could be that some ports of some switches are blocking
They could become part of the tree if another switch or port would fail(leading to no refresh of BPDUs)
So switches have to listen to BPDUs on blocking ports to detect failures
1 2 3 4
5 6 7
8 9
A B C
D E F
H
LAN
Switch thatis part of the
spanning tree
Switch that isnot part of thespanning tree
I
The resulting spanning treeRouting on a spanning treeis not optimal
Same spanning tree for allsource-destination pair
Compare to layer-3 routing
From Computer Networks by Tanenbaum copy Prentice Hall
42
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-83
Switches vs Routers both store-and-forward devices
routers network layer devices (examine network layerheaders)
switches are link layer devices routers maintain IP routing and IP forwarding
tables implement routing algorithms switches maintain MAC forwarding tables
implement filtering learning and spanning treealgorithms
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-84
Summary comparison
hubs routers switches
traffic
isolation
no yes yes
plug amp play yes no yes
optimal
routing
no yes no
cut
through
yes no yes
Some do
43
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-85
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-86
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line ADSL line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
bull Data link used to be considered ldquohigh layerrdquo inprotocol stack
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
14
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-27
Slotted ALOHA
Assumptions all frames have same
size time is divided into
equal size slots (time totransmit 1 frame)
nodes start to transmitonly at slot beginning
nodes are synchronized if 2 or more nodes
transmit in slot allnodes detect collision
Operation when node obtains fresh
frame transmits in nextslot if no collision node can
send new frame in nextslot
if collision noderetransmits frame ineach subsequent slotwith prob p untilsuccess
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-28
Slotted ALOHA
Pros single active node can
continuously transmit atfull rate of channel
highly decentralizedonly slots in nodes needto be in sync
simple
Cons collisions wasting slots idle slots nodes may be able to
detect collision in less thantime to transmit packet
clock synchronization
15
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-29
Slotted Aloha efficiency
Suppose N nodes with many frames tosend each transmits in slot withprobability p Note not exactly slotted ALOHA
prob that node 1 has success in a slot =p(1-p)N-1
prob that any node has a success =Np(1-p)N-1
For max efficiency with Nnodes find p that maximizesNp(1-p)N-1
p = 1N For many nodes take limit of
Np(1-p)N-1 = (1-1N)N-1
as N goes to infinityit gives 1e = 037
Efficiency is the long-runfraction of successful slotswhen there are many nodes eachwith many frames to send
At best channelused for useful transmissions 37of time
limN
1$G
N
amp
(
)
N
= e$G
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-30
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-1t0+1]
In frame time units
16
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-31
Pure Aloha efficiencyP(success by given node) = P(node transmits) P(no other node transmits in [t0-1t0] P(no other node transmits in [t0t0+1] = p (1-p)N-1 (1-p)N-1
= p (1-p)2(N-1)
P (success by any node) = Np (1-p)2(N-1)
hellip choosing optimum p and then letting n go to infinity
= 1(2e) = 018
Even worse than slotted Aloha
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-32
Efficiency wrt average trafficload Let G = pN be the average aggregated traffic load
(or demand) per frame time = nr of transmission attempts per frame time N stations sending one frame with probability p in every
frame time Efficiency
Slotted ALOHA Np(1-p)N-1 = G (1-GN)N-1
ALOHA Np(1-p)2(N-1) = G (1-GN)2(N-1)
Efficiency (for a given G) when N gtgt Slotted ALOHA G e-G
ALOHA G e-2G
If G ltlt 1 efficiency asymp G perfect
limN
1$G
N
amp
(
)
N
= e$G
17
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-33
Efficiency Optimum out of 100 frame times- 37 are used effectively- 26 are collisions- 37 are just empty
From Computer Networks by Tanenbaum copy Prentice Hall
ALOHA versus Slotted ALOHA
frame
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-34
CSMA (Carrier Sense Multiple Access)
CSMA listen before transmitIf channel sensed idle transmit entire frame If channel sensed busy defer transmission
LBT Listen Before Talking (and deference)
human analogy donrsquot interrupt others
18
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-35
CSMA collisions
collisions can still occurpropagation delay meanstwo nodes may not heareach otherrsquos transmission
collisionentire packet transmissiontime wasted
spatial layout of nodes
noterole of distance amp propagationdelay in determining collisionprobability
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-36
persistent CSMA(if channel is busy listen until it isfreed)
non persistent CSMA(if channel is busy program anew attempt later)
p-persistent CSMAWhile true doif channel is freethen
with probability p immediate transmission or
with probability 1-p stay idle during at least propagation time (τ) else listen until the channel is freed
Trade-off between efficiency and delaybull This introduces a useless delay at low loadsbull But the efficiency of the channel is better at high loads
p-persistent CSMA
19
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-37
Efficiency
Efficiency versus load for various randomaccess protocols
From Computer Networks by Tanenbaum copy Prentice Hall
frame
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-38
B = Channel Data Rate (so-called Bandwidth) (bps)F = (Maximum) Frame size (bits)L = Length of the channel (m)c = Propagation speed (ms)
τ = Propagation delay = L c (s)T = Transmission delay = F B (s)
a = τ T = BL cFLet a = 1 rarr F = 100 BL c = plusmn 5 10-7 BL (with c = plusmn 200000 kms)Let B = 10 Mbps L = 25 km rarr F = 12500 bits (= 15625 bytes)This is roughly the Ethernet frame size
Engineering a CSMA network
20
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-39
CSMACD (Collision Detection)CSMACD 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 strengthscompare transmitted received signals
difficult in wireless LANs received signal strengthoverwhelmed by local transmission strength
human analogy the polite conversationalist
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-40
CSMACD collision detectionCSMACD CSMA
Lost time le 2 τ(worst case 2 max propagation timeswhen the 2 stations are at the 2 ends)+ detectabort time No abort so loss is T
21
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-41
To detect collision the sender must still be transmitting when the collisionpropagates back to it So the condition is
T gt 2τ which means FB gt 2 Lcwhich leads to a minimal Fmin = 2BLc = plusmn BL 10-8 bits
Let B = 10 Mbps L = 25 km rarr Fmin = plusmn 250 bits (= plusmn 32 bytes) Ethernet has chosen 64 bytes = 512 bits (extra margin due to other delays)
A B
(a)
A B
(b)
A B
(c)
A B
(d)Collision attime τ
Noise burst getsback to A at 2τ
Packet startsat time 0
Packet almostat B at τminusε
Minimal frame size with CSMACD
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-42
ldquoTaking Turnsrdquo MAC protocols
channel partitioning MAC protocols share channel efficiently and fairly at high load inefficient at low load delay in channel access
1N bandwidth allocated even if only 1 activenode
Random access MAC protocols efficient at low load single node can fully
utilize channel high load collision overhead
ldquotaking turnsrdquo protocolslook for best of both worlds
22
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-43
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodesto transmit in turn
typically used withldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-44
ldquoTaking Turnsrdquo MAC protocolsToken passing control token passed
from one node to nextsequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
23
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-45
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire) hard in
others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-46
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
24
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-47
MAC Addresses and ARP
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)
bull burned in NIC ROM also sometimes software settable
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-48
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
25
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-49
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
address depends on IP subnet to which node is attached
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-50
ARP Address Resolution Protocol
Each IP node (hostrouter) on LAN hasARP table
ARP table IPMACaddress mappings forsome LAN nodes
lt IP address MAC address TTLgt TTL (Time To Live) time
after which addressmapping will be forgotten(typically 20 min)
Question how to determineBrsquos MAC addressknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
26
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-51
ARP protocol Same LAN (network)
A wants to send datagramto B and Brsquos MAC addressnot in Arsquos ARP table
A broadcasts ARP querypacket containing Bs IPaddress dest MAC address =
FF-FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs)MAC address frame sent to Arsquos MAC
address (unicast)
A caches (saves) Brsquos IP-to-MAC address pair in itsARP table until informationbecomes old (times out) soft state information
that times out (goes away)unless refreshed
All other stations had alsocached Arsquos IP-to-MAC pair
ARP is ldquoplug-and-playrdquo nodes create their ARP
tables withoutintervention from netadministrator
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-52
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IPnetwork (LAN)
27
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-53
A creates IP datagram with source A destination B In routing table at source Host find Rrsquos IP = 111111111110 A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees itrsquos
destined for B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-54
Link Layer
51 Introduction andservices
52 Error detection
53Multiple accessprotocols
54 Link-LayerAddressing
55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
28
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-55
Ethernetldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-56
Star topology bus topology popular through mid 90s
all nodes in same collision domain (can collide with eachother)
today star topology prevails active switch in center each ldquospokerdquo runs a (separate) Ethernet protocol (nodes
do not collide with each other)
switch
bus coaxial cable star
29
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-57
Ethernet Frame StructureSending 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
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-58
Ethernet Frame Structure (more) Addresses 6 bytes
if adapter receives frame with matching destinationaddress or with broadcast address (eg ARP packet) itpasses data in frame to network layer protocol
otherwise adapter discards frame Type indicates higher layer protocol (mostly IP
but others possible eg Novell IPX AppleTalk) CRC checked at receiver if error is detected
frame is dropped
30
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-59
Ethernet Unreliable connectionless
connectionless No handshaking between sending andreceiving NICs
unreliable receiving NIC doesnrsquot send acks nor nacksto sending NIC stream of datagrams passed to network layer can have gaps
(missing datagrams) gaps will be filled if app is using TCP otherwise app will see gaps
Ethernetrsquos MAC protocol unslotted CSMACD
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-60
Ethernet CSMACD algorithm1 NIC receives datagram
from network layercreates frame
2 If NIC senses channel idlestarts frame transmissionIf NIC senses channelbusy waits until channelidle then transmits
3 If NIC transmits entireframe without detectinganother transmission NICis done with frame
4 If NIC detects anothertransmission whiletransmitting (collision)aborts and sends jamsignal
5 After aborting NICenters exponentialbackoff after mthcollision NIC chooses K atrandom from012hellip2m-1 NIC waitsK512 bit times returns toStep 2
31
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-61
Ethernetrsquos CSMACD (more)Jam Signal make sure all
other transmitters areaware of collision 48bits
Bit time 01 microsec for 10Mbps Ethernetfor K=1023 wait timeis about 50 msec
Exponential Backoff Goal adapt retransmission
attempts to estimatedcurrent load heavy load random wait
will be longer first collision choose K from
01 delay is K 512 bittransmission times
after second collision chooseK from 0123hellip
after ten collisions choose Kfrom 01234hellip1023
with this backoff algorithmEthernet is sort ofp-persistent CSMA with anadaptive p
Seeinteract with Javaapplet on AWL Web sitehighly recommended
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-62
S = T (T + α times 2τ)= 1 (1 + α times 2τT)= 1 (1 + α times 2BLcF )For large N α convergestowards e (plusmn27) for ap-persistent CSMA withp = 1N (ideal case)
So for N gtgt S cannotbe better than1 (1 + e times 2τT)= 1 (1 + 54 τT)
Number of active stations = N
Channel efficiency
S10
09
08
07
06
05
04
03
02
01
0 1 2 4 8 16 32 64 128 256
1024 byte frames
512 byte frames
256 byte frames
128 byte frames
64 byte frames
From Computer Networks by Tanenbaum copy Prentice Hall
Channel efficiency of an adaptivep-persistent CSMA
Let α = the average number of slots (2 τ) before any successful transmission
32
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-63
8023 Ethernet Standards Link amp Physical Layers
many different Ethernet standards common MAC protocol and frame format different speeds 2 Mbps 10 Mbps 100 Mbps
1 Gbps 10 Gbps different physical layer media fiber cable
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twistedpair) physical layer
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-64
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
33
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-65
Manchester encoding - Signaldistortion
Transmittedsignal
Receivedsignal
after 1200 mon RG11 coax
Manchester signal at 4Mbps
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-66
Link Layer
51 Introduction andservices
52 Error detection 53 Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
34
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-67
Hubshellip physical-layer (ldquodumbrdquo) repeaters
bits coming in one link go out all other links at samerate
all nodes connected to hub can collide with oneanother
no frame buffering no CSMACD at hub host NICs detect collisions
twisted pair
hub
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-68
Switch link-layer device smarter than hubs take
active role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links whenframe is to be forwarded on segment usesCSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
35
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-69
Switch allows multiple simultaneoustransmissions
hosts have dedicateddirect connection to switch
switches buffer packets Ethernet protocol used on
each incoming link but nocollisions full duplex each link is its own collision
domain switching A-to-Arsquo and B-
to-Brsquo simultaneouslywithout collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-70
Switch Table
Q how does switch know thatArsquo reachable via interface 4Brsquo reachable via interface 5
A each switch has a switchtable each entry (MAC address of host interface
to reach host time stamp) Is a MAC forwarding table
Looks like an IP forwarding table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
36
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-71
Switch self-learning
switch learns which hostscan be reached throughwhich interfaces when frame received
switch ldquolearnsrdquo location ofsender incoming LANsegment
records senderlocationpair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-72
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 if entry found for destination
then if dest on segment from which frame arrived
then drop the frame else forward the frame on interface indicated else flood forward on all but the interface
on which the frame arrived
37
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-73
Self-learningforwardingexample
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo frame destination
unknown flood
Arsquo A
destination Alocation known
Arsquo 4 60
selective send
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-74
Interconnecting switches
switches can be connected together
A
B
Q sending from A to F - how does S1 know how toforward frame destined for F via S4 and S2
A self learning (works exactly the same as insingle-switch case)
S1
C D
E
FS2
S4
S3
HI
G
38
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-75
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
HI
G
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-76
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
39
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-77
All principles seen so far are applicable to a subnet withseveral switches if there is no cycle in the topology No cycle = no redundancy in case of failure
Part of subnet can be disconnected
A B
LAN 1
C D E
F G H
LAN 4
LAN 3LAN 2
From Computer Networks by Tanenbaum copy Prentice Hall
More than one switch in asubnet
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-78
Problem Frame F (whose destination address is unknown to bothswitches) will loop
Solution build a logical spanning tree topology over the real topology
LAN 1
LAN 2
FInitial frame
F1 F2
Frame copiedby left switch
Frame copiedby right switch
From Computer Networks by Tanenbaum copy Prentice Hall
Problem with cycles
40
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-79
Build a logical tree reaching allLANs
1 Determine the root switch(smallest switch id)
Switches regularly flood controlmessages (BPDUs) on all theiroutput ports
BPDU = ltSource switch id root asassumed distance to rootgt
All switches will soon discoverthe root id
A B2
C31
LAN
4
G
I
D E F
6 75
H J8 9
Switch
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (1)Root switch A sends ltAA0gt on LAN1 and LAN2
B sends ltBA1gt on LAN 3
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-80
2 Build the tree By continuously receiving these
BPDUs (possibly on severalports) a switch knows itsdistance to the root and whichport leads to the root by thatshortest distance (root port r)
A B2
C31 4
G
I
D E F
6 75
H J8 9
r
r
r
rr
r
r
rr
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (2)Root portRoot switch
41
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-81
3 Decide if non-root ports are (data)forwarding or (data) blockingA port is forwarding (f) on a givenLAN if the BPDUs this switch sendson this LAN are smaller thanthose other switches (would) send
Smaller = shorter distance or equaldistance and smaller switch id
Exampleon LAN6 E sends ltEA2gt G would sendltGA2gt and J would send ltJA3gtSo E is elected to be the only one toforward frames on LAN6 J is too faraway from the root and G gt E
A B2
C31 4
G
I
D E F
6 75
H J8 9
rf
r
r
rr
r
r
rr
f f f
f f f
f f
Spanning tree (3)Forwarding port
Blocking port
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-82
Some switches (eg G and J) are not part of the tree Another case could be that some ports of some switches are blocking
They could become part of the tree if another switch or port would fail(leading to no refresh of BPDUs)
So switches have to listen to BPDUs on blocking ports to detect failures
1 2 3 4
5 6 7
8 9
A B C
D E F
H
LAN
Switch thatis part of the
spanning tree
Switch that isnot part of thespanning tree
I
The resulting spanning treeRouting on a spanning treeis not optimal
Same spanning tree for allsource-destination pair
Compare to layer-3 routing
From Computer Networks by Tanenbaum copy Prentice Hall
42
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-83
Switches vs Routers both store-and-forward devices
routers network layer devices (examine network layerheaders)
switches are link layer devices routers maintain IP routing and IP forwarding
tables implement routing algorithms switches maintain MAC forwarding tables
implement filtering learning and spanning treealgorithms
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-84
Summary comparison
hubs routers switches
traffic
isolation
no yes yes
plug amp play yes no yes
optimal
routing
no yes no
cut
through
yes no yes
Some do
43
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-85
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-86
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line ADSL line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
bull Data link used to be considered ldquohigh layerrdquo inprotocol stack
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
15
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-29
Slotted Aloha efficiency
Suppose N nodes with many frames tosend each transmits in slot withprobability p Note not exactly slotted ALOHA
prob that node 1 has success in a slot =p(1-p)N-1
prob that any node has a success =Np(1-p)N-1
For max efficiency with Nnodes find p that maximizesNp(1-p)N-1
p = 1N For many nodes take limit of
Np(1-p)N-1 = (1-1N)N-1
as N goes to infinityit gives 1e = 037
Efficiency is the long-runfraction of successful slotswhen there are many nodes eachwith many frames to send
At best channelused for useful transmissions 37of time
limN
1$G
N
amp
(
)
N
= e$G
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-30
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-1t0+1]
In frame time units
16
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-31
Pure Aloha efficiencyP(success by given node) = P(node transmits) P(no other node transmits in [t0-1t0] P(no other node transmits in [t0t0+1] = p (1-p)N-1 (1-p)N-1
= p (1-p)2(N-1)
P (success by any node) = Np (1-p)2(N-1)
hellip choosing optimum p and then letting n go to infinity
= 1(2e) = 018
Even worse than slotted Aloha
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-32
Efficiency wrt average trafficload Let G = pN be the average aggregated traffic load
(or demand) per frame time = nr of transmission attempts per frame time N stations sending one frame with probability p in every
frame time Efficiency
Slotted ALOHA Np(1-p)N-1 = G (1-GN)N-1
ALOHA Np(1-p)2(N-1) = G (1-GN)2(N-1)
Efficiency (for a given G) when N gtgt Slotted ALOHA G e-G
ALOHA G e-2G
If G ltlt 1 efficiency asymp G perfect
limN
1$G
N
amp
(
)
N
= e$G
17
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-33
Efficiency Optimum out of 100 frame times- 37 are used effectively- 26 are collisions- 37 are just empty
From Computer Networks by Tanenbaum copy Prentice Hall
ALOHA versus Slotted ALOHA
frame
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-34
CSMA (Carrier Sense Multiple Access)
CSMA listen before transmitIf channel sensed idle transmit entire frame If channel sensed busy defer transmission
LBT Listen Before Talking (and deference)
human analogy donrsquot interrupt others
18
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-35
CSMA collisions
collisions can still occurpropagation delay meanstwo nodes may not heareach otherrsquos transmission
collisionentire packet transmissiontime wasted
spatial layout of nodes
noterole of distance amp propagationdelay in determining collisionprobability
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-36
persistent CSMA(if channel is busy listen until it isfreed)
non persistent CSMA(if channel is busy program anew attempt later)
p-persistent CSMAWhile true doif channel is freethen
with probability p immediate transmission or
with probability 1-p stay idle during at least propagation time (τ) else listen until the channel is freed
Trade-off between efficiency and delaybull This introduces a useless delay at low loadsbull But the efficiency of the channel is better at high loads
p-persistent CSMA
19
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-37
Efficiency
Efficiency versus load for various randomaccess protocols
From Computer Networks by Tanenbaum copy Prentice Hall
frame
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-38
B = Channel Data Rate (so-called Bandwidth) (bps)F = (Maximum) Frame size (bits)L = Length of the channel (m)c = Propagation speed (ms)
τ = Propagation delay = L c (s)T = Transmission delay = F B (s)
a = τ T = BL cFLet a = 1 rarr F = 100 BL c = plusmn 5 10-7 BL (with c = plusmn 200000 kms)Let B = 10 Mbps L = 25 km rarr F = 12500 bits (= 15625 bytes)This is roughly the Ethernet frame size
Engineering a CSMA network
20
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-39
CSMACD (Collision Detection)CSMACD 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 strengthscompare transmitted received signals
difficult in wireless LANs received signal strengthoverwhelmed by local transmission strength
human analogy the polite conversationalist
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-40
CSMACD collision detectionCSMACD CSMA
Lost time le 2 τ(worst case 2 max propagation timeswhen the 2 stations are at the 2 ends)+ detectabort time No abort so loss is T
21
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-41
To detect collision the sender must still be transmitting when the collisionpropagates back to it So the condition is
T gt 2τ which means FB gt 2 Lcwhich leads to a minimal Fmin = 2BLc = plusmn BL 10-8 bits
Let B = 10 Mbps L = 25 km rarr Fmin = plusmn 250 bits (= plusmn 32 bytes) Ethernet has chosen 64 bytes = 512 bits (extra margin due to other delays)
A B
(a)
A B
(b)
A B
(c)
A B
(d)Collision attime τ
Noise burst getsback to A at 2τ
Packet startsat time 0
Packet almostat B at τminusε
Minimal frame size with CSMACD
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-42
ldquoTaking Turnsrdquo MAC protocols
channel partitioning MAC protocols share channel efficiently and fairly at high load inefficient at low load delay in channel access
1N bandwidth allocated even if only 1 activenode
Random access MAC protocols efficient at low load single node can fully
utilize channel high load collision overhead
ldquotaking turnsrdquo protocolslook for best of both worlds
22
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-43
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodesto transmit in turn
typically used withldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-44
ldquoTaking Turnsrdquo MAC protocolsToken passing control token passed
from one node to nextsequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
23
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-45
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire) hard in
others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-46
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
24
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-47
MAC Addresses and ARP
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)
bull burned in NIC ROM also sometimes software settable
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-48
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
25
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-49
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
address depends on IP subnet to which node is attached
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-50
ARP Address Resolution Protocol
Each IP node (hostrouter) on LAN hasARP table
ARP table IPMACaddress mappings forsome LAN nodes
lt IP address MAC address TTLgt TTL (Time To Live) time
after which addressmapping will be forgotten(typically 20 min)
Question how to determineBrsquos MAC addressknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
26
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-51
ARP protocol Same LAN (network)
A wants to send datagramto B and Brsquos MAC addressnot in Arsquos ARP table
A broadcasts ARP querypacket containing Bs IPaddress dest MAC address =
FF-FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs)MAC address frame sent to Arsquos MAC
address (unicast)
A caches (saves) Brsquos IP-to-MAC address pair in itsARP table until informationbecomes old (times out) soft state information
that times out (goes away)unless refreshed
All other stations had alsocached Arsquos IP-to-MAC pair
ARP is ldquoplug-and-playrdquo nodes create their ARP
tables withoutintervention from netadministrator
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-52
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IPnetwork (LAN)
27
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-53
A creates IP datagram with source A destination B In routing table at source Host find Rrsquos IP = 111111111110 A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees itrsquos
destined for B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-54
Link Layer
51 Introduction andservices
52 Error detection
53Multiple accessprotocols
54 Link-LayerAddressing
55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
28
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-55
Ethernetldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-56
Star topology bus topology popular through mid 90s
all nodes in same collision domain (can collide with eachother)
today star topology prevails active switch in center each ldquospokerdquo runs a (separate) Ethernet protocol (nodes
do not collide with each other)
switch
bus coaxial cable star
29
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-57
Ethernet Frame StructureSending 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
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-58
Ethernet Frame Structure (more) Addresses 6 bytes
if adapter receives frame with matching destinationaddress or with broadcast address (eg ARP packet) itpasses data in frame to network layer protocol
otherwise adapter discards frame Type indicates higher layer protocol (mostly IP
but others possible eg Novell IPX AppleTalk) CRC checked at receiver if error is detected
frame is dropped
30
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-59
Ethernet Unreliable connectionless
connectionless No handshaking between sending andreceiving NICs
unreliable receiving NIC doesnrsquot send acks nor nacksto sending NIC stream of datagrams passed to network layer can have gaps
(missing datagrams) gaps will be filled if app is using TCP otherwise app will see gaps
Ethernetrsquos MAC protocol unslotted CSMACD
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-60
Ethernet CSMACD algorithm1 NIC receives datagram
from network layercreates frame
2 If NIC senses channel idlestarts frame transmissionIf NIC senses channelbusy waits until channelidle then transmits
3 If NIC transmits entireframe without detectinganother transmission NICis done with frame
4 If NIC detects anothertransmission whiletransmitting (collision)aborts and sends jamsignal
5 After aborting NICenters exponentialbackoff after mthcollision NIC chooses K atrandom from012hellip2m-1 NIC waitsK512 bit times returns toStep 2
31
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-61
Ethernetrsquos CSMACD (more)Jam Signal make sure all
other transmitters areaware of collision 48bits
Bit time 01 microsec for 10Mbps Ethernetfor K=1023 wait timeis about 50 msec
Exponential Backoff Goal adapt retransmission
attempts to estimatedcurrent load heavy load random wait
will be longer first collision choose K from
01 delay is K 512 bittransmission times
after second collision chooseK from 0123hellip
after ten collisions choose Kfrom 01234hellip1023
with this backoff algorithmEthernet is sort ofp-persistent CSMA with anadaptive p
Seeinteract with Javaapplet on AWL Web sitehighly recommended
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-62
S = T (T + α times 2τ)= 1 (1 + α times 2τT)= 1 (1 + α times 2BLcF )For large N α convergestowards e (plusmn27) for ap-persistent CSMA withp = 1N (ideal case)
So for N gtgt S cannotbe better than1 (1 + e times 2τT)= 1 (1 + 54 τT)
Number of active stations = N
Channel efficiency
S10
09
08
07
06
05
04
03
02
01
0 1 2 4 8 16 32 64 128 256
1024 byte frames
512 byte frames
256 byte frames
128 byte frames
64 byte frames
From Computer Networks by Tanenbaum copy Prentice Hall
Channel efficiency of an adaptivep-persistent CSMA
Let α = the average number of slots (2 τ) before any successful transmission
32
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-63
8023 Ethernet Standards Link amp Physical Layers
many different Ethernet standards common MAC protocol and frame format different speeds 2 Mbps 10 Mbps 100 Mbps
1 Gbps 10 Gbps different physical layer media fiber cable
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twistedpair) physical layer
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-64
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
33
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-65
Manchester encoding - Signaldistortion
Transmittedsignal
Receivedsignal
after 1200 mon RG11 coax
Manchester signal at 4Mbps
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-66
Link Layer
51 Introduction andservices
52 Error detection 53 Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
34
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-67
Hubshellip physical-layer (ldquodumbrdquo) repeaters
bits coming in one link go out all other links at samerate
all nodes connected to hub can collide with oneanother
no frame buffering no CSMACD at hub host NICs detect collisions
twisted pair
hub
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-68
Switch link-layer device smarter than hubs take
active role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links whenframe is to be forwarded on segment usesCSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
35
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-69
Switch allows multiple simultaneoustransmissions
hosts have dedicateddirect connection to switch
switches buffer packets Ethernet protocol used on
each incoming link but nocollisions full duplex each link is its own collision
domain switching A-to-Arsquo and B-
to-Brsquo simultaneouslywithout collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-70
Switch Table
Q how does switch know thatArsquo reachable via interface 4Brsquo reachable via interface 5
A each switch has a switchtable each entry (MAC address of host interface
to reach host time stamp) Is a MAC forwarding table
Looks like an IP forwarding table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
36
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-71
Switch self-learning
switch learns which hostscan be reached throughwhich interfaces when frame received
switch ldquolearnsrdquo location ofsender incoming LANsegment
records senderlocationpair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-72
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 if entry found for destination
then if dest on segment from which frame arrived
then drop the frame else forward the frame on interface indicated else flood forward on all but the interface
on which the frame arrived
37
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-73
Self-learningforwardingexample
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo frame destination
unknown flood
Arsquo A
destination Alocation known
Arsquo 4 60
selective send
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-74
Interconnecting switches
switches can be connected together
A
B
Q sending from A to F - how does S1 know how toforward frame destined for F via S4 and S2
A self learning (works exactly the same as insingle-switch case)
S1
C D
E
FS2
S4
S3
HI
G
38
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-75
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
HI
G
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-76
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
39
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-77
All principles seen so far are applicable to a subnet withseveral switches if there is no cycle in the topology No cycle = no redundancy in case of failure
Part of subnet can be disconnected
A B
LAN 1
C D E
F G H
LAN 4
LAN 3LAN 2
From Computer Networks by Tanenbaum copy Prentice Hall
More than one switch in asubnet
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-78
Problem Frame F (whose destination address is unknown to bothswitches) will loop
Solution build a logical spanning tree topology over the real topology
LAN 1
LAN 2
FInitial frame
F1 F2
Frame copiedby left switch
Frame copiedby right switch
From Computer Networks by Tanenbaum copy Prentice Hall
Problem with cycles
40
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-79
Build a logical tree reaching allLANs
1 Determine the root switch(smallest switch id)
Switches regularly flood controlmessages (BPDUs) on all theiroutput ports
BPDU = ltSource switch id root asassumed distance to rootgt
All switches will soon discoverthe root id
A B2
C31
LAN
4
G
I
D E F
6 75
H J8 9
Switch
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (1)Root switch A sends ltAA0gt on LAN1 and LAN2
B sends ltBA1gt on LAN 3
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-80
2 Build the tree By continuously receiving these
BPDUs (possibly on severalports) a switch knows itsdistance to the root and whichport leads to the root by thatshortest distance (root port r)
A B2
C31 4
G
I
D E F
6 75
H J8 9
r
r
r
rr
r
r
rr
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (2)Root portRoot switch
41
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-81
3 Decide if non-root ports are (data)forwarding or (data) blockingA port is forwarding (f) on a givenLAN if the BPDUs this switch sendson this LAN are smaller thanthose other switches (would) send
Smaller = shorter distance or equaldistance and smaller switch id
Exampleon LAN6 E sends ltEA2gt G would sendltGA2gt and J would send ltJA3gtSo E is elected to be the only one toforward frames on LAN6 J is too faraway from the root and G gt E
A B2
C31 4
G
I
D E F
6 75
H J8 9
rf
r
r
rr
r
r
rr
f f f
f f f
f f
Spanning tree (3)Forwarding port
Blocking port
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-82
Some switches (eg G and J) are not part of the tree Another case could be that some ports of some switches are blocking
They could become part of the tree if another switch or port would fail(leading to no refresh of BPDUs)
So switches have to listen to BPDUs on blocking ports to detect failures
1 2 3 4
5 6 7
8 9
A B C
D E F
H
LAN
Switch thatis part of the
spanning tree
Switch that isnot part of thespanning tree
I
The resulting spanning treeRouting on a spanning treeis not optimal
Same spanning tree for allsource-destination pair
Compare to layer-3 routing
From Computer Networks by Tanenbaum copy Prentice Hall
42
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-83
Switches vs Routers both store-and-forward devices
routers network layer devices (examine network layerheaders)
switches are link layer devices routers maintain IP routing and IP forwarding
tables implement routing algorithms switches maintain MAC forwarding tables
implement filtering learning and spanning treealgorithms
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-84
Summary comparison
hubs routers switches
traffic
isolation
no yes yes
plug amp play yes no yes
optimal
routing
no yes no
cut
through
yes no yes
Some do
43
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-85
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-86
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line ADSL line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
bull Data link used to be considered ldquohigh layerrdquo inprotocol stack
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
16
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-31
Pure Aloha efficiencyP(success by given node) = P(node transmits) P(no other node transmits in [t0-1t0] P(no other node transmits in [t0t0+1] = p (1-p)N-1 (1-p)N-1
= p (1-p)2(N-1)
P (success by any node) = Np (1-p)2(N-1)
hellip choosing optimum p and then letting n go to infinity
= 1(2e) = 018
Even worse than slotted Aloha
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-32
Efficiency wrt average trafficload Let G = pN be the average aggregated traffic load
(or demand) per frame time = nr of transmission attempts per frame time N stations sending one frame with probability p in every
frame time Efficiency
Slotted ALOHA Np(1-p)N-1 = G (1-GN)N-1
ALOHA Np(1-p)2(N-1) = G (1-GN)2(N-1)
Efficiency (for a given G) when N gtgt Slotted ALOHA G e-G
ALOHA G e-2G
If G ltlt 1 efficiency asymp G perfect
limN
1$G
N
amp
(
)
N
= e$G
17
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-33
Efficiency Optimum out of 100 frame times- 37 are used effectively- 26 are collisions- 37 are just empty
From Computer Networks by Tanenbaum copy Prentice Hall
ALOHA versus Slotted ALOHA
frame
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-34
CSMA (Carrier Sense Multiple Access)
CSMA listen before transmitIf channel sensed idle transmit entire frame If channel sensed busy defer transmission
LBT Listen Before Talking (and deference)
human analogy donrsquot interrupt others
18
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-35
CSMA collisions
collisions can still occurpropagation delay meanstwo nodes may not heareach otherrsquos transmission
collisionentire packet transmissiontime wasted
spatial layout of nodes
noterole of distance amp propagationdelay in determining collisionprobability
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-36
persistent CSMA(if channel is busy listen until it isfreed)
non persistent CSMA(if channel is busy program anew attempt later)
p-persistent CSMAWhile true doif channel is freethen
with probability p immediate transmission or
with probability 1-p stay idle during at least propagation time (τ) else listen until the channel is freed
Trade-off between efficiency and delaybull This introduces a useless delay at low loadsbull But the efficiency of the channel is better at high loads
p-persistent CSMA
19
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-37
Efficiency
Efficiency versus load for various randomaccess protocols
From Computer Networks by Tanenbaum copy Prentice Hall
frame
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-38
B = Channel Data Rate (so-called Bandwidth) (bps)F = (Maximum) Frame size (bits)L = Length of the channel (m)c = Propagation speed (ms)
τ = Propagation delay = L c (s)T = Transmission delay = F B (s)
a = τ T = BL cFLet a = 1 rarr F = 100 BL c = plusmn 5 10-7 BL (with c = plusmn 200000 kms)Let B = 10 Mbps L = 25 km rarr F = 12500 bits (= 15625 bytes)This is roughly the Ethernet frame size
Engineering a CSMA network
20
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-39
CSMACD (Collision Detection)CSMACD 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 strengthscompare transmitted received signals
difficult in wireless LANs received signal strengthoverwhelmed by local transmission strength
human analogy the polite conversationalist
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-40
CSMACD collision detectionCSMACD CSMA
Lost time le 2 τ(worst case 2 max propagation timeswhen the 2 stations are at the 2 ends)+ detectabort time No abort so loss is T
21
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-41
To detect collision the sender must still be transmitting when the collisionpropagates back to it So the condition is
T gt 2τ which means FB gt 2 Lcwhich leads to a minimal Fmin = 2BLc = plusmn BL 10-8 bits
Let B = 10 Mbps L = 25 km rarr Fmin = plusmn 250 bits (= plusmn 32 bytes) Ethernet has chosen 64 bytes = 512 bits (extra margin due to other delays)
A B
(a)
A B
(b)
A B
(c)
A B
(d)Collision attime τ
Noise burst getsback to A at 2τ
Packet startsat time 0
Packet almostat B at τminusε
Minimal frame size with CSMACD
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-42
ldquoTaking Turnsrdquo MAC protocols
channel partitioning MAC protocols share channel efficiently and fairly at high load inefficient at low load delay in channel access
1N bandwidth allocated even if only 1 activenode
Random access MAC protocols efficient at low load single node can fully
utilize channel high load collision overhead
ldquotaking turnsrdquo protocolslook for best of both worlds
22
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-43
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodesto transmit in turn
typically used withldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-44
ldquoTaking Turnsrdquo MAC protocolsToken passing control token passed
from one node to nextsequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
23
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-45
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire) hard in
others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-46
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
24
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-47
MAC Addresses and ARP
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)
bull burned in NIC ROM also sometimes software settable
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-48
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
25
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-49
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
address depends on IP subnet to which node is attached
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-50
ARP Address Resolution Protocol
Each IP node (hostrouter) on LAN hasARP table
ARP table IPMACaddress mappings forsome LAN nodes
lt IP address MAC address TTLgt TTL (Time To Live) time
after which addressmapping will be forgotten(typically 20 min)
Question how to determineBrsquos MAC addressknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
26
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-51
ARP protocol Same LAN (network)
A wants to send datagramto B and Brsquos MAC addressnot in Arsquos ARP table
A broadcasts ARP querypacket containing Bs IPaddress dest MAC address =
FF-FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs)MAC address frame sent to Arsquos MAC
address (unicast)
A caches (saves) Brsquos IP-to-MAC address pair in itsARP table until informationbecomes old (times out) soft state information
that times out (goes away)unless refreshed
All other stations had alsocached Arsquos IP-to-MAC pair
ARP is ldquoplug-and-playrdquo nodes create their ARP
tables withoutintervention from netadministrator
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-52
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IPnetwork (LAN)
27
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-53
A creates IP datagram with source A destination B In routing table at source Host find Rrsquos IP = 111111111110 A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees itrsquos
destined for B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-54
Link Layer
51 Introduction andservices
52 Error detection
53Multiple accessprotocols
54 Link-LayerAddressing
55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
28
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-55
Ethernetldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-56
Star topology bus topology popular through mid 90s
all nodes in same collision domain (can collide with eachother)
today star topology prevails active switch in center each ldquospokerdquo runs a (separate) Ethernet protocol (nodes
do not collide with each other)
switch
bus coaxial cable star
29
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-57
Ethernet Frame StructureSending 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
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-58
Ethernet Frame Structure (more) Addresses 6 bytes
if adapter receives frame with matching destinationaddress or with broadcast address (eg ARP packet) itpasses data in frame to network layer protocol
otherwise adapter discards frame Type indicates higher layer protocol (mostly IP
but others possible eg Novell IPX AppleTalk) CRC checked at receiver if error is detected
frame is dropped
30
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-59
Ethernet Unreliable connectionless
connectionless No handshaking between sending andreceiving NICs
unreliable receiving NIC doesnrsquot send acks nor nacksto sending NIC stream of datagrams passed to network layer can have gaps
(missing datagrams) gaps will be filled if app is using TCP otherwise app will see gaps
Ethernetrsquos MAC protocol unslotted CSMACD
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-60
Ethernet CSMACD algorithm1 NIC receives datagram
from network layercreates frame
2 If NIC senses channel idlestarts frame transmissionIf NIC senses channelbusy waits until channelidle then transmits
3 If NIC transmits entireframe without detectinganother transmission NICis done with frame
4 If NIC detects anothertransmission whiletransmitting (collision)aborts and sends jamsignal
5 After aborting NICenters exponentialbackoff after mthcollision NIC chooses K atrandom from012hellip2m-1 NIC waitsK512 bit times returns toStep 2
31
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-61
Ethernetrsquos CSMACD (more)Jam Signal make sure all
other transmitters areaware of collision 48bits
Bit time 01 microsec for 10Mbps Ethernetfor K=1023 wait timeis about 50 msec
Exponential Backoff Goal adapt retransmission
attempts to estimatedcurrent load heavy load random wait
will be longer first collision choose K from
01 delay is K 512 bittransmission times
after second collision chooseK from 0123hellip
after ten collisions choose Kfrom 01234hellip1023
with this backoff algorithmEthernet is sort ofp-persistent CSMA with anadaptive p
Seeinteract with Javaapplet on AWL Web sitehighly recommended
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-62
S = T (T + α times 2τ)= 1 (1 + α times 2τT)= 1 (1 + α times 2BLcF )For large N α convergestowards e (plusmn27) for ap-persistent CSMA withp = 1N (ideal case)
So for N gtgt S cannotbe better than1 (1 + e times 2τT)= 1 (1 + 54 τT)
Number of active stations = N
Channel efficiency
S10
09
08
07
06
05
04
03
02
01
0 1 2 4 8 16 32 64 128 256
1024 byte frames
512 byte frames
256 byte frames
128 byte frames
64 byte frames
From Computer Networks by Tanenbaum copy Prentice Hall
Channel efficiency of an adaptivep-persistent CSMA
Let α = the average number of slots (2 τ) before any successful transmission
32
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-63
8023 Ethernet Standards Link amp Physical Layers
many different Ethernet standards common MAC protocol and frame format different speeds 2 Mbps 10 Mbps 100 Mbps
1 Gbps 10 Gbps different physical layer media fiber cable
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twistedpair) physical layer
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-64
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
33
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-65
Manchester encoding - Signaldistortion
Transmittedsignal
Receivedsignal
after 1200 mon RG11 coax
Manchester signal at 4Mbps
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-66
Link Layer
51 Introduction andservices
52 Error detection 53 Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
34
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-67
Hubshellip physical-layer (ldquodumbrdquo) repeaters
bits coming in one link go out all other links at samerate
all nodes connected to hub can collide with oneanother
no frame buffering no CSMACD at hub host NICs detect collisions
twisted pair
hub
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-68
Switch link-layer device smarter than hubs take
active role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links whenframe is to be forwarded on segment usesCSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
35
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-69
Switch allows multiple simultaneoustransmissions
hosts have dedicateddirect connection to switch
switches buffer packets Ethernet protocol used on
each incoming link but nocollisions full duplex each link is its own collision
domain switching A-to-Arsquo and B-
to-Brsquo simultaneouslywithout collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-70
Switch Table
Q how does switch know thatArsquo reachable via interface 4Brsquo reachable via interface 5
A each switch has a switchtable each entry (MAC address of host interface
to reach host time stamp) Is a MAC forwarding table
Looks like an IP forwarding table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
36
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-71
Switch self-learning
switch learns which hostscan be reached throughwhich interfaces when frame received
switch ldquolearnsrdquo location ofsender incoming LANsegment
records senderlocationpair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-72
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 if entry found for destination
then if dest on segment from which frame arrived
then drop the frame else forward the frame on interface indicated else flood forward on all but the interface
on which the frame arrived
37
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-73
Self-learningforwardingexample
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo frame destination
unknown flood
Arsquo A
destination Alocation known
Arsquo 4 60
selective send
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-74
Interconnecting switches
switches can be connected together
A
B
Q sending from A to F - how does S1 know how toforward frame destined for F via S4 and S2
A self learning (works exactly the same as insingle-switch case)
S1
C D
E
FS2
S4
S3
HI
G
38
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-75
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
HI
G
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-76
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
39
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-77
All principles seen so far are applicable to a subnet withseveral switches if there is no cycle in the topology No cycle = no redundancy in case of failure
Part of subnet can be disconnected
A B
LAN 1
C D E
F G H
LAN 4
LAN 3LAN 2
From Computer Networks by Tanenbaum copy Prentice Hall
More than one switch in asubnet
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-78
Problem Frame F (whose destination address is unknown to bothswitches) will loop
Solution build a logical spanning tree topology over the real topology
LAN 1
LAN 2
FInitial frame
F1 F2
Frame copiedby left switch
Frame copiedby right switch
From Computer Networks by Tanenbaum copy Prentice Hall
Problem with cycles
40
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-79
Build a logical tree reaching allLANs
1 Determine the root switch(smallest switch id)
Switches regularly flood controlmessages (BPDUs) on all theiroutput ports
BPDU = ltSource switch id root asassumed distance to rootgt
All switches will soon discoverthe root id
A B2
C31
LAN
4
G
I
D E F
6 75
H J8 9
Switch
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (1)Root switch A sends ltAA0gt on LAN1 and LAN2
B sends ltBA1gt on LAN 3
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-80
2 Build the tree By continuously receiving these
BPDUs (possibly on severalports) a switch knows itsdistance to the root and whichport leads to the root by thatshortest distance (root port r)
A B2
C31 4
G
I
D E F
6 75
H J8 9
r
r
r
rr
r
r
rr
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (2)Root portRoot switch
41
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-81
3 Decide if non-root ports are (data)forwarding or (data) blockingA port is forwarding (f) on a givenLAN if the BPDUs this switch sendson this LAN are smaller thanthose other switches (would) send
Smaller = shorter distance or equaldistance and smaller switch id
Exampleon LAN6 E sends ltEA2gt G would sendltGA2gt and J would send ltJA3gtSo E is elected to be the only one toforward frames on LAN6 J is too faraway from the root and G gt E
A B2
C31 4
G
I
D E F
6 75
H J8 9
rf
r
r
rr
r
r
rr
f f f
f f f
f f
Spanning tree (3)Forwarding port
Blocking port
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-82
Some switches (eg G and J) are not part of the tree Another case could be that some ports of some switches are blocking
They could become part of the tree if another switch or port would fail(leading to no refresh of BPDUs)
So switches have to listen to BPDUs on blocking ports to detect failures
1 2 3 4
5 6 7
8 9
A B C
D E F
H
LAN
Switch thatis part of the
spanning tree
Switch that isnot part of thespanning tree
I
The resulting spanning treeRouting on a spanning treeis not optimal
Same spanning tree for allsource-destination pair
Compare to layer-3 routing
From Computer Networks by Tanenbaum copy Prentice Hall
42
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-83
Switches vs Routers both store-and-forward devices
routers network layer devices (examine network layerheaders)
switches are link layer devices routers maintain IP routing and IP forwarding
tables implement routing algorithms switches maintain MAC forwarding tables
implement filtering learning and spanning treealgorithms
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-84
Summary comparison
hubs routers switches
traffic
isolation
no yes yes
plug amp play yes no yes
optimal
routing
no yes no
cut
through
yes no yes
Some do
43
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-85
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-86
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line ADSL line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
bull Data link used to be considered ldquohigh layerrdquo inprotocol stack
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
17
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-33
Efficiency Optimum out of 100 frame times- 37 are used effectively- 26 are collisions- 37 are just empty
From Computer Networks by Tanenbaum copy Prentice Hall
ALOHA versus Slotted ALOHA
frame
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-34
CSMA (Carrier Sense Multiple Access)
CSMA listen before transmitIf channel sensed idle transmit entire frame If channel sensed busy defer transmission
LBT Listen Before Talking (and deference)
human analogy donrsquot interrupt others
18
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-35
CSMA collisions
collisions can still occurpropagation delay meanstwo nodes may not heareach otherrsquos transmission
collisionentire packet transmissiontime wasted
spatial layout of nodes
noterole of distance amp propagationdelay in determining collisionprobability
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-36
persistent CSMA(if channel is busy listen until it isfreed)
non persistent CSMA(if channel is busy program anew attempt later)
p-persistent CSMAWhile true doif channel is freethen
with probability p immediate transmission or
with probability 1-p stay idle during at least propagation time (τ) else listen until the channel is freed
Trade-off between efficiency and delaybull This introduces a useless delay at low loadsbull But the efficiency of the channel is better at high loads
p-persistent CSMA
19
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-37
Efficiency
Efficiency versus load for various randomaccess protocols
From Computer Networks by Tanenbaum copy Prentice Hall
frame
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-38
B = Channel Data Rate (so-called Bandwidth) (bps)F = (Maximum) Frame size (bits)L = Length of the channel (m)c = Propagation speed (ms)
τ = Propagation delay = L c (s)T = Transmission delay = F B (s)
a = τ T = BL cFLet a = 1 rarr F = 100 BL c = plusmn 5 10-7 BL (with c = plusmn 200000 kms)Let B = 10 Mbps L = 25 km rarr F = 12500 bits (= 15625 bytes)This is roughly the Ethernet frame size
Engineering a CSMA network
20
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-39
CSMACD (Collision Detection)CSMACD 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 strengthscompare transmitted received signals
difficult in wireless LANs received signal strengthoverwhelmed by local transmission strength
human analogy the polite conversationalist
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-40
CSMACD collision detectionCSMACD CSMA
Lost time le 2 τ(worst case 2 max propagation timeswhen the 2 stations are at the 2 ends)+ detectabort time No abort so loss is T
21
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-41
To detect collision the sender must still be transmitting when the collisionpropagates back to it So the condition is
T gt 2τ which means FB gt 2 Lcwhich leads to a minimal Fmin = 2BLc = plusmn BL 10-8 bits
Let B = 10 Mbps L = 25 km rarr Fmin = plusmn 250 bits (= plusmn 32 bytes) Ethernet has chosen 64 bytes = 512 bits (extra margin due to other delays)
A B
(a)
A B
(b)
A B
(c)
A B
(d)Collision attime τ
Noise burst getsback to A at 2τ
Packet startsat time 0
Packet almostat B at τminusε
Minimal frame size with CSMACD
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-42
ldquoTaking Turnsrdquo MAC protocols
channel partitioning MAC protocols share channel efficiently and fairly at high load inefficient at low load delay in channel access
1N bandwidth allocated even if only 1 activenode
Random access MAC protocols efficient at low load single node can fully
utilize channel high load collision overhead
ldquotaking turnsrdquo protocolslook for best of both worlds
22
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-43
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodesto transmit in turn
typically used withldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-44
ldquoTaking Turnsrdquo MAC protocolsToken passing control token passed
from one node to nextsequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
23
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-45
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire) hard in
others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-46
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
24
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-47
MAC Addresses and ARP
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)
bull burned in NIC ROM also sometimes software settable
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-48
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
25
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-49
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
address depends on IP subnet to which node is attached
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-50
ARP Address Resolution Protocol
Each IP node (hostrouter) on LAN hasARP table
ARP table IPMACaddress mappings forsome LAN nodes
lt IP address MAC address TTLgt TTL (Time To Live) time
after which addressmapping will be forgotten(typically 20 min)
Question how to determineBrsquos MAC addressknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
26
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-51
ARP protocol Same LAN (network)
A wants to send datagramto B and Brsquos MAC addressnot in Arsquos ARP table
A broadcasts ARP querypacket containing Bs IPaddress dest MAC address =
FF-FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs)MAC address frame sent to Arsquos MAC
address (unicast)
A caches (saves) Brsquos IP-to-MAC address pair in itsARP table until informationbecomes old (times out) soft state information
that times out (goes away)unless refreshed
All other stations had alsocached Arsquos IP-to-MAC pair
ARP is ldquoplug-and-playrdquo nodes create their ARP
tables withoutintervention from netadministrator
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-52
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IPnetwork (LAN)
27
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-53
A creates IP datagram with source A destination B In routing table at source Host find Rrsquos IP = 111111111110 A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees itrsquos
destined for B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-54
Link Layer
51 Introduction andservices
52 Error detection
53Multiple accessprotocols
54 Link-LayerAddressing
55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
28
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-55
Ethernetldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-56
Star topology bus topology popular through mid 90s
all nodes in same collision domain (can collide with eachother)
today star topology prevails active switch in center each ldquospokerdquo runs a (separate) Ethernet protocol (nodes
do not collide with each other)
switch
bus coaxial cable star
29
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-57
Ethernet Frame StructureSending 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
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-58
Ethernet Frame Structure (more) Addresses 6 bytes
if adapter receives frame with matching destinationaddress or with broadcast address (eg ARP packet) itpasses data in frame to network layer protocol
otherwise adapter discards frame Type indicates higher layer protocol (mostly IP
but others possible eg Novell IPX AppleTalk) CRC checked at receiver if error is detected
frame is dropped
30
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-59
Ethernet Unreliable connectionless
connectionless No handshaking between sending andreceiving NICs
unreliable receiving NIC doesnrsquot send acks nor nacksto sending NIC stream of datagrams passed to network layer can have gaps
(missing datagrams) gaps will be filled if app is using TCP otherwise app will see gaps
Ethernetrsquos MAC protocol unslotted CSMACD
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-60
Ethernet CSMACD algorithm1 NIC receives datagram
from network layercreates frame
2 If NIC senses channel idlestarts frame transmissionIf NIC senses channelbusy waits until channelidle then transmits
3 If NIC transmits entireframe without detectinganother transmission NICis done with frame
4 If NIC detects anothertransmission whiletransmitting (collision)aborts and sends jamsignal
5 After aborting NICenters exponentialbackoff after mthcollision NIC chooses K atrandom from012hellip2m-1 NIC waitsK512 bit times returns toStep 2
31
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-61
Ethernetrsquos CSMACD (more)Jam Signal make sure all
other transmitters areaware of collision 48bits
Bit time 01 microsec for 10Mbps Ethernetfor K=1023 wait timeis about 50 msec
Exponential Backoff Goal adapt retransmission
attempts to estimatedcurrent load heavy load random wait
will be longer first collision choose K from
01 delay is K 512 bittransmission times
after second collision chooseK from 0123hellip
after ten collisions choose Kfrom 01234hellip1023
with this backoff algorithmEthernet is sort ofp-persistent CSMA with anadaptive p
Seeinteract with Javaapplet on AWL Web sitehighly recommended
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-62
S = T (T + α times 2τ)= 1 (1 + α times 2τT)= 1 (1 + α times 2BLcF )For large N α convergestowards e (plusmn27) for ap-persistent CSMA withp = 1N (ideal case)
So for N gtgt S cannotbe better than1 (1 + e times 2τT)= 1 (1 + 54 τT)
Number of active stations = N
Channel efficiency
S10
09
08
07
06
05
04
03
02
01
0 1 2 4 8 16 32 64 128 256
1024 byte frames
512 byte frames
256 byte frames
128 byte frames
64 byte frames
From Computer Networks by Tanenbaum copy Prentice Hall
Channel efficiency of an adaptivep-persistent CSMA
Let α = the average number of slots (2 τ) before any successful transmission
32
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-63
8023 Ethernet Standards Link amp Physical Layers
many different Ethernet standards common MAC protocol and frame format different speeds 2 Mbps 10 Mbps 100 Mbps
1 Gbps 10 Gbps different physical layer media fiber cable
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twistedpair) physical layer
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-64
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
33
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-65
Manchester encoding - Signaldistortion
Transmittedsignal
Receivedsignal
after 1200 mon RG11 coax
Manchester signal at 4Mbps
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-66
Link Layer
51 Introduction andservices
52 Error detection 53 Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
34
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-67
Hubshellip physical-layer (ldquodumbrdquo) repeaters
bits coming in one link go out all other links at samerate
all nodes connected to hub can collide with oneanother
no frame buffering no CSMACD at hub host NICs detect collisions
twisted pair
hub
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-68
Switch link-layer device smarter than hubs take
active role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links whenframe is to be forwarded on segment usesCSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
35
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-69
Switch allows multiple simultaneoustransmissions
hosts have dedicateddirect connection to switch
switches buffer packets Ethernet protocol used on
each incoming link but nocollisions full duplex each link is its own collision
domain switching A-to-Arsquo and B-
to-Brsquo simultaneouslywithout collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-70
Switch Table
Q how does switch know thatArsquo reachable via interface 4Brsquo reachable via interface 5
A each switch has a switchtable each entry (MAC address of host interface
to reach host time stamp) Is a MAC forwarding table
Looks like an IP forwarding table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
36
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-71
Switch self-learning
switch learns which hostscan be reached throughwhich interfaces when frame received
switch ldquolearnsrdquo location ofsender incoming LANsegment
records senderlocationpair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-72
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 if entry found for destination
then if dest on segment from which frame arrived
then drop the frame else forward the frame on interface indicated else flood forward on all but the interface
on which the frame arrived
37
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-73
Self-learningforwardingexample
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo frame destination
unknown flood
Arsquo A
destination Alocation known
Arsquo 4 60
selective send
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-74
Interconnecting switches
switches can be connected together
A
B
Q sending from A to F - how does S1 know how toforward frame destined for F via S4 and S2
A self learning (works exactly the same as insingle-switch case)
S1
C D
E
FS2
S4
S3
HI
G
38
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-75
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
HI
G
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-76
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
39
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-77
All principles seen so far are applicable to a subnet withseveral switches if there is no cycle in the topology No cycle = no redundancy in case of failure
Part of subnet can be disconnected
A B
LAN 1
C D E
F G H
LAN 4
LAN 3LAN 2
From Computer Networks by Tanenbaum copy Prentice Hall
More than one switch in asubnet
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-78
Problem Frame F (whose destination address is unknown to bothswitches) will loop
Solution build a logical spanning tree topology over the real topology
LAN 1
LAN 2
FInitial frame
F1 F2
Frame copiedby left switch
Frame copiedby right switch
From Computer Networks by Tanenbaum copy Prentice Hall
Problem with cycles
40
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-79
Build a logical tree reaching allLANs
1 Determine the root switch(smallest switch id)
Switches regularly flood controlmessages (BPDUs) on all theiroutput ports
BPDU = ltSource switch id root asassumed distance to rootgt
All switches will soon discoverthe root id
A B2
C31
LAN
4
G
I
D E F
6 75
H J8 9
Switch
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (1)Root switch A sends ltAA0gt on LAN1 and LAN2
B sends ltBA1gt on LAN 3
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-80
2 Build the tree By continuously receiving these
BPDUs (possibly on severalports) a switch knows itsdistance to the root and whichport leads to the root by thatshortest distance (root port r)
A B2
C31 4
G
I
D E F
6 75
H J8 9
r
r
r
rr
r
r
rr
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (2)Root portRoot switch
41
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-81
3 Decide if non-root ports are (data)forwarding or (data) blockingA port is forwarding (f) on a givenLAN if the BPDUs this switch sendson this LAN are smaller thanthose other switches (would) send
Smaller = shorter distance or equaldistance and smaller switch id
Exampleon LAN6 E sends ltEA2gt G would sendltGA2gt and J would send ltJA3gtSo E is elected to be the only one toforward frames on LAN6 J is too faraway from the root and G gt E
A B2
C31 4
G
I
D E F
6 75
H J8 9
rf
r
r
rr
r
r
rr
f f f
f f f
f f
Spanning tree (3)Forwarding port
Blocking port
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-82
Some switches (eg G and J) are not part of the tree Another case could be that some ports of some switches are blocking
They could become part of the tree if another switch or port would fail(leading to no refresh of BPDUs)
So switches have to listen to BPDUs on blocking ports to detect failures
1 2 3 4
5 6 7
8 9
A B C
D E F
H
LAN
Switch thatis part of the
spanning tree
Switch that isnot part of thespanning tree
I
The resulting spanning treeRouting on a spanning treeis not optimal
Same spanning tree for allsource-destination pair
Compare to layer-3 routing
From Computer Networks by Tanenbaum copy Prentice Hall
42
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-83
Switches vs Routers both store-and-forward devices
routers network layer devices (examine network layerheaders)
switches are link layer devices routers maintain IP routing and IP forwarding
tables implement routing algorithms switches maintain MAC forwarding tables
implement filtering learning and spanning treealgorithms
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-84
Summary comparison
hubs routers switches
traffic
isolation
no yes yes
plug amp play yes no yes
optimal
routing
no yes no
cut
through
yes no yes
Some do
43
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-85
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-86
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line ADSL line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
bull Data link used to be considered ldquohigh layerrdquo inprotocol stack
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
18
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-35
CSMA collisions
collisions can still occurpropagation delay meanstwo nodes may not heareach otherrsquos transmission
collisionentire packet transmissiontime wasted
spatial layout of nodes
noterole of distance amp propagationdelay in determining collisionprobability
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-36
persistent CSMA(if channel is busy listen until it isfreed)
non persistent CSMA(if channel is busy program anew attempt later)
p-persistent CSMAWhile true doif channel is freethen
with probability p immediate transmission or
with probability 1-p stay idle during at least propagation time (τ) else listen until the channel is freed
Trade-off between efficiency and delaybull This introduces a useless delay at low loadsbull But the efficiency of the channel is better at high loads
p-persistent CSMA
19
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-37
Efficiency
Efficiency versus load for various randomaccess protocols
From Computer Networks by Tanenbaum copy Prentice Hall
frame
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-38
B = Channel Data Rate (so-called Bandwidth) (bps)F = (Maximum) Frame size (bits)L = Length of the channel (m)c = Propagation speed (ms)
τ = Propagation delay = L c (s)T = Transmission delay = F B (s)
a = τ T = BL cFLet a = 1 rarr F = 100 BL c = plusmn 5 10-7 BL (with c = plusmn 200000 kms)Let B = 10 Mbps L = 25 km rarr F = 12500 bits (= 15625 bytes)This is roughly the Ethernet frame size
Engineering a CSMA network
20
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-39
CSMACD (Collision Detection)CSMACD 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 strengthscompare transmitted received signals
difficult in wireless LANs received signal strengthoverwhelmed by local transmission strength
human analogy the polite conversationalist
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-40
CSMACD collision detectionCSMACD CSMA
Lost time le 2 τ(worst case 2 max propagation timeswhen the 2 stations are at the 2 ends)+ detectabort time No abort so loss is T
21
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-41
To detect collision the sender must still be transmitting when the collisionpropagates back to it So the condition is
T gt 2τ which means FB gt 2 Lcwhich leads to a minimal Fmin = 2BLc = plusmn BL 10-8 bits
Let B = 10 Mbps L = 25 km rarr Fmin = plusmn 250 bits (= plusmn 32 bytes) Ethernet has chosen 64 bytes = 512 bits (extra margin due to other delays)
A B
(a)
A B
(b)
A B
(c)
A B
(d)Collision attime τ
Noise burst getsback to A at 2τ
Packet startsat time 0
Packet almostat B at τminusε
Minimal frame size with CSMACD
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-42
ldquoTaking Turnsrdquo MAC protocols
channel partitioning MAC protocols share channel efficiently and fairly at high load inefficient at low load delay in channel access
1N bandwidth allocated even if only 1 activenode
Random access MAC protocols efficient at low load single node can fully
utilize channel high load collision overhead
ldquotaking turnsrdquo protocolslook for best of both worlds
22
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-43
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodesto transmit in turn
typically used withldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-44
ldquoTaking Turnsrdquo MAC protocolsToken passing control token passed
from one node to nextsequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
23
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-45
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire) hard in
others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-46
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
24
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-47
MAC Addresses and ARP
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)
bull burned in NIC ROM also sometimes software settable
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-48
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
25
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-49
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
address depends on IP subnet to which node is attached
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-50
ARP Address Resolution Protocol
Each IP node (hostrouter) on LAN hasARP table
ARP table IPMACaddress mappings forsome LAN nodes
lt IP address MAC address TTLgt TTL (Time To Live) time
after which addressmapping will be forgotten(typically 20 min)
Question how to determineBrsquos MAC addressknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
26
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-51
ARP protocol Same LAN (network)
A wants to send datagramto B and Brsquos MAC addressnot in Arsquos ARP table
A broadcasts ARP querypacket containing Bs IPaddress dest MAC address =
FF-FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs)MAC address frame sent to Arsquos MAC
address (unicast)
A caches (saves) Brsquos IP-to-MAC address pair in itsARP table until informationbecomes old (times out) soft state information
that times out (goes away)unless refreshed
All other stations had alsocached Arsquos IP-to-MAC pair
ARP is ldquoplug-and-playrdquo nodes create their ARP
tables withoutintervention from netadministrator
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-52
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IPnetwork (LAN)
27
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-53
A creates IP datagram with source A destination B In routing table at source Host find Rrsquos IP = 111111111110 A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees itrsquos
destined for B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-54
Link Layer
51 Introduction andservices
52 Error detection
53Multiple accessprotocols
54 Link-LayerAddressing
55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
28
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-55
Ethernetldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-56
Star topology bus topology popular through mid 90s
all nodes in same collision domain (can collide with eachother)
today star topology prevails active switch in center each ldquospokerdquo runs a (separate) Ethernet protocol (nodes
do not collide with each other)
switch
bus coaxial cable star
29
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-57
Ethernet Frame StructureSending 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
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-58
Ethernet Frame Structure (more) Addresses 6 bytes
if adapter receives frame with matching destinationaddress or with broadcast address (eg ARP packet) itpasses data in frame to network layer protocol
otherwise adapter discards frame Type indicates higher layer protocol (mostly IP
but others possible eg Novell IPX AppleTalk) CRC checked at receiver if error is detected
frame is dropped
30
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-59
Ethernet Unreliable connectionless
connectionless No handshaking between sending andreceiving NICs
unreliable receiving NIC doesnrsquot send acks nor nacksto sending NIC stream of datagrams passed to network layer can have gaps
(missing datagrams) gaps will be filled if app is using TCP otherwise app will see gaps
Ethernetrsquos MAC protocol unslotted CSMACD
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-60
Ethernet CSMACD algorithm1 NIC receives datagram
from network layercreates frame
2 If NIC senses channel idlestarts frame transmissionIf NIC senses channelbusy waits until channelidle then transmits
3 If NIC transmits entireframe without detectinganother transmission NICis done with frame
4 If NIC detects anothertransmission whiletransmitting (collision)aborts and sends jamsignal
5 After aborting NICenters exponentialbackoff after mthcollision NIC chooses K atrandom from012hellip2m-1 NIC waitsK512 bit times returns toStep 2
31
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-61
Ethernetrsquos CSMACD (more)Jam Signal make sure all
other transmitters areaware of collision 48bits
Bit time 01 microsec for 10Mbps Ethernetfor K=1023 wait timeis about 50 msec
Exponential Backoff Goal adapt retransmission
attempts to estimatedcurrent load heavy load random wait
will be longer first collision choose K from
01 delay is K 512 bittransmission times
after second collision chooseK from 0123hellip
after ten collisions choose Kfrom 01234hellip1023
with this backoff algorithmEthernet is sort ofp-persistent CSMA with anadaptive p
Seeinteract with Javaapplet on AWL Web sitehighly recommended
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-62
S = T (T + α times 2τ)= 1 (1 + α times 2τT)= 1 (1 + α times 2BLcF )For large N α convergestowards e (plusmn27) for ap-persistent CSMA withp = 1N (ideal case)
So for N gtgt S cannotbe better than1 (1 + e times 2τT)= 1 (1 + 54 τT)
Number of active stations = N
Channel efficiency
S10
09
08
07
06
05
04
03
02
01
0 1 2 4 8 16 32 64 128 256
1024 byte frames
512 byte frames
256 byte frames
128 byte frames
64 byte frames
From Computer Networks by Tanenbaum copy Prentice Hall
Channel efficiency of an adaptivep-persistent CSMA
Let α = the average number of slots (2 τ) before any successful transmission
32
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-63
8023 Ethernet Standards Link amp Physical Layers
many different Ethernet standards common MAC protocol and frame format different speeds 2 Mbps 10 Mbps 100 Mbps
1 Gbps 10 Gbps different physical layer media fiber cable
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twistedpair) physical layer
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-64
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
33
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-65
Manchester encoding - Signaldistortion
Transmittedsignal
Receivedsignal
after 1200 mon RG11 coax
Manchester signal at 4Mbps
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-66
Link Layer
51 Introduction andservices
52 Error detection 53 Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
34
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-67
Hubshellip physical-layer (ldquodumbrdquo) repeaters
bits coming in one link go out all other links at samerate
all nodes connected to hub can collide with oneanother
no frame buffering no CSMACD at hub host NICs detect collisions
twisted pair
hub
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-68
Switch link-layer device smarter than hubs take
active role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links whenframe is to be forwarded on segment usesCSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
35
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-69
Switch allows multiple simultaneoustransmissions
hosts have dedicateddirect connection to switch
switches buffer packets Ethernet protocol used on
each incoming link but nocollisions full duplex each link is its own collision
domain switching A-to-Arsquo and B-
to-Brsquo simultaneouslywithout collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-70
Switch Table
Q how does switch know thatArsquo reachable via interface 4Brsquo reachable via interface 5
A each switch has a switchtable each entry (MAC address of host interface
to reach host time stamp) Is a MAC forwarding table
Looks like an IP forwarding table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
36
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-71
Switch self-learning
switch learns which hostscan be reached throughwhich interfaces when frame received
switch ldquolearnsrdquo location ofsender incoming LANsegment
records senderlocationpair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-72
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 if entry found for destination
then if dest on segment from which frame arrived
then drop the frame else forward the frame on interface indicated else flood forward on all but the interface
on which the frame arrived
37
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-73
Self-learningforwardingexample
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo frame destination
unknown flood
Arsquo A
destination Alocation known
Arsquo 4 60
selective send
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-74
Interconnecting switches
switches can be connected together
A
B
Q sending from A to F - how does S1 know how toforward frame destined for F via S4 and S2
A self learning (works exactly the same as insingle-switch case)
S1
C D
E
FS2
S4
S3
HI
G
38
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-75
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
HI
G
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-76
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
39
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-77
All principles seen so far are applicable to a subnet withseveral switches if there is no cycle in the topology No cycle = no redundancy in case of failure
Part of subnet can be disconnected
A B
LAN 1
C D E
F G H
LAN 4
LAN 3LAN 2
From Computer Networks by Tanenbaum copy Prentice Hall
More than one switch in asubnet
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-78
Problem Frame F (whose destination address is unknown to bothswitches) will loop
Solution build a logical spanning tree topology over the real topology
LAN 1
LAN 2
FInitial frame
F1 F2
Frame copiedby left switch
Frame copiedby right switch
From Computer Networks by Tanenbaum copy Prentice Hall
Problem with cycles
40
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-79
Build a logical tree reaching allLANs
1 Determine the root switch(smallest switch id)
Switches regularly flood controlmessages (BPDUs) on all theiroutput ports
BPDU = ltSource switch id root asassumed distance to rootgt
All switches will soon discoverthe root id
A B2
C31
LAN
4
G
I
D E F
6 75
H J8 9
Switch
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (1)Root switch A sends ltAA0gt on LAN1 and LAN2
B sends ltBA1gt on LAN 3
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-80
2 Build the tree By continuously receiving these
BPDUs (possibly on severalports) a switch knows itsdistance to the root and whichport leads to the root by thatshortest distance (root port r)
A B2
C31 4
G
I
D E F
6 75
H J8 9
r
r
r
rr
r
r
rr
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (2)Root portRoot switch
41
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-81
3 Decide if non-root ports are (data)forwarding or (data) blockingA port is forwarding (f) on a givenLAN if the BPDUs this switch sendson this LAN are smaller thanthose other switches (would) send
Smaller = shorter distance or equaldistance and smaller switch id
Exampleon LAN6 E sends ltEA2gt G would sendltGA2gt and J would send ltJA3gtSo E is elected to be the only one toforward frames on LAN6 J is too faraway from the root and G gt E
A B2
C31 4
G
I
D E F
6 75
H J8 9
rf
r
r
rr
r
r
rr
f f f
f f f
f f
Spanning tree (3)Forwarding port
Blocking port
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-82
Some switches (eg G and J) are not part of the tree Another case could be that some ports of some switches are blocking
They could become part of the tree if another switch or port would fail(leading to no refresh of BPDUs)
So switches have to listen to BPDUs on blocking ports to detect failures
1 2 3 4
5 6 7
8 9
A B C
D E F
H
LAN
Switch thatis part of the
spanning tree
Switch that isnot part of thespanning tree
I
The resulting spanning treeRouting on a spanning treeis not optimal
Same spanning tree for allsource-destination pair
Compare to layer-3 routing
From Computer Networks by Tanenbaum copy Prentice Hall
42
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-83
Switches vs Routers both store-and-forward devices
routers network layer devices (examine network layerheaders)
switches are link layer devices routers maintain IP routing and IP forwarding
tables implement routing algorithms switches maintain MAC forwarding tables
implement filtering learning and spanning treealgorithms
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-84
Summary comparison
hubs routers switches
traffic
isolation
no yes yes
plug amp play yes no yes
optimal
routing
no yes no
cut
through
yes no yes
Some do
43
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-85
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-86
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line ADSL line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
bull Data link used to be considered ldquohigh layerrdquo inprotocol stack
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
19
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-37
Efficiency
Efficiency versus load for various randomaccess protocols
From Computer Networks by Tanenbaum copy Prentice Hall
frame
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-38
B = Channel Data Rate (so-called Bandwidth) (bps)F = (Maximum) Frame size (bits)L = Length of the channel (m)c = Propagation speed (ms)
τ = Propagation delay = L c (s)T = Transmission delay = F B (s)
a = τ T = BL cFLet a = 1 rarr F = 100 BL c = plusmn 5 10-7 BL (with c = plusmn 200000 kms)Let B = 10 Mbps L = 25 km rarr F = 12500 bits (= 15625 bytes)This is roughly the Ethernet frame size
Engineering a CSMA network
20
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-39
CSMACD (Collision Detection)CSMACD 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 strengthscompare transmitted received signals
difficult in wireless LANs received signal strengthoverwhelmed by local transmission strength
human analogy the polite conversationalist
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-40
CSMACD collision detectionCSMACD CSMA
Lost time le 2 τ(worst case 2 max propagation timeswhen the 2 stations are at the 2 ends)+ detectabort time No abort so loss is T
21
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-41
To detect collision the sender must still be transmitting when the collisionpropagates back to it So the condition is
T gt 2τ which means FB gt 2 Lcwhich leads to a minimal Fmin = 2BLc = plusmn BL 10-8 bits
Let B = 10 Mbps L = 25 km rarr Fmin = plusmn 250 bits (= plusmn 32 bytes) Ethernet has chosen 64 bytes = 512 bits (extra margin due to other delays)
A B
(a)
A B
(b)
A B
(c)
A B
(d)Collision attime τ
Noise burst getsback to A at 2τ
Packet startsat time 0
Packet almostat B at τminusε
Minimal frame size with CSMACD
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-42
ldquoTaking Turnsrdquo MAC protocols
channel partitioning MAC protocols share channel efficiently and fairly at high load inefficient at low load delay in channel access
1N bandwidth allocated even if only 1 activenode
Random access MAC protocols efficient at low load single node can fully
utilize channel high load collision overhead
ldquotaking turnsrdquo protocolslook for best of both worlds
22
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-43
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodesto transmit in turn
typically used withldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-44
ldquoTaking Turnsrdquo MAC protocolsToken passing control token passed
from one node to nextsequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
23
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-45
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire) hard in
others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-46
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
24
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-47
MAC Addresses and ARP
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)
bull burned in NIC ROM also sometimes software settable
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-48
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
25
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-49
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
address depends on IP subnet to which node is attached
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-50
ARP Address Resolution Protocol
Each IP node (hostrouter) on LAN hasARP table
ARP table IPMACaddress mappings forsome LAN nodes
lt IP address MAC address TTLgt TTL (Time To Live) time
after which addressmapping will be forgotten(typically 20 min)
Question how to determineBrsquos MAC addressknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
26
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-51
ARP protocol Same LAN (network)
A wants to send datagramto B and Brsquos MAC addressnot in Arsquos ARP table
A broadcasts ARP querypacket containing Bs IPaddress dest MAC address =
FF-FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs)MAC address frame sent to Arsquos MAC
address (unicast)
A caches (saves) Brsquos IP-to-MAC address pair in itsARP table until informationbecomes old (times out) soft state information
that times out (goes away)unless refreshed
All other stations had alsocached Arsquos IP-to-MAC pair
ARP is ldquoplug-and-playrdquo nodes create their ARP
tables withoutintervention from netadministrator
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-52
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IPnetwork (LAN)
27
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-53
A creates IP datagram with source A destination B In routing table at source Host find Rrsquos IP = 111111111110 A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees itrsquos
destined for B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-54
Link Layer
51 Introduction andservices
52 Error detection
53Multiple accessprotocols
54 Link-LayerAddressing
55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
28
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-55
Ethernetldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-56
Star topology bus topology popular through mid 90s
all nodes in same collision domain (can collide with eachother)
today star topology prevails active switch in center each ldquospokerdquo runs a (separate) Ethernet protocol (nodes
do not collide with each other)
switch
bus coaxial cable star
29
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-57
Ethernet Frame StructureSending 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
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-58
Ethernet Frame Structure (more) Addresses 6 bytes
if adapter receives frame with matching destinationaddress or with broadcast address (eg ARP packet) itpasses data in frame to network layer protocol
otherwise adapter discards frame Type indicates higher layer protocol (mostly IP
but others possible eg Novell IPX AppleTalk) CRC checked at receiver if error is detected
frame is dropped
30
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-59
Ethernet Unreliable connectionless
connectionless No handshaking between sending andreceiving NICs
unreliable receiving NIC doesnrsquot send acks nor nacksto sending NIC stream of datagrams passed to network layer can have gaps
(missing datagrams) gaps will be filled if app is using TCP otherwise app will see gaps
Ethernetrsquos MAC protocol unslotted CSMACD
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-60
Ethernet CSMACD algorithm1 NIC receives datagram
from network layercreates frame
2 If NIC senses channel idlestarts frame transmissionIf NIC senses channelbusy waits until channelidle then transmits
3 If NIC transmits entireframe without detectinganother transmission NICis done with frame
4 If NIC detects anothertransmission whiletransmitting (collision)aborts and sends jamsignal
5 After aborting NICenters exponentialbackoff after mthcollision NIC chooses K atrandom from012hellip2m-1 NIC waitsK512 bit times returns toStep 2
31
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-61
Ethernetrsquos CSMACD (more)Jam Signal make sure all
other transmitters areaware of collision 48bits
Bit time 01 microsec for 10Mbps Ethernetfor K=1023 wait timeis about 50 msec
Exponential Backoff Goal adapt retransmission
attempts to estimatedcurrent load heavy load random wait
will be longer first collision choose K from
01 delay is K 512 bittransmission times
after second collision chooseK from 0123hellip
after ten collisions choose Kfrom 01234hellip1023
with this backoff algorithmEthernet is sort ofp-persistent CSMA with anadaptive p
Seeinteract with Javaapplet on AWL Web sitehighly recommended
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-62
S = T (T + α times 2τ)= 1 (1 + α times 2τT)= 1 (1 + α times 2BLcF )For large N α convergestowards e (plusmn27) for ap-persistent CSMA withp = 1N (ideal case)
So for N gtgt S cannotbe better than1 (1 + e times 2τT)= 1 (1 + 54 τT)
Number of active stations = N
Channel efficiency
S10
09
08
07
06
05
04
03
02
01
0 1 2 4 8 16 32 64 128 256
1024 byte frames
512 byte frames
256 byte frames
128 byte frames
64 byte frames
From Computer Networks by Tanenbaum copy Prentice Hall
Channel efficiency of an adaptivep-persistent CSMA
Let α = the average number of slots (2 τ) before any successful transmission
32
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-63
8023 Ethernet Standards Link amp Physical Layers
many different Ethernet standards common MAC protocol and frame format different speeds 2 Mbps 10 Mbps 100 Mbps
1 Gbps 10 Gbps different physical layer media fiber cable
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twistedpair) physical layer
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-64
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
33
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-65
Manchester encoding - Signaldistortion
Transmittedsignal
Receivedsignal
after 1200 mon RG11 coax
Manchester signal at 4Mbps
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-66
Link Layer
51 Introduction andservices
52 Error detection 53 Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
34
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-67
Hubshellip physical-layer (ldquodumbrdquo) repeaters
bits coming in one link go out all other links at samerate
all nodes connected to hub can collide with oneanother
no frame buffering no CSMACD at hub host NICs detect collisions
twisted pair
hub
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-68
Switch link-layer device smarter than hubs take
active role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links whenframe is to be forwarded on segment usesCSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
35
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-69
Switch allows multiple simultaneoustransmissions
hosts have dedicateddirect connection to switch
switches buffer packets Ethernet protocol used on
each incoming link but nocollisions full duplex each link is its own collision
domain switching A-to-Arsquo and B-
to-Brsquo simultaneouslywithout collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-70
Switch Table
Q how does switch know thatArsquo reachable via interface 4Brsquo reachable via interface 5
A each switch has a switchtable each entry (MAC address of host interface
to reach host time stamp) Is a MAC forwarding table
Looks like an IP forwarding table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
36
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-71
Switch self-learning
switch learns which hostscan be reached throughwhich interfaces when frame received
switch ldquolearnsrdquo location ofsender incoming LANsegment
records senderlocationpair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-72
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 if entry found for destination
then if dest on segment from which frame arrived
then drop the frame else forward the frame on interface indicated else flood forward on all but the interface
on which the frame arrived
37
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-73
Self-learningforwardingexample
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo frame destination
unknown flood
Arsquo A
destination Alocation known
Arsquo 4 60
selective send
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-74
Interconnecting switches
switches can be connected together
A
B
Q sending from A to F - how does S1 know how toforward frame destined for F via S4 and S2
A self learning (works exactly the same as insingle-switch case)
S1
C D
E
FS2
S4
S3
HI
G
38
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-75
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
HI
G
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-76
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
39
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-77
All principles seen so far are applicable to a subnet withseveral switches if there is no cycle in the topology No cycle = no redundancy in case of failure
Part of subnet can be disconnected
A B
LAN 1
C D E
F G H
LAN 4
LAN 3LAN 2
From Computer Networks by Tanenbaum copy Prentice Hall
More than one switch in asubnet
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-78
Problem Frame F (whose destination address is unknown to bothswitches) will loop
Solution build a logical spanning tree topology over the real topology
LAN 1
LAN 2
FInitial frame
F1 F2
Frame copiedby left switch
Frame copiedby right switch
From Computer Networks by Tanenbaum copy Prentice Hall
Problem with cycles
40
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-79
Build a logical tree reaching allLANs
1 Determine the root switch(smallest switch id)
Switches regularly flood controlmessages (BPDUs) on all theiroutput ports
BPDU = ltSource switch id root asassumed distance to rootgt
All switches will soon discoverthe root id
A B2
C31
LAN
4
G
I
D E F
6 75
H J8 9
Switch
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (1)Root switch A sends ltAA0gt on LAN1 and LAN2
B sends ltBA1gt on LAN 3
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-80
2 Build the tree By continuously receiving these
BPDUs (possibly on severalports) a switch knows itsdistance to the root and whichport leads to the root by thatshortest distance (root port r)
A B2
C31 4
G
I
D E F
6 75
H J8 9
r
r
r
rr
r
r
rr
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (2)Root portRoot switch
41
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-81
3 Decide if non-root ports are (data)forwarding or (data) blockingA port is forwarding (f) on a givenLAN if the BPDUs this switch sendson this LAN are smaller thanthose other switches (would) send
Smaller = shorter distance or equaldistance and smaller switch id
Exampleon LAN6 E sends ltEA2gt G would sendltGA2gt and J would send ltJA3gtSo E is elected to be the only one toforward frames on LAN6 J is too faraway from the root and G gt E
A B2
C31 4
G
I
D E F
6 75
H J8 9
rf
r
r
rr
r
r
rr
f f f
f f f
f f
Spanning tree (3)Forwarding port
Blocking port
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-82
Some switches (eg G and J) are not part of the tree Another case could be that some ports of some switches are blocking
They could become part of the tree if another switch or port would fail(leading to no refresh of BPDUs)
So switches have to listen to BPDUs on blocking ports to detect failures
1 2 3 4
5 6 7
8 9
A B C
D E F
H
LAN
Switch thatis part of the
spanning tree
Switch that isnot part of thespanning tree
I
The resulting spanning treeRouting on a spanning treeis not optimal
Same spanning tree for allsource-destination pair
Compare to layer-3 routing
From Computer Networks by Tanenbaum copy Prentice Hall
42
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-83
Switches vs Routers both store-and-forward devices
routers network layer devices (examine network layerheaders)
switches are link layer devices routers maintain IP routing and IP forwarding
tables implement routing algorithms switches maintain MAC forwarding tables
implement filtering learning and spanning treealgorithms
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-84
Summary comparison
hubs routers switches
traffic
isolation
no yes yes
plug amp play yes no yes
optimal
routing
no yes no
cut
through
yes no yes
Some do
43
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-85
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-86
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line ADSL line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
bull Data link used to be considered ldquohigh layerrdquo inprotocol stack
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
20
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-39
CSMACD (Collision Detection)CSMACD 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 strengthscompare transmitted received signals
difficult in wireless LANs received signal strengthoverwhelmed by local transmission strength
human analogy the polite conversationalist
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-40
CSMACD collision detectionCSMACD CSMA
Lost time le 2 τ(worst case 2 max propagation timeswhen the 2 stations are at the 2 ends)+ detectabort time No abort so loss is T
21
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-41
To detect collision the sender must still be transmitting when the collisionpropagates back to it So the condition is
T gt 2τ which means FB gt 2 Lcwhich leads to a minimal Fmin = 2BLc = plusmn BL 10-8 bits
Let B = 10 Mbps L = 25 km rarr Fmin = plusmn 250 bits (= plusmn 32 bytes) Ethernet has chosen 64 bytes = 512 bits (extra margin due to other delays)
A B
(a)
A B
(b)
A B
(c)
A B
(d)Collision attime τ
Noise burst getsback to A at 2τ
Packet startsat time 0
Packet almostat B at τminusε
Minimal frame size with CSMACD
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-42
ldquoTaking Turnsrdquo MAC protocols
channel partitioning MAC protocols share channel efficiently and fairly at high load inefficient at low load delay in channel access
1N bandwidth allocated even if only 1 activenode
Random access MAC protocols efficient at low load single node can fully
utilize channel high load collision overhead
ldquotaking turnsrdquo protocolslook for best of both worlds
22
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-43
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodesto transmit in turn
typically used withldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-44
ldquoTaking Turnsrdquo MAC protocolsToken passing control token passed
from one node to nextsequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
23
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-45
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire) hard in
others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-46
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
24
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-47
MAC Addresses and ARP
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)
bull burned in NIC ROM also sometimes software settable
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-48
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
25
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-49
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
address depends on IP subnet to which node is attached
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-50
ARP Address Resolution Protocol
Each IP node (hostrouter) on LAN hasARP table
ARP table IPMACaddress mappings forsome LAN nodes
lt IP address MAC address TTLgt TTL (Time To Live) time
after which addressmapping will be forgotten(typically 20 min)
Question how to determineBrsquos MAC addressknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
26
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-51
ARP protocol Same LAN (network)
A wants to send datagramto B and Brsquos MAC addressnot in Arsquos ARP table
A broadcasts ARP querypacket containing Bs IPaddress dest MAC address =
FF-FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs)MAC address frame sent to Arsquos MAC
address (unicast)
A caches (saves) Brsquos IP-to-MAC address pair in itsARP table until informationbecomes old (times out) soft state information
that times out (goes away)unless refreshed
All other stations had alsocached Arsquos IP-to-MAC pair
ARP is ldquoplug-and-playrdquo nodes create their ARP
tables withoutintervention from netadministrator
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-52
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IPnetwork (LAN)
27
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-53
A creates IP datagram with source A destination B In routing table at source Host find Rrsquos IP = 111111111110 A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees itrsquos
destined for B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-54
Link Layer
51 Introduction andservices
52 Error detection
53Multiple accessprotocols
54 Link-LayerAddressing
55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
28
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-55
Ethernetldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-56
Star topology bus topology popular through mid 90s
all nodes in same collision domain (can collide with eachother)
today star topology prevails active switch in center each ldquospokerdquo runs a (separate) Ethernet protocol (nodes
do not collide with each other)
switch
bus coaxial cable star
29
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-57
Ethernet Frame StructureSending 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
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-58
Ethernet Frame Structure (more) Addresses 6 bytes
if adapter receives frame with matching destinationaddress or with broadcast address (eg ARP packet) itpasses data in frame to network layer protocol
otherwise adapter discards frame Type indicates higher layer protocol (mostly IP
but others possible eg Novell IPX AppleTalk) CRC checked at receiver if error is detected
frame is dropped
30
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-59
Ethernet Unreliable connectionless
connectionless No handshaking between sending andreceiving NICs
unreliable receiving NIC doesnrsquot send acks nor nacksto sending NIC stream of datagrams passed to network layer can have gaps
(missing datagrams) gaps will be filled if app is using TCP otherwise app will see gaps
Ethernetrsquos MAC protocol unslotted CSMACD
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-60
Ethernet CSMACD algorithm1 NIC receives datagram
from network layercreates frame
2 If NIC senses channel idlestarts frame transmissionIf NIC senses channelbusy waits until channelidle then transmits
3 If NIC transmits entireframe without detectinganother transmission NICis done with frame
4 If NIC detects anothertransmission whiletransmitting (collision)aborts and sends jamsignal
5 After aborting NICenters exponentialbackoff after mthcollision NIC chooses K atrandom from012hellip2m-1 NIC waitsK512 bit times returns toStep 2
31
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-61
Ethernetrsquos CSMACD (more)Jam Signal make sure all
other transmitters areaware of collision 48bits
Bit time 01 microsec for 10Mbps Ethernetfor K=1023 wait timeis about 50 msec
Exponential Backoff Goal adapt retransmission
attempts to estimatedcurrent load heavy load random wait
will be longer first collision choose K from
01 delay is K 512 bittransmission times
after second collision chooseK from 0123hellip
after ten collisions choose Kfrom 01234hellip1023
with this backoff algorithmEthernet is sort ofp-persistent CSMA with anadaptive p
Seeinteract with Javaapplet on AWL Web sitehighly recommended
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-62
S = T (T + α times 2τ)= 1 (1 + α times 2τT)= 1 (1 + α times 2BLcF )For large N α convergestowards e (plusmn27) for ap-persistent CSMA withp = 1N (ideal case)
So for N gtgt S cannotbe better than1 (1 + e times 2τT)= 1 (1 + 54 τT)
Number of active stations = N
Channel efficiency
S10
09
08
07
06
05
04
03
02
01
0 1 2 4 8 16 32 64 128 256
1024 byte frames
512 byte frames
256 byte frames
128 byte frames
64 byte frames
From Computer Networks by Tanenbaum copy Prentice Hall
Channel efficiency of an adaptivep-persistent CSMA
Let α = the average number of slots (2 τ) before any successful transmission
32
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-63
8023 Ethernet Standards Link amp Physical Layers
many different Ethernet standards common MAC protocol and frame format different speeds 2 Mbps 10 Mbps 100 Mbps
1 Gbps 10 Gbps different physical layer media fiber cable
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twistedpair) physical layer
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-64
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
33
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-65
Manchester encoding - Signaldistortion
Transmittedsignal
Receivedsignal
after 1200 mon RG11 coax
Manchester signal at 4Mbps
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-66
Link Layer
51 Introduction andservices
52 Error detection 53 Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
34
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-67
Hubshellip physical-layer (ldquodumbrdquo) repeaters
bits coming in one link go out all other links at samerate
all nodes connected to hub can collide with oneanother
no frame buffering no CSMACD at hub host NICs detect collisions
twisted pair
hub
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-68
Switch link-layer device smarter than hubs take
active role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links whenframe is to be forwarded on segment usesCSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
35
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-69
Switch allows multiple simultaneoustransmissions
hosts have dedicateddirect connection to switch
switches buffer packets Ethernet protocol used on
each incoming link but nocollisions full duplex each link is its own collision
domain switching A-to-Arsquo and B-
to-Brsquo simultaneouslywithout collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-70
Switch Table
Q how does switch know thatArsquo reachable via interface 4Brsquo reachable via interface 5
A each switch has a switchtable each entry (MAC address of host interface
to reach host time stamp) Is a MAC forwarding table
Looks like an IP forwarding table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
36
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-71
Switch self-learning
switch learns which hostscan be reached throughwhich interfaces when frame received
switch ldquolearnsrdquo location ofsender incoming LANsegment
records senderlocationpair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-72
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 if entry found for destination
then if dest on segment from which frame arrived
then drop the frame else forward the frame on interface indicated else flood forward on all but the interface
on which the frame arrived
37
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-73
Self-learningforwardingexample
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo frame destination
unknown flood
Arsquo A
destination Alocation known
Arsquo 4 60
selective send
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-74
Interconnecting switches
switches can be connected together
A
B
Q sending from A to F - how does S1 know how toforward frame destined for F via S4 and S2
A self learning (works exactly the same as insingle-switch case)
S1
C D
E
FS2
S4
S3
HI
G
38
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-75
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
HI
G
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-76
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
39
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-77
All principles seen so far are applicable to a subnet withseveral switches if there is no cycle in the topology No cycle = no redundancy in case of failure
Part of subnet can be disconnected
A B
LAN 1
C D E
F G H
LAN 4
LAN 3LAN 2
From Computer Networks by Tanenbaum copy Prentice Hall
More than one switch in asubnet
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-78
Problem Frame F (whose destination address is unknown to bothswitches) will loop
Solution build a logical spanning tree topology over the real topology
LAN 1
LAN 2
FInitial frame
F1 F2
Frame copiedby left switch
Frame copiedby right switch
From Computer Networks by Tanenbaum copy Prentice Hall
Problem with cycles
40
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-79
Build a logical tree reaching allLANs
1 Determine the root switch(smallest switch id)
Switches regularly flood controlmessages (BPDUs) on all theiroutput ports
BPDU = ltSource switch id root asassumed distance to rootgt
All switches will soon discoverthe root id
A B2
C31
LAN
4
G
I
D E F
6 75
H J8 9
Switch
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (1)Root switch A sends ltAA0gt on LAN1 and LAN2
B sends ltBA1gt on LAN 3
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-80
2 Build the tree By continuously receiving these
BPDUs (possibly on severalports) a switch knows itsdistance to the root and whichport leads to the root by thatshortest distance (root port r)
A B2
C31 4
G
I
D E F
6 75
H J8 9
r
r
r
rr
r
r
rr
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (2)Root portRoot switch
41
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-81
3 Decide if non-root ports are (data)forwarding or (data) blockingA port is forwarding (f) on a givenLAN if the BPDUs this switch sendson this LAN are smaller thanthose other switches (would) send
Smaller = shorter distance or equaldistance and smaller switch id
Exampleon LAN6 E sends ltEA2gt G would sendltGA2gt and J would send ltJA3gtSo E is elected to be the only one toforward frames on LAN6 J is too faraway from the root and G gt E
A B2
C31 4
G
I
D E F
6 75
H J8 9
rf
r
r
rr
r
r
rr
f f f
f f f
f f
Spanning tree (3)Forwarding port
Blocking port
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-82
Some switches (eg G and J) are not part of the tree Another case could be that some ports of some switches are blocking
They could become part of the tree if another switch or port would fail(leading to no refresh of BPDUs)
So switches have to listen to BPDUs on blocking ports to detect failures
1 2 3 4
5 6 7
8 9
A B C
D E F
H
LAN
Switch thatis part of the
spanning tree
Switch that isnot part of thespanning tree
I
The resulting spanning treeRouting on a spanning treeis not optimal
Same spanning tree for allsource-destination pair
Compare to layer-3 routing
From Computer Networks by Tanenbaum copy Prentice Hall
42
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-83
Switches vs Routers both store-and-forward devices
routers network layer devices (examine network layerheaders)
switches are link layer devices routers maintain IP routing and IP forwarding
tables implement routing algorithms switches maintain MAC forwarding tables
implement filtering learning and spanning treealgorithms
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-84
Summary comparison
hubs routers switches
traffic
isolation
no yes yes
plug amp play yes no yes
optimal
routing
no yes no
cut
through
yes no yes
Some do
43
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-85
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-86
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line ADSL line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
bull Data link used to be considered ldquohigh layerrdquo inprotocol stack
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
21
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-41
To detect collision the sender must still be transmitting when the collisionpropagates back to it So the condition is
T gt 2τ which means FB gt 2 Lcwhich leads to a minimal Fmin = 2BLc = plusmn BL 10-8 bits
Let B = 10 Mbps L = 25 km rarr Fmin = plusmn 250 bits (= plusmn 32 bytes) Ethernet has chosen 64 bytes = 512 bits (extra margin due to other delays)
A B
(a)
A B
(b)
A B
(c)
A B
(d)Collision attime τ
Noise burst getsback to A at 2τ
Packet startsat time 0
Packet almostat B at τminusε
Minimal frame size with CSMACD
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-42
ldquoTaking Turnsrdquo MAC protocols
channel partitioning MAC protocols share channel efficiently and fairly at high load inefficient at low load delay in channel access
1N bandwidth allocated even if only 1 activenode
Random access MAC protocols efficient at low load single node can fully
utilize channel high load collision overhead
ldquotaking turnsrdquo protocolslook for best of both worlds
22
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-43
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodesto transmit in turn
typically used withldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-44
ldquoTaking Turnsrdquo MAC protocolsToken passing control token passed
from one node to nextsequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
23
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-45
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire) hard in
others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-46
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
24
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-47
MAC Addresses and ARP
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)
bull burned in NIC ROM also sometimes software settable
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-48
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
25
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-49
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
address depends on IP subnet to which node is attached
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-50
ARP Address Resolution Protocol
Each IP node (hostrouter) on LAN hasARP table
ARP table IPMACaddress mappings forsome LAN nodes
lt IP address MAC address TTLgt TTL (Time To Live) time
after which addressmapping will be forgotten(typically 20 min)
Question how to determineBrsquos MAC addressknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
26
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-51
ARP protocol Same LAN (network)
A wants to send datagramto B and Brsquos MAC addressnot in Arsquos ARP table
A broadcasts ARP querypacket containing Bs IPaddress dest MAC address =
FF-FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs)MAC address frame sent to Arsquos MAC
address (unicast)
A caches (saves) Brsquos IP-to-MAC address pair in itsARP table until informationbecomes old (times out) soft state information
that times out (goes away)unless refreshed
All other stations had alsocached Arsquos IP-to-MAC pair
ARP is ldquoplug-and-playrdquo nodes create their ARP
tables withoutintervention from netadministrator
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-52
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IPnetwork (LAN)
27
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-53
A creates IP datagram with source A destination B In routing table at source Host find Rrsquos IP = 111111111110 A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees itrsquos
destined for B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-54
Link Layer
51 Introduction andservices
52 Error detection
53Multiple accessprotocols
54 Link-LayerAddressing
55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
28
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-55
Ethernetldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-56
Star topology bus topology popular through mid 90s
all nodes in same collision domain (can collide with eachother)
today star topology prevails active switch in center each ldquospokerdquo runs a (separate) Ethernet protocol (nodes
do not collide with each other)
switch
bus coaxial cable star
29
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-57
Ethernet Frame StructureSending 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
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-58
Ethernet Frame Structure (more) Addresses 6 bytes
if adapter receives frame with matching destinationaddress or with broadcast address (eg ARP packet) itpasses data in frame to network layer protocol
otherwise adapter discards frame Type indicates higher layer protocol (mostly IP
but others possible eg Novell IPX AppleTalk) CRC checked at receiver if error is detected
frame is dropped
30
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-59
Ethernet Unreliable connectionless
connectionless No handshaking between sending andreceiving NICs
unreliable receiving NIC doesnrsquot send acks nor nacksto sending NIC stream of datagrams passed to network layer can have gaps
(missing datagrams) gaps will be filled if app is using TCP otherwise app will see gaps
Ethernetrsquos MAC protocol unslotted CSMACD
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-60
Ethernet CSMACD algorithm1 NIC receives datagram
from network layercreates frame
2 If NIC senses channel idlestarts frame transmissionIf NIC senses channelbusy waits until channelidle then transmits
3 If NIC transmits entireframe without detectinganother transmission NICis done with frame
4 If NIC detects anothertransmission whiletransmitting (collision)aborts and sends jamsignal
5 After aborting NICenters exponentialbackoff after mthcollision NIC chooses K atrandom from012hellip2m-1 NIC waitsK512 bit times returns toStep 2
31
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-61
Ethernetrsquos CSMACD (more)Jam Signal make sure all
other transmitters areaware of collision 48bits
Bit time 01 microsec for 10Mbps Ethernetfor K=1023 wait timeis about 50 msec
Exponential Backoff Goal adapt retransmission
attempts to estimatedcurrent load heavy load random wait
will be longer first collision choose K from
01 delay is K 512 bittransmission times
after second collision chooseK from 0123hellip
after ten collisions choose Kfrom 01234hellip1023
with this backoff algorithmEthernet is sort ofp-persistent CSMA with anadaptive p
Seeinteract with Javaapplet on AWL Web sitehighly recommended
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-62
S = T (T + α times 2τ)= 1 (1 + α times 2τT)= 1 (1 + α times 2BLcF )For large N α convergestowards e (plusmn27) for ap-persistent CSMA withp = 1N (ideal case)
So for N gtgt S cannotbe better than1 (1 + e times 2τT)= 1 (1 + 54 τT)
Number of active stations = N
Channel efficiency
S10
09
08
07
06
05
04
03
02
01
0 1 2 4 8 16 32 64 128 256
1024 byte frames
512 byte frames
256 byte frames
128 byte frames
64 byte frames
From Computer Networks by Tanenbaum copy Prentice Hall
Channel efficiency of an adaptivep-persistent CSMA
Let α = the average number of slots (2 τ) before any successful transmission
32
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-63
8023 Ethernet Standards Link amp Physical Layers
many different Ethernet standards common MAC protocol and frame format different speeds 2 Mbps 10 Mbps 100 Mbps
1 Gbps 10 Gbps different physical layer media fiber cable
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twistedpair) physical layer
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-64
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
33
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-65
Manchester encoding - Signaldistortion
Transmittedsignal
Receivedsignal
after 1200 mon RG11 coax
Manchester signal at 4Mbps
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-66
Link Layer
51 Introduction andservices
52 Error detection 53 Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
34
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-67
Hubshellip physical-layer (ldquodumbrdquo) repeaters
bits coming in one link go out all other links at samerate
all nodes connected to hub can collide with oneanother
no frame buffering no CSMACD at hub host NICs detect collisions
twisted pair
hub
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-68
Switch link-layer device smarter than hubs take
active role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links whenframe is to be forwarded on segment usesCSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
35
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-69
Switch allows multiple simultaneoustransmissions
hosts have dedicateddirect connection to switch
switches buffer packets Ethernet protocol used on
each incoming link but nocollisions full duplex each link is its own collision
domain switching A-to-Arsquo and B-
to-Brsquo simultaneouslywithout collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-70
Switch Table
Q how does switch know thatArsquo reachable via interface 4Brsquo reachable via interface 5
A each switch has a switchtable each entry (MAC address of host interface
to reach host time stamp) Is a MAC forwarding table
Looks like an IP forwarding table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
36
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-71
Switch self-learning
switch learns which hostscan be reached throughwhich interfaces when frame received
switch ldquolearnsrdquo location ofsender incoming LANsegment
records senderlocationpair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-72
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 if entry found for destination
then if dest on segment from which frame arrived
then drop the frame else forward the frame on interface indicated else flood forward on all but the interface
on which the frame arrived
37
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-73
Self-learningforwardingexample
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo frame destination
unknown flood
Arsquo A
destination Alocation known
Arsquo 4 60
selective send
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-74
Interconnecting switches
switches can be connected together
A
B
Q sending from A to F - how does S1 know how toforward frame destined for F via S4 and S2
A self learning (works exactly the same as insingle-switch case)
S1
C D
E
FS2
S4
S3
HI
G
38
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-75
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
HI
G
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-76
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
39
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-77
All principles seen so far are applicable to a subnet withseveral switches if there is no cycle in the topology No cycle = no redundancy in case of failure
Part of subnet can be disconnected
A B
LAN 1
C D E
F G H
LAN 4
LAN 3LAN 2
From Computer Networks by Tanenbaum copy Prentice Hall
More than one switch in asubnet
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-78
Problem Frame F (whose destination address is unknown to bothswitches) will loop
Solution build a logical spanning tree topology over the real topology
LAN 1
LAN 2
FInitial frame
F1 F2
Frame copiedby left switch
Frame copiedby right switch
From Computer Networks by Tanenbaum copy Prentice Hall
Problem with cycles
40
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-79
Build a logical tree reaching allLANs
1 Determine the root switch(smallest switch id)
Switches regularly flood controlmessages (BPDUs) on all theiroutput ports
BPDU = ltSource switch id root asassumed distance to rootgt
All switches will soon discoverthe root id
A B2
C31
LAN
4
G
I
D E F
6 75
H J8 9
Switch
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (1)Root switch A sends ltAA0gt on LAN1 and LAN2
B sends ltBA1gt on LAN 3
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-80
2 Build the tree By continuously receiving these
BPDUs (possibly on severalports) a switch knows itsdistance to the root and whichport leads to the root by thatshortest distance (root port r)
A B2
C31 4
G
I
D E F
6 75
H J8 9
r
r
r
rr
r
r
rr
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (2)Root portRoot switch
41
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-81
3 Decide if non-root ports are (data)forwarding or (data) blockingA port is forwarding (f) on a givenLAN if the BPDUs this switch sendson this LAN are smaller thanthose other switches (would) send
Smaller = shorter distance or equaldistance and smaller switch id
Exampleon LAN6 E sends ltEA2gt G would sendltGA2gt and J would send ltJA3gtSo E is elected to be the only one toforward frames on LAN6 J is too faraway from the root and G gt E
A B2
C31 4
G
I
D E F
6 75
H J8 9
rf
r
r
rr
r
r
rr
f f f
f f f
f f
Spanning tree (3)Forwarding port
Blocking port
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-82
Some switches (eg G and J) are not part of the tree Another case could be that some ports of some switches are blocking
They could become part of the tree if another switch or port would fail(leading to no refresh of BPDUs)
So switches have to listen to BPDUs on blocking ports to detect failures
1 2 3 4
5 6 7
8 9
A B C
D E F
H
LAN
Switch thatis part of the
spanning tree
Switch that isnot part of thespanning tree
I
The resulting spanning treeRouting on a spanning treeis not optimal
Same spanning tree for allsource-destination pair
Compare to layer-3 routing
From Computer Networks by Tanenbaum copy Prentice Hall
42
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-83
Switches vs Routers both store-and-forward devices
routers network layer devices (examine network layerheaders)
switches are link layer devices routers maintain IP routing and IP forwarding
tables implement routing algorithms switches maintain MAC forwarding tables
implement filtering learning and spanning treealgorithms
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-84
Summary comparison
hubs routers switches
traffic
isolation
no yes yes
plug amp play yes no yes
optimal
routing
no yes no
cut
through
yes no yes
Some do
43
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-85
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-86
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line ADSL line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
bull Data link used to be considered ldquohigh layerrdquo inprotocol stack
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
22
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-43
ldquoTaking Turnsrdquo MAC protocolsPolling master node
ldquoinvitesrdquo slave nodesto transmit in turn
typically used withldquodumbrdquo slave devices
concerns polling overhead latency single point of
failure (master)
master
slaves
poll
data
data
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-44
ldquoTaking Turnsrdquo MAC protocolsToken passing control token passed
from one node to nextsequentially
token message concerns
token overhead latency single point of failure
(token)
T
data
(nothingto send)
T
23
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-45
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire) hard in
others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-46
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
24
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-47
MAC Addresses and ARP
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)
bull burned in NIC ROM also sometimes software settable
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-48
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
25
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-49
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
address depends on IP subnet to which node is attached
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-50
ARP Address Resolution Protocol
Each IP node (hostrouter) on LAN hasARP table
ARP table IPMACaddress mappings forsome LAN nodes
lt IP address MAC address TTLgt TTL (Time To Live) time
after which addressmapping will be forgotten(typically 20 min)
Question how to determineBrsquos MAC addressknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
26
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-51
ARP protocol Same LAN (network)
A wants to send datagramto B and Brsquos MAC addressnot in Arsquos ARP table
A broadcasts ARP querypacket containing Bs IPaddress dest MAC address =
FF-FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs)MAC address frame sent to Arsquos MAC
address (unicast)
A caches (saves) Brsquos IP-to-MAC address pair in itsARP table until informationbecomes old (times out) soft state information
that times out (goes away)unless refreshed
All other stations had alsocached Arsquos IP-to-MAC pair
ARP is ldquoplug-and-playrdquo nodes create their ARP
tables withoutintervention from netadministrator
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-52
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IPnetwork (LAN)
27
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-53
A creates IP datagram with source A destination B In routing table at source Host find Rrsquos IP = 111111111110 A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees itrsquos
destined for B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-54
Link Layer
51 Introduction andservices
52 Error detection
53Multiple accessprotocols
54 Link-LayerAddressing
55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
28
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-55
Ethernetldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-56
Star topology bus topology popular through mid 90s
all nodes in same collision domain (can collide with eachother)
today star topology prevails active switch in center each ldquospokerdquo runs a (separate) Ethernet protocol (nodes
do not collide with each other)
switch
bus coaxial cable star
29
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-57
Ethernet Frame StructureSending 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
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-58
Ethernet Frame Structure (more) Addresses 6 bytes
if adapter receives frame with matching destinationaddress or with broadcast address (eg ARP packet) itpasses data in frame to network layer protocol
otherwise adapter discards frame Type indicates higher layer protocol (mostly IP
but others possible eg Novell IPX AppleTalk) CRC checked at receiver if error is detected
frame is dropped
30
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-59
Ethernet Unreliable connectionless
connectionless No handshaking between sending andreceiving NICs
unreliable receiving NIC doesnrsquot send acks nor nacksto sending NIC stream of datagrams passed to network layer can have gaps
(missing datagrams) gaps will be filled if app is using TCP otherwise app will see gaps
Ethernetrsquos MAC protocol unslotted CSMACD
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-60
Ethernet CSMACD algorithm1 NIC receives datagram
from network layercreates frame
2 If NIC senses channel idlestarts frame transmissionIf NIC senses channelbusy waits until channelidle then transmits
3 If NIC transmits entireframe without detectinganother transmission NICis done with frame
4 If NIC detects anothertransmission whiletransmitting (collision)aborts and sends jamsignal
5 After aborting NICenters exponentialbackoff after mthcollision NIC chooses K atrandom from012hellip2m-1 NIC waitsK512 bit times returns toStep 2
31
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-61
Ethernetrsquos CSMACD (more)Jam Signal make sure all
other transmitters areaware of collision 48bits
Bit time 01 microsec for 10Mbps Ethernetfor K=1023 wait timeis about 50 msec
Exponential Backoff Goal adapt retransmission
attempts to estimatedcurrent load heavy load random wait
will be longer first collision choose K from
01 delay is K 512 bittransmission times
after second collision chooseK from 0123hellip
after ten collisions choose Kfrom 01234hellip1023
with this backoff algorithmEthernet is sort ofp-persistent CSMA with anadaptive p
Seeinteract with Javaapplet on AWL Web sitehighly recommended
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-62
S = T (T + α times 2τ)= 1 (1 + α times 2τT)= 1 (1 + α times 2BLcF )For large N α convergestowards e (plusmn27) for ap-persistent CSMA withp = 1N (ideal case)
So for N gtgt S cannotbe better than1 (1 + e times 2τT)= 1 (1 + 54 τT)
Number of active stations = N
Channel efficiency
S10
09
08
07
06
05
04
03
02
01
0 1 2 4 8 16 32 64 128 256
1024 byte frames
512 byte frames
256 byte frames
128 byte frames
64 byte frames
From Computer Networks by Tanenbaum copy Prentice Hall
Channel efficiency of an adaptivep-persistent CSMA
Let α = the average number of slots (2 τ) before any successful transmission
32
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-63
8023 Ethernet Standards Link amp Physical Layers
many different Ethernet standards common MAC protocol and frame format different speeds 2 Mbps 10 Mbps 100 Mbps
1 Gbps 10 Gbps different physical layer media fiber cable
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twistedpair) physical layer
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-64
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
33
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-65
Manchester encoding - Signaldistortion
Transmittedsignal
Receivedsignal
after 1200 mon RG11 coax
Manchester signal at 4Mbps
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-66
Link Layer
51 Introduction andservices
52 Error detection 53 Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
34
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-67
Hubshellip physical-layer (ldquodumbrdquo) repeaters
bits coming in one link go out all other links at samerate
all nodes connected to hub can collide with oneanother
no frame buffering no CSMACD at hub host NICs detect collisions
twisted pair
hub
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-68
Switch link-layer device smarter than hubs take
active role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links whenframe is to be forwarded on segment usesCSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
35
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-69
Switch allows multiple simultaneoustransmissions
hosts have dedicateddirect connection to switch
switches buffer packets Ethernet protocol used on
each incoming link but nocollisions full duplex each link is its own collision
domain switching A-to-Arsquo and B-
to-Brsquo simultaneouslywithout collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-70
Switch Table
Q how does switch know thatArsquo reachable via interface 4Brsquo reachable via interface 5
A each switch has a switchtable each entry (MAC address of host interface
to reach host time stamp) Is a MAC forwarding table
Looks like an IP forwarding table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
36
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-71
Switch self-learning
switch learns which hostscan be reached throughwhich interfaces when frame received
switch ldquolearnsrdquo location ofsender incoming LANsegment
records senderlocationpair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-72
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 if entry found for destination
then if dest on segment from which frame arrived
then drop the frame else forward the frame on interface indicated else flood forward on all but the interface
on which the frame arrived
37
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-73
Self-learningforwardingexample
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo frame destination
unknown flood
Arsquo A
destination Alocation known
Arsquo 4 60
selective send
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-74
Interconnecting switches
switches can be connected together
A
B
Q sending from A to F - how does S1 know how toforward frame destined for F via S4 and S2
A self learning (works exactly the same as insingle-switch case)
S1
C D
E
FS2
S4
S3
HI
G
38
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-75
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
HI
G
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-76
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
39
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-77
All principles seen so far are applicable to a subnet withseveral switches if there is no cycle in the topology No cycle = no redundancy in case of failure
Part of subnet can be disconnected
A B
LAN 1
C D E
F G H
LAN 4
LAN 3LAN 2
From Computer Networks by Tanenbaum copy Prentice Hall
More than one switch in asubnet
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-78
Problem Frame F (whose destination address is unknown to bothswitches) will loop
Solution build a logical spanning tree topology over the real topology
LAN 1
LAN 2
FInitial frame
F1 F2
Frame copiedby left switch
Frame copiedby right switch
From Computer Networks by Tanenbaum copy Prentice Hall
Problem with cycles
40
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-79
Build a logical tree reaching allLANs
1 Determine the root switch(smallest switch id)
Switches regularly flood controlmessages (BPDUs) on all theiroutput ports
BPDU = ltSource switch id root asassumed distance to rootgt
All switches will soon discoverthe root id
A B2
C31
LAN
4
G
I
D E F
6 75
H J8 9
Switch
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (1)Root switch A sends ltAA0gt on LAN1 and LAN2
B sends ltBA1gt on LAN 3
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-80
2 Build the tree By continuously receiving these
BPDUs (possibly on severalports) a switch knows itsdistance to the root and whichport leads to the root by thatshortest distance (root port r)
A B2
C31 4
G
I
D E F
6 75
H J8 9
r
r
r
rr
r
r
rr
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (2)Root portRoot switch
41
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-81
3 Decide if non-root ports are (data)forwarding or (data) blockingA port is forwarding (f) on a givenLAN if the BPDUs this switch sendson this LAN are smaller thanthose other switches (would) send
Smaller = shorter distance or equaldistance and smaller switch id
Exampleon LAN6 E sends ltEA2gt G would sendltGA2gt and J would send ltJA3gtSo E is elected to be the only one toforward frames on LAN6 J is too faraway from the root and G gt E
A B2
C31 4
G
I
D E F
6 75
H J8 9
rf
r
r
rr
r
r
rr
f f f
f f f
f f
Spanning tree (3)Forwarding port
Blocking port
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-82
Some switches (eg G and J) are not part of the tree Another case could be that some ports of some switches are blocking
They could become part of the tree if another switch or port would fail(leading to no refresh of BPDUs)
So switches have to listen to BPDUs on blocking ports to detect failures
1 2 3 4
5 6 7
8 9
A B C
D E F
H
LAN
Switch thatis part of the
spanning tree
Switch that isnot part of thespanning tree
I
The resulting spanning treeRouting on a spanning treeis not optimal
Same spanning tree for allsource-destination pair
Compare to layer-3 routing
From Computer Networks by Tanenbaum copy Prentice Hall
42
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-83
Switches vs Routers both store-and-forward devices
routers network layer devices (examine network layerheaders)
switches are link layer devices routers maintain IP routing and IP forwarding
tables implement routing algorithms switches maintain MAC forwarding tables
implement filtering learning and spanning treealgorithms
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-84
Summary comparison
hubs routers switches
traffic
isolation
no yes yes
plug amp play yes no yes
optimal
routing
no yes no
cut
through
yes no yes
Some do
43
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-85
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-86
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line ADSL line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
bull Data link used to be considered ldquohigh layerrdquo inprotocol stack
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
23
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-45
Summary of MAC protocols
channel partitioning by time frequency or code Time Division Frequency Division
random access (dynamic) ALOHA S-ALOHA CSMA CSMACD carrier sensing easy in some technologies (wire) hard in
others (wireless) CSMACD used in Ethernet CSMACA used in 80211
taking turns polling from central site token passing Bluetooth FDDI IBM Token Ring
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-46
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
24
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-47
MAC Addresses and ARP
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)
bull burned in NIC ROM also sometimes software settable
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-48
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
25
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-49
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
address depends on IP subnet to which node is attached
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-50
ARP Address Resolution Protocol
Each IP node (hostrouter) on LAN hasARP table
ARP table IPMACaddress mappings forsome LAN nodes
lt IP address MAC address TTLgt TTL (Time To Live) time
after which addressmapping will be forgotten(typically 20 min)
Question how to determineBrsquos MAC addressknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
26
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-51
ARP protocol Same LAN (network)
A wants to send datagramto B and Brsquos MAC addressnot in Arsquos ARP table
A broadcasts ARP querypacket containing Bs IPaddress dest MAC address =
FF-FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs)MAC address frame sent to Arsquos MAC
address (unicast)
A caches (saves) Brsquos IP-to-MAC address pair in itsARP table until informationbecomes old (times out) soft state information
that times out (goes away)unless refreshed
All other stations had alsocached Arsquos IP-to-MAC pair
ARP is ldquoplug-and-playrdquo nodes create their ARP
tables withoutintervention from netadministrator
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-52
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IPnetwork (LAN)
27
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-53
A creates IP datagram with source A destination B In routing table at source Host find Rrsquos IP = 111111111110 A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees itrsquos
destined for B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-54
Link Layer
51 Introduction andservices
52 Error detection
53Multiple accessprotocols
54 Link-LayerAddressing
55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
28
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-55
Ethernetldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-56
Star topology bus topology popular through mid 90s
all nodes in same collision domain (can collide with eachother)
today star topology prevails active switch in center each ldquospokerdquo runs a (separate) Ethernet protocol (nodes
do not collide with each other)
switch
bus coaxial cable star
29
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-57
Ethernet Frame StructureSending 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
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-58
Ethernet Frame Structure (more) Addresses 6 bytes
if adapter receives frame with matching destinationaddress or with broadcast address (eg ARP packet) itpasses data in frame to network layer protocol
otherwise adapter discards frame Type indicates higher layer protocol (mostly IP
but others possible eg Novell IPX AppleTalk) CRC checked at receiver if error is detected
frame is dropped
30
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-59
Ethernet Unreliable connectionless
connectionless No handshaking between sending andreceiving NICs
unreliable receiving NIC doesnrsquot send acks nor nacksto sending NIC stream of datagrams passed to network layer can have gaps
(missing datagrams) gaps will be filled if app is using TCP otherwise app will see gaps
Ethernetrsquos MAC protocol unslotted CSMACD
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-60
Ethernet CSMACD algorithm1 NIC receives datagram
from network layercreates frame
2 If NIC senses channel idlestarts frame transmissionIf NIC senses channelbusy waits until channelidle then transmits
3 If NIC transmits entireframe without detectinganother transmission NICis done with frame
4 If NIC detects anothertransmission whiletransmitting (collision)aborts and sends jamsignal
5 After aborting NICenters exponentialbackoff after mthcollision NIC chooses K atrandom from012hellip2m-1 NIC waitsK512 bit times returns toStep 2
31
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-61
Ethernetrsquos CSMACD (more)Jam Signal make sure all
other transmitters areaware of collision 48bits
Bit time 01 microsec for 10Mbps Ethernetfor K=1023 wait timeis about 50 msec
Exponential Backoff Goal adapt retransmission
attempts to estimatedcurrent load heavy load random wait
will be longer first collision choose K from
01 delay is K 512 bittransmission times
after second collision chooseK from 0123hellip
after ten collisions choose Kfrom 01234hellip1023
with this backoff algorithmEthernet is sort ofp-persistent CSMA with anadaptive p
Seeinteract with Javaapplet on AWL Web sitehighly recommended
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-62
S = T (T + α times 2τ)= 1 (1 + α times 2τT)= 1 (1 + α times 2BLcF )For large N α convergestowards e (plusmn27) for ap-persistent CSMA withp = 1N (ideal case)
So for N gtgt S cannotbe better than1 (1 + e times 2τT)= 1 (1 + 54 τT)
Number of active stations = N
Channel efficiency
S10
09
08
07
06
05
04
03
02
01
0 1 2 4 8 16 32 64 128 256
1024 byte frames
512 byte frames
256 byte frames
128 byte frames
64 byte frames
From Computer Networks by Tanenbaum copy Prentice Hall
Channel efficiency of an adaptivep-persistent CSMA
Let α = the average number of slots (2 τ) before any successful transmission
32
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-63
8023 Ethernet Standards Link amp Physical Layers
many different Ethernet standards common MAC protocol and frame format different speeds 2 Mbps 10 Mbps 100 Mbps
1 Gbps 10 Gbps different physical layer media fiber cable
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twistedpair) physical layer
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-64
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
33
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-65
Manchester encoding - Signaldistortion
Transmittedsignal
Receivedsignal
after 1200 mon RG11 coax
Manchester signal at 4Mbps
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-66
Link Layer
51 Introduction andservices
52 Error detection 53 Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
34
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-67
Hubshellip physical-layer (ldquodumbrdquo) repeaters
bits coming in one link go out all other links at samerate
all nodes connected to hub can collide with oneanother
no frame buffering no CSMACD at hub host NICs detect collisions
twisted pair
hub
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-68
Switch link-layer device smarter than hubs take
active role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links whenframe is to be forwarded on segment usesCSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
35
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-69
Switch allows multiple simultaneoustransmissions
hosts have dedicateddirect connection to switch
switches buffer packets Ethernet protocol used on
each incoming link but nocollisions full duplex each link is its own collision
domain switching A-to-Arsquo and B-
to-Brsquo simultaneouslywithout collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-70
Switch Table
Q how does switch know thatArsquo reachable via interface 4Brsquo reachable via interface 5
A each switch has a switchtable each entry (MAC address of host interface
to reach host time stamp) Is a MAC forwarding table
Looks like an IP forwarding table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
36
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-71
Switch self-learning
switch learns which hostscan be reached throughwhich interfaces when frame received
switch ldquolearnsrdquo location ofsender incoming LANsegment
records senderlocationpair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-72
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 if entry found for destination
then if dest on segment from which frame arrived
then drop the frame else forward the frame on interface indicated else flood forward on all but the interface
on which the frame arrived
37
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-73
Self-learningforwardingexample
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo frame destination
unknown flood
Arsquo A
destination Alocation known
Arsquo 4 60
selective send
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-74
Interconnecting switches
switches can be connected together
A
B
Q sending from A to F - how does S1 know how toforward frame destined for F via S4 and S2
A self learning (works exactly the same as insingle-switch case)
S1
C D
E
FS2
S4
S3
HI
G
38
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-75
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
HI
G
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-76
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
39
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-77
All principles seen so far are applicable to a subnet withseveral switches if there is no cycle in the topology No cycle = no redundancy in case of failure
Part of subnet can be disconnected
A B
LAN 1
C D E
F G H
LAN 4
LAN 3LAN 2
From Computer Networks by Tanenbaum copy Prentice Hall
More than one switch in asubnet
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-78
Problem Frame F (whose destination address is unknown to bothswitches) will loop
Solution build a logical spanning tree topology over the real topology
LAN 1
LAN 2
FInitial frame
F1 F2
Frame copiedby left switch
Frame copiedby right switch
From Computer Networks by Tanenbaum copy Prentice Hall
Problem with cycles
40
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-79
Build a logical tree reaching allLANs
1 Determine the root switch(smallest switch id)
Switches regularly flood controlmessages (BPDUs) on all theiroutput ports
BPDU = ltSource switch id root asassumed distance to rootgt
All switches will soon discoverthe root id
A B2
C31
LAN
4
G
I
D E F
6 75
H J8 9
Switch
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (1)Root switch A sends ltAA0gt on LAN1 and LAN2
B sends ltBA1gt on LAN 3
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-80
2 Build the tree By continuously receiving these
BPDUs (possibly on severalports) a switch knows itsdistance to the root and whichport leads to the root by thatshortest distance (root port r)
A B2
C31 4
G
I
D E F
6 75
H J8 9
r
r
r
rr
r
r
rr
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (2)Root portRoot switch
41
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-81
3 Decide if non-root ports are (data)forwarding or (data) blockingA port is forwarding (f) on a givenLAN if the BPDUs this switch sendson this LAN are smaller thanthose other switches (would) send
Smaller = shorter distance or equaldistance and smaller switch id
Exampleon LAN6 E sends ltEA2gt G would sendltGA2gt and J would send ltJA3gtSo E is elected to be the only one toforward frames on LAN6 J is too faraway from the root and G gt E
A B2
C31 4
G
I
D E F
6 75
H J8 9
rf
r
r
rr
r
r
rr
f f f
f f f
f f
Spanning tree (3)Forwarding port
Blocking port
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-82
Some switches (eg G and J) are not part of the tree Another case could be that some ports of some switches are blocking
They could become part of the tree if another switch or port would fail(leading to no refresh of BPDUs)
So switches have to listen to BPDUs on blocking ports to detect failures
1 2 3 4
5 6 7
8 9
A B C
D E F
H
LAN
Switch thatis part of the
spanning tree
Switch that isnot part of thespanning tree
I
The resulting spanning treeRouting on a spanning treeis not optimal
Same spanning tree for allsource-destination pair
Compare to layer-3 routing
From Computer Networks by Tanenbaum copy Prentice Hall
42
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-83
Switches vs Routers both store-and-forward devices
routers network layer devices (examine network layerheaders)
switches are link layer devices routers maintain IP routing and IP forwarding
tables implement routing algorithms switches maintain MAC forwarding tables
implement filtering learning and spanning treealgorithms
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-84
Summary comparison
hubs routers switches
traffic
isolation
no yes yes
plug amp play yes no yes
optimal
routing
no yes no
cut
through
yes no yes
Some do
43
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-85
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-86
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line ADSL line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
bull Data link used to be considered ldquohigh layerrdquo inprotocol stack
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
24
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-47
MAC Addresses and ARP
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)
bull burned in NIC ROM also sometimes software settable
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-48
LAN Addresses and ARPEach adapter on LAN has unique LAN address
Broadcast address =FF-FF-FF-FF-FF-FF
= adapter
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN(wired orwireless)
25
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-49
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
address depends on IP subnet to which node is attached
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-50
ARP Address Resolution Protocol
Each IP node (hostrouter) on LAN hasARP table
ARP table IPMACaddress mappings forsome LAN nodes
lt IP address MAC address TTLgt TTL (Time To Live) time
after which addressmapping will be forgotten(typically 20 min)
Question how to determineBrsquos MAC addressknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
26
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-51
ARP protocol Same LAN (network)
A wants to send datagramto B and Brsquos MAC addressnot in Arsquos ARP table
A broadcasts ARP querypacket containing Bs IPaddress dest MAC address =
FF-FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs)MAC address frame sent to Arsquos MAC
address (unicast)
A caches (saves) Brsquos IP-to-MAC address pair in itsARP table until informationbecomes old (times out) soft state information
that times out (goes away)unless refreshed
All other stations had alsocached Arsquos IP-to-MAC pair
ARP is ldquoplug-and-playrdquo nodes create their ARP
tables withoutintervention from netadministrator
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-52
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IPnetwork (LAN)
27
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-53
A creates IP datagram with source A destination B In routing table at source Host find Rrsquos IP = 111111111110 A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees itrsquos
destined for B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-54
Link Layer
51 Introduction andservices
52 Error detection
53Multiple accessprotocols
54 Link-LayerAddressing
55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
28
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-55
Ethernetldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-56
Star topology bus topology popular through mid 90s
all nodes in same collision domain (can collide with eachother)
today star topology prevails active switch in center each ldquospokerdquo runs a (separate) Ethernet protocol (nodes
do not collide with each other)
switch
bus coaxial cable star
29
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-57
Ethernet Frame StructureSending 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
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-58
Ethernet Frame Structure (more) Addresses 6 bytes
if adapter receives frame with matching destinationaddress or with broadcast address (eg ARP packet) itpasses data in frame to network layer protocol
otherwise adapter discards frame Type indicates higher layer protocol (mostly IP
but others possible eg Novell IPX AppleTalk) CRC checked at receiver if error is detected
frame is dropped
30
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-59
Ethernet Unreliable connectionless
connectionless No handshaking between sending andreceiving NICs
unreliable receiving NIC doesnrsquot send acks nor nacksto sending NIC stream of datagrams passed to network layer can have gaps
(missing datagrams) gaps will be filled if app is using TCP otherwise app will see gaps
Ethernetrsquos MAC protocol unslotted CSMACD
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-60
Ethernet CSMACD algorithm1 NIC receives datagram
from network layercreates frame
2 If NIC senses channel idlestarts frame transmissionIf NIC senses channelbusy waits until channelidle then transmits
3 If NIC transmits entireframe without detectinganother transmission NICis done with frame
4 If NIC detects anothertransmission whiletransmitting (collision)aborts and sends jamsignal
5 After aborting NICenters exponentialbackoff after mthcollision NIC chooses K atrandom from012hellip2m-1 NIC waitsK512 bit times returns toStep 2
31
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-61
Ethernetrsquos CSMACD (more)Jam Signal make sure all
other transmitters areaware of collision 48bits
Bit time 01 microsec for 10Mbps Ethernetfor K=1023 wait timeis about 50 msec
Exponential Backoff Goal adapt retransmission
attempts to estimatedcurrent load heavy load random wait
will be longer first collision choose K from
01 delay is K 512 bittransmission times
after second collision chooseK from 0123hellip
after ten collisions choose Kfrom 01234hellip1023
with this backoff algorithmEthernet is sort ofp-persistent CSMA with anadaptive p
Seeinteract with Javaapplet on AWL Web sitehighly recommended
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-62
S = T (T + α times 2τ)= 1 (1 + α times 2τT)= 1 (1 + α times 2BLcF )For large N α convergestowards e (plusmn27) for ap-persistent CSMA withp = 1N (ideal case)
So for N gtgt S cannotbe better than1 (1 + e times 2τT)= 1 (1 + 54 τT)
Number of active stations = N
Channel efficiency
S10
09
08
07
06
05
04
03
02
01
0 1 2 4 8 16 32 64 128 256
1024 byte frames
512 byte frames
256 byte frames
128 byte frames
64 byte frames
From Computer Networks by Tanenbaum copy Prentice Hall
Channel efficiency of an adaptivep-persistent CSMA
Let α = the average number of slots (2 τ) before any successful transmission
32
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-63
8023 Ethernet Standards Link amp Physical Layers
many different Ethernet standards common MAC protocol and frame format different speeds 2 Mbps 10 Mbps 100 Mbps
1 Gbps 10 Gbps different physical layer media fiber cable
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twistedpair) physical layer
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-64
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
33
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-65
Manchester encoding - Signaldistortion
Transmittedsignal
Receivedsignal
after 1200 mon RG11 coax
Manchester signal at 4Mbps
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-66
Link Layer
51 Introduction andservices
52 Error detection 53 Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
34
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-67
Hubshellip physical-layer (ldquodumbrdquo) repeaters
bits coming in one link go out all other links at samerate
all nodes connected to hub can collide with oneanother
no frame buffering no CSMACD at hub host NICs detect collisions
twisted pair
hub
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-68
Switch link-layer device smarter than hubs take
active role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links whenframe is to be forwarded on segment usesCSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
35
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-69
Switch allows multiple simultaneoustransmissions
hosts have dedicateddirect connection to switch
switches buffer packets Ethernet protocol used on
each incoming link but nocollisions full duplex each link is its own collision
domain switching A-to-Arsquo and B-
to-Brsquo simultaneouslywithout collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-70
Switch Table
Q how does switch know thatArsquo reachable via interface 4Brsquo reachable via interface 5
A each switch has a switchtable each entry (MAC address of host interface
to reach host time stamp) Is a MAC forwarding table
Looks like an IP forwarding table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
36
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-71
Switch self-learning
switch learns which hostscan be reached throughwhich interfaces when frame received
switch ldquolearnsrdquo location ofsender incoming LANsegment
records senderlocationpair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-72
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 if entry found for destination
then if dest on segment from which frame arrived
then drop the frame else forward the frame on interface indicated else flood forward on all but the interface
on which the frame arrived
37
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-73
Self-learningforwardingexample
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo frame destination
unknown flood
Arsquo A
destination Alocation known
Arsquo 4 60
selective send
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-74
Interconnecting switches
switches can be connected together
A
B
Q sending from A to F - how does S1 know how toforward frame destined for F via S4 and S2
A self learning (works exactly the same as insingle-switch case)
S1
C D
E
FS2
S4
S3
HI
G
38
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-75
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
HI
G
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-76
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
39
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-77
All principles seen so far are applicable to a subnet withseveral switches if there is no cycle in the topology No cycle = no redundancy in case of failure
Part of subnet can be disconnected
A B
LAN 1
C D E
F G H
LAN 4
LAN 3LAN 2
From Computer Networks by Tanenbaum copy Prentice Hall
More than one switch in asubnet
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-78
Problem Frame F (whose destination address is unknown to bothswitches) will loop
Solution build a logical spanning tree topology over the real topology
LAN 1
LAN 2
FInitial frame
F1 F2
Frame copiedby left switch
Frame copiedby right switch
From Computer Networks by Tanenbaum copy Prentice Hall
Problem with cycles
40
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-79
Build a logical tree reaching allLANs
1 Determine the root switch(smallest switch id)
Switches regularly flood controlmessages (BPDUs) on all theiroutput ports
BPDU = ltSource switch id root asassumed distance to rootgt
All switches will soon discoverthe root id
A B2
C31
LAN
4
G
I
D E F
6 75
H J8 9
Switch
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (1)Root switch A sends ltAA0gt on LAN1 and LAN2
B sends ltBA1gt on LAN 3
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-80
2 Build the tree By continuously receiving these
BPDUs (possibly on severalports) a switch knows itsdistance to the root and whichport leads to the root by thatshortest distance (root port r)
A B2
C31 4
G
I
D E F
6 75
H J8 9
r
r
r
rr
r
r
rr
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (2)Root portRoot switch
41
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-81
3 Decide if non-root ports are (data)forwarding or (data) blockingA port is forwarding (f) on a givenLAN if the BPDUs this switch sendson this LAN are smaller thanthose other switches (would) send
Smaller = shorter distance or equaldistance and smaller switch id
Exampleon LAN6 E sends ltEA2gt G would sendltGA2gt and J would send ltJA3gtSo E is elected to be the only one toforward frames on LAN6 J is too faraway from the root and G gt E
A B2
C31 4
G
I
D E F
6 75
H J8 9
rf
r
r
rr
r
r
rr
f f f
f f f
f f
Spanning tree (3)Forwarding port
Blocking port
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-82
Some switches (eg G and J) are not part of the tree Another case could be that some ports of some switches are blocking
They could become part of the tree if another switch or port would fail(leading to no refresh of BPDUs)
So switches have to listen to BPDUs on blocking ports to detect failures
1 2 3 4
5 6 7
8 9
A B C
D E F
H
LAN
Switch thatis part of the
spanning tree
Switch that isnot part of thespanning tree
I
The resulting spanning treeRouting on a spanning treeis not optimal
Same spanning tree for allsource-destination pair
Compare to layer-3 routing
From Computer Networks by Tanenbaum copy Prentice Hall
42
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-83
Switches vs Routers both store-and-forward devices
routers network layer devices (examine network layerheaders)
switches are link layer devices routers maintain IP routing and IP forwarding
tables implement routing algorithms switches maintain MAC forwarding tables
implement filtering learning and spanning treealgorithms
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-84
Summary comparison
hubs routers switches
traffic
isolation
no yes yes
plug amp play yes no yes
optimal
routing
no yes no
cut
through
yes no yes
Some do
43
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-85
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-86
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line ADSL line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
bull Data link used to be considered ldquohigh layerrdquo inprotocol stack
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
25
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-49
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
address depends on IP subnet to which node is attached
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-50
ARP Address Resolution Protocol
Each IP node (hostrouter) on LAN hasARP table
ARP table IPMACaddress mappings forsome LAN nodes
lt IP address MAC address TTLgt TTL (Time To Live) time
after which addressmapping will be forgotten(typically 20 min)
Question how to determineBrsquos MAC addressknowing Brsquos IP address
1A-2F-BB-76-09-AD
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
71-65-F7-2B-08-53
LAN
137196723
137196778
137196714
137196788
26
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-51
ARP protocol Same LAN (network)
A wants to send datagramto B and Brsquos MAC addressnot in Arsquos ARP table
A broadcasts ARP querypacket containing Bs IPaddress dest MAC address =
FF-FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs)MAC address frame sent to Arsquos MAC
address (unicast)
A caches (saves) Brsquos IP-to-MAC address pair in itsARP table until informationbecomes old (times out) soft state information
that times out (goes away)unless refreshed
All other stations had alsocached Arsquos IP-to-MAC pair
ARP is ldquoplug-and-playrdquo nodes create their ARP
tables withoutintervention from netadministrator
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-52
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IPnetwork (LAN)
27
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-53
A creates IP datagram with source A destination B In routing table at source Host find Rrsquos IP = 111111111110 A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees itrsquos
destined for B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-54
Link Layer
51 Introduction andservices
52 Error detection
53Multiple accessprotocols
54 Link-LayerAddressing
55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
28
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-55
Ethernetldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-56
Star topology bus topology popular through mid 90s
all nodes in same collision domain (can collide with eachother)
today star topology prevails active switch in center each ldquospokerdquo runs a (separate) Ethernet protocol (nodes
do not collide with each other)
switch
bus coaxial cable star
29
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-57
Ethernet Frame StructureSending 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
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-58
Ethernet Frame Structure (more) Addresses 6 bytes
if adapter receives frame with matching destinationaddress or with broadcast address (eg ARP packet) itpasses data in frame to network layer protocol
otherwise adapter discards frame Type indicates higher layer protocol (mostly IP
but others possible eg Novell IPX AppleTalk) CRC checked at receiver if error is detected
frame is dropped
30
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-59
Ethernet Unreliable connectionless
connectionless No handshaking between sending andreceiving NICs
unreliable receiving NIC doesnrsquot send acks nor nacksto sending NIC stream of datagrams passed to network layer can have gaps
(missing datagrams) gaps will be filled if app is using TCP otherwise app will see gaps
Ethernetrsquos MAC protocol unslotted CSMACD
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-60
Ethernet CSMACD algorithm1 NIC receives datagram
from network layercreates frame
2 If NIC senses channel idlestarts frame transmissionIf NIC senses channelbusy waits until channelidle then transmits
3 If NIC transmits entireframe without detectinganother transmission NICis done with frame
4 If NIC detects anothertransmission whiletransmitting (collision)aborts and sends jamsignal
5 After aborting NICenters exponentialbackoff after mthcollision NIC chooses K atrandom from012hellip2m-1 NIC waitsK512 bit times returns toStep 2
31
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-61
Ethernetrsquos CSMACD (more)Jam Signal make sure all
other transmitters areaware of collision 48bits
Bit time 01 microsec for 10Mbps Ethernetfor K=1023 wait timeis about 50 msec
Exponential Backoff Goal adapt retransmission
attempts to estimatedcurrent load heavy load random wait
will be longer first collision choose K from
01 delay is K 512 bittransmission times
after second collision chooseK from 0123hellip
after ten collisions choose Kfrom 01234hellip1023
with this backoff algorithmEthernet is sort ofp-persistent CSMA with anadaptive p
Seeinteract with Javaapplet on AWL Web sitehighly recommended
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-62
S = T (T + α times 2τ)= 1 (1 + α times 2τT)= 1 (1 + α times 2BLcF )For large N α convergestowards e (plusmn27) for ap-persistent CSMA withp = 1N (ideal case)
So for N gtgt S cannotbe better than1 (1 + e times 2τT)= 1 (1 + 54 τT)
Number of active stations = N
Channel efficiency
S10
09
08
07
06
05
04
03
02
01
0 1 2 4 8 16 32 64 128 256
1024 byte frames
512 byte frames
256 byte frames
128 byte frames
64 byte frames
From Computer Networks by Tanenbaum copy Prentice Hall
Channel efficiency of an adaptivep-persistent CSMA
Let α = the average number of slots (2 τ) before any successful transmission
32
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-63
8023 Ethernet Standards Link amp Physical Layers
many different Ethernet standards common MAC protocol and frame format different speeds 2 Mbps 10 Mbps 100 Mbps
1 Gbps 10 Gbps different physical layer media fiber cable
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twistedpair) physical layer
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-64
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
33
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-65
Manchester encoding - Signaldistortion
Transmittedsignal
Receivedsignal
after 1200 mon RG11 coax
Manchester signal at 4Mbps
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-66
Link Layer
51 Introduction andservices
52 Error detection 53 Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
34
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-67
Hubshellip physical-layer (ldquodumbrdquo) repeaters
bits coming in one link go out all other links at samerate
all nodes connected to hub can collide with oneanother
no frame buffering no CSMACD at hub host NICs detect collisions
twisted pair
hub
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-68
Switch link-layer device smarter than hubs take
active role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links whenframe is to be forwarded on segment usesCSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
35
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-69
Switch allows multiple simultaneoustransmissions
hosts have dedicateddirect connection to switch
switches buffer packets Ethernet protocol used on
each incoming link but nocollisions full duplex each link is its own collision
domain switching A-to-Arsquo and B-
to-Brsquo simultaneouslywithout collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-70
Switch Table
Q how does switch know thatArsquo reachable via interface 4Brsquo reachable via interface 5
A each switch has a switchtable each entry (MAC address of host interface
to reach host time stamp) Is a MAC forwarding table
Looks like an IP forwarding table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
36
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-71
Switch self-learning
switch learns which hostscan be reached throughwhich interfaces when frame received
switch ldquolearnsrdquo location ofsender incoming LANsegment
records senderlocationpair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-72
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 if entry found for destination
then if dest on segment from which frame arrived
then drop the frame else forward the frame on interface indicated else flood forward on all but the interface
on which the frame arrived
37
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-73
Self-learningforwardingexample
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo frame destination
unknown flood
Arsquo A
destination Alocation known
Arsquo 4 60
selective send
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-74
Interconnecting switches
switches can be connected together
A
B
Q sending from A to F - how does S1 know how toforward frame destined for F via S4 and S2
A self learning (works exactly the same as insingle-switch case)
S1
C D
E
FS2
S4
S3
HI
G
38
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-75
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
HI
G
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-76
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
39
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-77
All principles seen so far are applicable to a subnet withseveral switches if there is no cycle in the topology No cycle = no redundancy in case of failure
Part of subnet can be disconnected
A B
LAN 1
C D E
F G H
LAN 4
LAN 3LAN 2
From Computer Networks by Tanenbaum copy Prentice Hall
More than one switch in asubnet
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-78
Problem Frame F (whose destination address is unknown to bothswitches) will loop
Solution build a logical spanning tree topology over the real topology
LAN 1
LAN 2
FInitial frame
F1 F2
Frame copiedby left switch
Frame copiedby right switch
From Computer Networks by Tanenbaum copy Prentice Hall
Problem with cycles
40
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-79
Build a logical tree reaching allLANs
1 Determine the root switch(smallest switch id)
Switches regularly flood controlmessages (BPDUs) on all theiroutput ports
BPDU = ltSource switch id root asassumed distance to rootgt
All switches will soon discoverthe root id
A B2
C31
LAN
4
G
I
D E F
6 75
H J8 9
Switch
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (1)Root switch A sends ltAA0gt on LAN1 and LAN2
B sends ltBA1gt on LAN 3
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-80
2 Build the tree By continuously receiving these
BPDUs (possibly on severalports) a switch knows itsdistance to the root and whichport leads to the root by thatshortest distance (root port r)
A B2
C31 4
G
I
D E F
6 75
H J8 9
r
r
r
rr
r
r
rr
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (2)Root portRoot switch
41
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-81
3 Decide if non-root ports are (data)forwarding or (data) blockingA port is forwarding (f) on a givenLAN if the BPDUs this switch sendson this LAN are smaller thanthose other switches (would) send
Smaller = shorter distance or equaldistance and smaller switch id
Exampleon LAN6 E sends ltEA2gt G would sendltGA2gt and J would send ltJA3gtSo E is elected to be the only one toforward frames on LAN6 J is too faraway from the root and G gt E
A B2
C31 4
G
I
D E F
6 75
H J8 9
rf
r
r
rr
r
r
rr
f f f
f f f
f f
Spanning tree (3)Forwarding port
Blocking port
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-82
Some switches (eg G and J) are not part of the tree Another case could be that some ports of some switches are blocking
They could become part of the tree if another switch or port would fail(leading to no refresh of BPDUs)
So switches have to listen to BPDUs on blocking ports to detect failures
1 2 3 4
5 6 7
8 9
A B C
D E F
H
LAN
Switch thatis part of the
spanning tree
Switch that isnot part of thespanning tree
I
The resulting spanning treeRouting on a spanning treeis not optimal
Same spanning tree for allsource-destination pair
Compare to layer-3 routing
From Computer Networks by Tanenbaum copy Prentice Hall
42
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-83
Switches vs Routers both store-and-forward devices
routers network layer devices (examine network layerheaders)
switches are link layer devices routers maintain IP routing and IP forwarding
tables implement routing algorithms switches maintain MAC forwarding tables
implement filtering learning and spanning treealgorithms
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-84
Summary comparison
hubs routers switches
traffic
isolation
no yes yes
plug amp play yes no yes
optimal
routing
no yes no
cut
through
yes no yes
Some do
43
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-85
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-86
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line ADSL line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
bull Data link used to be considered ldquohigh layerrdquo inprotocol stack
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
26
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-51
ARP protocol Same LAN (network)
A wants to send datagramto B and Brsquos MAC addressnot in Arsquos ARP table
A broadcasts ARP querypacket containing Bs IPaddress dest MAC address =
FF-FF-FF-FF-FF-FF all machines on LAN
receive ARP query B receives ARP packet
replies to A with its (Bs)MAC address frame sent to Arsquos MAC
address (unicast)
A caches (saves) Brsquos IP-to-MAC address pair in itsARP table until informationbecomes old (times out) soft state information
that times out (goes away)unless refreshed
All other stations had alsocached Arsquos IP-to-MAC pair
ARP is ldquoplug-and-playrdquo nodes create their ARP
tables withoutintervention from netadministrator
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-52
Addressing routing to another LAN
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
walkthrough send datagram from A to B via R assume A knows Brsquos IP address
two ARP tables in router R one for each IPnetwork (LAN)
27
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-53
A creates IP datagram with source A destination B In routing table at source Host find Rrsquos IP = 111111111110 A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees itrsquos
destined for B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-54
Link Layer
51 Introduction andservices
52 Error detection
53Multiple accessprotocols
54 Link-LayerAddressing
55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
28
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-55
Ethernetldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-56
Star topology bus topology popular through mid 90s
all nodes in same collision domain (can collide with eachother)
today star topology prevails active switch in center each ldquospokerdquo runs a (separate) Ethernet protocol (nodes
do not collide with each other)
switch
bus coaxial cable star
29
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-57
Ethernet Frame StructureSending 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
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-58
Ethernet Frame Structure (more) Addresses 6 bytes
if adapter receives frame with matching destinationaddress or with broadcast address (eg ARP packet) itpasses data in frame to network layer protocol
otherwise adapter discards frame Type indicates higher layer protocol (mostly IP
but others possible eg Novell IPX AppleTalk) CRC checked at receiver if error is detected
frame is dropped
30
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-59
Ethernet Unreliable connectionless
connectionless No handshaking between sending andreceiving NICs
unreliable receiving NIC doesnrsquot send acks nor nacksto sending NIC stream of datagrams passed to network layer can have gaps
(missing datagrams) gaps will be filled if app is using TCP otherwise app will see gaps
Ethernetrsquos MAC protocol unslotted CSMACD
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-60
Ethernet CSMACD algorithm1 NIC receives datagram
from network layercreates frame
2 If NIC senses channel idlestarts frame transmissionIf NIC senses channelbusy waits until channelidle then transmits
3 If NIC transmits entireframe without detectinganother transmission NICis done with frame
4 If NIC detects anothertransmission whiletransmitting (collision)aborts and sends jamsignal
5 After aborting NICenters exponentialbackoff after mthcollision NIC chooses K atrandom from012hellip2m-1 NIC waitsK512 bit times returns toStep 2
31
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-61
Ethernetrsquos CSMACD (more)Jam Signal make sure all
other transmitters areaware of collision 48bits
Bit time 01 microsec for 10Mbps Ethernetfor K=1023 wait timeis about 50 msec
Exponential Backoff Goal adapt retransmission
attempts to estimatedcurrent load heavy load random wait
will be longer first collision choose K from
01 delay is K 512 bittransmission times
after second collision chooseK from 0123hellip
after ten collisions choose Kfrom 01234hellip1023
with this backoff algorithmEthernet is sort ofp-persistent CSMA with anadaptive p
Seeinteract with Javaapplet on AWL Web sitehighly recommended
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-62
S = T (T + α times 2τ)= 1 (1 + α times 2τT)= 1 (1 + α times 2BLcF )For large N α convergestowards e (plusmn27) for ap-persistent CSMA withp = 1N (ideal case)
So for N gtgt S cannotbe better than1 (1 + e times 2τT)= 1 (1 + 54 τT)
Number of active stations = N
Channel efficiency
S10
09
08
07
06
05
04
03
02
01
0 1 2 4 8 16 32 64 128 256
1024 byte frames
512 byte frames
256 byte frames
128 byte frames
64 byte frames
From Computer Networks by Tanenbaum copy Prentice Hall
Channel efficiency of an adaptivep-persistent CSMA
Let α = the average number of slots (2 τ) before any successful transmission
32
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-63
8023 Ethernet Standards Link amp Physical Layers
many different Ethernet standards common MAC protocol and frame format different speeds 2 Mbps 10 Mbps 100 Mbps
1 Gbps 10 Gbps different physical layer media fiber cable
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twistedpair) physical layer
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-64
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
33
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-65
Manchester encoding - Signaldistortion
Transmittedsignal
Receivedsignal
after 1200 mon RG11 coax
Manchester signal at 4Mbps
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-66
Link Layer
51 Introduction andservices
52 Error detection 53 Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
34
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-67
Hubshellip physical-layer (ldquodumbrdquo) repeaters
bits coming in one link go out all other links at samerate
all nodes connected to hub can collide with oneanother
no frame buffering no CSMACD at hub host NICs detect collisions
twisted pair
hub
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-68
Switch link-layer device smarter than hubs take
active role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links whenframe is to be forwarded on segment usesCSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
35
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-69
Switch allows multiple simultaneoustransmissions
hosts have dedicateddirect connection to switch
switches buffer packets Ethernet protocol used on
each incoming link but nocollisions full duplex each link is its own collision
domain switching A-to-Arsquo and B-
to-Brsquo simultaneouslywithout collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-70
Switch Table
Q how does switch know thatArsquo reachable via interface 4Brsquo reachable via interface 5
A each switch has a switchtable each entry (MAC address of host interface
to reach host time stamp) Is a MAC forwarding table
Looks like an IP forwarding table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
36
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-71
Switch self-learning
switch learns which hostscan be reached throughwhich interfaces when frame received
switch ldquolearnsrdquo location ofsender incoming LANsegment
records senderlocationpair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-72
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 if entry found for destination
then if dest on segment from which frame arrived
then drop the frame else forward the frame on interface indicated else flood forward on all but the interface
on which the frame arrived
37
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-73
Self-learningforwardingexample
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo frame destination
unknown flood
Arsquo A
destination Alocation known
Arsquo 4 60
selective send
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-74
Interconnecting switches
switches can be connected together
A
B
Q sending from A to F - how does S1 know how toforward frame destined for F via S4 and S2
A self learning (works exactly the same as insingle-switch case)
S1
C D
E
FS2
S4
S3
HI
G
38
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-75
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
HI
G
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-76
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
39
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-77
All principles seen so far are applicable to a subnet withseveral switches if there is no cycle in the topology No cycle = no redundancy in case of failure
Part of subnet can be disconnected
A B
LAN 1
C D E
F G H
LAN 4
LAN 3LAN 2
From Computer Networks by Tanenbaum copy Prentice Hall
More than one switch in asubnet
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-78
Problem Frame F (whose destination address is unknown to bothswitches) will loop
Solution build a logical spanning tree topology over the real topology
LAN 1
LAN 2
FInitial frame
F1 F2
Frame copiedby left switch
Frame copiedby right switch
From Computer Networks by Tanenbaum copy Prentice Hall
Problem with cycles
40
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-79
Build a logical tree reaching allLANs
1 Determine the root switch(smallest switch id)
Switches regularly flood controlmessages (BPDUs) on all theiroutput ports
BPDU = ltSource switch id root asassumed distance to rootgt
All switches will soon discoverthe root id
A B2
C31
LAN
4
G
I
D E F
6 75
H J8 9
Switch
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (1)Root switch A sends ltAA0gt on LAN1 and LAN2
B sends ltBA1gt on LAN 3
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-80
2 Build the tree By continuously receiving these
BPDUs (possibly on severalports) a switch knows itsdistance to the root and whichport leads to the root by thatshortest distance (root port r)
A B2
C31 4
G
I
D E F
6 75
H J8 9
r
r
r
rr
r
r
rr
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (2)Root portRoot switch
41
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-81
3 Decide if non-root ports are (data)forwarding or (data) blockingA port is forwarding (f) on a givenLAN if the BPDUs this switch sendson this LAN are smaller thanthose other switches (would) send
Smaller = shorter distance or equaldistance and smaller switch id
Exampleon LAN6 E sends ltEA2gt G would sendltGA2gt and J would send ltJA3gtSo E is elected to be the only one toforward frames on LAN6 J is too faraway from the root and G gt E
A B2
C31 4
G
I
D E F
6 75
H J8 9
rf
r
r
rr
r
r
rr
f f f
f f f
f f
Spanning tree (3)Forwarding port
Blocking port
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-82
Some switches (eg G and J) are not part of the tree Another case could be that some ports of some switches are blocking
They could become part of the tree if another switch or port would fail(leading to no refresh of BPDUs)
So switches have to listen to BPDUs on blocking ports to detect failures
1 2 3 4
5 6 7
8 9
A B C
D E F
H
LAN
Switch thatis part of the
spanning tree
Switch that isnot part of thespanning tree
I
The resulting spanning treeRouting on a spanning treeis not optimal
Same spanning tree for allsource-destination pair
Compare to layer-3 routing
From Computer Networks by Tanenbaum copy Prentice Hall
42
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-83
Switches vs Routers both store-and-forward devices
routers network layer devices (examine network layerheaders)
switches are link layer devices routers maintain IP routing and IP forwarding
tables implement routing algorithms switches maintain MAC forwarding tables
implement filtering learning and spanning treealgorithms
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-84
Summary comparison
hubs routers switches
traffic
isolation
no yes yes
plug amp play yes no yes
optimal
routing
no yes no
cut
through
yes no yes
Some do
43
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-85
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-86
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line ADSL line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
bull Data link used to be considered ldquohigh layerrdquo inprotocol stack
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
27
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-53
A creates IP datagram with source A destination B In routing table at source Host find Rrsquos IP = 111111111110 A uses ARP to get Rrsquos MAC address for 111111111110 A creates link-layer frame with Rs MAC address as dest
frame contains A-to-B IP datagram Arsquos NIC sends frame Rrsquos NIC receives frame R removes IP datagram from Ethernet frame sees itrsquos
destined for B R uses ARP to get Brsquos MAC address R creates frame containing A-to-B IP datagram sends to B
R
1A-23-F9-CD-06-9B
222222222220111111111110
E6-E9-00-17-BB-4B
CC-49-DE-D0-AB-7D
111111111112
111111111111
A74-29-9C-E8-FF-55
222222222221
88-B2-2F-54-1A-0F
B222222222222
49-BD-D2-C7-56-2A
This is a really importantexample ndash make sure youunderstand
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-54
Link Layer
51 Introduction andservices
52 Error detection
53Multiple accessprotocols
54 Link-LayerAddressing
55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
28
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-55
Ethernetldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-56
Star topology bus topology popular through mid 90s
all nodes in same collision domain (can collide with eachother)
today star topology prevails active switch in center each ldquospokerdquo runs a (separate) Ethernet protocol (nodes
do not collide with each other)
switch
bus coaxial cable star
29
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-57
Ethernet Frame StructureSending 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
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-58
Ethernet Frame Structure (more) Addresses 6 bytes
if adapter receives frame with matching destinationaddress or with broadcast address (eg ARP packet) itpasses data in frame to network layer protocol
otherwise adapter discards frame Type indicates higher layer protocol (mostly IP
but others possible eg Novell IPX AppleTalk) CRC checked at receiver if error is detected
frame is dropped
30
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-59
Ethernet Unreliable connectionless
connectionless No handshaking between sending andreceiving NICs
unreliable receiving NIC doesnrsquot send acks nor nacksto sending NIC stream of datagrams passed to network layer can have gaps
(missing datagrams) gaps will be filled if app is using TCP otherwise app will see gaps
Ethernetrsquos MAC protocol unslotted CSMACD
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-60
Ethernet CSMACD algorithm1 NIC receives datagram
from network layercreates frame
2 If NIC senses channel idlestarts frame transmissionIf NIC senses channelbusy waits until channelidle then transmits
3 If NIC transmits entireframe without detectinganother transmission NICis done with frame
4 If NIC detects anothertransmission whiletransmitting (collision)aborts and sends jamsignal
5 After aborting NICenters exponentialbackoff after mthcollision NIC chooses K atrandom from012hellip2m-1 NIC waitsK512 bit times returns toStep 2
31
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-61
Ethernetrsquos CSMACD (more)Jam Signal make sure all
other transmitters areaware of collision 48bits
Bit time 01 microsec for 10Mbps Ethernetfor K=1023 wait timeis about 50 msec
Exponential Backoff Goal adapt retransmission
attempts to estimatedcurrent load heavy load random wait
will be longer first collision choose K from
01 delay is K 512 bittransmission times
after second collision chooseK from 0123hellip
after ten collisions choose Kfrom 01234hellip1023
with this backoff algorithmEthernet is sort ofp-persistent CSMA with anadaptive p
Seeinteract with Javaapplet on AWL Web sitehighly recommended
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-62
S = T (T + α times 2τ)= 1 (1 + α times 2τT)= 1 (1 + α times 2BLcF )For large N α convergestowards e (plusmn27) for ap-persistent CSMA withp = 1N (ideal case)
So for N gtgt S cannotbe better than1 (1 + e times 2τT)= 1 (1 + 54 τT)
Number of active stations = N
Channel efficiency
S10
09
08
07
06
05
04
03
02
01
0 1 2 4 8 16 32 64 128 256
1024 byte frames
512 byte frames
256 byte frames
128 byte frames
64 byte frames
From Computer Networks by Tanenbaum copy Prentice Hall
Channel efficiency of an adaptivep-persistent CSMA
Let α = the average number of slots (2 τ) before any successful transmission
32
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-63
8023 Ethernet Standards Link amp Physical Layers
many different Ethernet standards common MAC protocol and frame format different speeds 2 Mbps 10 Mbps 100 Mbps
1 Gbps 10 Gbps different physical layer media fiber cable
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twistedpair) physical layer
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-64
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
33
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-65
Manchester encoding - Signaldistortion
Transmittedsignal
Receivedsignal
after 1200 mon RG11 coax
Manchester signal at 4Mbps
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-66
Link Layer
51 Introduction andservices
52 Error detection 53 Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
34
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-67
Hubshellip physical-layer (ldquodumbrdquo) repeaters
bits coming in one link go out all other links at samerate
all nodes connected to hub can collide with oneanother
no frame buffering no CSMACD at hub host NICs detect collisions
twisted pair
hub
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-68
Switch link-layer device smarter than hubs take
active role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links whenframe is to be forwarded on segment usesCSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
35
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-69
Switch allows multiple simultaneoustransmissions
hosts have dedicateddirect connection to switch
switches buffer packets Ethernet protocol used on
each incoming link but nocollisions full duplex each link is its own collision
domain switching A-to-Arsquo and B-
to-Brsquo simultaneouslywithout collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-70
Switch Table
Q how does switch know thatArsquo reachable via interface 4Brsquo reachable via interface 5
A each switch has a switchtable each entry (MAC address of host interface
to reach host time stamp) Is a MAC forwarding table
Looks like an IP forwarding table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
36
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-71
Switch self-learning
switch learns which hostscan be reached throughwhich interfaces when frame received
switch ldquolearnsrdquo location ofsender incoming LANsegment
records senderlocationpair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-72
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 if entry found for destination
then if dest on segment from which frame arrived
then drop the frame else forward the frame on interface indicated else flood forward on all but the interface
on which the frame arrived
37
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-73
Self-learningforwardingexample
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo frame destination
unknown flood
Arsquo A
destination Alocation known
Arsquo 4 60
selective send
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-74
Interconnecting switches
switches can be connected together
A
B
Q sending from A to F - how does S1 know how toforward frame destined for F via S4 and S2
A self learning (works exactly the same as insingle-switch case)
S1
C D
E
FS2
S4
S3
HI
G
38
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-75
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
HI
G
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-76
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
39
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-77
All principles seen so far are applicable to a subnet withseveral switches if there is no cycle in the topology No cycle = no redundancy in case of failure
Part of subnet can be disconnected
A B
LAN 1
C D E
F G H
LAN 4
LAN 3LAN 2
From Computer Networks by Tanenbaum copy Prentice Hall
More than one switch in asubnet
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-78
Problem Frame F (whose destination address is unknown to bothswitches) will loop
Solution build a logical spanning tree topology over the real topology
LAN 1
LAN 2
FInitial frame
F1 F2
Frame copiedby left switch
Frame copiedby right switch
From Computer Networks by Tanenbaum copy Prentice Hall
Problem with cycles
40
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-79
Build a logical tree reaching allLANs
1 Determine the root switch(smallest switch id)
Switches regularly flood controlmessages (BPDUs) on all theiroutput ports
BPDU = ltSource switch id root asassumed distance to rootgt
All switches will soon discoverthe root id
A B2
C31
LAN
4
G
I
D E F
6 75
H J8 9
Switch
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (1)Root switch A sends ltAA0gt on LAN1 and LAN2
B sends ltBA1gt on LAN 3
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-80
2 Build the tree By continuously receiving these
BPDUs (possibly on severalports) a switch knows itsdistance to the root and whichport leads to the root by thatshortest distance (root port r)
A B2
C31 4
G
I
D E F
6 75
H J8 9
r
r
r
rr
r
r
rr
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (2)Root portRoot switch
41
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-81
3 Decide if non-root ports are (data)forwarding or (data) blockingA port is forwarding (f) on a givenLAN if the BPDUs this switch sendson this LAN are smaller thanthose other switches (would) send
Smaller = shorter distance or equaldistance and smaller switch id
Exampleon LAN6 E sends ltEA2gt G would sendltGA2gt and J would send ltJA3gtSo E is elected to be the only one toforward frames on LAN6 J is too faraway from the root and G gt E
A B2
C31 4
G
I
D E F
6 75
H J8 9
rf
r
r
rr
r
r
rr
f f f
f f f
f f
Spanning tree (3)Forwarding port
Blocking port
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-82
Some switches (eg G and J) are not part of the tree Another case could be that some ports of some switches are blocking
They could become part of the tree if another switch or port would fail(leading to no refresh of BPDUs)
So switches have to listen to BPDUs on blocking ports to detect failures
1 2 3 4
5 6 7
8 9
A B C
D E F
H
LAN
Switch thatis part of the
spanning tree
Switch that isnot part of thespanning tree
I
The resulting spanning treeRouting on a spanning treeis not optimal
Same spanning tree for allsource-destination pair
Compare to layer-3 routing
From Computer Networks by Tanenbaum copy Prentice Hall
42
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-83
Switches vs Routers both store-and-forward devices
routers network layer devices (examine network layerheaders)
switches are link layer devices routers maintain IP routing and IP forwarding
tables implement routing algorithms switches maintain MAC forwarding tables
implement filtering learning and spanning treealgorithms
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-84
Summary comparison
hubs routers switches
traffic
isolation
no yes yes
plug amp play yes no yes
optimal
routing
no yes no
cut
through
yes no yes
Some do
43
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-85
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-86
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line ADSL line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
bull Data link used to be considered ldquohigh layerrdquo inprotocol stack
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
28
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-55
Ethernetldquodominantrdquo 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 ndash 10 Gbps
Metcalfersquos Ethernetsketch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-56
Star topology bus topology popular through mid 90s
all nodes in same collision domain (can collide with eachother)
today star topology prevails active switch in center each ldquospokerdquo runs a (separate) Ethernet protocol (nodes
do not collide with each other)
switch
bus coaxial cable star
29
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-57
Ethernet Frame StructureSending 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
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-58
Ethernet Frame Structure (more) Addresses 6 bytes
if adapter receives frame with matching destinationaddress or with broadcast address (eg ARP packet) itpasses data in frame to network layer protocol
otherwise adapter discards frame Type indicates higher layer protocol (mostly IP
but others possible eg Novell IPX AppleTalk) CRC checked at receiver if error is detected
frame is dropped
30
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-59
Ethernet Unreliable connectionless
connectionless No handshaking between sending andreceiving NICs
unreliable receiving NIC doesnrsquot send acks nor nacksto sending NIC stream of datagrams passed to network layer can have gaps
(missing datagrams) gaps will be filled if app is using TCP otherwise app will see gaps
Ethernetrsquos MAC protocol unslotted CSMACD
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-60
Ethernet CSMACD algorithm1 NIC receives datagram
from network layercreates frame
2 If NIC senses channel idlestarts frame transmissionIf NIC senses channelbusy waits until channelidle then transmits
3 If NIC transmits entireframe without detectinganother transmission NICis done with frame
4 If NIC detects anothertransmission whiletransmitting (collision)aborts and sends jamsignal
5 After aborting NICenters exponentialbackoff after mthcollision NIC chooses K atrandom from012hellip2m-1 NIC waitsK512 bit times returns toStep 2
31
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-61
Ethernetrsquos CSMACD (more)Jam Signal make sure all
other transmitters areaware of collision 48bits
Bit time 01 microsec for 10Mbps Ethernetfor K=1023 wait timeis about 50 msec
Exponential Backoff Goal adapt retransmission
attempts to estimatedcurrent load heavy load random wait
will be longer first collision choose K from
01 delay is K 512 bittransmission times
after second collision chooseK from 0123hellip
after ten collisions choose Kfrom 01234hellip1023
with this backoff algorithmEthernet is sort ofp-persistent CSMA with anadaptive p
Seeinteract with Javaapplet on AWL Web sitehighly recommended
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-62
S = T (T + α times 2τ)= 1 (1 + α times 2τT)= 1 (1 + α times 2BLcF )For large N α convergestowards e (plusmn27) for ap-persistent CSMA withp = 1N (ideal case)
So for N gtgt S cannotbe better than1 (1 + e times 2τT)= 1 (1 + 54 τT)
Number of active stations = N
Channel efficiency
S10
09
08
07
06
05
04
03
02
01
0 1 2 4 8 16 32 64 128 256
1024 byte frames
512 byte frames
256 byte frames
128 byte frames
64 byte frames
From Computer Networks by Tanenbaum copy Prentice Hall
Channel efficiency of an adaptivep-persistent CSMA
Let α = the average number of slots (2 τ) before any successful transmission
32
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-63
8023 Ethernet Standards Link amp Physical Layers
many different Ethernet standards common MAC protocol and frame format different speeds 2 Mbps 10 Mbps 100 Mbps
1 Gbps 10 Gbps different physical layer media fiber cable
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twistedpair) physical layer
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-64
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
33
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-65
Manchester encoding - Signaldistortion
Transmittedsignal
Receivedsignal
after 1200 mon RG11 coax
Manchester signal at 4Mbps
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-66
Link Layer
51 Introduction andservices
52 Error detection 53 Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
34
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-67
Hubshellip physical-layer (ldquodumbrdquo) repeaters
bits coming in one link go out all other links at samerate
all nodes connected to hub can collide with oneanother
no frame buffering no CSMACD at hub host NICs detect collisions
twisted pair
hub
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-68
Switch link-layer device smarter than hubs take
active role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links whenframe is to be forwarded on segment usesCSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
35
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-69
Switch allows multiple simultaneoustransmissions
hosts have dedicateddirect connection to switch
switches buffer packets Ethernet protocol used on
each incoming link but nocollisions full duplex each link is its own collision
domain switching A-to-Arsquo and B-
to-Brsquo simultaneouslywithout collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-70
Switch Table
Q how does switch know thatArsquo reachable via interface 4Brsquo reachable via interface 5
A each switch has a switchtable each entry (MAC address of host interface
to reach host time stamp) Is a MAC forwarding table
Looks like an IP forwarding table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
36
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-71
Switch self-learning
switch learns which hostscan be reached throughwhich interfaces when frame received
switch ldquolearnsrdquo location ofsender incoming LANsegment
records senderlocationpair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-72
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 if entry found for destination
then if dest on segment from which frame arrived
then drop the frame else forward the frame on interface indicated else flood forward on all but the interface
on which the frame arrived
37
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-73
Self-learningforwardingexample
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo frame destination
unknown flood
Arsquo A
destination Alocation known
Arsquo 4 60
selective send
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-74
Interconnecting switches
switches can be connected together
A
B
Q sending from A to F - how does S1 know how toforward frame destined for F via S4 and S2
A self learning (works exactly the same as insingle-switch case)
S1
C D
E
FS2
S4
S3
HI
G
38
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-75
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
HI
G
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-76
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
39
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-77
All principles seen so far are applicable to a subnet withseveral switches if there is no cycle in the topology No cycle = no redundancy in case of failure
Part of subnet can be disconnected
A B
LAN 1
C D E
F G H
LAN 4
LAN 3LAN 2
From Computer Networks by Tanenbaum copy Prentice Hall
More than one switch in asubnet
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-78
Problem Frame F (whose destination address is unknown to bothswitches) will loop
Solution build a logical spanning tree topology over the real topology
LAN 1
LAN 2
FInitial frame
F1 F2
Frame copiedby left switch
Frame copiedby right switch
From Computer Networks by Tanenbaum copy Prentice Hall
Problem with cycles
40
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-79
Build a logical tree reaching allLANs
1 Determine the root switch(smallest switch id)
Switches regularly flood controlmessages (BPDUs) on all theiroutput ports
BPDU = ltSource switch id root asassumed distance to rootgt
All switches will soon discoverthe root id
A B2
C31
LAN
4
G
I
D E F
6 75
H J8 9
Switch
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (1)Root switch A sends ltAA0gt on LAN1 and LAN2
B sends ltBA1gt on LAN 3
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-80
2 Build the tree By continuously receiving these
BPDUs (possibly on severalports) a switch knows itsdistance to the root and whichport leads to the root by thatshortest distance (root port r)
A B2
C31 4
G
I
D E F
6 75
H J8 9
r
r
r
rr
r
r
rr
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (2)Root portRoot switch
41
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-81
3 Decide if non-root ports are (data)forwarding or (data) blockingA port is forwarding (f) on a givenLAN if the BPDUs this switch sendson this LAN are smaller thanthose other switches (would) send
Smaller = shorter distance or equaldistance and smaller switch id
Exampleon LAN6 E sends ltEA2gt G would sendltGA2gt and J would send ltJA3gtSo E is elected to be the only one toforward frames on LAN6 J is too faraway from the root and G gt E
A B2
C31 4
G
I
D E F
6 75
H J8 9
rf
r
r
rr
r
r
rr
f f f
f f f
f f
Spanning tree (3)Forwarding port
Blocking port
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-82
Some switches (eg G and J) are not part of the tree Another case could be that some ports of some switches are blocking
They could become part of the tree if another switch or port would fail(leading to no refresh of BPDUs)
So switches have to listen to BPDUs on blocking ports to detect failures
1 2 3 4
5 6 7
8 9
A B C
D E F
H
LAN
Switch thatis part of the
spanning tree
Switch that isnot part of thespanning tree
I
The resulting spanning treeRouting on a spanning treeis not optimal
Same spanning tree for allsource-destination pair
Compare to layer-3 routing
From Computer Networks by Tanenbaum copy Prentice Hall
42
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-83
Switches vs Routers both store-and-forward devices
routers network layer devices (examine network layerheaders)
switches are link layer devices routers maintain IP routing and IP forwarding
tables implement routing algorithms switches maintain MAC forwarding tables
implement filtering learning and spanning treealgorithms
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-84
Summary comparison
hubs routers switches
traffic
isolation
no yes yes
plug amp play yes no yes
optimal
routing
no yes no
cut
through
yes no yes
Some do
43
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-85
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-86
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line ADSL line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
bull Data link used to be considered ldquohigh layerrdquo inprotocol stack
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
29
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-57
Ethernet Frame StructureSending 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
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-58
Ethernet Frame Structure (more) Addresses 6 bytes
if adapter receives frame with matching destinationaddress or with broadcast address (eg ARP packet) itpasses data in frame to network layer protocol
otherwise adapter discards frame Type indicates higher layer protocol (mostly IP
but others possible eg Novell IPX AppleTalk) CRC checked at receiver if error is detected
frame is dropped
30
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-59
Ethernet Unreliable connectionless
connectionless No handshaking between sending andreceiving NICs
unreliable receiving NIC doesnrsquot send acks nor nacksto sending NIC stream of datagrams passed to network layer can have gaps
(missing datagrams) gaps will be filled if app is using TCP otherwise app will see gaps
Ethernetrsquos MAC protocol unslotted CSMACD
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-60
Ethernet CSMACD algorithm1 NIC receives datagram
from network layercreates frame
2 If NIC senses channel idlestarts frame transmissionIf NIC senses channelbusy waits until channelidle then transmits
3 If NIC transmits entireframe without detectinganother transmission NICis done with frame
4 If NIC detects anothertransmission whiletransmitting (collision)aborts and sends jamsignal
5 After aborting NICenters exponentialbackoff after mthcollision NIC chooses K atrandom from012hellip2m-1 NIC waitsK512 bit times returns toStep 2
31
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-61
Ethernetrsquos CSMACD (more)Jam Signal make sure all
other transmitters areaware of collision 48bits
Bit time 01 microsec for 10Mbps Ethernetfor K=1023 wait timeis about 50 msec
Exponential Backoff Goal adapt retransmission
attempts to estimatedcurrent load heavy load random wait
will be longer first collision choose K from
01 delay is K 512 bittransmission times
after second collision chooseK from 0123hellip
after ten collisions choose Kfrom 01234hellip1023
with this backoff algorithmEthernet is sort ofp-persistent CSMA with anadaptive p
Seeinteract with Javaapplet on AWL Web sitehighly recommended
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-62
S = T (T + α times 2τ)= 1 (1 + α times 2τT)= 1 (1 + α times 2BLcF )For large N α convergestowards e (plusmn27) for ap-persistent CSMA withp = 1N (ideal case)
So for N gtgt S cannotbe better than1 (1 + e times 2τT)= 1 (1 + 54 τT)
Number of active stations = N
Channel efficiency
S10
09
08
07
06
05
04
03
02
01
0 1 2 4 8 16 32 64 128 256
1024 byte frames
512 byte frames
256 byte frames
128 byte frames
64 byte frames
From Computer Networks by Tanenbaum copy Prentice Hall
Channel efficiency of an adaptivep-persistent CSMA
Let α = the average number of slots (2 τ) before any successful transmission
32
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-63
8023 Ethernet Standards Link amp Physical Layers
many different Ethernet standards common MAC protocol and frame format different speeds 2 Mbps 10 Mbps 100 Mbps
1 Gbps 10 Gbps different physical layer media fiber cable
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twistedpair) physical layer
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-64
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
33
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-65
Manchester encoding - Signaldistortion
Transmittedsignal
Receivedsignal
after 1200 mon RG11 coax
Manchester signal at 4Mbps
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-66
Link Layer
51 Introduction andservices
52 Error detection 53 Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
34
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-67
Hubshellip physical-layer (ldquodumbrdquo) repeaters
bits coming in one link go out all other links at samerate
all nodes connected to hub can collide with oneanother
no frame buffering no CSMACD at hub host NICs detect collisions
twisted pair
hub
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-68
Switch link-layer device smarter than hubs take
active role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links whenframe is to be forwarded on segment usesCSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
35
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-69
Switch allows multiple simultaneoustransmissions
hosts have dedicateddirect connection to switch
switches buffer packets Ethernet protocol used on
each incoming link but nocollisions full duplex each link is its own collision
domain switching A-to-Arsquo and B-
to-Brsquo simultaneouslywithout collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-70
Switch Table
Q how does switch know thatArsquo reachable via interface 4Brsquo reachable via interface 5
A each switch has a switchtable each entry (MAC address of host interface
to reach host time stamp) Is a MAC forwarding table
Looks like an IP forwarding table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
36
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-71
Switch self-learning
switch learns which hostscan be reached throughwhich interfaces when frame received
switch ldquolearnsrdquo location ofsender incoming LANsegment
records senderlocationpair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-72
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 if entry found for destination
then if dest on segment from which frame arrived
then drop the frame else forward the frame on interface indicated else flood forward on all but the interface
on which the frame arrived
37
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-73
Self-learningforwardingexample
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo frame destination
unknown flood
Arsquo A
destination Alocation known
Arsquo 4 60
selective send
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-74
Interconnecting switches
switches can be connected together
A
B
Q sending from A to F - how does S1 know how toforward frame destined for F via S4 and S2
A self learning (works exactly the same as insingle-switch case)
S1
C D
E
FS2
S4
S3
HI
G
38
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-75
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
HI
G
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-76
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
39
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-77
All principles seen so far are applicable to a subnet withseveral switches if there is no cycle in the topology No cycle = no redundancy in case of failure
Part of subnet can be disconnected
A B
LAN 1
C D E
F G H
LAN 4
LAN 3LAN 2
From Computer Networks by Tanenbaum copy Prentice Hall
More than one switch in asubnet
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-78
Problem Frame F (whose destination address is unknown to bothswitches) will loop
Solution build a logical spanning tree topology over the real topology
LAN 1
LAN 2
FInitial frame
F1 F2
Frame copiedby left switch
Frame copiedby right switch
From Computer Networks by Tanenbaum copy Prentice Hall
Problem with cycles
40
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-79
Build a logical tree reaching allLANs
1 Determine the root switch(smallest switch id)
Switches regularly flood controlmessages (BPDUs) on all theiroutput ports
BPDU = ltSource switch id root asassumed distance to rootgt
All switches will soon discoverthe root id
A B2
C31
LAN
4
G
I
D E F
6 75
H J8 9
Switch
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (1)Root switch A sends ltAA0gt on LAN1 and LAN2
B sends ltBA1gt on LAN 3
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-80
2 Build the tree By continuously receiving these
BPDUs (possibly on severalports) a switch knows itsdistance to the root and whichport leads to the root by thatshortest distance (root port r)
A B2
C31 4
G
I
D E F
6 75
H J8 9
r
r
r
rr
r
r
rr
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (2)Root portRoot switch
41
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-81
3 Decide if non-root ports are (data)forwarding or (data) blockingA port is forwarding (f) on a givenLAN if the BPDUs this switch sendson this LAN are smaller thanthose other switches (would) send
Smaller = shorter distance or equaldistance and smaller switch id
Exampleon LAN6 E sends ltEA2gt G would sendltGA2gt and J would send ltJA3gtSo E is elected to be the only one toforward frames on LAN6 J is too faraway from the root and G gt E
A B2
C31 4
G
I
D E F
6 75
H J8 9
rf
r
r
rr
r
r
rr
f f f
f f f
f f
Spanning tree (3)Forwarding port
Blocking port
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-82
Some switches (eg G and J) are not part of the tree Another case could be that some ports of some switches are blocking
They could become part of the tree if another switch or port would fail(leading to no refresh of BPDUs)
So switches have to listen to BPDUs on blocking ports to detect failures
1 2 3 4
5 6 7
8 9
A B C
D E F
H
LAN
Switch thatis part of the
spanning tree
Switch that isnot part of thespanning tree
I
The resulting spanning treeRouting on a spanning treeis not optimal
Same spanning tree for allsource-destination pair
Compare to layer-3 routing
From Computer Networks by Tanenbaum copy Prentice Hall
42
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-83
Switches vs Routers both store-and-forward devices
routers network layer devices (examine network layerheaders)
switches are link layer devices routers maintain IP routing and IP forwarding
tables implement routing algorithms switches maintain MAC forwarding tables
implement filtering learning and spanning treealgorithms
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-84
Summary comparison
hubs routers switches
traffic
isolation
no yes yes
plug amp play yes no yes
optimal
routing
no yes no
cut
through
yes no yes
Some do
43
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-85
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-86
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line ADSL line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
bull Data link used to be considered ldquohigh layerrdquo inprotocol stack
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
30
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-59
Ethernet Unreliable connectionless
connectionless No handshaking between sending andreceiving NICs
unreliable receiving NIC doesnrsquot send acks nor nacksto sending NIC stream of datagrams passed to network layer can have gaps
(missing datagrams) gaps will be filled if app is using TCP otherwise app will see gaps
Ethernetrsquos MAC protocol unslotted CSMACD
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-60
Ethernet CSMACD algorithm1 NIC receives datagram
from network layercreates frame
2 If NIC senses channel idlestarts frame transmissionIf NIC senses channelbusy waits until channelidle then transmits
3 If NIC transmits entireframe without detectinganother transmission NICis done with frame
4 If NIC detects anothertransmission whiletransmitting (collision)aborts and sends jamsignal
5 After aborting NICenters exponentialbackoff after mthcollision NIC chooses K atrandom from012hellip2m-1 NIC waitsK512 bit times returns toStep 2
31
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-61
Ethernetrsquos CSMACD (more)Jam Signal make sure all
other transmitters areaware of collision 48bits
Bit time 01 microsec for 10Mbps Ethernetfor K=1023 wait timeis about 50 msec
Exponential Backoff Goal adapt retransmission
attempts to estimatedcurrent load heavy load random wait
will be longer first collision choose K from
01 delay is K 512 bittransmission times
after second collision chooseK from 0123hellip
after ten collisions choose Kfrom 01234hellip1023
with this backoff algorithmEthernet is sort ofp-persistent CSMA with anadaptive p
Seeinteract with Javaapplet on AWL Web sitehighly recommended
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-62
S = T (T + α times 2τ)= 1 (1 + α times 2τT)= 1 (1 + α times 2BLcF )For large N α convergestowards e (plusmn27) for ap-persistent CSMA withp = 1N (ideal case)
So for N gtgt S cannotbe better than1 (1 + e times 2τT)= 1 (1 + 54 τT)
Number of active stations = N
Channel efficiency
S10
09
08
07
06
05
04
03
02
01
0 1 2 4 8 16 32 64 128 256
1024 byte frames
512 byte frames
256 byte frames
128 byte frames
64 byte frames
From Computer Networks by Tanenbaum copy Prentice Hall
Channel efficiency of an adaptivep-persistent CSMA
Let α = the average number of slots (2 τ) before any successful transmission
32
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-63
8023 Ethernet Standards Link amp Physical Layers
many different Ethernet standards common MAC protocol and frame format different speeds 2 Mbps 10 Mbps 100 Mbps
1 Gbps 10 Gbps different physical layer media fiber cable
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twistedpair) physical layer
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-64
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
33
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-65
Manchester encoding - Signaldistortion
Transmittedsignal
Receivedsignal
after 1200 mon RG11 coax
Manchester signal at 4Mbps
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-66
Link Layer
51 Introduction andservices
52 Error detection 53 Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
34
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-67
Hubshellip physical-layer (ldquodumbrdquo) repeaters
bits coming in one link go out all other links at samerate
all nodes connected to hub can collide with oneanother
no frame buffering no CSMACD at hub host NICs detect collisions
twisted pair
hub
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-68
Switch link-layer device smarter than hubs take
active role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links whenframe is to be forwarded on segment usesCSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
35
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-69
Switch allows multiple simultaneoustransmissions
hosts have dedicateddirect connection to switch
switches buffer packets Ethernet protocol used on
each incoming link but nocollisions full duplex each link is its own collision
domain switching A-to-Arsquo and B-
to-Brsquo simultaneouslywithout collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-70
Switch Table
Q how does switch know thatArsquo reachable via interface 4Brsquo reachable via interface 5
A each switch has a switchtable each entry (MAC address of host interface
to reach host time stamp) Is a MAC forwarding table
Looks like an IP forwarding table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
36
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-71
Switch self-learning
switch learns which hostscan be reached throughwhich interfaces when frame received
switch ldquolearnsrdquo location ofsender incoming LANsegment
records senderlocationpair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-72
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 if entry found for destination
then if dest on segment from which frame arrived
then drop the frame else forward the frame on interface indicated else flood forward on all but the interface
on which the frame arrived
37
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-73
Self-learningforwardingexample
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo frame destination
unknown flood
Arsquo A
destination Alocation known
Arsquo 4 60
selective send
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-74
Interconnecting switches
switches can be connected together
A
B
Q sending from A to F - how does S1 know how toforward frame destined for F via S4 and S2
A self learning (works exactly the same as insingle-switch case)
S1
C D
E
FS2
S4
S3
HI
G
38
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-75
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
HI
G
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-76
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
39
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-77
All principles seen so far are applicable to a subnet withseveral switches if there is no cycle in the topology No cycle = no redundancy in case of failure
Part of subnet can be disconnected
A B
LAN 1
C D E
F G H
LAN 4
LAN 3LAN 2
From Computer Networks by Tanenbaum copy Prentice Hall
More than one switch in asubnet
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-78
Problem Frame F (whose destination address is unknown to bothswitches) will loop
Solution build a logical spanning tree topology over the real topology
LAN 1
LAN 2
FInitial frame
F1 F2
Frame copiedby left switch
Frame copiedby right switch
From Computer Networks by Tanenbaum copy Prentice Hall
Problem with cycles
40
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-79
Build a logical tree reaching allLANs
1 Determine the root switch(smallest switch id)
Switches regularly flood controlmessages (BPDUs) on all theiroutput ports
BPDU = ltSource switch id root asassumed distance to rootgt
All switches will soon discoverthe root id
A B2
C31
LAN
4
G
I
D E F
6 75
H J8 9
Switch
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (1)Root switch A sends ltAA0gt on LAN1 and LAN2
B sends ltBA1gt on LAN 3
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-80
2 Build the tree By continuously receiving these
BPDUs (possibly on severalports) a switch knows itsdistance to the root and whichport leads to the root by thatshortest distance (root port r)
A B2
C31 4
G
I
D E F
6 75
H J8 9
r
r
r
rr
r
r
rr
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (2)Root portRoot switch
41
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-81
3 Decide if non-root ports are (data)forwarding or (data) blockingA port is forwarding (f) on a givenLAN if the BPDUs this switch sendson this LAN are smaller thanthose other switches (would) send
Smaller = shorter distance or equaldistance and smaller switch id
Exampleon LAN6 E sends ltEA2gt G would sendltGA2gt and J would send ltJA3gtSo E is elected to be the only one toforward frames on LAN6 J is too faraway from the root and G gt E
A B2
C31 4
G
I
D E F
6 75
H J8 9
rf
r
r
rr
r
r
rr
f f f
f f f
f f
Spanning tree (3)Forwarding port
Blocking port
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-82
Some switches (eg G and J) are not part of the tree Another case could be that some ports of some switches are blocking
They could become part of the tree if another switch or port would fail(leading to no refresh of BPDUs)
So switches have to listen to BPDUs on blocking ports to detect failures
1 2 3 4
5 6 7
8 9
A B C
D E F
H
LAN
Switch thatis part of the
spanning tree
Switch that isnot part of thespanning tree
I
The resulting spanning treeRouting on a spanning treeis not optimal
Same spanning tree for allsource-destination pair
Compare to layer-3 routing
From Computer Networks by Tanenbaum copy Prentice Hall
42
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-83
Switches vs Routers both store-and-forward devices
routers network layer devices (examine network layerheaders)
switches are link layer devices routers maintain IP routing and IP forwarding
tables implement routing algorithms switches maintain MAC forwarding tables
implement filtering learning and spanning treealgorithms
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-84
Summary comparison
hubs routers switches
traffic
isolation
no yes yes
plug amp play yes no yes
optimal
routing
no yes no
cut
through
yes no yes
Some do
43
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-85
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-86
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line ADSL line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
bull Data link used to be considered ldquohigh layerrdquo inprotocol stack
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
31
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-61
Ethernetrsquos CSMACD (more)Jam Signal make sure all
other transmitters areaware of collision 48bits
Bit time 01 microsec for 10Mbps Ethernetfor K=1023 wait timeis about 50 msec
Exponential Backoff Goal adapt retransmission
attempts to estimatedcurrent load heavy load random wait
will be longer first collision choose K from
01 delay is K 512 bittransmission times
after second collision chooseK from 0123hellip
after ten collisions choose Kfrom 01234hellip1023
with this backoff algorithmEthernet is sort ofp-persistent CSMA with anadaptive p
Seeinteract with Javaapplet on AWL Web sitehighly recommended
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-62
S = T (T + α times 2τ)= 1 (1 + α times 2τT)= 1 (1 + α times 2BLcF )For large N α convergestowards e (plusmn27) for ap-persistent CSMA withp = 1N (ideal case)
So for N gtgt S cannotbe better than1 (1 + e times 2τT)= 1 (1 + 54 τT)
Number of active stations = N
Channel efficiency
S10
09
08
07
06
05
04
03
02
01
0 1 2 4 8 16 32 64 128 256
1024 byte frames
512 byte frames
256 byte frames
128 byte frames
64 byte frames
From Computer Networks by Tanenbaum copy Prentice Hall
Channel efficiency of an adaptivep-persistent CSMA
Let α = the average number of slots (2 τ) before any successful transmission
32
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-63
8023 Ethernet Standards Link amp Physical Layers
many different Ethernet standards common MAC protocol and frame format different speeds 2 Mbps 10 Mbps 100 Mbps
1 Gbps 10 Gbps different physical layer media fiber cable
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twistedpair) physical layer
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-64
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
33
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-65
Manchester encoding - Signaldistortion
Transmittedsignal
Receivedsignal
after 1200 mon RG11 coax
Manchester signal at 4Mbps
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-66
Link Layer
51 Introduction andservices
52 Error detection 53 Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
34
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-67
Hubshellip physical-layer (ldquodumbrdquo) repeaters
bits coming in one link go out all other links at samerate
all nodes connected to hub can collide with oneanother
no frame buffering no CSMACD at hub host NICs detect collisions
twisted pair
hub
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-68
Switch link-layer device smarter than hubs take
active role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links whenframe is to be forwarded on segment usesCSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
35
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-69
Switch allows multiple simultaneoustransmissions
hosts have dedicateddirect connection to switch
switches buffer packets Ethernet protocol used on
each incoming link but nocollisions full duplex each link is its own collision
domain switching A-to-Arsquo and B-
to-Brsquo simultaneouslywithout collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-70
Switch Table
Q how does switch know thatArsquo reachable via interface 4Brsquo reachable via interface 5
A each switch has a switchtable each entry (MAC address of host interface
to reach host time stamp) Is a MAC forwarding table
Looks like an IP forwarding table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
36
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-71
Switch self-learning
switch learns which hostscan be reached throughwhich interfaces when frame received
switch ldquolearnsrdquo location ofsender incoming LANsegment
records senderlocationpair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-72
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 if entry found for destination
then if dest on segment from which frame arrived
then drop the frame else forward the frame on interface indicated else flood forward on all but the interface
on which the frame arrived
37
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-73
Self-learningforwardingexample
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo frame destination
unknown flood
Arsquo A
destination Alocation known
Arsquo 4 60
selective send
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-74
Interconnecting switches
switches can be connected together
A
B
Q sending from A to F - how does S1 know how toforward frame destined for F via S4 and S2
A self learning (works exactly the same as insingle-switch case)
S1
C D
E
FS2
S4
S3
HI
G
38
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-75
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
HI
G
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-76
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
39
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-77
All principles seen so far are applicable to a subnet withseveral switches if there is no cycle in the topology No cycle = no redundancy in case of failure
Part of subnet can be disconnected
A B
LAN 1
C D E
F G H
LAN 4
LAN 3LAN 2
From Computer Networks by Tanenbaum copy Prentice Hall
More than one switch in asubnet
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-78
Problem Frame F (whose destination address is unknown to bothswitches) will loop
Solution build a logical spanning tree topology over the real topology
LAN 1
LAN 2
FInitial frame
F1 F2
Frame copiedby left switch
Frame copiedby right switch
From Computer Networks by Tanenbaum copy Prentice Hall
Problem with cycles
40
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-79
Build a logical tree reaching allLANs
1 Determine the root switch(smallest switch id)
Switches regularly flood controlmessages (BPDUs) on all theiroutput ports
BPDU = ltSource switch id root asassumed distance to rootgt
All switches will soon discoverthe root id
A B2
C31
LAN
4
G
I
D E F
6 75
H J8 9
Switch
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (1)Root switch A sends ltAA0gt on LAN1 and LAN2
B sends ltBA1gt on LAN 3
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-80
2 Build the tree By continuously receiving these
BPDUs (possibly on severalports) a switch knows itsdistance to the root and whichport leads to the root by thatshortest distance (root port r)
A B2
C31 4
G
I
D E F
6 75
H J8 9
r
r
r
rr
r
r
rr
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (2)Root portRoot switch
41
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-81
3 Decide if non-root ports are (data)forwarding or (data) blockingA port is forwarding (f) on a givenLAN if the BPDUs this switch sendson this LAN are smaller thanthose other switches (would) send
Smaller = shorter distance or equaldistance and smaller switch id
Exampleon LAN6 E sends ltEA2gt G would sendltGA2gt and J would send ltJA3gtSo E is elected to be the only one toforward frames on LAN6 J is too faraway from the root and G gt E
A B2
C31 4
G
I
D E F
6 75
H J8 9
rf
r
r
rr
r
r
rr
f f f
f f f
f f
Spanning tree (3)Forwarding port
Blocking port
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-82
Some switches (eg G and J) are not part of the tree Another case could be that some ports of some switches are blocking
They could become part of the tree if another switch or port would fail(leading to no refresh of BPDUs)
So switches have to listen to BPDUs on blocking ports to detect failures
1 2 3 4
5 6 7
8 9
A B C
D E F
H
LAN
Switch thatis part of the
spanning tree
Switch that isnot part of thespanning tree
I
The resulting spanning treeRouting on a spanning treeis not optimal
Same spanning tree for allsource-destination pair
Compare to layer-3 routing
From Computer Networks by Tanenbaum copy Prentice Hall
42
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-83
Switches vs Routers both store-and-forward devices
routers network layer devices (examine network layerheaders)
switches are link layer devices routers maintain IP routing and IP forwarding
tables implement routing algorithms switches maintain MAC forwarding tables
implement filtering learning and spanning treealgorithms
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-84
Summary comparison
hubs routers switches
traffic
isolation
no yes yes
plug amp play yes no yes
optimal
routing
no yes no
cut
through
yes no yes
Some do
43
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-85
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-86
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line ADSL line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
bull Data link used to be considered ldquohigh layerrdquo inprotocol stack
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
32
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-63
8023 Ethernet Standards Link amp Physical Layers
many different Ethernet standards common MAC protocol and frame format different speeds 2 Mbps 10 Mbps 100 Mbps
1 Gbps 10 Gbps different physical layer media fiber cable
applicationtransportnetwork
linkphysical
MAC protocoland frame format
100BASE-TX
100BASE-T4
100BASE-FX100BASE-T2
100BASE-SX 100BASE-BX
fiber physical layercopper (twistedpair) physical layer
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-64
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
33
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-65
Manchester encoding - Signaldistortion
Transmittedsignal
Receivedsignal
after 1200 mon RG11 coax
Manchester signal at 4Mbps
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-66
Link Layer
51 Introduction andservices
52 Error detection 53 Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
34
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-67
Hubshellip physical-layer (ldquodumbrdquo) repeaters
bits coming in one link go out all other links at samerate
all nodes connected to hub can collide with oneanother
no frame buffering no CSMACD at hub host NICs detect collisions
twisted pair
hub
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-68
Switch link-layer device smarter than hubs take
active role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links whenframe is to be forwarded on segment usesCSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
35
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-69
Switch allows multiple simultaneoustransmissions
hosts have dedicateddirect connection to switch
switches buffer packets Ethernet protocol used on
each incoming link but nocollisions full duplex each link is its own collision
domain switching A-to-Arsquo and B-
to-Brsquo simultaneouslywithout collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-70
Switch Table
Q how does switch know thatArsquo reachable via interface 4Brsquo reachable via interface 5
A each switch has a switchtable each entry (MAC address of host interface
to reach host time stamp) Is a MAC forwarding table
Looks like an IP forwarding table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
36
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-71
Switch self-learning
switch learns which hostscan be reached throughwhich interfaces when frame received
switch ldquolearnsrdquo location ofsender incoming LANsegment
records senderlocationpair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-72
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 if entry found for destination
then if dest on segment from which frame arrived
then drop the frame else forward the frame on interface indicated else flood forward on all but the interface
on which the frame arrived
37
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-73
Self-learningforwardingexample
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo frame destination
unknown flood
Arsquo A
destination Alocation known
Arsquo 4 60
selective send
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-74
Interconnecting switches
switches can be connected together
A
B
Q sending from A to F - how does S1 know how toforward frame destined for F via S4 and S2
A self learning (works exactly the same as insingle-switch case)
S1
C D
E
FS2
S4
S3
HI
G
38
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-75
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
HI
G
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-76
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
39
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-77
All principles seen so far are applicable to a subnet withseveral switches if there is no cycle in the topology No cycle = no redundancy in case of failure
Part of subnet can be disconnected
A B
LAN 1
C D E
F G H
LAN 4
LAN 3LAN 2
From Computer Networks by Tanenbaum copy Prentice Hall
More than one switch in asubnet
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-78
Problem Frame F (whose destination address is unknown to bothswitches) will loop
Solution build a logical spanning tree topology over the real topology
LAN 1
LAN 2
FInitial frame
F1 F2
Frame copiedby left switch
Frame copiedby right switch
From Computer Networks by Tanenbaum copy Prentice Hall
Problem with cycles
40
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-79
Build a logical tree reaching allLANs
1 Determine the root switch(smallest switch id)
Switches regularly flood controlmessages (BPDUs) on all theiroutput ports
BPDU = ltSource switch id root asassumed distance to rootgt
All switches will soon discoverthe root id
A B2
C31
LAN
4
G
I
D E F
6 75
H J8 9
Switch
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (1)Root switch A sends ltAA0gt on LAN1 and LAN2
B sends ltBA1gt on LAN 3
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-80
2 Build the tree By continuously receiving these
BPDUs (possibly on severalports) a switch knows itsdistance to the root and whichport leads to the root by thatshortest distance (root port r)
A B2
C31 4
G
I
D E F
6 75
H J8 9
r
r
r
rr
r
r
rr
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (2)Root portRoot switch
41
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-81
3 Decide if non-root ports are (data)forwarding or (data) blockingA port is forwarding (f) on a givenLAN if the BPDUs this switch sendson this LAN are smaller thanthose other switches (would) send
Smaller = shorter distance or equaldistance and smaller switch id
Exampleon LAN6 E sends ltEA2gt G would sendltGA2gt and J would send ltJA3gtSo E is elected to be the only one toforward frames on LAN6 J is too faraway from the root and G gt E
A B2
C31 4
G
I
D E F
6 75
H J8 9
rf
r
r
rr
r
r
rr
f f f
f f f
f f
Spanning tree (3)Forwarding port
Blocking port
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-82
Some switches (eg G and J) are not part of the tree Another case could be that some ports of some switches are blocking
They could become part of the tree if another switch or port would fail(leading to no refresh of BPDUs)
So switches have to listen to BPDUs on blocking ports to detect failures
1 2 3 4
5 6 7
8 9
A B C
D E F
H
LAN
Switch thatis part of the
spanning tree
Switch that isnot part of thespanning tree
I
The resulting spanning treeRouting on a spanning treeis not optimal
Same spanning tree for allsource-destination pair
Compare to layer-3 routing
From Computer Networks by Tanenbaum copy Prentice Hall
42
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-83
Switches vs Routers both store-and-forward devices
routers network layer devices (examine network layerheaders)
switches are link layer devices routers maintain IP routing and IP forwarding
tables implement routing algorithms switches maintain MAC forwarding tables
implement filtering learning and spanning treealgorithms
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-84
Summary comparison
hubs routers switches
traffic
isolation
no yes yes
plug amp play yes no yes
optimal
routing
no yes no
cut
through
yes no yes
Some do
43
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-85
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-86
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line ADSL line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
bull Data link used to be considered ldquohigh layerrdquo inprotocol stack
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
33
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-65
Manchester encoding - Signaldistortion
Transmittedsignal
Receivedsignal
after 1200 mon RG11 coax
Manchester signal at 4Mbps
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-66
Link Layer
51 Introduction andservices
52 Error detection 53 Multiple access
protocols 54 Link-layer
Addressing 55 Ethernet
56 Link-layer switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
34
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-67
Hubshellip physical-layer (ldquodumbrdquo) repeaters
bits coming in one link go out all other links at samerate
all nodes connected to hub can collide with oneanother
no frame buffering no CSMACD at hub host NICs detect collisions
twisted pair
hub
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-68
Switch link-layer device smarter than hubs take
active role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links whenframe is to be forwarded on segment usesCSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
35
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-69
Switch allows multiple simultaneoustransmissions
hosts have dedicateddirect connection to switch
switches buffer packets Ethernet protocol used on
each incoming link but nocollisions full duplex each link is its own collision
domain switching A-to-Arsquo and B-
to-Brsquo simultaneouslywithout collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-70
Switch Table
Q how does switch know thatArsquo reachable via interface 4Brsquo reachable via interface 5
A each switch has a switchtable each entry (MAC address of host interface
to reach host time stamp) Is a MAC forwarding table
Looks like an IP forwarding table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
36
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-71
Switch self-learning
switch learns which hostscan be reached throughwhich interfaces when frame received
switch ldquolearnsrdquo location ofsender incoming LANsegment
records senderlocationpair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-72
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 if entry found for destination
then if dest on segment from which frame arrived
then drop the frame else forward the frame on interface indicated else flood forward on all but the interface
on which the frame arrived
37
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-73
Self-learningforwardingexample
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo frame destination
unknown flood
Arsquo A
destination Alocation known
Arsquo 4 60
selective send
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-74
Interconnecting switches
switches can be connected together
A
B
Q sending from A to F - how does S1 know how toforward frame destined for F via S4 and S2
A self learning (works exactly the same as insingle-switch case)
S1
C D
E
FS2
S4
S3
HI
G
38
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-75
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
HI
G
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-76
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
39
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-77
All principles seen so far are applicable to a subnet withseveral switches if there is no cycle in the topology No cycle = no redundancy in case of failure
Part of subnet can be disconnected
A B
LAN 1
C D E
F G H
LAN 4
LAN 3LAN 2
From Computer Networks by Tanenbaum copy Prentice Hall
More than one switch in asubnet
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-78
Problem Frame F (whose destination address is unknown to bothswitches) will loop
Solution build a logical spanning tree topology over the real topology
LAN 1
LAN 2
FInitial frame
F1 F2
Frame copiedby left switch
Frame copiedby right switch
From Computer Networks by Tanenbaum copy Prentice Hall
Problem with cycles
40
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-79
Build a logical tree reaching allLANs
1 Determine the root switch(smallest switch id)
Switches regularly flood controlmessages (BPDUs) on all theiroutput ports
BPDU = ltSource switch id root asassumed distance to rootgt
All switches will soon discoverthe root id
A B2
C31
LAN
4
G
I
D E F
6 75
H J8 9
Switch
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (1)Root switch A sends ltAA0gt on LAN1 and LAN2
B sends ltBA1gt on LAN 3
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-80
2 Build the tree By continuously receiving these
BPDUs (possibly on severalports) a switch knows itsdistance to the root and whichport leads to the root by thatshortest distance (root port r)
A B2
C31 4
G
I
D E F
6 75
H J8 9
r
r
r
rr
r
r
rr
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (2)Root portRoot switch
41
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-81
3 Decide if non-root ports are (data)forwarding or (data) blockingA port is forwarding (f) on a givenLAN if the BPDUs this switch sendson this LAN are smaller thanthose other switches (would) send
Smaller = shorter distance or equaldistance and smaller switch id
Exampleon LAN6 E sends ltEA2gt G would sendltGA2gt and J would send ltJA3gtSo E is elected to be the only one toforward frames on LAN6 J is too faraway from the root and G gt E
A B2
C31 4
G
I
D E F
6 75
H J8 9
rf
r
r
rr
r
r
rr
f f f
f f f
f f
Spanning tree (3)Forwarding port
Blocking port
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-82
Some switches (eg G and J) are not part of the tree Another case could be that some ports of some switches are blocking
They could become part of the tree if another switch or port would fail(leading to no refresh of BPDUs)
So switches have to listen to BPDUs on blocking ports to detect failures
1 2 3 4
5 6 7
8 9
A B C
D E F
H
LAN
Switch thatis part of the
spanning tree
Switch that isnot part of thespanning tree
I
The resulting spanning treeRouting on a spanning treeis not optimal
Same spanning tree for allsource-destination pair
Compare to layer-3 routing
From Computer Networks by Tanenbaum copy Prentice Hall
42
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-83
Switches vs Routers both store-and-forward devices
routers network layer devices (examine network layerheaders)
switches are link layer devices routers maintain IP routing and IP forwarding
tables implement routing algorithms switches maintain MAC forwarding tables
implement filtering learning and spanning treealgorithms
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-84
Summary comparison
hubs routers switches
traffic
isolation
no yes yes
plug amp play yes no yes
optimal
routing
no yes no
cut
through
yes no yes
Some do
43
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-85
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-86
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line ADSL line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
bull Data link used to be considered ldquohigh layerrdquo inprotocol stack
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
34
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-67
Hubshellip physical-layer (ldquodumbrdquo) repeaters
bits coming in one link go out all other links at samerate
all nodes connected to hub can collide with oneanother
no frame buffering no CSMACD at hub host NICs detect collisions
twisted pair
hub
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-68
Switch link-layer device smarter than hubs take
active role store forward Ethernet frames examine incoming framersquos MAC address selectively
forward frame to one-or-more outgoing links whenframe is to be forwarded on segment usesCSMACD to access segment
transparent hosts are unaware of presence of switches
plug-and-play self-learning switches do not need to be configured
35
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-69
Switch allows multiple simultaneoustransmissions
hosts have dedicateddirect connection to switch
switches buffer packets Ethernet protocol used on
each incoming link but nocollisions full duplex each link is its own collision
domain switching A-to-Arsquo and B-
to-Brsquo simultaneouslywithout collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-70
Switch Table
Q how does switch know thatArsquo reachable via interface 4Brsquo reachable via interface 5
A each switch has a switchtable each entry (MAC address of host interface
to reach host time stamp) Is a MAC forwarding table
Looks like an IP forwarding table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
36
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-71
Switch self-learning
switch learns which hostscan be reached throughwhich interfaces when frame received
switch ldquolearnsrdquo location ofsender incoming LANsegment
records senderlocationpair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-72
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 if entry found for destination
then if dest on segment from which frame arrived
then drop the frame else forward the frame on interface indicated else flood forward on all but the interface
on which the frame arrived
37
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-73
Self-learningforwardingexample
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo frame destination
unknown flood
Arsquo A
destination Alocation known
Arsquo 4 60
selective send
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-74
Interconnecting switches
switches can be connected together
A
B
Q sending from A to F - how does S1 know how toforward frame destined for F via S4 and S2
A self learning (works exactly the same as insingle-switch case)
S1
C D
E
FS2
S4
S3
HI
G
38
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-75
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
HI
G
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-76
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
39
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-77
All principles seen so far are applicable to a subnet withseveral switches if there is no cycle in the topology No cycle = no redundancy in case of failure
Part of subnet can be disconnected
A B
LAN 1
C D E
F G H
LAN 4
LAN 3LAN 2
From Computer Networks by Tanenbaum copy Prentice Hall
More than one switch in asubnet
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-78
Problem Frame F (whose destination address is unknown to bothswitches) will loop
Solution build a logical spanning tree topology over the real topology
LAN 1
LAN 2
FInitial frame
F1 F2
Frame copiedby left switch
Frame copiedby right switch
From Computer Networks by Tanenbaum copy Prentice Hall
Problem with cycles
40
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-79
Build a logical tree reaching allLANs
1 Determine the root switch(smallest switch id)
Switches regularly flood controlmessages (BPDUs) on all theiroutput ports
BPDU = ltSource switch id root asassumed distance to rootgt
All switches will soon discoverthe root id
A B2
C31
LAN
4
G
I
D E F
6 75
H J8 9
Switch
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (1)Root switch A sends ltAA0gt on LAN1 and LAN2
B sends ltBA1gt on LAN 3
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-80
2 Build the tree By continuously receiving these
BPDUs (possibly on severalports) a switch knows itsdistance to the root and whichport leads to the root by thatshortest distance (root port r)
A B2
C31 4
G
I
D E F
6 75
H J8 9
r
r
r
rr
r
r
rr
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (2)Root portRoot switch
41
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-81
3 Decide if non-root ports are (data)forwarding or (data) blockingA port is forwarding (f) on a givenLAN if the BPDUs this switch sendson this LAN are smaller thanthose other switches (would) send
Smaller = shorter distance or equaldistance and smaller switch id
Exampleon LAN6 E sends ltEA2gt G would sendltGA2gt and J would send ltJA3gtSo E is elected to be the only one toforward frames on LAN6 J is too faraway from the root and G gt E
A B2
C31 4
G
I
D E F
6 75
H J8 9
rf
r
r
rr
r
r
rr
f f f
f f f
f f
Spanning tree (3)Forwarding port
Blocking port
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-82
Some switches (eg G and J) are not part of the tree Another case could be that some ports of some switches are blocking
They could become part of the tree if another switch or port would fail(leading to no refresh of BPDUs)
So switches have to listen to BPDUs on blocking ports to detect failures
1 2 3 4
5 6 7
8 9
A B C
D E F
H
LAN
Switch thatis part of the
spanning tree
Switch that isnot part of thespanning tree
I
The resulting spanning treeRouting on a spanning treeis not optimal
Same spanning tree for allsource-destination pair
Compare to layer-3 routing
From Computer Networks by Tanenbaum copy Prentice Hall
42
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-83
Switches vs Routers both store-and-forward devices
routers network layer devices (examine network layerheaders)
switches are link layer devices routers maintain IP routing and IP forwarding
tables implement routing algorithms switches maintain MAC forwarding tables
implement filtering learning and spanning treealgorithms
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-84
Summary comparison
hubs routers switches
traffic
isolation
no yes yes
plug amp play yes no yes
optimal
routing
no yes no
cut
through
yes no yes
Some do
43
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-85
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-86
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line ADSL line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
bull Data link used to be considered ldquohigh layerrdquo inprotocol stack
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
35
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-69
Switch allows multiple simultaneoustransmissions
hosts have dedicateddirect connection to switch
switches buffer packets Ethernet protocol used on
each incoming link but nocollisions full duplex each link is its own collision
domain switching A-to-Arsquo and B-
to-Brsquo simultaneouslywithout collisions not possible with dumb hub
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-70
Switch Table
Q how does switch know thatArsquo reachable via interface 4Brsquo reachable via interface 5
A each switch has a switchtable each entry (MAC address of host interface
to reach host time stamp) Is a MAC forwarding table
Looks like an IP forwarding table Q how are entries created
maintained in switch table something like a routing
protocol
A
Arsquo
B
Brsquo
C
Crsquo
switch with six interfaces(123456)
1 2 345
6
36
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-71
Switch self-learning
switch learns which hostscan be reached throughwhich interfaces when frame received
switch ldquolearnsrdquo location ofsender incoming LANsegment
records senderlocationpair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-72
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 if entry found for destination
then if dest on segment from which frame arrived
then drop the frame else forward the frame on interface indicated else flood forward on all but the interface
on which the frame arrived
37
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-73
Self-learningforwardingexample
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo frame destination
unknown flood
Arsquo A
destination Alocation known
Arsquo 4 60
selective send
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-74
Interconnecting switches
switches can be connected together
A
B
Q sending from A to F - how does S1 know how toforward frame destined for F via S4 and S2
A self learning (works exactly the same as insingle-switch case)
S1
C D
E
FS2
S4
S3
HI
G
38
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-75
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
HI
G
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-76
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
39
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-77
All principles seen so far are applicable to a subnet withseveral switches if there is no cycle in the topology No cycle = no redundancy in case of failure
Part of subnet can be disconnected
A B
LAN 1
C D E
F G H
LAN 4
LAN 3LAN 2
From Computer Networks by Tanenbaum copy Prentice Hall
More than one switch in asubnet
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-78
Problem Frame F (whose destination address is unknown to bothswitches) will loop
Solution build a logical spanning tree topology over the real topology
LAN 1
LAN 2
FInitial frame
F1 F2
Frame copiedby left switch
Frame copiedby right switch
From Computer Networks by Tanenbaum copy Prentice Hall
Problem with cycles
40
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-79
Build a logical tree reaching allLANs
1 Determine the root switch(smallest switch id)
Switches regularly flood controlmessages (BPDUs) on all theiroutput ports
BPDU = ltSource switch id root asassumed distance to rootgt
All switches will soon discoverthe root id
A B2
C31
LAN
4
G
I
D E F
6 75
H J8 9
Switch
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (1)Root switch A sends ltAA0gt on LAN1 and LAN2
B sends ltBA1gt on LAN 3
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-80
2 Build the tree By continuously receiving these
BPDUs (possibly on severalports) a switch knows itsdistance to the root and whichport leads to the root by thatshortest distance (root port r)
A B2
C31 4
G
I
D E F
6 75
H J8 9
r
r
r
rr
r
r
rr
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (2)Root portRoot switch
41
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-81
3 Decide if non-root ports are (data)forwarding or (data) blockingA port is forwarding (f) on a givenLAN if the BPDUs this switch sendson this LAN are smaller thanthose other switches (would) send
Smaller = shorter distance or equaldistance and smaller switch id
Exampleon LAN6 E sends ltEA2gt G would sendltGA2gt and J would send ltJA3gtSo E is elected to be the only one toforward frames on LAN6 J is too faraway from the root and G gt E
A B2
C31 4
G
I
D E F
6 75
H J8 9
rf
r
r
rr
r
r
rr
f f f
f f f
f f
Spanning tree (3)Forwarding port
Blocking port
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-82
Some switches (eg G and J) are not part of the tree Another case could be that some ports of some switches are blocking
They could become part of the tree if another switch or port would fail(leading to no refresh of BPDUs)
So switches have to listen to BPDUs on blocking ports to detect failures
1 2 3 4
5 6 7
8 9
A B C
D E F
H
LAN
Switch thatis part of the
spanning tree
Switch that isnot part of thespanning tree
I
The resulting spanning treeRouting on a spanning treeis not optimal
Same spanning tree for allsource-destination pair
Compare to layer-3 routing
From Computer Networks by Tanenbaum copy Prentice Hall
42
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-83
Switches vs Routers both store-and-forward devices
routers network layer devices (examine network layerheaders)
switches are link layer devices routers maintain IP routing and IP forwarding
tables implement routing algorithms switches maintain MAC forwarding tables
implement filtering learning and spanning treealgorithms
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-84
Summary comparison
hubs routers switches
traffic
isolation
no yes yes
plug amp play yes no yes
optimal
routing
no yes no
cut
through
yes no yes
Some do
43
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-85
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-86
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line ADSL line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
bull Data link used to be considered ldquohigh layerrdquo inprotocol stack
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
36
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-71
Switch self-learning
switch learns which hostscan be reached throughwhich interfaces when frame received
switch ldquolearnsrdquo location ofsender incoming LANsegment
records senderlocationpair in switch table
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-72
Switch frame filteringforwardingWhen frame received
1 record link associated with sending host2 index switch table using MAC dest address3 if entry found for destination
then if dest on segment from which frame arrived
then drop the frame else forward the frame on interface indicated else flood forward on all but the interface
on which the frame arrived
37
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-73
Self-learningforwardingexample
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo frame destination
unknown flood
Arsquo A
destination Alocation known
Arsquo 4 60
selective send
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-74
Interconnecting switches
switches can be connected together
A
B
Q sending from A to F - how does S1 know how toforward frame destined for F via S4 and S2
A self learning (works exactly the same as insingle-switch case)
S1
C D
E
FS2
S4
S3
HI
G
38
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-75
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
HI
G
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-76
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
39
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-77
All principles seen so far are applicable to a subnet withseveral switches if there is no cycle in the topology No cycle = no redundancy in case of failure
Part of subnet can be disconnected
A B
LAN 1
C D E
F G H
LAN 4
LAN 3LAN 2
From Computer Networks by Tanenbaum copy Prentice Hall
More than one switch in asubnet
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-78
Problem Frame F (whose destination address is unknown to bothswitches) will loop
Solution build a logical spanning tree topology over the real topology
LAN 1
LAN 2
FInitial frame
F1 F2
Frame copiedby left switch
Frame copiedby right switch
From Computer Networks by Tanenbaum copy Prentice Hall
Problem with cycles
40
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-79
Build a logical tree reaching allLANs
1 Determine the root switch(smallest switch id)
Switches regularly flood controlmessages (BPDUs) on all theiroutput ports
BPDU = ltSource switch id root asassumed distance to rootgt
All switches will soon discoverthe root id
A B2
C31
LAN
4
G
I
D E F
6 75
H J8 9
Switch
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (1)Root switch A sends ltAA0gt on LAN1 and LAN2
B sends ltBA1gt on LAN 3
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-80
2 Build the tree By continuously receiving these
BPDUs (possibly on severalports) a switch knows itsdistance to the root and whichport leads to the root by thatshortest distance (root port r)
A B2
C31 4
G
I
D E F
6 75
H J8 9
r
r
r
rr
r
r
rr
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (2)Root portRoot switch
41
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-81
3 Decide if non-root ports are (data)forwarding or (data) blockingA port is forwarding (f) on a givenLAN if the BPDUs this switch sendson this LAN are smaller thanthose other switches (would) send
Smaller = shorter distance or equaldistance and smaller switch id
Exampleon LAN6 E sends ltEA2gt G would sendltGA2gt and J would send ltJA3gtSo E is elected to be the only one toforward frames on LAN6 J is too faraway from the root and G gt E
A B2
C31 4
G
I
D E F
6 75
H J8 9
rf
r
r
rr
r
r
rr
f f f
f f f
f f
Spanning tree (3)Forwarding port
Blocking port
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-82
Some switches (eg G and J) are not part of the tree Another case could be that some ports of some switches are blocking
They could become part of the tree if another switch or port would fail(leading to no refresh of BPDUs)
So switches have to listen to BPDUs on blocking ports to detect failures
1 2 3 4
5 6 7
8 9
A B C
D E F
H
LAN
Switch thatis part of the
spanning tree
Switch that isnot part of thespanning tree
I
The resulting spanning treeRouting on a spanning treeis not optimal
Same spanning tree for allsource-destination pair
Compare to layer-3 routing
From Computer Networks by Tanenbaum copy Prentice Hall
42
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-83
Switches vs Routers both store-and-forward devices
routers network layer devices (examine network layerheaders)
switches are link layer devices routers maintain IP routing and IP forwarding
tables implement routing algorithms switches maintain MAC forwarding tables
implement filtering learning and spanning treealgorithms
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-84
Summary comparison
hubs routers switches
traffic
isolation
no yes yes
plug amp play yes no yes
optimal
routing
no yes no
cut
through
yes no yes
Some do
43
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-85
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-86
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line ADSL line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
bull Data link used to be considered ldquohigh layerrdquo inprotocol stack
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
37
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-73
Self-learningforwardingexample
A
Arsquo
B
Brsquo
C
Crsquo
1 2 345
6
A Arsquo
Source ADest Arsquo
MAC addr interface TTLSwitch table
(initially empty)A 1 60
A ArsquoA ArsquoA ArsquoA ArsquoA Arsquo frame destination
unknown flood
Arsquo A
destination Alocation known
Arsquo 4 60
selective send
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-74
Interconnecting switches
switches can be connected together
A
B
Q sending from A to F - how does S1 know how toforward frame destined for F via S4 and S2
A self learning (works exactly the same as insingle-switch case)
S1
C D
E
FS2
S4
S3
HI
G
38
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-75
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
HI
G
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-76
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
39
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-77
All principles seen so far are applicable to a subnet withseveral switches if there is no cycle in the topology No cycle = no redundancy in case of failure
Part of subnet can be disconnected
A B
LAN 1
C D E
F G H
LAN 4
LAN 3LAN 2
From Computer Networks by Tanenbaum copy Prentice Hall
More than one switch in asubnet
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-78
Problem Frame F (whose destination address is unknown to bothswitches) will loop
Solution build a logical spanning tree topology over the real topology
LAN 1
LAN 2
FInitial frame
F1 F2
Frame copiedby left switch
Frame copiedby right switch
From Computer Networks by Tanenbaum copy Prentice Hall
Problem with cycles
40
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-79
Build a logical tree reaching allLANs
1 Determine the root switch(smallest switch id)
Switches regularly flood controlmessages (BPDUs) on all theiroutput ports
BPDU = ltSource switch id root asassumed distance to rootgt
All switches will soon discoverthe root id
A B2
C31
LAN
4
G
I
D E F
6 75
H J8 9
Switch
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (1)Root switch A sends ltAA0gt on LAN1 and LAN2
B sends ltBA1gt on LAN 3
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-80
2 Build the tree By continuously receiving these
BPDUs (possibly on severalports) a switch knows itsdistance to the root and whichport leads to the root by thatshortest distance (root port r)
A B2
C31 4
G
I
D E F
6 75
H J8 9
r
r
r
rr
r
r
rr
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (2)Root portRoot switch
41
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-81
3 Decide if non-root ports are (data)forwarding or (data) blockingA port is forwarding (f) on a givenLAN if the BPDUs this switch sendson this LAN are smaller thanthose other switches (would) send
Smaller = shorter distance or equaldistance and smaller switch id
Exampleon LAN6 E sends ltEA2gt G would sendltGA2gt and J would send ltJA3gtSo E is elected to be the only one toforward frames on LAN6 J is too faraway from the root and G gt E
A B2
C31 4
G
I
D E F
6 75
H J8 9
rf
r
r
rr
r
r
rr
f f f
f f f
f f
Spanning tree (3)Forwarding port
Blocking port
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-82
Some switches (eg G and J) are not part of the tree Another case could be that some ports of some switches are blocking
They could become part of the tree if another switch or port would fail(leading to no refresh of BPDUs)
So switches have to listen to BPDUs on blocking ports to detect failures
1 2 3 4
5 6 7
8 9
A B C
D E F
H
LAN
Switch thatis part of the
spanning tree
Switch that isnot part of thespanning tree
I
The resulting spanning treeRouting on a spanning treeis not optimal
Same spanning tree for allsource-destination pair
Compare to layer-3 routing
From Computer Networks by Tanenbaum copy Prentice Hall
42
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-83
Switches vs Routers both store-and-forward devices
routers network layer devices (examine network layerheaders)
switches are link layer devices routers maintain IP routing and IP forwarding
tables implement routing algorithms switches maintain MAC forwarding tables
implement filtering learning and spanning treealgorithms
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-84
Summary comparison
hubs routers switches
traffic
isolation
no yes yes
plug amp play yes no yes
optimal
routing
no yes no
cut
through
yes no yes
Some do
43
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-85
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-86
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line ADSL line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
bull Data link used to be considered ldquohigh layerrdquo inprotocol stack
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
38
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-75
Self-learning multi-switch exampleSuppose C sends frame to I I responds to C
Q show switch tables and packet forwarding in S1S2 S3 S4
A
B
S1
C D
E
FS2
S4
S3
HI
G
12
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-76
Institutional network
to externalnetwork
router
IP subnet
mail server
web server
39
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-77
All principles seen so far are applicable to a subnet withseveral switches if there is no cycle in the topology No cycle = no redundancy in case of failure
Part of subnet can be disconnected
A B
LAN 1
C D E
F G H
LAN 4
LAN 3LAN 2
From Computer Networks by Tanenbaum copy Prentice Hall
More than one switch in asubnet
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-78
Problem Frame F (whose destination address is unknown to bothswitches) will loop
Solution build a logical spanning tree topology over the real topology
LAN 1
LAN 2
FInitial frame
F1 F2
Frame copiedby left switch
Frame copiedby right switch
From Computer Networks by Tanenbaum copy Prentice Hall
Problem with cycles
40
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-79
Build a logical tree reaching allLANs
1 Determine the root switch(smallest switch id)
Switches regularly flood controlmessages (BPDUs) on all theiroutput ports
BPDU = ltSource switch id root asassumed distance to rootgt
All switches will soon discoverthe root id
A B2
C31
LAN
4
G
I
D E F
6 75
H J8 9
Switch
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (1)Root switch A sends ltAA0gt on LAN1 and LAN2
B sends ltBA1gt on LAN 3
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-80
2 Build the tree By continuously receiving these
BPDUs (possibly on severalports) a switch knows itsdistance to the root and whichport leads to the root by thatshortest distance (root port r)
A B2
C31 4
G
I
D E F
6 75
H J8 9
r
r
r
rr
r
r
rr
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (2)Root portRoot switch
41
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-81
3 Decide if non-root ports are (data)forwarding or (data) blockingA port is forwarding (f) on a givenLAN if the BPDUs this switch sendson this LAN are smaller thanthose other switches (would) send
Smaller = shorter distance or equaldistance and smaller switch id
Exampleon LAN6 E sends ltEA2gt G would sendltGA2gt and J would send ltJA3gtSo E is elected to be the only one toforward frames on LAN6 J is too faraway from the root and G gt E
A B2
C31 4
G
I
D E F
6 75
H J8 9
rf
r
r
rr
r
r
rr
f f f
f f f
f f
Spanning tree (3)Forwarding port
Blocking port
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-82
Some switches (eg G and J) are not part of the tree Another case could be that some ports of some switches are blocking
They could become part of the tree if another switch or port would fail(leading to no refresh of BPDUs)
So switches have to listen to BPDUs on blocking ports to detect failures
1 2 3 4
5 6 7
8 9
A B C
D E F
H
LAN
Switch thatis part of the
spanning tree
Switch that isnot part of thespanning tree
I
The resulting spanning treeRouting on a spanning treeis not optimal
Same spanning tree for allsource-destination pair
Compare to layer-3 routing
From Computer Networks by Tanenbaum copy Prentice Hall
42
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-83
Switches vs Routers both store-and-forward devices
routers network layer devices (examine network layerheaders)
switches are link layer devices routers maintain IP routing and IP forwarding
tables implement routing algorithms switches maintain MAC forwarding tables
implement filtering learning and spanning treealgorithms
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-84
Summary comparison
hubs routers switches
traffic
isolation
no yes yes
plug amp play yes no yes
optimal
routing
no yes no
cut
through
yes no yes
Some do
43
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-85
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-86
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line ADSL line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
bull Data link used to be considered ldquohigh layerrdquo inprotocol stack
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
39
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-77
All principles seen so far are applicable to a subnet withseveral switches if there is no cycle in the topology No cycle = no redundancy in case of failure
Part of subnet can be disconnected
A B
LAN 1
C D E
F G H
LAN 4
LAN 3LAN 2
From Computer Networks by Tanenbaum copy Prentice Hall
More than one switch in asubnet
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-78
Problem Frame F (whose destination address is unknown to bothswitches) will loop
Solution build a logical spanning tree topology over the real topology
LAN 1
LAN 2
FInitial frame
F1 F2
Frame copiedby left switch
Frame copiedby right switch
From Computer Networks by Tanenbaum copy Prentice Hall
Problem with cycles
40
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-79
Build a logical tree reaching allLANs
1 Determine the root switch(smallest switch id)
Switches regularly flood controlmessages (BPDUs) on all theiroutput ports
BPDU = ltSource switch id root asassumed distance to rootgt
All switches will soon discoverthe root id
A B2
C31
LAN
4
G
I
D E F
6 75
H J8 9
Switch
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (1)Root switch A sends ltAA0gt on LAN1 and LAN2
B sends ltBA1gt on LAN 3
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-80
2 Build the tree By continuously receiving these
BPDUs (possibly on severalports) a switch knows itsdistance to the root and whichport leads to the root by thatshortest distance (root port r)
A B2
C31 4
G
I
D E F
6 75
H J8 9
r
r
r
rr
r
r
rr
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (2)Root portRoot switch
41
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-81
3 Decide if non-root ports are (data)forwarding or (data) blockingA port is forwarding (f) on a givenLAN if the BPDUs this switch sendson this LAN are smaller thanthose other switches (would) send
Smaller = shorter distance or equaldistance and smaller switch id
Exampleon LAN6 E sends ltEA2gt G would sendltGA2gt and J would send ltJA3gtSo E is elected to be the only one toforward frames on LAN6 J is too faraway from the root and G gt E
A B2
C31 4
G
I
D E F
6 75
H J8 9
rf
r
r
rr
r
r
rr
f f f
f f f
f f
Spanning tree (3)Forwarding port
Blocking port
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-82
Some switches (eg G and J) are not part of the tree Another case could be that some ports of some switches are blocking
They could become part of the tree if another switch or port would fail(leading to no refresh of BPDUs)
So switches have to listen to BPDUs on blocking ports to detect failures
1 2 3 4
5 6 7
8 9
A B C
D E F
H
LAN
Switch thatis part of the
spanning tree
Switch that isnot part of thespanning tree
I
The resulting spanning treeRouting on a spanning treeis not optimal
Same spanning tree for allsource-destination pair
Compare to layer-3 routing
From Computer Networks by Tanenbaum copy Prentice Hall
42
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-83
Switches vs Routers both store-and-forward devices
routers network layer devices (examine network layerheaders)
switches are link layer devices routers maintain IP routing and IP forwarding
tables implement routing algorithms switches maintain MAC forwarding tables
implement filtering learning and spanning treealgorithms
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-84
Summary comparison
hubs routers switches
traffic
isolation
no yes yes
plug amp play yes no yes
optimal
routing
no yes no
cut
through
yes no yes
Some do
43
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-85
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-86
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line ADSL line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
bull Data link used to be considered ldquohigh layerrdquo inprotocol stack
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
40
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-79
Build a logical tree reaching allLANs
1 Determine the root switch(smallest switch id)
Switches regularly flood controlmessages (BPDUs) on all theiroutput ports
BPDU = ltSource switch id root asassumed distance to rootgt
All switches will soon discoverthe root id
A B2
C31
LAN
4
G
I
D E F
6 75
H J8 9
Switch
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (1)Root switch A sends ltAA0gt on LAN1 and LAN2
B sends ltBA1gt on LAN 3
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-80
2 Build the tree By continuously receiving these
BPDUs (possibly on severalports) a switch knows itsdistance to the root and whichport leads to the root by thatshortest distance (root port r)
A B2
C31 4
G
I
D E F
6 75
H J8 9
r
r
r
rr
r
r
rr
From Computer Networks by Tanenbaum copy Prentice Hall
Spanning tree (2)Root portRoot switch
41
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-81
3 Decide if non-root ports are (data)forwarding or (data) blockingA port is forwarding (f) on a givenLAN if the BPDUs this switch sendson this LAN are smaller thanthose other switches (would) send
Smaller = shorter distance or equaldistance and smaller switch id
Exampleon LAN6 E sends ltEA2gt G would sendltGA2gt and J would send ltJA3gtSo E is elected to be the only one toforward frames on LAN6 J is too faraway from the root and G gt E
A B2
C31 4
G
I
D E F
6 75
H J8 9
rf
r
r
rr
r
r
rr
f f f
f f f
f f
Spanning tree (3)Forwarding port
Blocking port
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-82
Some switches (eg G and J) are not part of the tree Another case could be that some ports of some switches are blocking
They could become part of the tree if another switch or port would fail(leading to no refresh of BPDUs)
So switches have to listen to BPDUs on blocking ports to detect failures
1 2 3 4
5 6 7
8 9
A B C
D E F
H
LAN
Switch thatis part of the
spanning tree
Switch that isnot part of thespanning tree
I
The resulting spanning treeRouting on a spanning treeis not optimal
Same spanning tree for allsource-destination pair
Compare to layer-3 routing
From Computer Networks by Tanenbaum copy Prentice Hall
42
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-83
Switches vs Routers both store-and-forward devices
routers network layer devices (examine network layerheaders)
switches are link layer devices routers maintain IP routing and IP forwarding
tables implement routing algorithms switches maintain MAC forwarding tables
implement filtering learning and spanning treealgorithms
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-84
Summary comparison
hubs routers switches
traffic
isolation
no yes yes
plug amp play yes no yes
optimal
routing
no yes no
cut
through
yes no yes
Some do
43
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-85
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-86
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line ADSL line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
bull Data link used to be considered ldquohigh layerrdquo inprotocol stack
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
41
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-81
3 Decide if non-root ports are (data)forwarding or (data) blockingA port is forwarding (f) on a givenLAN if the BPDUs this switch sendson this LAN are smaller thanthose other switches (would) send
Smaller = shorter distance or equaldistance and smaller switch id
Exampleon LAN6 E sends ltEA2gt G would sendltGA2gt and J would send ltJA3gtSo E is elected to be the only one toforward frames on LAN6 J is too faraway from the root and G gt E
A B2
C31 4
G
I
D E F
6 75
H J8 9
rf
r
r
rr
r
r
rr
f f f
f f f
f f
Spanning tree (3)Forwarding port
Blocking port
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-82
Some switches (eg G and J) are not part of the tree Another case could be that some ports of some switches are blocking
They could become part of the tree if another switch or port would fail(leading to no refresh of BPDUs)
So switches have to listen to BPDUs on blocking ports to detect failures
1 2 3 4
5 6 7
8 9
A B C
D E F
H
LAN
Switch thatis part of the
spanning tree
Switch that isnot part of thespanning tree
I
The resulting spanning treeRouting on a spanning treeis not optimal
Same spanning tree for allsource-destination pair
Compare to layer-3 routing
From Computer Networks by Tanenbaum copy Prentice Hall
42
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-83
Switches vs Routers both store-and-forward devices
routers network layer devices (examine network layerheaders)
switches are link layer devices routers maintain IP routing and IP forwarding
tables implement routing algorithms switches maintain MAC forwarding tables
implement filtering learning and spanning treealgorithms
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-84
Summary comparison
hubs routers switches
traffic
isolation
no yes yes
plug amp play yes no yes
optimal
routing
no yes no
cut
through
yes no yes
Some do
43
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-85
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-86
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line ADSL line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
bull Data link used to be considered ldquohigh layerrdquo inprotocol stack
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
42
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-83
Switches vs Routers both store-and-forward devices
routers network layer devices (examine network layerheaders)
switches are link layer devices routers maintain IP routing and IP forwarding
tables implement routing algorithms switches maintain MAC forwarding tables
implement filtering learning and spanning treealgorithms
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-84
Summary comparison
hubs routers switches
traffic
isolation
no yes yes
plug amp play yes no yes
optimal
routing
no yes no
cut
through
yes no yes
Some do
43
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-85
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-86
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line ADSL line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
bull Data link used to be considered ldquohigh layerrdquo inprotocol stack
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
43
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-85
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-86
Point to Point Data Link Control one sender one receiver one link easier than
broadcast link no Media Access Control no need for explicit MAC addressing eg dialup link ISDN line ADSL line
popular point-to-point DLC protocols PPP (point-to-point protocol) HDLC High level data link control
bull Data link used to be considered ldquohigh layerrdquo inprotocol stack
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
44
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-87
PPP Design Requirements [RFC 1557]
packet framing encapsulation of network-layerdatagram in data link frame carry network layer data of any network layer
protocol (not just IP) at same time ability to demultiplex upwards
bit transparency must carry any bit pattern in thedata field
error detection (no correction) connection liveness detect signal link failure to
network layer network layer address negotiation endpoint can
learnconfigure each otherrsquos network address
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-88
PPP non-requirements
no error correctionrecovery no flow control out of order delivery OK no need to support multipoint links (eg polling)
Error recovery flow control data re-ordering all relegated to higher layers
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
45
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-89
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)
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-90
PPP Data Frame
info upper layer data being carried check cyclic redundancy check for error
detection
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
46
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-91
Byte Stuffing - Principle ldquodata transparencyrdquo requirement data field must
be allowed to include flag pattern lt01111110gt Q is received lt01111110gt data or flag
Sender adds (ldquostuffsrdquo) extra lt01111110gt byteafter each lt01111110gt data byte
Receiver two 01111110 bytes in a row discard first byte
continue data reception single 01111110 flag byte
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-92
Byte Stuffing - Variant of PPP
flag bytepatternin datato send
flag byte pattern plusstuffed escape byte intransmitted data
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
47
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-93
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0
Stuffed bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0
The original data (the frame payload)
Bit stuffing the data as they appear on the line
The data as they are stored in the receiverrsquos memory after destuffing
Bit stuffing rule for that flag add a 0 after five 1s alwaysSo no flag pattern in the payload
Rule remove 0 after five 1s If six 1s in a row check if it is a flag
Bit stuffingUsed in other data link protocolsUse same flag as delimiter = 01111110
From Computer Networks by Tanenbaum copy Prentice Hall
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-94
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
48
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-95
The Internet virtualizing networks
ATM or MPLS or Ethernet net satellite net
IP router
Internetwork layer (IP) addressing internetwork
appears as a single uniformentity despite underlying localnetwork heterogeneity
network of networks
Router ldquoembed IP packets in local
packet format or extract themrdquo route (at IP level) to next IP
router
Those networks are seen as virtual links by IP routers
Switch
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-96
IPentity
Non-IP ldquonetworkrdquo 1(encapsulating IP packets)
IPentity
IProuter
IPpackets
IPpackets
Global Internetwork (IP) Service
Non-IP ldquonetworkrdquo 2(encapsulating IP packets)
IP over anything (not just linksor isolated LANs)
Transportentity
Transportentity
Examples-Network 1 can be a subnet composed of one or several Ethernet switches-Network 2 can be a large ATM or MPLS backbone network
Seen as a link by IP Seen as a link by IP
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
49
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-97
Link Layer
51 Introduction andservices
52 Error detection 53Multiple access
protocols 54 Link-Layer
Addressing 55 Ethernet
56 Hubs and switches 57 PPP 58 Link Virtualization a
Network as a Link Layer 59 A day in the life of a
web request
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-98
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 scenariorequesting www page
scenario student attaches laptop to campusnetwork requestsreceives wwwgooglecom
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
50
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-99
A day in the life scenario
Comcast network 68800013
Googlersquos network 64233160019 64233169105
web server
DNS server
school network 68802024
browser
web page
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-100
A day in the lifehellip connecting to the Internet
connecting laptop needs toget its own IP address addrof first-hop router addr ofDNS server use DHCP
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP request encapsulatedin UDP encapsulated in IPencapsulated in 8021Ethernet
Ethernet frame broadcast(dest FFFFFFFFFFFF) on LANreceived at router runningDHCP server
Ethernet demuxrsquoed to IPdemuxrsquoed UDP demuxrsquoed toDHCP
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
51
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-101
A day in the lifehellip connecting to the Internet
DHCP server formulatesDHCP ACK containingclientrsquos IP address IPaddress of first-hoprouter for client name ampIP address of DNS server
router(runs DHCP)
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP
encapsulation at DHCPserver frame forwarded(switch learning) throughLAN demultiplexing atclient
Client now has IP address knows name amp addr of DNS server IP address of its first-hop router
DHCP client receives DHCPACK reply
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-102
A day in the lifehellip ARP (before DNS before HTTP) before sending HTTP request
need IP address of wwwgooglecomDNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS query created encapsulatedin UDP encapsulated in IPencasulated in Eth In order tosend frame to router need MACaddress of router interface ARP
ARP query broadcast receivedby router which replies withARP reply giving MAC addressof router interface
client now knows MAC addressof first hop router so can nowsend frame containing DNSquery
ARP query
EthPhy
ARP
ARP
ARP reply
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
52
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-103
A day in the lifehellip using DNS
DNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
DNS
IP datagram containing DNSquery forwarded via LANswitch from client to 1st hoprouter
IP datagram forwarded fromcampus network into comcastnetwork routed (tables createdby RIP OSPF IS-IS andorBGP routing protocols) to DNSserver
demuxrsquoed to DNS server DNS server replies to
client with IP address ofwwwgooglecom
Comcast network 68800013
DNS serverDNSUDP
IPEthPhy
DNS
DNS
DNS
DNS
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-104
A day in the lifehellip TCP connection carrying HTTP
HTTPTCPIP
EthPhy
HTTP
to send HTTP requestclient first opens TCPsocket to web server
TCP SYN segment (step 1in 3-way handshake) inter-domain routed to webserver
TCP connection established64233169105web server
SYN
SYN
SYN
SYN
TCPIP
EthPhy
SYN
SYN
SYN
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
SYNACK
web server responds withTCP SYNACK (step 2 in 3-way handshake)
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
53
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-105
A day in the lifehellip HTTP requestreply
HTTPTCPIP
EthPhy
HTTP
HTTP request sent intoTCP socket
IP datagram containingHTTP request routed towwwgooglecom
IP datagram containingHTTP reply routed back toclient
64233169105web server
HTTPTCPIP
EthPhy
web server responds withHTTP reply (containingweb page)
HTTP
HTTP
HTTPHTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
web page finally ()displayed
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-106
Chapter 5 Summary principles behind data link layer services
error detection sharing a broadcast channel multiple access link layer addressing
instantiation and implementation of various linklayer technologies Ethernet switched LANs
bull learning building spanning tree PPP Link virtualization networks as a link layer
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management
54
copy From Computer Networking by KuroseampRoss 5 DataLink Layer 5-107
Chapter 5 letrsquos take a breath journey down protocol stack complete (except PHY) solid understanding of networking principles practice hellip could stop here hellip but lots of interesting topics
Multicasting Wireless networks Mobility Multimedia networking Secure networking Network management