Transcript Networking
Course Overview
Principles of Operating Systems
Introduction
Computer System
Structures
Operating System
Structures
Processes
Process Synchronization
Deadlocks
CPU Scheduling
© 2000 Franz Kurfess
Memory Management
Virtual Memory
File Management
Security
Networks
Distributed Systems
Case Studies
Conclusions
Networks 1
Chapter Overview
Networking
Motivation
Objectives
Topology
Network Types
Communication
Design Strategies
© 2000 Franz Kurfess
Examples
Client/Server Model
Middleware
Important Concepts and
Terms
Chapter Summary
Networks 2
Motivation
resource
sharing
users can access all resources available on the machines
connected to the network
computation
speedup
computation-intensive tasks can be partitioned into subtasks and
distributed over several computers on the network
specialized or more powerful computers can be used instead of or
in addition to the local machine of the user
reliability
the overall system can continue to operate even if some of its
components fail
communication
fast exchange of information
remote procedure calls
© 2000 Franz Kurfess
Networks 3
Objectives
be
aware of benefits and problems of computers
connected via networks
know relevant network topologies and network types
understand the issues involved in communication of
computers via networks
apply networking concepts to the client/server model
© 2000 Franz Kurfess
Networks 4
Terminology
site
indicates
the location of computer systems
host
specific
system at a site
frequently implies the execution of a program or the
availability of services
local
resources
all
the resources available directly within a specific
computer system system
local sometimes also refers to a particular site, not one
single computer system
© 2000 Franz Kurfess
Networks 5
Terminology cont.
remote
resources
mainly
for exchange of information
sometimes specialized resource types
network
operating system
users
are aware of the individual machines in the network
resources are accessible via login or explicit transfer of
data
distributed
operating system
users
are unaware of the underlying machines and
networks
remote resources are accessible in the same way as local
resources
© 2000 Franz Kurfess
Networks 6
Computer Network
set
of computers linked to each other through some
type of network
physical
link
virtual link
indirect via other computers
logical
link
more abstract level, independent of the physical realization
© 2000 Franz Kurfess
Networks 7
Computer Network Diagram
logical
link
physical
link
Network
© 2000 Franz Kurfess
Networks 8
Network Topology
describes
the interconnection structure of the
network
fully
connected
partially connected
hierarchical network
tree structure
star
network
ring network
bus network
unless
otherwise noted, the topology refers to the
physical interconnections
© 2000 Franz Kurfess
Networks 9
Comparison Criteria
important
properties of the configuration
site
refers to one or several computers with a single
access point to the network
link is a connection between two sites
basic
cost
setup
of the communication between two sites
communication
cost
costs
of transferring a message from one site to another
time required for the transfer
reliability
effects
© 2000 Franz Kurfess
of a failure in a link or site
Networks 10
Fully Connected
each
site is directly linked with all the others
basic cost
high:
requires a direct link between every two sites
quadratic w.r.t. the number of sites
communication
low:
cost
no intermediate steps
reliability
very
high if messages can be rerouted
© 2000 Franz Kurfess
Networks 11
Fully Connected Diagram
© 2000 Franz Kurfess
Networks 12
Partially Connected
direct
links exist between some pairs of sites
basic cost
lower
than for the fully connected network
communication
higher
cost
than for the fully connected network
reliability
lower
than for the fully connected network
© 2000 Franz Kurfess
Networks 13
Partially Connected Diagram
© 2000 Franz Kurfess
Networks 14
Hierarchical Network
the
sites are organized as a tree
often
used for corporate networks
headquarters -> main offices -> regional offices
basic
cost
much
lower than fully, usually lower than partially conn.
communication
cost
higher
than for the fully connected network
acceptable if communication patterns match the
hierarchical structure
reliability
medium:
the failure of a site or link partitions the network
into disjoint subtrees
© 2000 Franz Kurfess
Networks 15
Hierarchical Network Diagram
© 2000 Franz Kurfess
Networks 16
Star Network
all
sites in the network are linked to a central hub
the
hub may be a special device for communication only,
or a regular site
basic
cost
linear
with the number of sites
communication
cost
very
low if there isn’t too much traffic
central hub may become a bottleneck
reliability
depends
on the central hub: if it fails, the network is
completely partitioned
the failure of a site or link affects only that site
© 2000 Franz Kurfess
Networks 17
Star Network Diagram
© 2000 Franz Kurfess
Networks 18
Ring Network
each
site is connected to its two neighbors
links
basic
can be uni- or bi-directional
cost
linear
with the number of sites
communication
cost
linear
with the number of sites
n-1 transfers for unidirectional, n/2 transfers for bidirectional links in the worst case
reliability
low:
the failure of one site or link partitions the network
© 2000 Franz Kurfess
Networks 19
Ring Network Diagram
© 2000 Franz Kurfess
Networks 20
Directional Ring Network
Diagram
unidirectional
© 2000 Franz Kurfess
bi-directional
Networks 21
Bus Network
single
shared link (bus)
multiple
simultaneous access must be coordinated
all
sites are directly connected to the bus
basic cost
linear
with the number of sites
communication
cost
low
as long as traffic is not too high
network contention can become a problem for high traffic
situations
reliability
the
bus is the critical component
© 2000 Franz Kurfess
Networks 22
Bus Network Diagram
linear bus
© 2000 Franz Kurfess
ring bus
Networks 23
Hybrid Networks
combination
different
of different network topologies
topologies usually use different protocols
requires
routers or bridges to translate between
different protocols and routing mechanisms
more or less unavoidable in practice
Ethernet
LAN
hierarchical WAN
© 2000 Franz Kurfess
Networks 24
Hybrid Network Diagram
bridge node
© 2000 Franz Kurfess
Networks 25
Network Types
geographical
distribution of networks
local area networks (LANs)
single
wide
area networks (WANs)
sites
has
or adjacent buildings
distributed over a large geographical area
a major impact in the design of networks
speed,
© 2000 Franz Kurfess
reliability, protocol, security
Networks 26
Local Area Networks
connect
sites within a small geographical area
make resources available to all sites
applications,
high-speed
files, special devices
communication links
Mega-Bit
to Giga-Bit per second transfer rate
wire, optical fiber, infrared
requires expensive links
gateways
provide access to other networks
other
LANs
WANs
Internet
© 2000 Franz Kurfess
Networks 27
LAN Examples
Ethernet
usually
wire (shielded or twisted-pair cable)
TCP/IP protocol
variations
10BaseT
100BaseT
FDDI
optical
fiber
token ring protocol
100 MBit/s
© 2000 Franz Kurfess
Networks 28
Wide Area Networks
connect
geographically distributed sites
exchange of information
access to special purpose computers
not
links
useful for access to peripheral devices
must cross long distances
speed,
reliability, security problems
may involve other organizations
© 2000 Franz Kurfess
Networks 29
WAN Technology
link
technology
telephone
lines
microwave links
satellite connections
specialized
communication processors
interface
to LANs (protocol, transfer rate)
transmission of information
routing
billing, usage statistics
© 2000 Franz Kurfess
Networks 30
WAN Examples
Arpanet
Internet
company
© 2000 Franz Kurfess
networks
Networks 31
Internet as WAN Example
LANs
are connected to regional networks
regional network are connected with routers and
high-speed links
special
purpose links
telephone connections
connections
from LANs to the Internet
telephone
modems (up to 50 KBit/s)
ISDN (up to 128 KBit/s)
T1 connections (1.544 MBit/s)
can be combined into multiple links
© 2000 Franz Kurfess
Networks 32
Communication
internal
workings of networks
naming
routing
packet
strategies
connection strategies
contention
© 2000 Franz Kurfess
Networks 33
Naming
the
entities to exchange information are processes
processes must specify the recipient
sometimes
names
must
also the sender
are more appropriate for human users
be unique, at least within the horizon of the user
computers
use numbers internally
hierarchical
mapping
single
of names to numbers (addresses)
file with all names and addresses
impractical for large systems
distributed
numbering scheme for unique addresses
scheme
more complicated to implement
© 2000 Franz Kurfess
Networks 34
Domain Name Service
naming
scheme used in the Internet
specifies
the naming structure of sites and hosts
conversion from names to addresses
logical
names
consist
of several fields separated by periods
www.cis.njit.edu
refers to a host named www
in the CIS department at NJIT
© 2000 Franz Kurfess
Networks 35
Name Resolution
the
name is parsed in reverse order
edu
indicates that the requested host is in an educational
institution, and the name server for the edu domain is
contacted for the address of njit.edu refers
the edu name server returns the address of the host
acting as name server for njit.edu refers
the njit.edu returns the address of the cis.njit.edu
name server, or directly the address of the requested host
this
results in an Internet address (IP-address) of the
form 128.132.55.116
caching
improves access speed and reliability
© 2000 Franz Kurfess
Networks 36
Routing
in
WANs there are usually multiple potential
connection from host A to host B
a routing table contains information about possible
communication paths
alternative
routes
speed, costs
routing
schemes
fixed
virtual
dynamic
© 2000 Franz Kurfess
Networks 37
Fixed Routing
the
path from host A to host B is specified in
advance
it does not change unless severe obstacles are
encountered
e.g.
used
hardware failure
for heavily used connections
minimization
© 2000 Franz Kurfess
of communication costs or transfer time
Networks 38
Virtual Routing
the
path from A to B is fixed for the duration of one
session
different paths for different sessions are possible
more flexible than fixed routing
reasonably easy to administrate
parts
of a message take the same path
© 2000 Franz Kurfess
Networks 39
Dynamic Routing
the
path for a message from A to B is chosen at the
time of sending the message
different messages from the same session may take
different paths
composition
of messages at the receiver can become
complicated
messages may arrive out of order
takes
link
into account the traffic conditions
failures, load changes
© 2000 Franz Kurfess
Networks 40
Router
responsible
can
has
for routing messages
be a computer, or a special purpose device
routing tables for the networks it is connected to
possibly
cached copies of the name files from the name
server
examines
the destination IP address and decides
where to send the message
© 2000 Franz Kurfess
Networks 41
Packet Strategies
variable-length
messages are commonly
implemented through fixed-length packets
datagrams,
frames are alternative names for packets
connections
are established to transfer packets
constituting a message
to
increase reliability, acknowledgment packets can be
sent
© 2000 Franz Kurfess
Networks 42
Connection Strategies
establishing
communication between processes that
want to exchange information
circuit switching
a
connection is established for the whole duration of the
session
similar to the telephone system
inefficient resource utilization
message
switching
packet switching
© 2000 Franz Kurfess
Networks 43
Circuit Switching
a
connection is established for the whole duration of
the session
similar
to the telephone system
inefficient
resource utilization
the
communication line is reserved even if there is no
activity
little
overhead for individual messages
© 2000 Franz Kurfess
Networks 44
Message Switching
a
connection is established for the transfer of one
particular message
similar
better
to letters sent through the postal service
resource utilization
many
messages can use the same link
no waste due to inactivity of individual processes
more
overhead for messages
each
message must contain administrative information
receiver, sender, etc.
© 2000 Franz Kurfess
Networks 45
Packet Switching
individual
packets from one message are sent
separately
very good resource utilization
better
load balancing
efficient treatment of packets since all are of the same size
overhead
receiver,
for individual packets
sender
packets
must be reassembled into messages
may not be suitable for time-sensitive information
© 2000 Franz Kurfess
Networks 46
Contention
several
hosts may want to use a link simultaneously
mainly
relevant for bus topologies
without
coordination, data will be scrambled and
becomes useless
solutions
collision
detection
token passing
message slots
© 2000 Franz Kurfess
Networks 47
Collision Detection
a
host can only use a link if it is free
if two hosts start transmitting at the same time, a
collision will occur
the
collision must be detected
the hosts will try again with some random delay
many
collisions in high-traffic situations
limited number of hosts on a network segment
used in the Ethernet protocol
CSMA/CD:
carrier sense with multiple access/collision
detection
© 2000 Franz Kurfess
Networks 48
Token Passing
a
unique message (token) circulates in the network
normally
a
a ring topology
host may transmit only if it has the token
must
wait until the token arrives
forwards the token after the transmission is finished
precautions must be taken for a lost token
constant
worse
used
performance, independent of traffic load
than CSMA/CD in low traffic, better for high traffic
in IBM Token Ring networks
© 2000 Franz Kurfess
Networks 49
Message Slots
a
number of fixed-length message slots circulate in
the system
normally
a ring topology
variable-size messages may have to be partitioned
a
host must wait until an empty slot arrives
used int the Cambridge Digital Communication Ring
experimental
system
little experience with performance
© 2000 Franz Kurfess
Networks 50
Network Design
complex
problem involving various levels of
abstraction
names,
IP addresses, messages, packets
coordination
between different protocols
one approach is to partition the problem into several
layers
ISO/OSI
protocol layers
ISO/OSI network model
© 2000 Franz Kurfess
Networks 51
OSI Model
Open
Systems Interconnection (OSI) reference
model
developed by the International Organization for
Standardization (ISO)
is commonly used as abstract model
TCP/IP is much more widely used in practice
less
complex
more mature
© 2000 Franz Kurfess
Networks 52
OSI Layers
Application
interaction with the user
file transfer, remote login, email, distributed data bases
conversion of different formats and data representations;
Presentation characters (ASCII, ISO), transmission modes
Session
communication protocols between processes
remote login, file and mail transfer (at the process level)
Transport
transfer of data between processes
message handling, error recovery, flow control
Network
independence from network technologies
network routing, addressing, connection management
Data Link
reliable transfer of information on physical links
packet handling, error detection and recovery on lower level
Physical
transmission of a bit stream over the physical medium
mechanical and electrical network interface
© 2000 Franz Kurfess
Networks 53
Network Example
exchange
of information between hosts on different
Ethernet networks
TCP/IP
TCP:
transmission control protocol
IP: Internet protocol
very widely used
available for practically all computer systems
simpler
than the ISO/OSI model
four layers instead of seven
Ethernet
very
popular LAN
© 2000 Franz Kurfess
Networks 54
TCP/IP Example
Host A
Host B
application
application
TCP
logical connection
TCP
IP
IP
network access
protocol 1
physical
network access
protocol 1
physical
Network 1
© 2000 Franz Kurfess
Router
IP
NAP 1 NAP 2
Network 2
Networks 55
Client/Server Computing
applications
client
tasks
user interface, presentation, some processing
server
are separated into tasks
tasks
data management, storage, computation-intensive processing
cooperation
between client and server
clients
request services from servers
servers return results to clients
network
environment
frequently
© 2000 Franz Kurfess
LAN, sometimes WAN
Networks 56
Client/Server Diagram
Servers
Clients
Network
(LAN, WAN)
© 2000 Franz Kurfess
[Stallings 98]
Networks 57
Client/Server Architecture
Client
Server
Presentation
Services
Request
Application Logic
(Client Side)
Response
Application Logic
(Server Side)
Communication
Protocol
Communication
Operating System
Operating System
Hardware Platform
Hardware Platform
© 2000 Franz Kurfess
[Stallings 98]
Networks 58
Client
Client/Server Example:
Data Base
Presentation
Services
Server
Application Logic
(Client Side)
Application Logic
(Server Side)
Data Base
Logic
Communication
Request
Response
Data Base
Logic & DBMS
Protocol
Communication
Operating System
Operating System
Hardware Platform
Hardware Platform
© 2000 Franz Kurfess
[Stallings 98]
Networks 59
Client/Server Usage
a
data base is a good example for client/server
centralized
maintenance
possibly large storage space requirements
computation-intensive operations
sorting, searching, joins
powerful
server with large hard disk(s)
client provides user interface, smaller computations
potential problem: balance between client & server
searching
should not be done by the client
network traffic to transfer the whole data base
computation power required
© 2000 Franz Kurfess
Networks 60
Client/Server Advantages
lower
cost than mainframes
better utilization of PCs, workstations
distribution or centralization of critical services
possible,
as needed
resource
sharing
load distribution
© 2000 Franz Kurfess
Networks 61
Client/Server Problems
client
administration
different
software
platforms (hardware, OS, language)
distribution
reliable
verifiable
security
network
information
integration
of various systems
legacy
systems
multi-vendor, multi-platform environments
© 2000 Franz Kurfess
Networks 62
Middleware
tools
and methods that provide a uniform access
mechanism to systems across all platforms
standardized
interfaces and protocols
examples
Common
Object Request Broker Architecture (CORBA)
Common Object Model (COM), Object Linking and
Embedding (OLE)
Java
© 2000 Franz Kurfess
Networks 63
Middleware Diagram
Application
APIs
Middleware
(distributed system services)
Platform
Interfaces
Platform
© 2000 Franz Kurfess
[Stallings 98]
Networks 64
Middleware Example
Clients
Web
Browser
Servers
Data Base Server
DBMS
Servlet
Web
Server
OODBMS
Servlet
CORBA
Client
Custom
Client
Server
Middleware
Custom
Server
Object
Request Broker
CORBA
Servlet
Custom
Servlet
© 2000 Franz Kurfess
Networks 65
Tiered Architectures
distinction
between various types of networked
computer system
drive towards a global shared information space
(WWW)
dynamic,
executable content
platform-independent implementation
integration
© 2000 Franz Kurfess
of existing systems
Networks 66
Tiered Architectures cont.
utilization
of resources
processing
power of underutilized computers
access to networked resources
total
cost of ownership (TCO)
basic
costs for infrastructure
cost per computer system
© 2000 Franz Kurfess
Networks 67
Single-Tiered Architecture
typical
mainframe with directly connected terminals
all resources are available through the mainframe
advantages and problems
easy
to manage
high cost
low flexibility
connectivity
usually star network with mainframe as central hub
© 2000 Franz Kurfess
Networks 68
Single-Tier Diagram
mainframe
terminals
© 2000 Franz Kurfess
Networks 69
Two-Tiered Architecture
typical
client/server model
server
provides various services
clients have limited processing power
advantages
and problems
lower
cost
better use of desktop processing power
higher flexibility
access to services on various servers
more
difficult to manage and program
connectivity
flexible, usually LAN
separation
© 2000 Franz Kurfess
of business logic from client processing
Networks 70
Two-Tier Diagram
servers
PCs, workstations
© 2000 Franz Kurfess
Networks 71
Three-Tiered Architecture
integration
frequently
of existing systems (“legacy” systems)
via middleware
reduction
of management and program development
problems through platform-independent methods
CORBA,
Java
advantages
reasonable
to manage and program
platform-independent applications
intermediate components
high
and problems
flexibility
integration of legacy systems
LAN-based
© 2000 Franz Kurfess
connectivity
Networks 72
Three-Tier Diagram
mainframes
servers
PCs, workstations
© 2000 Franz Kurfess
Networks 73
Important Concepts and Terms
application layer
bus
computer system
CSMA/CD
distributed operating system
Ethernet
fully connected
hierarchical network
host
ISO/OSI model
Internet
local
machine
middleware
© 2000 Franz Kurfess
network operating system
node
operating system
partially connected
physical layer
processes, tasks
remote
resource
ring
service
site
star
TCP/IP
tier
topology
Networks 74
Chapter Summary
most
computer systems are connected to networks
local
area network (LAN)
wide area network (WAN), especially Internet
networking
enables communication, collaboration,
and access to shared resources
networks require infrastructure
interconnections
(links)
protocols
a
client/server model is frequently used in networks
middleware integrates various platforms and
applications on networks
© 2000 Franz Kurfess
Networks 75