Chapter 26 Client Server Interaction Communication across a computer network requires a pair of application programs to cooperate. One application on one.

Slides:



Advertisements
Similar presentations
Categories of I/O Devices
Advertisements

CCNA – Network Fundamentals
Intermediate TCP/IP TCP Operation.
28.2 Functionality Application Software Provides Applications supply the high-level services that user access, and determine how users perceive the capabilities.
Data Communications and Networking (Third Edition)
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.
CS335 Networking & Network Administration Tuesday, May 25, 2010.
Distributed Computing. Spring 2002Computer Networks Applications Networking Master-slave: A large, central computer controls small I/O devices Peer-to-peer.
Socket Programming.
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 17 Introduction to the Application.
1 Java Networking – Part I CS , Spring 2008/9.
© 2007 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.1 Computer Networks and Internets with Internet Applications, 4e By Douglas.
Chapter 25 Internet Routing Internetworking Technology How routing tables are built initially How routing software updates the tables as needed. Propagation.
© 2007 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.1 Computer Networks and Internets with Internet Applications, 4e By Douglas.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Application Layer PART VI.
Networks 1 CS502 Spring 2006 Network Input & Output CS-502 Operating Systems Spring 2006.
CS-3013 & CS-502, Summer 2006 Network Input & Output1 CS-3013 & CS-502, Summer 2006.
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.
I NTRODUCTION OF S OCKET P ROGRAMMING L.Aseel AlTurki King Saud University.
CSIT 320 (Blum)1 Client-Server Interaction Based on Appendix 1 in Computer Networks and Internets, Comer.
Chapter 31 File Transfer & Remote File Access (NFS)
Process-to-Process Delivery:
資 管 Lee Application Layer and Client-Server Model A3.
1 Chapter Client-Server Interaction. 2 Functionality  Transport layer and layers below  Basic communication  Reliability  Application layer.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 3.1 Internet Applications Ch. 31,32,34 (DNS, , TELNET, FTP)
TCP/IP: Basics1 User Datagram Protocol (UDP) Another protocol at transport layer is UDP. It is Connectionless protocol i.e. no need to establish & terminate.
Jozef Goetz, Application Layer PART VI Jozef Goetz, Position of application layer The application layer enables the user, whether human.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 2.6 UDP Principles (Chapter 24) (User Datagram Protocol)
Internet Applications and Network Programming Dr. Abraham Professor UTPA.
User Datagram Protocol (UDP) Chapter 11. Know TCP/IP transfers datagrams around Forwarded based on destination’s IP address Forwarded based on destination’s.
Dr. John P. Abraham Professor University of Texas Pan American Internet Applications and Network Programming.
Chapter 2 Applications and Layered Architectures Sockets.
The Socket Interface Chapter 21. Application Program Interface (API) Interface used between application programs and TCP/IP protocols Interface used between.
CS 158A1 1.4 Implementing Network Software Phenomenal success of the Internet: – Computer # connected doubled every year since 1981, now approaching 200.
Position of application layer. Application layer duties.
Transport Layer 3-1 Chapter 3 Outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP.
Client-Server Model of Interaction Chapter 20. We have looked at the details of TCP/IP Protocols Protocols Router architecture Router architecture Now.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 3.1 Internet Applications Ch. 28,… (Client-Server Concept, Use of Protocol Ports, Socket API)
Chapter 27 Socket API Interface The interface between an application program and the communication protocols in an operating system is known as the Application.
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.
Part 4: Network Applications Client-server interaction, example applications.
©The McGraw-Hill Companies, Inc., 2000© Adapted for use at JMU by Mohamed Aboutabl, 2003Mohamed Aboutabl1 1 Chapter 15 Application Layer and Client-Server.
The Client Server Model And Software Design
Quiz 1 Key 3. Class B 5. |Ethernet Frame|IP Datagram|TCP Header|FTP Header|Data|
File Transfer And Access (FTP, TFTP, NFS). Remote File Access, Transfer and Storage Networks For different goals variety of approaches to remote file.
Netprog: Client/Server Issues1 Issues in Client/Server Programming Refs: Chapter 27.
1 Kyung Hee University Chapter 11 User Datagram Protocol.
UDP: User Datagram Protocol Chapter 12. Introduction Multiple application programs can execute simultaneously on a given computer and can send and receive.
© 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.1 Computer Networks and Internets, 5e By Douglas E. Comer Lecture PowerPoints.
Java Networking I IS Outline  Quiz #3  Network architecture  Protocols  Sockets  Server Sockets  Multi-threaded Servers.
R Some of these slides are from Prof Frank Lin SJSU. r Minor modifications are made. 1.
Client-server communication Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
1 K. Salah Application Layer Module K. Salah Network layer duties.
Process-to-Process Delivery:
1 Issues in Client/Server Refs: Chapter 27 Case Studies RFCs.
Boots Cassel Villanova University
Chapter 3 Internet Applications and Network Programming
NET323 D: Network Protocols
Client-Server Interaction
NET323 D: Network Protocols
Process-to-Process Delivery:
Starting TCP Connection – A High Level View
Issues in Client/Server Programming
ARCHITETCTURES of COMPUTERS SYSTEMS
Internet Applications & Programming
Computer Networks Protocols
Presentation transcript:

Chapter 26 Client Server Interaction Communication across a computer network requires a pair of application programs to cooperate. One application on one computer initiates communication and the other computer accepts the contact request.

Client-Server Paradigm A server is an application program that waits passively for contact a client is an application program that actively initiates communication with a server. A server application that expects communication must interact with protocol software before an external source (client) attempts to communicate(fig 26.1).(fig 26.1) – server application notifies the local protocol software that a specific type of message is expected – server application then waits for a client application to actively initiate interaction

Server Software a special-purpose, privileged program dedicated to providing one service, but can handle multiple remote clients at the same time. is invoked automatically when a system boots runs on a shared computer that has powerful hardware and sophisticated operating system waits passively for contact from any remote client accepts contact from clients, but offers a single service Eg. Telnetd, ftpd, named, httpd

Client Software An application program that becomes a client temporarily when remote access is needed. Invoked by a user, and executes for only one session Runs locally on user’s computer Actively initiates contact with server Does not require sophisticated operating system

Direction of Data Flow a client usually sends a request to a server, and the server returns a response to the client. It’s possible for the client to send one request and the server to send a response and continuous updates (eg. Weather program) It’s possible for server to export and import information (eg. File server) Hence, information can flow in either or both directions between a client and server.

Client/Server Interaction with Transport Layer Protocol Transport protocols (eg. TCP, UDP) assign each service a unique identifier. Both clients and servers specify the service identifier protocol software uses the identifier to direct each incoming request to the correct server application(fig 26.2)(fig 26.2)

TCP Port Number TCP uses a 16-bit integer known as protocol port numbers to identify services. A unique port number is assigned to each service A server specifies the port number for the service it offers. A client specifies the port number of the desired service when sending a request TCP software uses the port number in an incoming message to determine which server to receive the request. well-known port numbers

Handling Multiple Clients A concurrent (mutitasking) file server can handle multiple clients simultaneously. A separate copy (process or thread) of the server handles each request. Each new request is handle by forking a new child process while the parent process waits for new requests.

Source and Destination Ports Each client application is assigned a port number in SOURCE port field and a port number of the server in the DESTINATION port field. TCP software on the server’s machine uses the combination of client and server port numbers (as well as client and server IP addresses) to choose the correct copy of a concurrent server

TCP vs. UDP Clients and servers can use either connection-oriented (eg. TCP) or connectionless (eg. UDP) transport protocols to communicate. Some servers may support both TCP and UDP