CMPSCI 377 - Network Structures

Download Report

Transcript CMPSCI 377 - Network Structures

Operating Systems
CMPSCI 377
Lecture 19: Network Structures
Emery Berger
University of Massachusetts Amherst
UNIVERSITY OF MASSACHUSETTS, AMHERST • Department of Computer Science
Next Few Classes


Networking basics
Distributed services



e-mail, www, telnet
Distributed operating systems
Distributed file systems
UNIVERSITY OF MASSACHUSETTS, AMHERST • Department of Computer Science
2
Distributed Systems

distributed system: set of physically separate processors
connected by one or more communication links
 no shared clock or memory
P2
P1
P4

P3
Many systems today distributed in some way
 e-mail, file servers, network printers, remote backup, web...
UNIVERSITY OF MASSACHUSETTS, AMHERST • Department of Computer Science
3
Parallel vs. Distributed Systems

Tightly-coupled systems: “parallel processing”



Processors share clock, memory, run one OS
Frequent communication
Loosely-coupled systems: “distributed computing”


Each processor has own memory, runs independent OS
Infrequent communication
UNIVERSITY OF MASSACHUSETTS, AMHERST • Department of Computer Science
4
Advantages of Distributed Systems




Resource sharing
Computational speedup
Reliability
Communication
UNIVERSITY OF MASSACHUSETTS, AMHERST • Department of Computer Science
5
Advantages of Distributed Systems

Resource sharing

Resources need not be replicated


Expensive (scarce) resources can be shared


Shared files
Color laser printers
Processors present same environment to user

Keeping files on file server
UNIVERSITY OF MASSACHUSETTS, AMHERST • Department of Computer Science
6
Advantages, continued

Computational speedup

n processors = n times computational power


Problems must be decomposable into
subproblems


SETI@home
Trivial = embarrassingly parallel
Coordination & communication required
between cooperating processes


Synchronization
Exchange of results
UNIVERSITY OF MASSACHUSETTS, AMHERST • Department of Computer Science
7
Advantages, continued

Reliability

Replication of resources provides fault tolerance



One node crashes, user works on another one
Performance degradation but system available
Must avoid single point of failure


Single, centralized component of system
Example: central file servers
UNIVERSITY OF MASSACHUSETTS, AMHERST • Department of Computer Science
8
Advantages, continued

Communication


Users/processes on different systems can
communicate
Mail, transaction processing systems like
airlines & banks, www
UNIVERSITY OF MASSACHUSETTS, AMHERST • Department of Computer Science
9
Distributed Systems Issues

Operating systems support for distribution






Communication & networks
Transparency
Security
Reliability
Performance & scalability
Programming models
UNIVERSITY OF MASSACHUSETTS, AMHERST • Department of Computer Science
10
Networks


Goal: provide efficient, correct, robust message
passing between two separate nodes
Local area network (LAN) – connects nodes in
single building, fast & reliable (Ethernet)



Media: twisted-pair, coax, fiber
Bandwidth: 10-100MB/s
Wide area network (WAN) – connects nodes
across large geographic area (Internet)


Media: fiber, microwave links, satellite channels
Bandwidth: 1.544MB/s (T1), 45 MB/s (T3)
UNIVERSITY OF MASSACHUSETTS, AMHERST • Department of Computer Science
11
Network Topologies

Connection of nodes impacts:




Maximum & average communication time
Fault tolerance
Expense
Two basic topologies:


Point-to-point
Bus
UNIVERSITY OF MASSACHUSETTS, AMHERST • Department of Computer Science
12
Point-to-Point Network Topologies

Fully-connected



Each message takes one “hop”
Node failure – no effect on communication with others
Expensive – impractical for WANs
UNIVERSITY OF MASSACHUSETTS, AMHERST • Department of Computer Science
13
Point-to-Point Network Topologies

Partially connected


Links between some, but not all nodes
Less expensive, less tolerant to failures


Single node failure can partition network
Sending message takes several hops

Needs routing algorithms
UNIVERSITY OF MASSACHUSETTS, AMHERST • Department of Computer Science
14
Point-to-Point Network Topologies

Tree structure: network hierarchy

Messages fast between direct descendants


Max message cost?
Not failure tolerant

Any interior node fails – network partitioned
UNIVERSITY OF MASSACHUSETTS, AMHERST • Department of Computer Science
15
Point-to-Point Network Topologies

Star network: all nodes connect to central node



Each message takes how many hops?
Not failure tolerant
Inexpensive – sometimes used for LANs
UNIVERSITY OF MASSACHUSETTS, AMHERST • Department of Computer Science
16
Point-to-Point Network Topologies

One-directional ring



Given n nodes, max hops?
Inexpensive
Fault-tolerant?
UNIVERSITY OF MASSACHUSETTS, AMHERST • Department of Computer Science
17
Point-to-Point Network Topologies

Bi-directional ring



Given n nodes, max hops?
Inexpensive
Fault-tolerant? One node? Two?
UNIVERSITY OF MASSACHUSETTS, AMHERST • Department of Computer Science
18
Point-to-Point Network Topologies

Doubly-connected ring: nodes connected to
neighbors & one more distant



Given n nodes, max hops?
Fault-tolerant?
More expensive
UNIVERSITY OF MASSACHUSETTS, AMHERST • Department of Computer Science
19
Bus Network Topologies

Bus nodes connect to common network

Linear bus – single shared link




Nodes connect directly to each other via bus
Inexpensive (linear in # of nodes)
Tolerant of node failures
Ethernet LAN
UNIVERSITY OF MASSACHUSETTS, AMHERST • Department of Computer Science
20
Bus Network Topologies

Ring bus – single shared circular link

Same technology & tradeoffs as linear bus
UNIVERSITY OF MASSACHUSETTS, AMHERST • Department of Computer Science
21
Principles of
Network Communication

Data broken into packets

Basic unit of transfer

Packets sent through network
Computers & routers at switching points control
packet flow

Road analogy:





Packets = cars
Network = roads
Computer = traffic lights (intersection)
Too many packets on shared link/node = traffic jam
UNIVERSITY OF MASSACHUSETTS, AMHERST • Department of Computer Science
22
Communication Protocols


Protocol: agreed-upon rules for
communication
Protocol stack: layers that comprise
networking software

Each layer N provides service to layer N+1
UNIVERSITY OF MASSACHUSETTS, AMHERST • Department of Computer Science
23
Traditional Layers







Application layer – applications that use the net
Presentation layer – data format conversion
(big/little endian)
Session layer – implements communication strategy
(e.g., RPC)
Transport layer – reliable end-to-end communication
Network layer – routing & congestion control
Data link control layer – reliable point-to-point
communication over unreliable channel
Physical layer – electrical/optical signaling across “wire”
UNIVERSITY OF MASSACHUSETTS, AMHERST • Department of Computer Science
24
TCP/IP Protocol Stack

Internet standard protocol stack


TCP: reliable protocol – packets received in order
UDP (user datagram protocol) – unreliable

No guarantee of delivery
UNIVERSITY OF MASSACHUSETTS, AMHERST • Department of Computer Science
25
Packet Format



Contains all info
needed to recreate
original message
Packets may arrive out
of order = need
sequence number
Data segment contains
headers for higher
protocol layers &
application data
UNIVERSITY OF MASSACHUSETTS, AMHERST • Department of Computer Science
26
Summary



Virtually all computer systems contain
distributed components
Networks connect them
Key tradeoffs:



Speed
Reliability
Expense
UNIVERSITY OF MASSACHUSETTS, AMHERST • Department of Computer Science
27