Copyright © Curt Hill, 2004-2011 Client – Server Computing An important paradigm.

Slides:



Advertisements
Similar presentations
Lecture 7 Transport Layer
Advertisements

© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Network Services Networking for Home and Small Businesses – Chapter 6.
Slide 1 Client / Server Paradigm. Slide 2 Outline: Client / Server Paradigm Client / Server Model of Interaction Server Design Issues C/ S Points of Interaction.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 OSI Transport Layer Network Fundamentals – Chapter 4.
How Clients and Servers Work Together. Objectives Web Server Protocols Examine how server and client software work Use FTP to transfer files Initiate.
Socket Programming.
Jaringan Komputer Dasar
1 Java Networking – Part I CS , Spring 2008/9.
Layer 7- Application Layer
Networks: HTTP and DNS1 The Internet and HTTP and DNS Examples.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 1 v3.0 Module 11 TCP/IP Transport and Application Layers.
Networks: HTTP and DNS 1 The Internet and HTTP and DNS Examples.
Networks: HTTP and DNS1 The Internet and HTTP and DNS Examples.
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
1 Computer Networks Transport Layer Protocols. 2 Application-layer Protocols Application-layer protocols –one “piece” of an app –define messages exchanged.
What Is TCP/IP? The large collection of networking protocols and services called TCP/IP denotes far more than the combination of the two key protocols.
Client Server Model and Software Design TCP/IP allows a programmer to establish communication between two application and to pass data back and forth.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Application Layer Functionality and Protocols Network Fundamentals – Chapter.
Chapter 26 Client Server Interaction Communication across a computer network requires a pair of application programs to cooperate. One application on one.
Process-to-Process Delivery:
CS Computer Networks Dr. Randy L. Ribler 103 Hobbs
INTRODUCTION TO WEB DATABASE PROGRAMMING
CS 299 – Web Programming and Design CS299: Web Programming and Design Instructor: Dr. Fang (Daisy) Tang.
TCP/IP protocols Communication over Internet is mostly TCP/IP (Transmission Control Protocol over Internet Protocol) TCP/IP "stack" is software which allows.
Networking Basics TCP/IP TRANSPORT and APPLICATION LAYER Version 3.0 Cisco Regional Networking Academy.
Network Protocols. Why Protocols?  Rules and procedures to govern communication Some for transferring data Some for transferring data Some for route.
70-291: MCSE Guide to Managing a Microsoft Windows Server 2003 Network Chapter 3: TCP/IP Architecture.
1 Chapter Client-Server Interaction. 2 Functionality  Transport layer and layers below  Basic communication  Reliability  Application layer.
Computer Networks. IP Addresses Before we communicate with a computer on the network we have to be able to identify it. Every computer on a network must.
How Web Servers and the Internet Work by by: Marshall Brainby: Marshall Brain
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Application Layer Functionality and Protocols.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Application Layer Functionality and Protocols Network Fundamentals.
Transport Layer Layer #4 (OSI-RM). Transport Layer Main function of OSI Transport layer: Accept data from the Application layer and prepare it for addressing.
1 Version 3.0 Module 11 TCP Application and Transport.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 OSI Transport Layer Network Fundamentals – Chapter 4.
CS4273: Distributed System Technologies and Programming Lecture 13: Review.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
ICOM 6115©Manuel Rodriguez-Martinez ICOM 6115 – Computer Networks and the WWW Manuel Rodriguez-Martinez, Ph.D. Lecture 26.

TCP/IP Transport and Application (Topic 6)
The Inter-network is a big network of networks.. The five-layer networking model for the internet.
Dr. John P. Abraham Professor University of Texas Pan American Internet Applications and Network Programming.
1 Welcome to CSC 301 Web Programming Charles Frank.
Application Layer Khondaker Abdullah-Al-Mamun Lecturer, CSE Instructor, CNAP AUST.
ECEN “Internet Protocols and Modeling”, Spring 2012 Course Materials: Papers, Reference Texts: Bertsekas/Gallager, Stuber, Stallings, etc Class.
1 Client-Server Interaction. 2 Functionality Transport layer and layers below –Basic communication –Reliability Application layer –Abstractions Files.
The Client-Server Model And the Socket API. Client-Server (1) The datagram service does not require cooperation between the peer applications but such.
The Client Server Model And Software Design
Cloud Computing Computer Science Innovations, LLC.
Advanced Higher Computing Computer Networking Topic 1: Network Protocols and Standards.
COMPUTER NETWORKS Hwajung Lee. Image Source:
Process-to-Process Delivery:
Network Programming. These days almost all devices.
IST 201 Chapter 11 Lecture 2. Ports Used by TCP & UDP Keep track of different types of transmissions crossing the network simultaneously. Combination.
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
Application Layer Functionality and Protocols Abdul Hadi Alaidi
Instructor Materials Chapter 5 Providing Network Services
WWW and HTTP King Fahd University of Petroleum & Minerals
File Transfer and access
#01 Client/Server Computing
Client-Server Interaction
The Internet and HTTP and DNS Examples
Process-to-Process Delivery:
Distributed Systems Bina Ramamurthy 11/30/2018 B.Ramamurthy.
Distributed Systems Bina Ramamurthy 12/2/2018 B.Ramamurthy.
Internet Applications & Programming
Distributed Systems Bina Ramamurthy 4/22/2019 B.Ramamurthy.
Process-to-Process Delivery: UDP, TCP
Computer Networks Protocols
#01 Client/Server Computing
Presentation transcript:

Copyright © Curt Hill, Client – Server Computing An important paradigm

Copyright © Curt Hill, Historical Perspective Before the 60s computers were not usually interconnected In the mid 1960s time sharing was developed –One computer –Many terminals –Terminals could be hardwired or communicate over a modem –This has some of the form of client server

Copyright © Curt Hill, History II The 1970s saw the advent of many important computing innovations –UNIX and many other time sharing systems –Personal computers –Computer to computer communication In the 1980s the Internet starts to emerge In the late 1980s the web browser and server are developed –This is a model client server

Copyright © Curt Hill, The Paradigm Server provides one service Waits for requests for that service Client initiates a request Server replies to the request Information may flow in both directions Many clients may make requests with just the one server

Copyright © Curt Hill, Why Client - Server? Specialization –The client handles the user interface using local computational ability –The server manages the data and communication Sharing –One server may support many clients –Services provided are effectively shared –Data may be maintained in only one location

Copyright © Curt Hill, Clients An application program that runs on the local computer Able to use the local computer for doing work When invoked by a user, it initiates communication with a server Handles all the user interface issues Only used for a single session

Example The ubiquitous client is the web browser Several functions: Communicate with server Display HTML/XML Interpret client-side languages, such as JavaScript The trend is for the web browser to be the universal interface to every kind of server on the web Copyright © Curt Hill,

Servers Specialized program that typically provides only one service May handle multiple client requests simultaneously (or pseudo simultaneously) Interacts with users in many sessions –Both simultaneously and over long time periods Waits for a request and then produces the reply

Example The web server Waits for requests using HTTP Produces results in HTML/XML May handle many clients simultaneously Copyright © Curt Hill,

Connection Diagrammed Server Client Request Reply Client Request Reply Request

Copyright © Curt Hill, Interaction Diagrammed Client Server Wait The server is not waiting if it is processing other requests The client may also perform other processing while waiting for the reply RequestReply Time Processing

Copyright © Curt Hill, Notation Not standardized Is it: A) Client Server B) Client/Server C) Client-Server D) Client, Server E) Any of the above

Copyright © Curt Hill, Server Complexity Servers are pretty complicated Usually multi-threaded –Allows concurrent execution –Often one thread generated for each request Often run on multi-CPU computers Security is also of great concern

Copyright © Curt Hill, Transport Protocols Communication between a client and server must conform to a particular protocol Each protocol determines the values of many variables that exist in communications over the Internet These include: –Connection type –Port –TCP or UDP

Copyright © Curt Hill, Connection Type A connection requires the following actions –Connecting –Several requests and replies –Disconnecting The session requires overhead and bookkeeping for the server A message passing protocol requires no session or a very abbreviated session

Copyright © Curt Hill, TCP and UDP The Connection Protocol –Requires the overhead of a connection –Guarantees delivery and in the correct order of messages User Datagram Protocol –A no connection message –Faster but less reliable Both require a port number

Copyright © Curt Hill, Port Every internet request to a server must specify a port number If a machine is not listening on that port the request is denied A request on a valid port may be accepted if the other parts of the protocol are

Copyright © Curt Hill, Port Assignments Ports in the range 0 – 1023 are well known ports –These are publicly agreed upon Ports in the range 1024 – are registered ports –Usually registered to support proprietary services –May be used for other things as well Ports in the range – are called dynamic or private ports –Available for almost anything

Copyright © Curt Hill, Some well known ports 20, 21 – File Transfer Protocol (FTP) 23 – Telnet 25 – Simple Mail Transfer (SMTP) 53 – Domain Name Server (DNS) 80 – Hyper Text Transfer Protocol (HTTP)

Copyright © Curt Hill, Registered and Private Registered –Groupwise uses 1677 –Cisco uses –Lambda MOO often uses 7777 and 7000

Copyright © Curt Hill, Telnet Protocol Used for timesharing on systems such as UNIX –Port 23, TCP A connection is made Usually followed by commands and replies A logoff usually forces a disconnect

Copyright © Curt Hill, Hyper Text Transmission Protocol A lightweight protocol on port 80 TCP but a session only lasts for one request Little bookkeeping on the server end For more involved transaction processing it requires cookies or other such processing on client side

Copyright © Curt Hill, File Transfer Protocol One of the oldest TCPs around and fading Uses 21 for command information Uses 20 for data transfer

Copyright © Curt Hill, Domain Name Service A common UDP, 53 Broadcast a request to resolve a name Any name server may reply to the request If some requests are lost, so what?

Copyright © Curt Hill, Lambda MOO Uses Telnet protocol at port specified by the server only –Here it may be 7777 or 8888 Lambda MOO is a server – only responds to requests However, it may broadcast appropriate messages to any connected client

Copyright © Curt Hill, Quake III A server sends and receives UDP messages A client connects Like Lambda MOO it broadcasts any messages that apply to a client These include player movements, sounds, damage etc.

Copyright © Curt Hill, Multiple tiers The classic client-server is a two tier system The client is one tier and the server another Three or more tiers are also possible The middle server functions as a –Server to the client –Client to other servers –Known as middleware Often used to distribute load

Copyright © Curt Hill, A Three Tier Approach Server Application Server Client Server

Copyright © Curt Hill, Examples of Multi-Tier Authentication server –Maintains a connection to verify user –Funnels all requests to appropriate server Shopping cart –Records purchases –The product lookup/purchase handled by other servers Distributed Database Management System

Copyright © Curt Hill, Horizontal Distribution Multi-Tier is a vertical distribution A Horizontal distribution may also be effective A single server owns the web address: It then distributes all further requests to a rotation of identical web servers –www1.x.com –www2.x.com –…–… –wwwN.x.com

Copyright © Curt Hill, Horizontal Distribution … Client First Request Subsequent Request

Copyright © Curt Hill, Alternatives to Client- Server Group multicast Peer to peer Publish-Subscribe Several types of distributed system Among others

Copyright © Curt Hill, Peer to Peer An alternative to client-server Has a symmetric relationship Each peer provides all the same services and makes all the same requests as any other peer

Finally The importance of the client-server paradigm will only grow This is the model the Internet and WWW is based upon Cloud computing is all about moving applications from the local computing paradigm to the client server paradigm Copyright © Curt Hill,