Three services that are used on many networks are file servers, print servers, and mail servers. The purpose of these services and the protocols they are built on was discussed in Chapter 3. In this section we investigate what information must be passed to the users so that the client systems can be successfully configured and how the network administrator determines that information.
At a minimum, the user needs to know the hostnames of the network file servers. Using the names and the showmount command, the user can determine what filesystems are being offered by the servers and who is permitted to use those filesystems. Without at least the hostname, the user would have to guess which system offered file service.
 See the showmount command in Chapter 9.
A better approach is to give users information that includes what filesystems are being offered and who should use those filesystems. For example, if the Unix manpages are made available from a central server, the users should be informed not to install the man pages on their local disk drives and should be told exactly how to access the centrally supported files.
Whether printers are shared using lp, lpd, or Samba, the basic information needed to configure the print server's clients is the same: the hostname and IP address of the print server and the name of the printer. The printer make and model may be needed for non-PostScript printers. Printer security may also require that the user be given a username and password to access the printer.
This is the only information needed to configure the client. However, you probably will want to provide your users with additional information about the features, location, and administration of shared printers.
TCP/IP provides the tools you need to create a reliable, flexible electronic mail system. Servers are one of the tools that improve reliability. It is possible to create a peer-to-peer email network in which every end system directly sends and receives its own mail. However, relying on every system to deliver and collect the mail requires that every system be properly administered and consistently up and running. This isn't practical because many small systems are offline for large portions of the day. Most networks use servers so that only a few systems need to be properly configured and operational for the mail to go through.
The terminology that describes email servers is confusing because all the server functions usually occur in one computer, and all the terms are used interchangeably to refer to that system. This text differentiates between these functions, but it is expected that you will do all of these tasks on one Unix system running sendmail. The terms are used in the following manner:
The mail server collects incoming mail for other computers on the network. It supports interactive logins as well as POP and IMAP so that users can manage their mail as they see fit.
A mail relay is a host that forwards mail between internal systems and from internal systems to remote hosts. Mail relays allow internal systems to have simple mail configurations because only the relay host needs to have software to handle special mail-addressing schemes and aliases.
A mail gateway is a system that forwards email between dissimilar systems. You don't need a gateway to go from one Internet host to another because both systems use SMTP. You do need a gateway to go from SMTP to X.400 or to a proprietary mailer. In a pure TCP/IP network, this function is not needed.
The mail server is the most important component of a reliable system because it eliminates reliance on the user's system. A centrally controlled, professionally operated server collects the mail regardless of whether or not the end system is operational.
The relay host also contributes to the reliability of the email system. If mail cannot be immediately delivered by the relay host, it is queued and processed later. An end system also queues mail, but if it is shut down no attempts can be made to deliver queued mail until the system is back online. The mail server and the mail relay are operated 24 hours a day.
The design of most TCP/IP email networks is based on the following guidelines:
Use a mail server to collect mail, and POP or IMAP to deliver the mail to the client.
Use a mail relay host to forward mail. Implement a simplified email address scheme on the relay host.
Standardize on TCP/IP and SMTP. Users who insist on using a proprietary email system should be responsible for obtaining and configuring an SMTP mail gateway for that system in order to connect to your TCP/IP email network.
Standardize on MIME for binary attachments. Avoid proprietary attachment schemes; they just cause confusion when the users of Brand X email cannot read attachments received from Brand Y.
For their client configurations, provide the users with the hostname and IP address of the mail server and the mail relay. The mail server will also require a username and password for each person.