| Lesson 9
| Network servers
| State the differences between a standalone and a transient network server.
Standalone versus Transient Network Servers
When you connect to a network service (either by port name or port number), you are connecting to a server process that actually implements the service.
For example, under Linux, the Apache Web server implements the HTTP service.
A server process may be either standalone or transient. A standalone server usually starts at boot time and runs until shutdown.
A transient server starts only when a client needs it and exits immediately after finishing its service.
Standalone servers handle their own networking internally. Some of the responsibilities handled by a standalone server include:
- Opening the port associated with the service
- Accepting and processing client requests
- Closing the client's connection
- Common standalone servers include the Apache Web server and the secure shell server.
In order for transient servers to function, there must be some process listening on the network for incoming connections.
This process is commonly referred to as a superserver; it is a server that listens on multiple network connections on behalf of multiple transient
servers. When a connection arrives, it spawns a child process that executes the transient server on the newly arrived connection.
superserver listens on multiple ports on the behalf of all its transient servers. When a connection arrives on one of these ports, the superserver starts the appropriate transient server, gives it the connection, and waits for it to exit.
Common transient servers include:
- The telnet server (
- The FTP server (
The next lesson lists the advantages and disadvantages of standalone and transient servers.
/etc/xinetd.d : Contains a set of files, each of which defines a network service that the xinetd daemon listens for on a particular port.
When the xinetd daemon process receives a request for a service, it uses the information in these files to determine which daemon processes to start to handle the request.