zaterdag 13 november 2010

1.2.1 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 recei ves 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 clientserver
model. Since a client program typically 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 depicted in
Figure 1.3.
Not all Internet applications today consist of 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 perform both
client and server functions. For example, in P2P file- sharing applications (such as
BitTorrent and eMuIe), 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 Chapter 2.

Geen opmerkingen:

Een reactie posten