Presentation is loading. Please wait.

Presentation is loading. Please wait.

Rensselaer Polytechnic Institute CSCI-4220 – Network Programming David Goldschmidt, Ph.D.

Similar presentations


Presentation on theme: "Rensselaer Polytechnic Institute CSCI-4220 – Network Programming David Goldschmidt, Ph.D."— Presentation transcript:

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?


Download ppt "Rensselaer Polytechnic Institute CSCI-4220 – Network Programming David Goldschmidt, Ph.D."

Similar presentations


Ads by Google