A variety of TCP/IP protocols exist at the application layer. Here is a description of some of the more widely used.
The Telnet protocol enables terminals and terminal-oriented processes to communicate on a network running TCP/IP. It is implemented as the program telnet on the local machine and the daemon telnetd on the remote machine. telnet provides a user interface through which two hosts can open communications with each other, then send information on a character-by-character or line-by-line basis. The application includes a series of commands, which are documented on the telnet(1tcp) manual page. The telnetd daemon on the remote host handles requests from the telnet command. For more information about telnetd, see the telnetd(1Mtcp) manual page.
The File Transfer Protocol (FTP) transfers files to and from a remote network. The protocol includes the ftp command on the local machine and the ftpd daemon on the remote machine. ftp lets you specify on the command line the host with whom you want to initiate file transfer and options for transferring the file. The ftpd daemon on the remote host handles the requests from your ftp command.
The options to ftp, as well as the commands you invoke through the ftp command interpreter, are described on the ftp(1tcp) manual page.
The services provided by the ftpd daemon are described on the ftpd(1Mtcp) manual page.
The procedure for setting up an anonymous FTP server may be found in ``Configuring File Transfer Protocol (FTP) servers''.
The Domain Name System (DNS) provides domain-name-to-address-mapping of hosts and mail recipients on a network. DNS is described on the named(1Mtcp) manual page.
For information on how to implement DNS on your network, see ``Configuring Domain Name System (DNS) servers''.
Other application layer protocols exist that are also implemented as a program on the local machine and a daemon on the remote machine. Examples of these are rlogin and rlogind, which permit a user to log on to a remote machine; rsh and rshd, which enable the user to spawn a shell on a remote machine; and finger and fingerd, which permit a user to obtain information about users on remote machines.
To avoid having an excess of daemons running at all times, the daemon inetd is initiated at startup time. After consulting the /etc/inetd.conf file, inetd runs the appropriate daemons as needed. For example, the daemon rlogind will be run by inetd whenever there is a request for a remote login from another machine. Note that rlogind runs only when the remote login request is made and only for the duration of the remote login.