Chapter 1: Information Technology
Download
Report
Transcript Chapter 1: Information Technology
Rensselaer Polytechnic Institute
CSCI-4220 – Network Programming
David Goldschmidt, Ph.D.
Early computers were highly centralized
Bottleneck
Single point of failure
Users must physically go
to the computer
Proliferation of low-cost computers
connected via a network helped
get past the above disadvantages
A computer network is an interconnected
collection of autonomous computers and
devices
Processes communicate
with one another across
the network
Such communication is
often transparent to
end-users
P
Q
Hierarchical networks:
Nodes are not equal
Nodes interconnect in
a strict pattern
Single points of failure exist!
Heterarchical networks:
Nodes are equal(ish)
Nodes connected to produce multiple paths
The Internet (1969) is a network that’s
Global
Decentralized
Redundant
Made up of many different types of machines
Both hierarchical and heterarchical
Constantly changing
Humungous
P
Q
We use a formal network model to organize
and abstract various aspects of computer
(and other) networks
Effectively hides the (messy)
implementation details
Defines how communication occurs
across the network
Often uses a layered approach
A layered model divides tasks/responsibilities
into pieces that are organized into layers
Each piece is “solved” independently
Well-defined (and well-documented) interfaces
between each layer are critically important
Each layer often logically “connects” to the
same layer of another instance
Use a layered model to design an operating
system by dividing it into N levels or layers
Layer 0 is the hardware
Layer 1 is the kernel
Layer N is the top-level
user interface (GUI)
Each layer uses functions
and services of the layer
(or layers) beneath it
What’s the OSI Reference Model?
The International Standards
Organization (ISO) proposal
for the standardization of
the various protocols used
in computer networks
A seven-layer protocol stack
In reality, not
all layers are
always used....
The Internet
uses only
four layers:
Application
Transport
Network
Physical
Each layer on the client side logically
communicates with the same layer on
the server side
Q
server
client
intermediate router
P
Each layer prepends or appends its
information in a header or trailer
HTTP Request
TCP Hdr | HTTP Request
IP Hdr | TCP Hdr | HTTP Request
Ethernet Hdr | IP Hdr | TCP Hdr | HTTP Request | Cksum
P
A protocol is an agreed-upon convention
that defines how communication occurs
between two (or more?) endpoints
All endpoints must “understand” and
correctly implement the protocol
Protocols must be formally defined,
unambiguous, and well-documented
Protocols should address error conditions
and unexpected scenarios
In a layered model, two types of protocols:
Interface protocols describe communication
between layers (on the same endpoint)
Peer-to-peer protocols describe communication
between two endpoints at the same layer
Q
P
A server is a process that provides access
to a centralized resource or service
The term “server” might also refer to the
machine on which the server is running
Client/server communication:
Server waits for incoming requests from clients
A client is a process that sends request(s) to a
server and (usually) waits for a response
Servers typically run 24/7 and are more
complex (more interesting) than clients
Types of servers:
An iterative server handles one request at a time
A concurrent server can handle multiple client
requests (almost) simultaneously