Client Server
Client Server
• Shared, centralized computers that run many server applications are sometimes
called ``servers''
• More precisely, the applications are the ``servers'' and the computer is a ``server-
class computer''
• Servers can run on very simple computers...
• Clients and servers exchange messages through transport protocols; e.g., TCP or
UDP
• Both client and server must have same protocol stack and both interact with
transport layer
• One way to run concurrent servers is to dynamically create server processes for
each client
• Master server accepts incoming requests and starts slave server for each client
• Slave handles subsequent requests from its client
• Master server then waits for next request
• Which to choose?
• TCP - connection-oriented
o Client establishes connection to server
o Client and server exchange multiple messages of arbitrary size
o Client terminates connection
• UDP - connectionless
o Client constructs message
o Client sends message to server
o Server responds
o Message must fit in one UDP datagram
• Some services use both
o DNS, chargen, motd
o Can be provided by single server