Sunteți pe pagina 1din 31

Computer Networking and the Internet:

Design Issues

1
Motivation
What is the importance of the computer
networking and the Internet?
ƒ Applications: does it really make our lives easier?
ƒ Potential uses: where is it heading to?

As computer networking engineers:


ƒ What do we need to know about networks issues?
ƒ What do we do with these issues?

2
Some “Cool” Internet Appliances

World’s smallest web server


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

Web-enabled toaster + weather forecaster


http://dancing-man.com/robin/toasty/

IP picture frame
http://www.ceiva.com/ 3
Applications: Efficient Workflow
Security Server

Internet Automation
Manufacturer

IT

Engineering Process
Server Server

Machine
Machine
Office Plant Controller

Access to multiple sources


ƒ Minimize travel
ƒ No 2nd party involvement
Paperless information entry
ƒ Status update
ƒ Auditing 4
ƒ Alerts
Computer Networking Components
and Issues

(A Network Design Perspective)

5
Information, Computers, Networks

Information:
ƒ anything that can be represented in bits

Properties:
ƒ Information can be infinitely replicable
ƒ Computers can “manipulate” information
ƒ Networks create “access” to information

6
Networks

Potential of networking:
ƒ Move bits everywhere, cheaply, and with
desired performance characteristics
ƒ Break the space barrier for information

Networks provide “connectivity”

7
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 point-to-point physical link.
ƒ Tradeoff: Performance is worse than the
case with true physical link!

8
Connectivity
Building Blocks
ƒ Links: coax cable, optical fiber, wireless, etc.
ƒ Nodes: general-purpose workstations or devices

Direct Connectivity:
Point-to-Point
ƒ Point-to-point

ƒ Multiple access Node 1 Node 2 … Node n

Bus
9
Connectivity

Indirect Connectivity
ƒ Switched networks
– Switches create temporary
physical connections
ƒ E.g. Circuit-switched
Telephone Network

ƒ Inter-networks
– Routers create temporary
logical connections
ƒ E.g. Packet-switched
Internet

10
Connectivity
The Internet:
ƒ Best-effort (i.e.; no
performance guarantees)
ƒ Packet-by-packet delivery

A point-to-point physical
link:
ƒ Always-connected
ƒ Fixed bandwidth
ƒ Fixed delay
Point-to-Point
ƒ Zero-jitter

11
Point-to-Point Connectivity
Physical layer is, at least, needed for coding,
modulation, etc.
Link layer is needed only if the link is:
ƒ Shared: needs framing, medium access control,
multiplexing, etc.
ƒ Unreliable: needs reliability techniques
ƒ used sporadically and traffic can flood receivers:
needs flow control mechanisms

No need for protocol concepts like addressing,


names, routers, hubs, forwarding, or filtering in
point-to-point connections
12
Connecting N users Directly
Bus: broadcast, collisions, media access control
Full mesh: Cost vs simplicity

...

Bus
Full mesh

‰ Address concept is needed if we want a specific


receiver (or receivers) to consume the packet!
13
List of Design Problems (so far)
Topologies
Framing
Error control
Flow control
Multiple access
ƒ How to share a link?

14
How to build Scalable Networks?
Scaling: the system allows for an increase of a
key parameter (e.g., the number of nodes),
without severely compromising the resources.
Î Inefficiency limits scaling

Direct connectivity is inefficient & hence does


not scale
ƒ Mesh: inefficient in terms of the number of links
ƒ Bus: inefficient in terms of the bandwidth use

15
Filtering and Forwarding
Filtering: choosing a subset of elements from a set
ƒ Filtering is the key to efficiency & scaling

Forwarding: sending packets to a filtered subset of the


links or nodes
ƒ Packet sent to one link or node improves efficiency

Solution: Build nodes that filter/forward and connect


indirectly such as “switches” & “routers”

16
Connecting N Nodes Indirectly
Star: One-hop path from a node to any other node
“Switch” S can filter and forward!
ƒ Reliability problem (single point of failure)
ƒ Bandwidth problem (bottleneck at the switch)
ƒ It may forward multiple packets in parallel for
additional efficiency!

17
Star
Connecting N Nodes Indirectly
Ring: each node is connected to two neighboring
nodes forming a ring.
ƒ All nodes do “forwarding” and “filtering”
ƒ Near-minimal number of links
ƒ Reliability to link failure

Ring
18
Connecting Nodes Indirectly: Inter-Networks
Inter-Network is a network of networks
ƒ E.g., the Internet

… …

=
Internet

… …

The goal is to design the black box on the right 19


Inter-Networks: Networks of Networks

Internetworking involves two fundamental


design problems: heterogeneity and scale
Concepts:
ƒ To handle heterogeneity: use translation, address & name
resolution, fragmentation, etc.
ƒ To handle scaling: use hierarchical addressing, routing,
naming, address allocation, congestion control, etc.

Covered in more detail in “Internetworking” course

20
Additions to the Design Problem List

Switching, bridging,
routing
Reliability
Fragmentation
Naming, addressing
Congestion control,
traffic management

21
How to do system design? (Design Ideas)
Example Goal: Design an Inter-network
Resources:
ƒ Computation: planning, analysis, etc.
ƒ Time: project management, due dates, etc.
ƒ Labor: team sizing, organizing, managing, etc.
ƒ Space: location, size, dimensions, etc.
ƒ Money: cost, budget analysis, investment, etc.

Design Rule: tradeoff cheaper resources


against expensive ones to meet design goals
ƒ Life is all about compromising and optimizing
22
Building blocks: Multiplexing
Multiplexing = sharing resources
ƒ Trading time and space for money
ƒ Cost: waiting time, buffer space & packet loss
ƒ Gain: Money Î less overall system costs

23
Statistical Multiplexing
Reduce resource requirements by exploiting
statistical knowledge of the system.
ƒ E.g., average rate ≤ service rate ≤ peak rate
ƒ If the service rate < the average rate, then the
system becomes unstable!!
– First, design to ensure system stability!!

ƒ Then, for a stable multiplexed system:


• Gain = peak rate/service rate.
• Cost: buffering, queuing delays, and data loss.

24
Stability of a Multiplexed System
Average Input Rate > Average Output Rate
Î System will become unstable!

How to ensure stability ?


1. Reserve enough capacity so that the average
demand is less than the reserved capacity
2. Dynamically detect overload and adapt either the
demand or the capacity to resolve the overload
25
What’s 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 (or Link Utilization) = La/R


(Average traffic divided by the link capacity)
26
What’s a performance tradeoff ?
La/R ~ 0: average queuing
delay small (Wasteful Design)

La/R Î 1: delay become large

La/R > 1: infinite average delay


(service degrades unboundedly
Î instability)!

Statistics suggest that the best


tradeoff is when La/R ~ 0.8
27
Example Design: Circuit-Switching
Circuit-switching: a form of multiplexing
ƒ 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 are wasted if
unused: expensive design.
ƒ Mapping can be done without “headers”.
ƒ Everything inferred from timing (i.e. connection is
immediately available).
28
Example Design: Packet-Switching
Packet-switching: another form of multiplexing:
ƒ Chop up data (not links!)
into “packets” Bandwidth division into
– Packets: data + meta-data “pieces”
(e.g., header)
Dedicated allocation
ƒ “Switch” packets at
Resource reservation
intermediate nodes
– Store-and-forward if
bandwidth is not
immediately available.
Cost: self-descriptive header per-packet (i.e.; overhead),
buffering, and delays for applications.
29
Summary of System Design Ideas

Multiplexing
Statistical Multiplexing
Stability and
performance tradeoffs
Circuit switching
Packet switching

30
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, etc.
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., faults can be easily
isolated and it is easy to account for usage

31

S-ar putea să vă placă și