Main Page>Table of contents>Introduction to TCP/IP>The Process/Application Level>
The Process/Application Layer Protocols
In this section, we will describe the different applications and services typically used in IP networks. The different protocols and applications covered in this section include the following:
Telnet is the chameleon of protocols—its specialty is terminal emulation. It allows a user on a remote client machine, called the Telnet client, to access the resources of another machine, the Telnet server. Telnet achieves this by pulling a fast one on the Telnet server and making the client machine appear as though it were a terminal directly attached to the local network. This projection is actually a software image, a virtual terminal that can interact with the chosen remote host.
These emulated terminals are of the text-mode type and can execute refined procedures like displaying menus that give users the opportunity to choose options from them and access the applications on the duped server. Users begin a Telnet session by running the Telnet client software and then logging on to the Telnet server.
File Transfer Protocol (FTP)
The File Transfer Protocol (FTP) is the protocol that actually lets us transfer files; it can facilitate this between any two machines using it. But FTP isn’t just a protocol; it’s also a program. Operating as a protocol, FTP is used by applications. As a program, it’s employed by users to perform file tasks by hand. FTP also allows for access to both directories and files and can accomplish certain types of directory operations, like relocating into different ones. FTP teams up with Telnet to transparently log you in to the FTP server and then provides for the transfer of files.
Accessing a host through FTP is only the first step, though. Users must then be subjected to an authentication login that’s probably secured with passwords and usernames implemented by system administrators to restrict access. But you can get around this somewhat by adopting the username “anonymous”—though what you’ll gain access to will be limited. Even when employed by users manually as a program, FTP’s functions are limited to listing and manipulating directories, typing file contents, and copying files between hosts. It can’t execute remote files as programs.
Trivial File Transfer Protocol (TFTP)
The Trivial File Transfer Protocol (TFTP) is the stripped-down, stock version of FTP, but it’s the protocol of choice if you know exactly what you want and where to find it. It doesn’t give you the abundance of functions that FTP does, though. TFTP has no directory-browsing abilities; it can do nothing but send and receive files. This compact little protocol also skimps in the data department, sending much smaller blocks of data than FTP, and there’s no authentication as with FTP, so it’s insecure. Few sites support it because of the inherent security risks.
Network File System (NFS)
Network File System (NFS) is a jewel of a protocol specializing in file sharing. It allows two different types of file systems to interoperate. It works like this: Suppose the NFS server software is running on an NT server, and the NFS client software is running on a Unix host. NFS allows for a portion of the RAM on the NT server to transparently store Unix files, which can, in turn, be used by Unix users. Even though the NT file system and Unix file system are unlike—they have different case sensitivity, filename lengths, security, and so on—both Unix users and NT users can access that same file with their normal file systems, in their normal way.
Simple Mail Transfer Protocol (SMTP)
Simple Mail Transfer Protocol (SMTP), answering our ubiquitous call to e-mail, uses a spooled, or queued, method of mail delivery. Once a message has been sent to a destination, the message is spooled to a device—usually a disk. The server software at the destination posts a vigil, regularly checking this queue for messages. When it detects them, it proceeds to deliver them to their destination. SMTP is used to send mail; POP3 is used to receive mail.
Line Printer Daemon (LPD)
The Line Printer Daemon (LPD) protocol is designed for printer sharing. The LPD, along with the LPR (Line Printer) program, allows print jobs to be spooled and sent to the network’s printers using TCP/IP.
Designed for client-server operations, X Window defines a protocol for the writing of graphical user interface–based client/server applications. The idea is to allow a program, called a client, to run on one computer and have it display a program called a window server on another computer.
Simple Network Management Protocol (SNMP)
Simple Network Management Protocol (SNMP) collects and manipulates this valuable network information. It gathers data by polling the devices on the network from a management station at fixed or random intervals, requiring them to disclose certain information. When all is well, SNMP receives something called a baseline—a report delimiting the operational traits of a healthy network. This protocol can also stand as a watchdog over the network, quickly notifying managers of any sudden turn of events. These network watchdogs are called agents, and when aberrations occur, agents send an alert called a trap to the management station.
Domain Name Service (DNS)
Domain Name Service (DNS) resolves host names, specifically Internet names, like www.routersim.com . You don’t have to use DNS; you can just type in the IP address of any device you want to communicate with. An IP address identifies hosts on a network and the Internet as well. However, DNS was designed to make our lives easier. Also, what would happen if you wanted to move your Web page to a different service provider? The IP address would change and no one would know what the new one was. DNS allows you to use a domain name to specify an IP address. You can change the IP address as often as you want and no one will know the difference. DNS is used to resolve Fully Qualified Domain Names (FQDNs), for example, www.lammle.com or todd.lammle.com . An FQDN is a hierarchy that can logically locate a system based on its domain identifier. If you want to resolve the name “todd,” you either must type in the FQDN of todd.lammle.com or have a device like a PC or router add the suffix for you. For example, on a Cisco router, you can use the command ip domain-name lammle.com to append each request with the lammle.com domain. If you don’t do that, you’ll have to type in the FQDN to get the DNS to resolve the name.
Bootstrap Protocol (BootP)
BootP stands for Bootstrap Protocol. When a diskless workstation is powered on, it broadcasts a BootP request on the network. A BootP server hears the request and looks up the client’s MAC address in its BootP file. If it finds an appropriate entry, it responds by telling the machine its IP address and the file—usually via the TFTP protocol—it should boot from. BootP is used by a diskless machine to learn the following:
Dynamic Host Configuration Protocol (DHCP)
The Dynamic Host Configuration Protocol (DHCP) gives IP addresses to hosts. It allows easier administration and works well in small–to–even-very-large network environments. DHCP differs from BootP in that BootP gives an IP address to a host, but the host’s hardware address must be entered manually in a BootP table. You can think of DHCP as a dynamic BootP. However, remember that BootP is also used to send an operating system that a host can boot from. DHCP can-not perform this function.
There is a lot of information a DHCP server can provide to a host when the host is registering for an IP address with the DHCP server. Notice all the information that can be provided by the DHCP server:
A DHCP server can provide even more information, but the items in the bulleted list are the most common.