computer networking {week 1 }

17
Computer Networking {week 1} Rensselaer Polytechnic Institute CSCI-4220 – Network Programming David Goldschmidt, Ph.D.

Upload: kamea

Post on 08-Feb-2016

16 views

Category:

Documents


0 download

DESCRIPTION

Rensselaer Polytechnic Institute CSCI-4220 – Network Programming David Goldschmidt, Ph.D. Computer Networking {week 1 }. Networks. Early computers were highly centralized Bottleneck Single point of failure Users must physically go to the computer - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Computer Networking {week  1 }

Computer Networking{week 1}

Rensselaer Polytechnic InstituteCSCI-4220 – Network ProgrammingDavid Goldschmidt, Ph.D.

Page 2: Computer Networking {week  1 }

Networks

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 helpedget past the above disadvantageswhat advantages do

computer networks

provide us?

Page 3: Computer Networking {week  1 }

Computer networks

A computer network is an interconnected collection of autonomous computers and devices Processes communicate

with one another acrossthe network

Such communication isoften transparent toend-users

P

Q

Page 4: Computer Networking {week  1 }

Types of networks

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

Page 5: Computer Networking {week  1 }

Are you connected?

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?

Page 6: Computer Networking {week  1 }

Interprocess communication

P

Q

Page 7: Computer Networking {week  1 }

Network models

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

Page 8: Computer Networking {week  1 }

Layered models

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?

Page 9: Computer Networking {week  1 }

Layering

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

Page 10: Computer Networking {week  1 }

Open Systems Interconnection (OSI) Reference Model

What’s the OSI Reference Model? The International Standards

Organization (ISO) proposalfor the standardization ofthe various protocols usedin computer networks

A seven-layer protocol stack

Page 11: Computer Networking {week  1 }

Open Systems Interconnection (OSI) Reference Model

In reality, notall layers arealways used....

The Internet uses only four layers: Application Transport Network Physical

Page 12: Computer Networking {week  1 }

Internet traffic (jam)

Each layer on the client side logically communicates with the same layer onthe server side

intermediate router

PQ clientserver

interfaces exist

between layers

Page 13: Computer Networking {week  1 }

Internet messages

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

Page 14: Computer Networking {week  1 }

Protocols

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

Page 15: Computer Networking {week  1 }

Layered model protocols

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

Page 16: Computer Networking {week  1 }

Clients and servers

A server is a process that provides accessto 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?

Page 17: Computer Networking {week  1 }

Servers

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?