CPE 422 Computer
Networks
Introduction
Dr Ali H. El-Mousa
elmousa@[Link]
Overview
Course Administration issues
Syllabus
Networking: An overview of ideas and issues
Whos Who
Instructor:
Dr Ali El-Mousa
elmousa@[Link]
23003
Room 415 CPE Dept
Web Resources
Course:
[Link]
ts%202011/[Link]
CPE Department:
[Link]
Text book:
[Link]
c/product/0,1144,0321497708,[Link]
Course Description Highlights 1
Syllabus:
Data transmission basics and tools
Data link layer protocols
Multi-access techniques
Network layer protocols and IP
Transport protocols and TCP
Text book:
Computer Networking, A top-Down Approach
By: James Kurose and Keith Ross,
Addison Wesley, 2013 (6th Edition)
Course Description Highlights 2
Teaching Method:
Lectures mainly using PPT slides
Informal quizzes: Every two weeks
Grading:
Midterm exam 30%
Quizzes 20%
Final 50%
Answers to FAQ
Course material focuses on concepts rather
than technologies. Therefore you WILL NOT
become an expert in installing and running
Windows 2003 server as a result of this course.
There are no make ups for missed quizzes or
exams under any circumstance. So do not be
absent.
Exams will be closed notes and books and they
will be time-limited.
Course material is NOT all from the text book.
Answers to FAQ
Focus of exam and quizzes will be on
conceptual understanding, and problem-solving
skill.
There will be around five quizzes.
ALL quizzes will be counted.
Every student HAS TO attend the class he/she
registered in. Please DO NOT ASK for changing
classes internally.
Attendance is mandatory. If you are absent for 8
classes or more then you will be banned form
the final exam.
Information, Computers,
Networks
Information: anything that is represented in bits
Form (can be represented as bits) vs.
Substance (cannot be represented as bits)
Properties:
Infinitely replicable
Computers can manipulate information
Networks create access to information
Networks
Potential of networking:
move bits everywhere, cheaply, and with
desired performance characteristics
Break the space barrier for information
Network provides connectivity
What is Connectivity ?
Direct or indirect access to every other node
in the network
Connectivity is the magic needed to
communicate if you do not have a direct pt-pt
physical link.
Tradeoff: Performance characteristics worse than
true physical link!
Connectivity 1
Building Blocks
links: coax cable, optical fiber...
nodes: general-purpose workstations...
Direct connectivity:
point-to-point
multiple access
Connectivity 2
Indirect Connectivity
switched networks
=> switches
inter-networks
=> routers
Connectivity 3
Internet:
Best-effort
(no performance guarantees)
Packet-by-packet
A pt-pt physical link:
Always-connected
Fixed bandwidth
Fixed delay
Zero-jitter
Point-to-Point
Connectivity
A
Physical layer: coding, modulation etc
Link layer needed if the:
link is shared between apps (framing,
medium access control, multiplexing)
link is unreliable (reliability)
link is used sporadically and traffic can flood
receivers (flow control)
No need for protocol concepts like addressing,
names, routers, hubs, forwarding, filtering
Connecting N users: Directly ...
Bus: broadcast, collisions, media access
control
Full mesh: Cost vs. simplicity
...
Bus
Full mesh
Address concept needed if we want the receiver alone
to consume the packet!
List of Problems (so far)
Topologies
Framing
Error control
Flow control
Multiple access
How to share a wire
How to build Scalable
Networks?
Scaling: system allows the increase of
a key parameter. Eg: let N increase
Inefficiency limits scaling
Direct connectivity is inefficient &
hence does not scale
Mesh: inefficient in terms of # of links
Bus architecture: 1 expensive link, N
cheap links. Inefficient in bandwidth use
Filtering, forwarding
Filtering: choose a subset of elements
from a set
Filtering is the key to efficiency & scaling
Forwarding: actually sending packets to
a filtered subset of link/node(s)
Packet sent to one link/node => efficient
Solution: Build nodes which
filter/forward and connect indirectly =>
switches & routers
Connecting N users:
Indirectly
Star: One-hop path to any node,
reliability, forwarding function
Switch S can filter and forward!
Switch may forward multiple packets
in parallel for additional efficiency!
Star
Connecting N users:
Indirectly
Ring: Reliability to link failure,
near-minimal links
All nodes do forwarding and
filtering
Ring
Inter-Networks: Networks
of Networks
Internet
Our goal is to design this black box on
the right
Inter-Networks: Networks
of Networks
Internetworking involves two fundamental
problems: heterogeneity and scale
Concepts:
Translation, overlays, address & name
resolution, fragmentation: to handle
heterogeneity
Hierarchical addressing, routing, naming,
address allocation, congestion control: to
handle scaling
Additions to Problem List
Fragmentation
Switching, bridging, routing
Naming, addressing
Congestion control, traffic
management
Reliability
Whats the Internet: nuts and bolts view
PC
millions of connected
server
computing devices:
hosts = end systems
wireless
laptop
running network
cellular
handheld
apps
communication links
fiber, copper,
access
points
radio, satellite
wired
links
transmission
rate = bandwidth
routers: forward
router
packets (chunks of
data)
Mobile network
Global ISP
Home network
Regional ISP
Institutional network
1-25
Cool internet appliances
Web-enabled toaster +
weather forecaster
IP picture frame
[Link]
Worlds smallest web server
[Link]
Internet phones
1-26
Whats the Internet: nuts and bolts view
protocols control sending,
receiving of msgs
Mobile network
Global ISP
e.g., TCP, IP, HTTP, Skype,
Ethernet
Internet: network of
networks
loosely hierarchical
public Internet versus private
intranet
Home network
Regional ISP
Institutional network
Internet standards
RFC: Request for comments
IETF: Internet Engineering
Task Force
1-27
Whats 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
1-28
29
How to do system
design ?
E.g. goal: Design an Inter-network
Resources:
Space
Time
Computation
Money
Labor
Design: tradeoff cheaper resources
against expensive ones to meet
goals.
Building blocks:
Multiplexing
Multiplexing = sharing
Trades time and space for money
Cost: waiting time, buffer space & packet
loss
Gain: Money => Overall system costs less
Statistical Multiplexing
Reduce resource requirements by exploiting
statistical knowledge of the system.
E.g.: average rate service rate peak
rate
If service rate < average rate, then
system becomes unstable!!
First design to ensure system stability!!
Then, for a stable multiplexed system:
Gain = peak rate/service rate.
Cost: buffering, queuing delays, losses.
Stability of a Multiplexed
System
If Average Input Rate > Average Output
Rate
=> system is unstable!
How to ensure stability ?
Reserve enough capacity so that demand is less than
reserved capacity
Dynamically detect overload and adapt either the demand
or capacity to resolve overload
Whats a performance
tradeoff ?
A situation where you cannot get something
for nothing!
Also known as a zero-sum game.
R=link bandwidth (bps)
L=packet length (bits)
a=average packet arrival
rate
Traffic intensity = La/R
Whats a performance tradeoff ?
La/R ~ 0: average queuing
delay small
La/R approaching 1 ; delays
become large
La/R > 1: average delay
infinite (service degrades
unboundedly => instability)!
Example Design: CircuitSwitching
Divide link
bandwidth into
pieces
Reserve pieces on
successive links and
tie them together to
form a circuit
Map traffic into the
reserved circuits
Resources wasted if
unused: expensive.
Mapping can be done without headers.
Everything inferred from timing.
Example Design: PacketSwitching
Chop up data (not links!)
into packets
Packets: data + meta-data Bandwidth division
into pieces
(header)
Dedicated allocation
Switch packets at
intermediate nodes
Resource reservation
Store-and-forward if bandwidth
is not immediately available.
Packet Switching
10 Mbs
Ethernet
A
B
statistical multiplexing
1.5 Mbs
queue of packets
waiting for output
link
45 Mbs
Cost: self-descriptive header per-packet,
buffering and delays for applications.
Need to either reserve resources or
dynamically detect/adapt to overload for
stability
Circuit Switching: FDM and TDM
Example:
FDM
4 users
frequency
time
TDM
frequency
time
1-39
Summary of System Design
Ideas
Multiplexing
Statistical Multiplexing
Stability and performance
tradeoffs
Circuit switching
Packet switching
What are protocols ?
Networking software is organized as
protocols
Eg: Human protocol vs network
protocol:
Hi
TCP connection
req.
Hi
TCP connection
reply.
Got the
time?
2:00
<file>
time
Analogy: 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
Protocols: a series of functions performed
at different locations
Organization of air travel: a different
view
ticket (purchase)
ticket (complain)
baggage (check)
baggage (claim)
gates (load)
gates (unload)
runway takeoff
runway landing
airplane routing
airplane routing
airplane routing
Layers: each layer implements a service
via its own internal-layer actions
relying on services provided by layer below
interface
Layered air travel: services
Counter-to-counter delivery of
person+bags
baggage-claim-to-baggage-claim
delivery
people transfer: loading gate to arrival
gate
airplane
routing from
source
runway-to-runway
delivery
ofto
plane
destination
Similarly, we organize network protocols
into a bunch of layers!
ticket (purchase)
ticket (complain)
baggage (check)
baggage (claim)
gates (load)
gates (unload)
runway takeoff
runway landing
airplane routing
airplane routing
intermediate air traffic sites
airplane routing
airplane routing
airplane routing
arriving airport
Departing airport
Distributed implementation of
layers
Protocol Implementations
Are building blocks of a network architecture
Each protocol object has two different interfaces
service interface: defines operations on this
protocol
peer-to-peer interface: defines messages
exchanged with peer
Li+1
Li+1
service interface
Li
peer interface
Li
Reference Models for
Layering
TCP/IP Model
TCP/IP Protocols
Application
FTP Telnet HTTP
Transport
TCP
UDP
Internetwork
IP
Host to
Network
EtherPacketPoint-tonet Radio Point
OSI Ref Model
Application
Presentation
Session
Transport
Network
Datalink
Physical
Top-down approach means we will first learn the
application layer and then learn about lower layers
Internet protocol stack
application: supporting network applications
ftp, smtp, http
transport: host-host data transfer
tcp, udp
network: routing of datagrams from source to
destination
ip, routing protocols
link: data transfer between neighboring
network elements
ppp, ethernet
physical: bits on the wire
application
transport
network
link
physical
Layering: logical
communication
E.g.: transport
take data from app
add addressing,
reliability check info
to form datagram
send datagram to
peer
wait for peer to ack
receipt
analogy: post office
data
application
transport
transport
network
link
physical
application
transport
network
link
physical
ack
data
network
link
physical
application
transport
network
link
physical
data
application
transport
transport
network
link
physical
Layering: physical
communication
data
application
transport
network
link
physical
application
transport
network
link
physical
network
link
physical
application
transport
network
link
physical
data
application
transport
network
link
physical
Protocol layering and
data
Each layer takes data from above
adds header information to create new data
unit (encapsulation)
passes new data unit to layer below
source
M
Ht M
Hn Ht M
Hl Hn Ht M
application
transport
network
link
physical
destination
application
Ht
transport
Hn Ht
network
Hl Hn Ht
link
physical
message
segment
M
M
datagram
frame
Design Perspectives
Network users: services that their
applications need, e.g., guarantee that each
message it sends will be delivered without
error within a certain amount of time
Network designers: cost-effective design
e.g., that network resources are efficiently
utilized and fairly allocated to different users
Network providers: system that is easy to
administer and manage e.g., that faults can be
easily isolated and it is easy to account for
usage
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)
A
B
packets queueing (delay)
free (available) buffers: arriving packets
dropped (loss) if no free buffers
1-53
Four sources of packet delay
1. nodal processing:
check bit errors
determine output link
2. queueing
time waiting at output
link for transmission
depends on congestion
level of router
transmission
propagation
nodal
processing
queueing
1-54
Delay in packet-switched networks
3. Transmission delay:
R=link bandwidth (bps)
L=packet length (bits)
time to send bits into
link = L/R
transmission
4. Propagation delay:
d = length of physical link
s = propagation speed in
medium (~2x108 m/sec)
propagation delay = d/s
Note: s and R are very
different quantities!
propagation
nodal
processing
queueing
1-55
Caravan analogy
100 km
ten-car
caravan
toll
booth
cars propagate at
100 km/hr
toll booth takes 12 sec to
service car (transmission
time)
car~bit; caravan ~ packet
Q: How long until caravan is
lined up before 2nd toll
booth?
100 km
toll
booth
Time to push entire
caravan through toll booth
onto highway = 12*10 = 120
sec
Time for last car to
propagate from 1st to 2nd
toll both: 100km/
(100km/hr)= 1 hr
A: 62 minutes
1-56
Caravan analogy (more)
100 km
ten-car
caravan
toll
booth
Cars now propagate at
1000 km/hr
Toll booth now takes 1
min to service a car
Q: Will cars arrive to 2nd
booth before all cars
serviced at 1st booth?
100 km
toll
booth
Yes! After 7 min, 1st car at
2nd booth and 3 cars still at
1st booth.
1st bit of packet can arrive
at 2nd router before packet
is fully transmitted at 1st
router!
1-57
Nodal delay
d nodal d proc d queue d trans d prop
dproc = 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
1-58
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!
1-59
Real Internet delays and routes
What do real Internet delay & loss look like?
Traceroute program: provides delay measurement
from source to router along end-end Internet path
towards destination. For all i:
sends three packets that will reach router i on path towards
destination
router i will return packets to sender
sender times interval between transmission and reply.
3 probes
3 probes
3 probes
1-60
Real Internet delays and routes
traceroute: [Link] to [Link]
Three delay measurements from
[Link] to [Link]
1 cs-gw ([Link]) 1 ms 1 ms 2 ms
2 [Link] ([Link]) 1 ms 1 ms 2 ms
3 [Link] ([Link]) 6 ms 5 ms 5 ms
4 [Link] ([Link]) 16 ms 11 ms 13 ms
5 [Link] ([Link]) 21 ms 18 ms 18 ms
6 [Link] ([Link]) 22 ms 18 ms 22 ms
7 [Link] ([Link]) 22 ms 22 ms 22 ms trans-oceanic
8 [Link] ([Link]) 104 ms 109 ms 106 ms
link
9 [Link] ([Link]) 109 ms 102 ms 104 ms
10 [Link] ([Link]) 113 ms 121 ms 114 ms
11 [Link] ([Link]) 112 ms 114 ms 112 ms
12 [Link] ([Link]) 111 ms 114 ms 116 ms
13 [Link] ([Link]) 123 ms 125 ms 124 ms
14 [Link] ([Link]) 126 ms 126 ms 124 ms
15 [Link] ([Link]) 135 ms 128 ms 133 ms
16 [Link] ([Link]) 126 ms 128 ms 126 ms
17 * * *
* means no response (probe lost, router not replying)
18 * * *
19 [Link] ([Link]) 132 ms 128 ms 136 ms
1-61
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)
A
B
packet being transmitted
packet arriving to
full buffer is lost
1-62
Throughput
throughput: rate (bits/time unit) at which bits
transferred between sender/receiver
instantaneous: rate at given point in time
average: rate over long(er) period of time
link
capacity
that
can carry
server,
server
sendswith
bits pipe
fluid
at rate
file of
F bits
(fluid)
into
pipe
Rs bits/sec
to send to client
Rs bits/sec)
link that
capacity
pipe
can carry
at rate
Rfluid
c bits/sec
Rc bits/sec)
1-63
Throughput (more)
Rs < Rc What is average end-end throughput?
Rs bits/sec
Rs
Rc bits/sec
> Rc What is average end-end throughput?
Rs bits/sec
Rc bits/sec
bottleneck link
link on end-end path that constrains end-end throughput
1-64
Throughput: Internet scenario
per-connection endend throughput:
min(Rc,Rs,R/10)
in practice: Rc or Rs
is often bottleneck
Rs
Rs
Rs
R
Rc
Rc
Rc
10 connections (fairly) share
backbone bottleneck link R bits/sec
1-65
Summary
Administrative heads-up
Networks, connectivity, topologies
A selection of networking concepts
and problems to be explored
(hopefully)in this course ...