Client and Server Programs

Client and Server Programs

In the context of networking software, there is another definition of a client and server, a definition that we'll refer to throughout this book. A client program is a program running on one end system that requests and receives a service from a server program running on another end system. The Web, e-mail, file transfer, remote login, newsgroups and many other popular applications adopt the client-server model. Since a client program normally runs on one computer and the server program runs on another computer, client-server Internet applications are, by definition, distributed applications. The client program and the server program interact by sending each other messages over the Internet. At this level of abstraction, the routers, links and other nuts and bolts of the Internet serve collectively as a black box that transfers messages between the distributed, communicating components of an Internet application. This is the level of abstraction shown in "The Network Edge" figure.

Not all Internet applications today comprise pure client programs interacting with pure server programs. Increasingly, many applications are peer-to-peer (P2P) applications, in which end systems interact and run programs that carry out both client and server functions. For example, in P2P file-sharing applications (such as BitTorrent and eMule), the program in the user's end system acts as a client when it requests a file from another peer; and the program acts as a server when it sends a file to another peer. In Internet telephony, the two communicating parties interact as peers - the communication session is symmetric, with both parties sending and receiving data. We'll compare and contrast client-server and P2P architectures in detail in "Application Layer".


internet applications, distributed applications, server

Copy Right

The contents available on this website are copyrighted by TechPlus unless otherwise indicated. All rights are reserved by TechPlus, and content may not be reproduced, published, or transferred in any form or by any means, except with the prior written permission of TechPlus.