Chapter 1
Introduction
Computer Networking:
A Top Down Approach ,
5th edition.
Jim Kurose, Keith Ross
Addison-Wesley, April
2009.
The lecture notes are based on the lecture notes
provided by Jim Kurose and Keith Ross with some
modifications. Introduction 1-1
Chapter 1: Introduction
Our goal: Overview:
get “feel” and what’s the Internet?
terminology
what’s a protocol?
more depth, detail
later in course network edge; hosts, access
approach:
net, physical media
use Internet as network core: packet/circuit
example switching, Internet structure
performance: loss, delay
protocol layers, service models
Introduction 1-2
What’s the Internet: “nuts and bolts” view
PC millions of connected Mobile network
server computing devices: Global ISP
wireless hosts = end systems
laptop
running network
cellular
handheld apps Home network
Regional ISP
communication links
access fiber, copper,
points
wired
radio, satellite Institutional network
links
transmission
rate = bandwidth
routers: forward
router
packets (chunks of
data)
Introduction 1-3
What’s the Internet: “nuts and bolts” view
Mobile network
protocols control sending,
receiving of msgs Global ISP
e.g., TCP, IP, HTTP, Skype,
Ethernet
Internet: “network of Home network
networks” Regional ISP
loosely hierarchical
public Internet versus Institutional network
private intranet
Introduction 1-4
What’s the Internet: a service view
communication
infrastructure enables
distributed applications:
Web, VoIP, email, games,
e-commerce, file sharing
communication services
provided to apps:
reliable data delivery
from source to
destination
“best effort” (unreliable)
data delivery
Introduction 1-5
What’s a protocol?
human protocols: network protocols:
“what’s the time?” machines rather than
“I have a question” humans
introductions all communication
activity in Internet
… specific msgs sent governed by protocols
… specific actions taken protocols define format,
when msgs received, order of msgs sent and
or other events received among network
entities, and actions
taken on msg
transmission, receipt
Introduction 1-6
What’s a protocol?
a human protocol and a computer network protocol:
Hi
TCP connection
request
Hi
TCP connection
Got the response
time? Get http://www.awl.com/kurose-ross
2:00
<file>
time
Introduction 1-7
A closer look at network structure:
network edge:
applications and
hosts
access networks,
physical media: wired,
wireless communication
links
network core:
interconnected routers
network of networks
Introduction 1-8
The network edge:
end systems (hosts):
run application programs
e.g. Web, email
at “edge of network” peer-peer
client/server model
client host requests, receives
service from always-on server
client/server
e.g. Web browser/server;
email client/server
peer-peer model:
minimal (or no) use of
dedicated servers
e.g. Skype, BitTorrent
Introduction 1-9
The Network Core
mesh of interconnected
routers
the fundamental
question: how is data
transferred through net?
circuit switching:
dedicated circuit per
call: telephone net
packet-switching: data
sent thru net in
discrete “chunks”
Introduction 1-10
Network Core: Circuit Switching
End-end resources
reserved for “call”
link bandwidth, switch
capacity
dedicated resources:
no sharing
circuit-like
(guaranteed)
performance
call setup required
Introduction 1-11
Network Core: Circuit Switching
network resources dividing link bandwidth
(e.g., bandwidth) into “pieces”
divided into “pieces” frequency division
pieces allocated to calls time division
resource piece idle if
not used by owning call
(no sharing)
Introduction 1-12
Circuit Switching: FDM and TDM
Example:
FDM
4 users
frequency
time
TDM
frequency
time
Introduction 1-13
Numerical example
How long does it take to send a file of
640,000 bits from host A to host B over a
circuit-switched network?
All links are 1.536 Mbps
Each link uses TDM with 24 slots/sec
500 msec to establish end-to-end circuit
Work it out!
0.5s + 640,000bits/(1.536Mbps/24) =
0.5s + 640,000bits/64kbps =
0.5s + 10s = 10.5s
Introduction 1-14
Network Core: Packet Switching
each end-end data stream resource contention:
divided into packets aggregate resource
user A, B packets share demand can exceed
network resources amount available
each packet uses full link congestion: packets
bandwidth queue, wait for link use
resources used as needed store and forward:
packets move one hop
at a time
Bandwidth division into “pieces” Node receives complete
Dedicated allocation packet before forwarding
Resource reservation
Introduction 1-15
Packet Switching: Statistical Multiplexing
100 Mb/s
A Ethernet statistical multiplexing C
1.5 Mb/s
B
queue of packets
waiting for output
link
D E
Sequence of A & B packets does not have fixed pattern,
bandwidth shared on demand statistical multiplexing.
TDM: each host gets same slot in revolving TDM frame.
Introduction 1-16
Packet-switching: store-and-forward
L
R R R
takes L/R seconds to Example:
transmit (push out) L = 7.5 Mbits
packet of L bits on to R = 1.5 Mbps
link at R bps
transmission delay = 15
store and forward: sec
entire packet must
arrive at router before
it can be transmitted
on next link
delay = 3L/R (assuming more on delay shortly …
zero propagation delay)
Introduction 1-17
Packet switching versus circuit switching
Packet switching allows more users to use network!
1 Mb/s link
each user:
100 kb/s when “active”
active 10% of time
N users
circuit-switching: 1 Mbps link
10 users
packet switching:
with 35 users,
probability > 10 active
at same time is less
than .0004
Introduction 1-18
Packet switching versus circuit switching
Is packet switching a “slam dunk winner?”
great for bursty data
resource sharing
simpler, no call setup
excessive congestion: packet delay and loss
protocols needed for reliable data transfer,
congestion control
Q: How to provide circuit-like behavior?
bandwidth guarantees needed for audio/video apps
Introduction 1-19
Internet structure: network of networks
End systems connect to Internet via access ISPs (Internet
Service Providers)
Residential, company and university ISPs
Access ISPs in turn must be interconnected.
So that any two hosts can send packets to each other
Resulting network of networks is very complex
Evolution was driven by economics and national policies
Let’s take a stepwise approach to describe current Internet
structure
Internet structure: network of networks
Question: given millions of access ISPs, how to connect them
together?
access access
net net
access
net
access
access net
net
access
access net
net
access access
net net
access
net
access
net
access
net
access
net
access access
net access net
net
Internet structure: network of networks
Option: connect each access ISP to every other access ISP?
access access
net net
access
net
access
access net
net
access
access net
net
connecting each access ISP
access
to each other directly doesn’t access
net
scale: O(N2) connections. net
access
net
access
net
access
net
access
net
access access
net access net
net
Internet structure: network of networks
Option: connect each access ISP to a global transit ISP? Customer
and provider ISPs have economic agreement.
access access
net net
access
net
access
access net
net
access
access net
net
global
access
net
ISP access
net
access
net
access
net
access
net
access
net
access access
net access net
net
Internet structure: network of networks
But if one global ISP is viable business, there will be competitors
….
access access
net net
access
net
access
access net
net
access
access net
net
ISP A
access access
net ISP B net
access
ISP C
net
access
net
access
net
access
net
access access
net access net
net
Internet structure: network of networks
But if one global ISP is viable business, there will be competitors
…. which must be interconnected
access access
Internet exchange point
net net
access
net
access
access net
net
access
IXP access
net
net
ISP A
access IXP access
net ISP B net
access
ISP C
net
access
net
access peering link
net
access
net
access access
net access net
net
Internet structure: network of networks
… and regional networks may arise to connect access nets to
ISPS
access access
net net
access
net
access
access net
net
access
IXP access
net
net
ISP A
access IXP access
net ISP B net
access
ISP C
net
access
net
access
net regional net
access
net
access access
net access net
net
Internet structure: network of networks
… and content provider networks (e.g., Google, Microsoft,
Akamai ) may run their own network, to bring services, content
close to end users
access access
net net
access
net
access
access net
net
access
IXP access
net
net
ISP A
Content provider network
access IXP access
net ISP B net
access
ISP B
net
access
net
access
net regional net
access
net
access access
net access net
net
Internet structure: network of networks
Tier 1 ISP Tier 1 ISP Google
IXP IXP IXP
Regional ISP Regional ISP
access access access access access access access access
ISP ISP ISP ISP ISP ISP ISP ISP
at center: small # of well-connected large networks
“tier-1” commercial ISPs (e.g., Level 3, Sprint, AT&T, NTT), national &
international coverage
content provider network (e.g, Google): private network that connects
it data centers to Internet, often bypassing tier-1, regional ISPs Introduction 1-28
How do loss and delay occur?
packets queue in router buffers
packet arrival rate to link exceeds output link
capacity
packets queue, wait for turn
packet being transmitted (delay)
B
packets queueing (delay)
free (available) buffers: arriving packets
dropped (loss) if no free buffers
Introduction 1-29
Four sources of packet delay
1. nodal processing: 2. queueing
check bit errors time waiting at output
determine output link link for transmission
depends on congestion
level of router
transmission
A propagation
B
nodal
processing queueing
Introduction 1-30
Delay in packet-switched networks
3. Transmission delay: 4. Propagation delay:
R=link bandwidth (bps) d = length of physical link
L=packet length (bits) s = propagation speed in
time to send bits into medium (~2x108 m/sec)
link = L/R propagation delay = d/s
Note: s and R are very
different quantities!
transmission
A propagation
B
nodal
processing queueing
Introduction 1-31
Caravan analogy (Difference between
transmission/propagation delay)
100 km 100 km
ten-car toll toll
caravan booth booth
cars “propagate” at Time to “push” entire
100 km/hr caravan through toll
toll booth takes 12 sec to booth onto highway =
service car (transmission 12*10 = 120 sec
time) Time for last car to
car~bit; caravan ~ packet propagate from 1st to
2nd toll both:
Q: How long until caravan
100km/(100km/hr)= 1 hr
is lined up before 2nd toll
booth? A: 62 minutes
Introduction 1-32
Caravan analogy (more)
100 km 100 km
ten-car toll toll
caravan booth booth
Yes! After 7 min, 1st car
Cars now “propagate” at at 2nd booth and 3 cars
1000 km/hr still at 1st booth.
Toll booth now takes 1 1st bit of packet can
min to service a car arrive at 2nd router
Q: Will cars arrive to before packet is fully
2nd booth before all transmitted at 1st router!
cars serviced at 1st
booth?
Introduction 1-33
Nodal delay
d nodal d proc dqueue d trans d prop
dproc = nodal processing delay
typically a few microsecs or less
dqueue = queuing delay
depends on congestion
dtrans = transmission delay
= L/R, significant for low-speed links
dprop = propagation delay
a few microsecs to hundreds of msecs
Introduction 1-34
Queueing delay (revisited)
R=link bandwidth (bps)
L=packet length (bits)
a=average packet
arrival rate
traffic intensity = La/R
La/R ~ 0: average queueing delay small
La/R -> 1: delays become large
La/R > 1: more “work” arriving than can be
serviced, average delay infinite!
Introduction 1-35
Packet loss
queue (aka buffer) preceding link in buffer has
finite capacity
packet arriving to full queue dropped (aka lost)
lost packet may be retransmitted by previous
node, by source end system, or not at all
buffer
(waiting area) packet being transmitted
A
B
packet arriving to
full buffer is lost
Introduction 1-36
Protocol “Layers”
Networks are complex!
many “pieces”:
hosts Question:
routers Is there any hope of
links of various organizing structure of
media network?
applications
protocols Or at least our discussion
hardware, of networks?
software
Introduction 1-37
Organization of air travel
ticket (purchase) ticket (complain)
baggage (check) baggage (claim)
gates (load) gates (unload)
runway takeoff runway landing
airplane routing airplane routing
airplane routing
a series of steps
Introduction 1-38
Layering of airline functionality
ticket (purchase) ticket (complain) ticket
baggage (check) baggage (claim baggage
gates (load) gates (unload) gate
runway (takeoff) runway (land) takeoff/landing
airplane routing airplane routing airplane routing airplane routing airplane routing
departure intermediate air-traffic arrival
airport control centers airport
Layers: each layer implements a service
via its own internal-layer actions
relying on services provided by layer below
Introduction 1-39
Why layering?
Dealing with complex systems:
explicit structure allows identification,
relationship of complex system’s pieces
modularization eases maintenance, updating of
system
change of implementation of layer’s service
transparent to rest of system
e.g., change in gate procedure doesn’t affect
rest of system
Introduction 1-40
Internet protocol stack
application: supporting network
applications application
FTP, SMTP, HTTP
transport: process-process data transport
transfer
TCP, UDP network
network: routing of datagrams from
source to destination link
IP, routing protocols
link: data transfer between physical
neighboring network elements
PPP, Ethernet
physical: bits “on the wire”
Introduction 1-41
message M
source
application
Encapsulation
segment Ht M transport
datagram Hn Ht M network
frame Hl Hn Ht M link
physical
link
physical
switch
destination Hn Ht M network
M application Hl Hn Ht M link Hn Ht M
Ht M transport physical
Hn H t M network
Hl Hn Ht M link router
physical
Introduction 1-42
Introduction: Summary
Covered a “ton” of material!
You now have:
Internet overview
context, overview,
what’s a protocol? “feel” of networking
network edge, core, access more depth, detail to
network follow!
packet-switching versus
circuit-switching
Internet structure
performance: loss, delay,
throughput
layering, service models
Introduction 1-43