Вы находитесь на странице: 1из 66

CPE 422 Computer

Networks
Introduction
Dr Ali H. El-Mousa
elmousa@ju.edu.jo

Overview
Course Administration issues
Syllabus
Networking: An overview of ideas and issues

Whos Who
Instructor:
Dr Ali El-Mousa
elmousa@ju.edu.jo
23003
Room 415 CPE Dept

Web Resources
Course:
http://uojcourses.awardspace.com/Comp%20ne
ts%202011/index.html

CPE Department:
http://fetweb.ju.edu.jo/cpe

Text book:
http://vig.pearsoned.co.uk/catalog/academi
c/product/0,1144,0321497708,00.html

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
http://www.ceiva.com/

Worlds smallest web server


http://www-ccs.cs.umass.edu/~shri/iPic.html

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: gaia.cs.umass.edu to www.eurecom.fr

Three delay measurements from


gaia.cs.umass.edu to cs-gw.cs.umass.edu
1 cs-gw (128.119.240.254) 1 ms 1 ms 2 ms
2 border1-rt-fa5-1-0.gw.umass.edu (128.119.3.145) 1 ms 1 ms 2 ms
3 cht-vbns.gw.umass.edu (128.119.3.130) 6 ms 5 ms 5 ms
4 jn1-at1-0-0-19.wor.vbns.net (204.147.132.129) 16 ms 11 ms 13 ms
5 jn1-so7-0-0-0.wae.vbns.net (204.147.136.136) 21 ms 18 ms 18 ms
6 abilene-vbns.abilene.ucaid.edu (198.32.11.9) 22 ms 18 ms 22 ms
7 nycm-wash.abilene.ucaid.edu (198.32.8.46) 22 ms 22 ms 22 ms trans-oceanic
8 62.40.103.253 (62.40.103.253) 104 ms 109 ms 106 ms
link
9 de2-1.de1.de.geant.net (62.40.96.129) 109 ms 102 ms 104 ms
10 de.fr1.fr.geant.net (62.40.96.50) 113 ms 121 ms 114 ms
11 renater-gw.fr1.fr.geant.net (62.40.103.54) 112 ms 114 ms 112 ms
12 nio-n2.cssi.renater.fr (193.51.206.13) 111 ms 114 ms 116 ms
13 nice.cssi.renater.fr (195.220.98.102) 123 ms 125 ms 124 ms
14 r3t2-nice.cssi.renater.fr (195.220.98.110) 126 ms 126 ms 124 ms
15 eurecom-valbonne.r3t2.ft.net (193.48.50.54) 135 ms 128 ms 133 ms
16 194.214.211.25 (194.214.211.25) 126 ms 128 ms 126 ms
17 * * *
* means no response (probe lost, router not replying)
18 * * *
19 fantasia.eurecom.fr (193.55.113.142) 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 ...

Вам также может понравиться