Download presentation
Presentation is loading. Please wait.
1
Rensselaer Polytechnic Institute CSCI-4220 – Network Programming David Goldschmidt, Ph.D.
2
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 what advantages do computer networks provide us?
3
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 PQ
4
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
5
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 how many machines are on the Internet?
6
PQ
7
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
8
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 why? what advantages do layered models provide us?
9
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
10
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
11
In reality, not all layers are always used.... The Internet uses only four layers: Application Transport Network Physical
12
Each layer on the client side logically communicates with the same layer on the server side intermediate router PQ clientserver interfaces exist between layers
13
Each layer prepends or appends its information in a header or trailer P Ethernet Hdr | IP Hdr | TCP Hdr | HTTP Request | Cksum IP Hdr | TCP Hdr | HTTP Request TCP Hdr | HTTP Request HTTP Request
14
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
15
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 PQ
16
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 what are some examples of client/server comunication?
17
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 how are concurrent servers implemented?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.