DATAPRO Data NetworKing 2775 1 Standards

( Suite Application Protocols

In this report: Datapro Summary

Basic Internet Suite The Internet suite of protocols is robust and rich with application services. Most users view Services ...... 2 the Internet protocols in tenns of these application services, which usuaUy run over TCP/IP middle layer protocols. Based on the client/server model, Internet services span the basic Advanced Internet Suite functions of virtual terminal support, electronic mail, file transfers, and name service. Ad­ Services ...... 4 vanced services include a distributed windowing system, a network file system, and a net­ work management protocol. The demand for these services is fueling the demand for TCPI Internet IF-based enterprise . Suite Network Management ...... 8

The suite continues in great de­ transaction-based applications where efficiency mand in the standards-based networking market­ and low overhead are more important than reli­ place. This demand should accelerate into the ability. late 1990s. Once the protocol suite of choice for TCP and UDP use the network services of IP the U.S. military and a handful of universities, (ISO layer 3) as a datagram service. IP is a con­ Transmission Control Protocol/Internet Protocol nectionless-mode network layer service. It is (TCP/IP) is now gaining popularity within the used to route messages between networks and business community. Many businesses have be­ performs any message segmentation and reas­ come disillusioned with the excruciatingly slow sembly required. Segmentation and reassembly pace of OSI deployment. Consequently, busi­ may be needed if a message must be routed nesses are turning to TCP/IP to form the building through a network with different packet size re­ blocks for their enterprise internetworks. strictions than the source and/or destination net­ As more organizations embrace TCP/IP, the work. timetable for OSI Ubiquity becomes correspond­ Application protocols are built upon the ser­ ingly shifted to the right. It is unlikely that an vices of TCP/IP and UDP/IP (see Figure I). organization building a TCPIIP-based enterprise These application protocols form a client!server network today would migrate to OSI before the network computing environment. turn of the century. Cllent!Server Computing Introduction to TCP/IP Each protocol discussed in this TCP, itself, is a protocol (ISO report follows the client!server computing layer 4) providing a connection-oriented service model. This model is very simple. In the client! between host processors. It provides a reliable server model, a client application requests ser­ end-to-end service with provisions for con­ vices of a remote service application over a net­ trol and multiplexing of connections. TCP also work. Correspondingly, the server performs the provides mechanisms for detecting duplicate, requested service of the client and responds with lost, or out-of-sequence packets. the results according to a well-defined protocol. The Internet suite also specifies an optional The client typically executes on the local com­ connectionless-mode transport protocol, User puter, and the server executes on a remote com­ Datagram Protocol (UDP). UDP is used for puter. Except for network delays, a user may be unaware of the interactions between client and server processes in such a distributed computing environment. -By L. Michael Sabo U S West Advanced Communications Services

ill) 1993 McGraw-Hili, Incorporated. Reproduction Prohibited. SEPTEMBER 1993 Datapro Information Services Group. Delran NJ 08075 USA 2 2775 Internet Suite Data Networking application Protocols Standards

Figure 1: The FTP SMTP X DNS SNMP NFS Windows XDR

RPC

TCP UDP

IP

Data

Physical Layer

Application Service. • cd-Change the working directory on the remote host. TCP/IP is a suite of communications protocols originally devel­ • delete-Delete a file on the remote host. oped under the funding of the United States government in the mid-1970s. Often referred to as the Internet Suite, TCP/IP proto­ • dir-Ust the directory contents of the current remote machine cols are open protocols that support interenterprise communica­ directory. tions among heterogeneous hosts. As such, each of the applica­ • get-Retrieve a specified file from the remote host and store it tion protocols discussed in this report will operate on a on the local host. mainframe, workstation, PC, or Macintosh. TCP/IP view • hash-display a hash sign, .. ,*,", after each data block is trans­ each of these hosts as peers. ferred. Most users view the Internet protocols in terms of the services they provide at the application layer. The Internet protocol suite's • put-Store a specified file from the local host to the remote services are responsible for propelling TCP/IP to its status in en­ host. terprise internetworking. The Internet protocol suite is rich with application services As does every Internet suite application protocol, FTP follows the (see Table 1). These services span the basic functions of virtual client/server model. An FTP client sends commands and interacts terminal support, electronic mail, file transfers, and name service. with a user or a user program, and the FI'P server portion receives The Internet suite also includes advanced services, such as a dis­ and responds to commands. 1Ypically, a host will provide imple­ tributed windowing system, a network file system, and a network mentations for both an FTP client and an FI'P server. management protocol. This report examines each of these ser­ FTP is non-host specific. FI'P implementations exist for vices and describes how a user interacts with them. UNIX systems, mainframes, Macintoshes, and PCs. Thus, FI'P allows a user to exchange files between dissimilar hosts, such as a Basic Internet Suite Services Macintosh and a UNIX workstation, without regard to the par­ ticulars of the hosts' file systems. Any system supporting TCP/IP The basic Internet suite services are the is likely to support FfP. FTP relies on TCP at the transport layer (FfP), the virtual terminal protocol (Telnet), the Simple Mail to provide a reliable data path between peer hosts. Thus, users are Transfer Protocol (SMTP), and the Domain Name Service ensured that files transferred over a network will arrive at their (DNS). Hosts supporting TCP/IP usually provide at least these destination error free. basic services. Virtual Terminal Protocol (TELNET) File Trans'er Protocol (FTP) TELNET is an interactive remote access terminal protocol. It al­ FfP is a protocol used for the bulk transfer of data between host lows a user to log in to a remote computer system, over a network, processors over a TCPdatastream. FfP provides a file utility for as though the terminal was attached directly to the remote host. performing remote file operations such as bidirectional file trans­ TELNET is based on the client/server model, but DOS-based fers, deleting files, renaming files, and displaying file directories. PCs, Macintoshes, and terminal servers typically support only Users perform these operations during interactive sessions. To client TELNET. Thus, users on those devices can initiate an inter­ support this on-line interaction between a user and a remote host, active terminal session to a server TELNET but cannot accept a FfP provides two connections, as shown in Figure 2. FTP com­ session request from a TELNET client. UNIX hosts and most mands and status information exchanges use the control connec­ other multitasking operating systems generally support both cli­ tion. File transfers use a second connection. Common FfP com­ ent and server TELNET. mands and their purpose are listed as follows; for a TELNET uses a TCP connection to transmit data and TEL­ comprehensive list, refer to your hosts' user manuals: NET control information. TELNET is based on the concept of a • -Data will be transferred in ASCII format. This is the Network Virtual Terminal (NVT) and negotiated options to ex­ tend the basic capabilities of NVT. default. "-- • binary-Data will be .transferred as binary data. • bye-Terminate the FfPsession with the remote seJ:Ver and exit ftp. .

SEPTEMBER 1993 @ 1993 McGraw-HiII, Incorporated. Reproduction Prohib~ed. Datapro Information Services Group. Delran NJ 08075 USA Data Networking Internet Suite 2775 3 Appl_tlon Protocols Standards

Network Virtual Thrminal (NVT) When a TELNET connection is initiated, both ends of the con­ nection begin with an NVT profile. NVT is a least common denominator terminal profile used throughout the network, eliminating the need for every host to support the entire range of Obtaining RFCs on the terminal possibilities (see Figure 3). The NVT is essentially a bidirectional communications facility that uses the seven-bit Internet ASCII character set but encodes them into eight-bit bytes.

Principle of Negotiated Options TELNET allows services to be supported beyond those defined for the NVT. There are many terminal options not specifically RFCs are available through To obtain a current index of all defined within the TELNET Protocol but which can be sup­ FTP from Internet host RFCs, type "FTP to ported by TELNET. TELNET uses a do/do not, will/will not NIC.DDN.MIL. NIC.DDN.MIL" with anony­ negotiation process. This scheme allows a client and server to mous, guest login. Once the Log in using username seSSion is established, type use different conventions for the TELNET session. Specifically, "anonymous" and password "dir RFC:RFC-INDEX." A a sender will respond that it will or will not perform some op­ "guest". Once logged on, type document name will be re­ tion. Optionally, a sender may request that its peer initiate or not in "get RFC:RFCnnnn.txt", turned, such as "RFC­ initiate an option. This interaction permits an option request to where nnnn is the RFC num­ INDEX.TXT.nnnn" to fetch the be refused without knowledge about the requested option. Ac­ ber. RFCs can also be ob­ index for review on your local cepted options take effect immediately. Rejected options require tained through electronic mail. host. To log out of the FTP Send a message to seSSion, type "quit". the parameter to remain as defined for an NVT. [email protected] place the RFC number in the Simple Mail Transport Protocol (SMTP) subject field. SMTP is the Internet standard for electronic mail distribution. It is a text-oriented protocol that uses TCP's underlying services to reliably transfer or relay electronic mail. SMTP supports ef­ ficientmessage delivery: if a message has multiple recipients at a particular destination host, SMTP will only send one message On UNIX systems, a control d or a period on a line by itself is to the host listing each recipient. The receiving SMTP will pro­ used to indicate the message is complete. Notice the user did not vide each recipient with a copy of the message. copy-"Cc"-any other recipients. If the user had placed other Each mail message contains a header and a body. The header mailboxes in the "Cc" field, each recipient would have also re­ contains elements such as Date, Subject, To, Cc, and From. The ceived the message. To view the actual SMTP protocol interac­ client SMTP routine prompts the user for each of these param­ tion, Jones could have used the -v-verbose--mail command op­ eters. The body of the message is typically free-form ASCII tion. An example follows: text. For example, to send a message to user smith at host hos­ ta.xyz.com, a UNIX user Jones on host myhost.xyz.com would % mail -v [email protected] promptly. Subject: Thanks for the information Mr. Smith, thanks for sending me the information so promptly. % [email protected] ... Connecting to hosta.xyz.com Trying ... connected. Cc: 220 HOSTA.XYZ.COM Simple Mail Transfer Server %

Figure 2. FTP Conneetions

Server Command .. FTP Commands .. Client Command Protocol Processor Protocol Processor

j~ j r 1 - Server Data .. File Data Client Data t------1- -- Transport Processor - - Transport Processor -- I - Server FTP Client FTP -

FTP uses two connections, one for commands and replies, and another to support bulk file transfer.

@ 1993 McGraw-HIli. Incorporated. ReproductiOn Prohibited. SEPTEMBER 1993 Oatapro Information Services Group. Delran NJ 08075 USA 4 2775 Internet Suite Data Networking Application Protocols Standards

Figure 3. Nvr for Telnet

Telnet's use ofnetwork virtual terminal (NVT) reduces the prob­ lem of supporting every possible terminal tyPe to only converting between a specific terminal type andNVT.

ready XYZ has registered the domain name xyz.com with the NIC. »> HELO myhost.xyz.com "XYZ" is the organization's name, and "COM" signifies the 250 OK organization is a commercial venture. Company XYZ may then »> MAIL From: assign and locally administer the name hosta.xyz.com for one of 250 OK its hosts. »> RCPT To: Currently, the NIC has specified six top-level domain names. 250 OK They are the following: »>DATA • COM~ommercial Organizations 354 Input »>. • EDU-Educational Organizations 250 OK • GOV-Government Agencies »>QUIT 221 HOSTA.xYZ.COM Simple Mail Transfer server tenninated. • MIL-MILNET Hosts • NET-Networking Organizations In the above example, lines beginning with »> are generated by • ORO-Not for Profit Organizations the sender, and lines beginning with a number are responses from the message recipient. The actual message is sent after the 354 DNS tenns the client portion of the protocol implementation the Input response. resolver, and the server is called the name server. The resolver Domain Name Service (DNS) queries the name server to translate domain names to IP ad­ / Domain Name Service is the naming protocol used in the Internet dresses. Resolvers typically cache the results of previous name suite. DNS provides domain name-to-IP address translation. queries, reducing network traffic and name server interaction. Names, rather than IP addresses, are much easier for individuals to remember. Advanced Internet Suite Service. DNS allows the administration of domain names to be decen­ tralized. Through DNS, hosts are no longer required to maintain The Advanced Internet suite services include the X Window Sys­ host name-to-IP address configuration tables for every host on the tem (X) and the Network File System (NFS). These application network. Partitioning the domain name into mUltiple name fields protocols are typically implemented on high-perfonnance work­ allows the decentralization of name administration. The DDN stations and used in a LAN environment. Network Infonnation Center (NIC) administers the top-level por­ X Window System tions of the domain name. A user organization is free to append The X Window System, typically called simply "X," is a plat­ names in front of the top-level name to define subdomains or fonn-independent, bit-mapped graphical user interface (GUn that specific hosts within the organization. As an example, company

Figure 4. X Window System

An X user can connect to several X clients simultaneously. The X client can be local to the X ter­ minalor execute remotely over a network.

SEPTEMBER 1993 @ 1993 McGraw-Hili. Incorporated. Reproduction Prohibited. Oatapro Infonnation Services Group. Delran NJ 08075 USA ' Data Networking Internet Suite 2775 5 Application Protocols Standards

@ 1993 McGraw-Hm, IncorporlIIed. Reproduction Pmhibilf!d. SEPTEMBER 1993 Datapro Information Services Gmup. Delran NJ 08075 USA 6 2775 Internet Suite Data Networking ApplIcation Protocols Standards

Table 1. Internet Suite Application Layer Protocols (Continued)

'",- -/ RFC Well·Known ,Name Acronym Description Reference Port

Network Time Protocol NTP Provides a means of RFC958 123 synchronizing network clocks

Password Generation PWDGEN Generates passwords RFC972 129

Post Office Protocol POP3 Allows PC users to RFC 1081, 110 access mail from a mail server

Quote of the Day Protocol QUOTD Sends an ASCII message RFC865 17

Remote Job Entry RJE Used to submit and RFC407 n retrieve batch jobs

Remote Telnet Service RTElNET Supports special access RFC 818 to user Telnet

Resource location RlP Automatically locates a RFC887 39 Protocol resource

Simple File Transfer SFTP Bulk file transfer protocol RFC913 115 Protocol

Simple Mail Transfer SMTP Electronic mail transfer RFC821 25 Protocol protocol / Simple Network SNMP Supports the exchange of RFC 1157 161,162 Management Protocol management information

Statistics Server STATSRV Used for sending RFC996 95

SUPDUP Protocol SUPDUP Telnet-like protocols for RFC734 display terminals

TElNET Protocol TElNET Defines a remote terminal RFC854 23 protocol

Time Server Protocol TIME Provides time in seconds RFC868 37

Trivial File Transfer TFTP Bulk file transfer protocol RFC783 69 Protocol without access control or parameters

Whois Protocol NICNAME Sends information on RFC954 43 specified user

X Window System X Network Windowing RFC 1198 Protocol

SEPTEMBER 1993 C 1993 McGraw-HIII, Incorporated. Reproduction Prohibited. Datapro Infonnalion Services Group. Delran NJ 08075 USA Data Networking Internet SuIte 2775 7 ApplicatIon Protocols Standards

Figure 5. Network File System

Application Process

~~

,~

Operating System Operating System

II! ::II ] NFS NFS U Local File XDR XDR Local File System System RPC RPC

UDP UDP

IP IP

Data Link Control Data Link Control

Physical - Physical

Client NFS Server NFS

The client Network File System (NFS) provides access to the remote file system over a network connection. The remote file access is transparent to the application process.

runs over TCP. X can run over any reliable network, including X Protocol Internals OSI, but TCP is the most popular implementation. Efficiency is an important attribute of the X protocol. It is a nec­ An X-based application runs in a client/server environment essary requirement when running an application such as a distrib­ (see Figure 4). In X, the client and server relationship may appear uted windowing system over a network. Efficiencies have been reversed from the traditional interpretation. The X server typi­ attained in two primary ways. First, not all X client requests re­ cally runs on the local workstation, and the X client runs on the quire a corresponding reply from the X server; second, the X remote host. The X client is responsible for application manage­ Protocol Data Units (PDUs) each have a length that is multiples ment tasks, and the X server is responsible for providing display of four octets. The latter allows the X PDUs to be quickly pro­ services on the graphics terminal. cessed on host processors based on 16- or 32-bit architectures X Servers and X clients can communicate over a network or because no alignment is necessary. through an interprocess control (IPC) connection. Because it can The X protocol specifies four PDU types: requests, replies, operate on a network, X is considered a network-based window­ events, and errors. An X client sends requests to the X server. The ing system. X server sends replies, events, and errors to the X client. The X protocol supports requests and responses between X clients and X servers. It exchanges information necessary to op­ erate the graphical windowing system over a network connection.

© 1993 McGraw-Hili, Incorporated. ReprodUCIionProhibijed. SEPTEMBER 1993 Datapro Information Services Group. Delran NJ 08075 USA 8 2775 Internet Suite Data Networking Application Protocols Standards

X Request PJ)U NFS is host processor and operating system independent. A An X request PDU instructs an X server to perfonn a specific Remote Procedure Call (RPC) facility accomplishes this. An ap­ action and mayor may not require a reply on behalf of the X plication can execute RPC functions and receive the results to a server. An X client may, for example, request the X server to local data structure just as if a local procedure had been called. create a window, allocate a color, draw a graphic, etc. An X re­ The application is unaware that it is processing in a distributed quest PDU length must be a multiple of four octets. environment. RPC uses eXternal Data Representation (XDR) as a presentation layer service. XDR is responsible for placing infor­ X RepiyPDU mation exchanged between systems in a machine-independent As mentioned, not all X requests require replies. When the X fonn so that any type of CPU can run NFS. client requests infonnation, the X server will generate an X reply The demand for NFS is accelerating as network administrators PDU. An X reply PDU would be sent in response to the "allocate discover the benefits of providing users with a standards-based color" request, for example. An X reply PDU's length must be a approach to network operating system capabilities. Client NFS is multiple of four bytes and be a minimum of 32 octets. available on a wide variety of hosts including PCs and Mac­ intoshes, which should spur the demand for this protocol. X EventPDU An X event PDU contains infonnation about either a device ac­ Internet Suite Network Management tion or a side effect of a prior request. X clients receive most of their infonnation through X event PDUs. An X server sends an X Managing a TCP/W-based Internet can be a complex undertak­ event expose PDU when a window display action has completed. ing. A TCP/W network typically contains multivendor equipment An X event PDU's length must be a multiple of four bytes and be implemented over multiple network media in a network comput­ a minimum of 32 octets. ing environment. The Internet community struggled for many years without protocols and tools to adequately manage these X ErrorPDU networks. In response to network administrators' demands, a An X error PDU is very similar to an X event PDU, with the working group was fonned to develop a network management exception of how the X client handles the PDU. Upon receipt, the protocol for managing TCP/IP-based Internets. The result of this X client transfers the error to a special error-handling routine. effort was the Simple Network Management Protocol (SNMP). This facilitates a quick response to error conditions. An X error SNMP follows a manager/agent model, similar to the client! PDU's length must be a multiple offour bytes and be a minimum server model (see Figure 6). An agent operates on a network de­ of 32 octets. vice, such as a router, bridge, tenninal server, or even host pro­ X appears to have a great future in network computing. Users cessor. The agent responds to queries directed to it from an SNMP are demanding windows-based applications because of their ease manager. SNMP agent software is responsible for providing the of use and short learning curves. Software developers find the instrumentation required to gather management data. The man­ agement data is then stored into a logical database called the platfonn independence of X very appealing. MIS managers real­ / ize they can preserve their investment in hardware, such as main­ Management Infonnation Base (MIB). frames, by migrating many applications to the X environment. The SNMP manager software runs on a network manager sta­ Each of these forces is fonning the foundation for a very large tion and can perfonn three operations concerning agent interac­ market for X applications. tion. The SNMP manager can get, get-next, or set specific vari­ ables in the agent's MIB. Correspondingly, an agent will provide Network File System (NFS) a response to the manager requests. Additionally, an agent can, on NFS provides the services of what is typically called a "network certain events, issue an unsolicited trap message to the SNMP operating system." NFS is a protocol allowing multiple hosts to manager. access each other's file systems as though they were local (see SNMP's authors designed the protocol with three specific Figure 5). NFS insulates users and applications from the fact that goals. Briefly, SNMP was to be developed such that an agent infonnation is being accessed on another over a network connec­ could be deployed with minimal code, have highly extensible tion. Using NFS, a PC can store infonnation on a UNIX host, for monitoring capabilities, and not depend on the underlying trans­ example, as easily as storing infonnation to a local hard drive. port protocol. Each of these goals was met: many SNMP agents Additionally, the PC can actually run a program from software are under lOKB; the MIB provides private enterprise space for stored on the UNIX host. user extensions; and SNMP implementations exist over many transport mechanisms, including raw .

Figure 6. SNMP Management StotWn Instrumentation + An SNMP Management Station ProtooolSNMP ___ U obtains management information Engine from an SNMP agent. The SNMP agent obtains management irifor­ MIB mation through its instrumenta­ Network Management PDUs tion. The MIB is a logical data­ SNMP Network Network Node with SNMP Agent base ofmanagement information. Management Stetlon

SEPTEMBER 1993 © 1993 McGraw-Hili, Incorporated. Reproduction Prohibited. Datapro Infonnation Services GroUp. Delran NJOB075 USA Data Networking Internet Suite 2775 9 AppllClitIon Protocols Standards

Once the SNMP specification was complete, the standard was Conclusion quickly embraced by vendors. Virtually every TCP/IP networking device manufactured today supports SNMP management. The Internet suite of protocols is robust and rich with application services. Most users view the Internet protocols in terms of these application services. The demand for these services is fueling the demand for TCP/IP-based enterprise Internets, which is likely to continue well into the mid-1990s. - L. Michael Sabo is a Data Applications Consult­ ant with U S West Advanced Communications Services in Denver, CO. Mr. Sabo designs LAN internetworking solutions for clients using frame­ relay, SMDS, high-speed private line, and Trans­ portation LAN Service (LTS) technologies. This includes porting TCP/IP to the emerging ANSI High-Performance Parallel Interface (HIPPI) Gi­ gabit/sec. LAN standard and developing object­ oriented and SNMP-based network management architectures. Mr. Sabo has written many techni­ cal articles and is a member of Datapro's Board of Technical Advisors for Broadband Communi­ cations Services. He participates as a member of the Internet Society, and has been very active in the Internet for eight years. In addition. he is a member of the ATM Forum, Frame Relay Forum, and the SMDS Interest Group.

Mr. Sabo holds a master's degree in Computer Information Management from the University of Denver and a bachelors of science degree in Computer Science from Wright State University.

IC 1993 McGraw-HII~ Incorporated. Reproduction Prohibited. SEPTEMBER 1993 Datapro Information Services Group. Delran NJ 08075 USA !

DATAPRO Data Networking 2775 1 Standards

Internet Suite Application Protocols

In this report: Datapro Summary

Basic Internet Suite The Internet suite of protocols is robust and rich with application services. Services ...... 2 Most users view the Internet protocols in terms of these application services, which usually run over TCP/IP middle layer protocols. Based on the clientl server model, Internet services span the basic functions of virtual terminal Advanced Internet Suite support, electronic mail, file transfers, and name service. Advanced services Services ...... 7 include a distributed windowing system, a network file system, and a network management protocol. The demand for these services is fueling the demand Internet for TCP/IP-based enterprise internets, which is likely to continue into the mid-1990s. Suite Network Management ...... 9

The Internet protocol suite continues to the right. It is unlikely that an or­ in great demand in the standards­ ganization building a TCP/IP-based based networking marketplace. This enterprise network today would mi­ demand should accelerate into the grate to OSI before the turn of the mid-1990s. Once the protocol suite century. of choice for the U.S. military and a handful of universities, Transmis­ Introduction to TCP/IP sion Control Protocol/Internet Pro­ TCP is a transport layer protocol tocol (TCP/IP) is now gaining (ISO layer 4) providing a connection­ popularity within the business com­ oriented service between host proces­ munity. Many businesses have be­ sors. It provides a reliable end-to-end come disillusioned with the service with provisions for flow con­ excruciatingly slow pace of OSI de­ trol and multiplexing of connections. ployment. Consequently, businesses TCP also provides mechanisms for are turning to TCP/IP to form the detecting duplicate, lost, or out-of­ building blocks for their enterprise sequence packets. internetworks. The Internet suite also specifies As more organizations embrace an optional connectionless-mode TCP/IP, the timetable for OSI ubiq­ transport protocol, User Datagram uity becomes correspondingly shifted Protocol (UDP). UDP is used for transaction-based applications where efficiency and low overhead are more important than reliability. -By L. Michael Sabo Communications Architect SSDS,Inc.

@ 1992 McGraw·HIII, Incorporated. Reproduction Prohibited. JUNE 1992 Detapro Information Services Group. Delran NJ 08075 USA 2 277S Intemet Suite Data NetwOrking Application Protocols Standards

Figure 1. FTP TELNET SMTP X DNS SNMP NFS The Internet Protocol Suite Windows XDR RPC TCP UDP IP Data L1nk Layer Physical Layer

TCP and UDP use the network services ofIP suite's services are responsible for propelling (ISO layer 3) as a datagram service. IP is a TCP/IP to its status in enterprise internetworking. connectionless-mode network layer service. It is The Internet protocol suite is rich with appli­ used to route messages between networks and per­ cation services (see Table 1). These services span forms any message segmentation and reassembly the basic functions of virtual terminal support, required. Segmentation and reassembly may be electronic mail, file transfers, and name service. needed if a message must be routed through a net­ The Internet suite also includes advanced services, work with different packet size restrictions than such as a distributed windowing system, a network the source and/or destination network. file system, and a network management protocol. Application protocols are built upon the ser­ This report examines each of these services and vices of TCP/IP and UDP/IP (see Figure 1). These describes how a user interacts with them. application protocols form a client/server network computing environment. Basic Internet Suite Services Client/Server Computing The basic Internet suite services are the File Trans­ Each application layer protocol discussed in this fer Protocol (FTP), the virtual terminal protocol report follows the client/server computing model, (Telnet), the Simple Mail Transfer Protocol which is very simple. In the client/server model, a (SMTP), and the Domain Name Service (DNS). client application requests services of a remote ser­ Hosts supporting TCP/IP are very likely to provide vice application over a network. Correspondingly, at least these basic services. the server performs the requested service of the client and responds with the results according to a File Transfer Protocol (FTP) well-defined protocol. The client typically executes FTP is a protocol used for the bulk transfer of data on the local computer, and the server executes on a between host processors over a TCP datastream. remote computer. Except for network delays, a FTP provides aCile utility for performing remote user is unaware of the interactions between client file operations such as bidirectional file transfers, and server processes in such a distributed com put;. deleting files, renaming files, and displaying file ing environment. directories. Users perform these operations during interactive sessions. To support this on-line inter­ Application Services action between a user and a remote host, FTP pro­ Once a TCP/IP-based communications infrastruc­ vides two connections,as shown in Figure 2.FTP ture was in place, research turned quickly toward . commands and status information exchanges use implementing distributed applications using the the control connection. File transferS use a second reliable services of TCP. Most users view the Inter­ connection. Common FTP commands and their net protocols in terms of the services they provide purpose are listed as follows; for a comprehensive at the application layer. The Internet protocol list, refer to your hosts' user manuals:

@ 1992 McGraw-Hili, Incorporated. Reproduction Pmhiblted. Datapro Information Servi~, Grpup, Otllren NJ OS()7S USA . Data Networking Int.met Suite 3 Application Protocols 2775 Standards

• ascii-Data will be transferred in ASCII for­ mat. • binary-Data will be transferred as binary data. • bye-Terminate the FTP session with the re­ Obtaining RFCs on the mote server and exit ftp. Internet • cd-Change the working directory on the re­ mote host.

• delete-Delete a file on the remote host. RFCs are available and place the RFC num­ • dir-List the directory contents of the current through FTP from Internet ber in the subject field. host NIC.DDN.MIL. remote machine directory. To obtain a current index • get-Retrieve a specified file from the remote Log in using username of all RFCs, FTP to host and store it on the local host. "anonymous" and pass­ NIC.DDN.MIL with anony­ word "guest." Once mous, guest login. Once • hash-display a hash sign, "#", after each data logged on, type in "get the session is estab­ block is transferred. RFC:RFCnnnn.txt" , lished, type "dir where nnnn Is the RFC RFC:RFC-INDEX." A doc­ • put-Store a specified file from the local host to number. RFCs can also ument name will be re­ the remote host. be obtained thorugh elec­ turned, such as RFC­ tronic mail. Send a mes­ INDEX.TXT.nnnn" to As does every Internet suite application protocol, sage to fetch the index for review FTP follows the client/server model. An FTP client [email protected] on your local host. To log out of the FTP seSSion, sends commands and interacts with a user or a user type "quit." program, and the FTP server portion receives and responds to commands. Typically, a host will pro­ vide implementations for both an FTP client and Virtual Terminal Protocol (TELNET) an FTP server. TELNET is an interactive remote access terminal FTP is non-host specific. FTP implementa­ protocol. It allows a user to log in to a remote com­ tions exist for UNIX systems, mainframes, Mac­ puter system, over a network, as though the termi­ intoshes, and PCs. Any system supporting TCP/IP nal was attached directly to the remote host. is likely to support FTP. FTP relies on TCP at the TELNET is based on the client/server model, but transport layer to provide a reliable data path be­ DOS-based PCs, Macintoshs, and terminal servers tween peer hosts. Thus, users are assured that files typically support only client TELNET. Thus, users transferred over a network will arrive at their desti­ on those devices can initiate an interactive termi­ nation error free. nal session with a server TELNET but cannot ac­ cept a session request from a TELNET client.

Figure 2. fl'p COIIMCtio",

Server Command FTP Commands CI ient Command Protocol Processor .. ~ Protocol Processor - Server Data - File Data - Client Data -'- ~ c- Transport Processor Transport Processor - Server FTP Client FTP FrP uses two connections, one for commands and replies, and another to support bulk file transfer.

C\ 1992 McGraw-HIU. Incorporated. Reproduction Prohibited. Datapro Information ServIces Group. Delran NJ 08075 USA 2775 Internet Suite Data Networking Application Protocols Standards

Table 1. Internet Suite Application Layer Protocols

RFC Well· Known Name Acronym Description Reference Port Active Users USERS Sends a list of active RFC 866 Protocol host users Authentication AUTH Provides TCP RFC 931 113 Service authentication mechanism Bootstrap BOOTP Used for booting diskless RFC 951 67,68 Protocol workstations Character CHARGEN Used for debugging, RFC 864 19 Generator generates ASCII Protocol messages Daytime DAYTIME Provide day and time RFC 867 13 Protocol Information DCNETTime CLOCK Provides a mechanism RFC 778 Server for synchronizing clocks Protocol Discard DISCARD Used for debugging, RFC 863 9 Protocol discards all messages Domain Name DOMAIN Defines the Domain Name RFCs 881, 53 Protocol Service 882, 883 Echo Protocol ECHO Used for debugging, RFC 862 7 echoes all messages File Transfer FTP Bulk file transfer RFC 959 20, 21 Protocol protocol Finger FINGER Sends information on RFC 742 79 Protocol specified user Graphics GRAPHICS Used for exchanging RFC 493 Protocol vector graphics Internet MPM Provides multimedia RFC 759 46 Message mail transfers Protocol I SO Electronic X400 OSI electronic mail RFC 1148 103, 104 Mail standard Loader LDP Used for loading, RFC 909 Debugger dumping, and debugging Protocol hosts Line Printer LPR Print Server protocol RFC 1179 515 Daemon Protocol Network File NFS Network File System RFC 1094 2049 System Network News NNTP Protocol posting and RFC 977 119 Transfer distributing news Protocol articles UNIX hosts and most other multitasking operating essentially a bidirectional communications facility systems generally support both client and server that uses the seven-bit ASCII character set but en­ TELNET. codes them into eight-bit bytes. TELNET uses a TCP connection to transmit data and TELNET control information. TELNET Principle of Negotiated Options is based on the concept of a Network Virtual Ter­ TELNET allows services to be supported beyond minal (NVT) and negotiated options to extend the those defined for the NVT. There are many termi­ basic capabilities of NVT. nal options not specifically defined within the TELNET Protocol but which can be supported by Network Virtual Terminal (NVT) TELNET. TELNET uses a do/don't, will/won't When a TELNET connection is initiated, both negotiation process. This scheme allows a client ends of the connection begin with an NVT profile. and server to use different conventions for the NVT is a least common denominator terminal pro­ TELNET session. Specifically, a sender will re­ file used throughout the network, eliminating the spond that it will or will not perform some option. need for every host to support the entire range of terminal possibilities (see Figure 3). The NVT is

@ 1992 McGraw-Hili, Inccrporated. Reproduction Prohibited. Datapro Inlonnatlon Services Group. Delran NJ 08075 USA Data Networking Intemet Suite 2775 Application Protocols Standards •

~- (1 Table 1. Internet Suite Application Layer Protocols (Continued) "~I

RFC Well-Known Name Acronym Description Reference Port Network Time NTP Provides a means of RFC 958 123 Protocol synchronizing network clocks Password PWDGEN Generates passwords RFC 972 129 Generation Post Office POP3 Allows PC users to RFC 1081, 110 Protocol access mail from a mail 1082 server Quote of the QUOTE Sends an ASCII message RFC 865 Day Protocol Remote Job RJE Used to submit and RFC 407 Entry retrieve batch jobs Remote Telnet RTELNET Supports special access RFC 818 Service to user Telnet Resource RLP Automatically locates a RFC 887 39 Location resource Protocol Simple File SFTP Bulk file transfer RFC 913 115 Transfer protocol Protocol Simple Mail SMTP Electronic mail transfer RFC 821 25 Transfer protocol Protocol Simple SNMP Supports the exchange of RFC 1157 161,162 Network management information Management :i Protocol Statistics STATSRV Used for sending RFC 996 95 Server gateway statistics SUPDUP SUPDUP Telnet-like protocols for RFC 734 Protocol display terminals Telnet TELNET Defines a remote RFC 854 23 Protocol terminal protocol Time Server TIME Provides time in seconds RFC 868 37 Protocol Trivial File TFTP Bulk file transfer RFC 783 69 Transfer protocol without access Protocol control or parameters Whois Protocol NICNAME Sends information on RFC 954 43 specified user X Window X Network Windowing RFC 1198 System Protocol

Optionally, a sender may request that its peer ini­ message delivery: if a message has multiple recipi­ tiate or not initiate an option. This interaction per­ ents at a particular destination host, SMTP will mits an option request to be refused without only send one message to the host listing each re­ knowledge about the requested option. Accepted cipient. The receiving SMTP will provide each re­ options take effect immediately. Rejected options cipient with a copy of the message. require the parameter to remain as defined for an Each mail message contains a header and a NVT. body. The header contains elements such as Date, Subject, To, Cc, and From. The client SMTP rou­ Simple Mail Transport Protocol (SMTP) tine prompts the user for each of these parameters. SMTP is the Internet standard for electronic mail The body of the message is typically free-form ( distribution. It is a text-oriented protocol that uses ASCII text. For example, to send a message to user TCP's underlying services to reliably transfer or smith at host hosta.xyz.com, a UNIX user Jones on relay electronic mail. SMTP supports efficient host myhost.xyz.com would perform the following:

@ 1992 McGraw-Hili, Incorporated. Reproduction Prohibited. JUNE 1992 Datepro Information Services Group. Delran NJ 08075 USA 2775 Intemet Suite Data Networking Application Protocols • Standards

Figure 3. NIT for Tel1U!t

Telnet's use ofnetwork virtual terminal (NVT) reduces the problem ofsupporting every possible terminal type to only converting between a specific terminal type and NVT. In the preceding example, lines beginning with % mail [email protected] »> are generated by the sender, and lines be­ Subject: Thanks for the information ginning with a number are responses from the Mr. Smith, thanks for sending me the information message recipient. The actual message is sent after so promptly. -Jones the 354 Input response. Cc: % Domain Name Service On UNIX systems, a control d is used to indicate The Domain Name Service (DNS) is the naming the message is complete. Notice the user did not protocol used in the Internet suite. DNS provides copy-"Cc"-any other recipients. If the user had domain name-to-IP address translation. Names, placed other mailboxes in the "Cc" field, each re­ rather than IP addresses, are much easier for indi­ cipient would have also received the message. To viduals to remember. view the actual SMTP protocol interaction, Jones DNS allows the administration of domain could have used the -v-verbose-mail command names to be decentralized. Through DNS, hosts option. An example follows: are no longer required to maintain host name-to-IP address configuration tables for every host on the % mail -v [email protected] network. Partitioning the domain name into multi­ Subject: Thanks for the information ple name fields allows the decentralization of name Mr. Smith, thanks for sending me the information administration. The DDN Network Information so promptly. -Jones Center (NIC) administers the top-level portions of Cc: % [email protected] ... Connecting the domain name. A user organization is free to to hosta.xyz.com append names in front of the top-level name to Trying ... connected. define subdomains or specific hosts within the or­ 220 HOSTA.XYZ.COM Simple Mail Transfer ganization. As an example, company XYZ has reg­ Server ready> > > HELO myhost.xyz.com istered the domain name xyz.com with the NIC. 2500K»> MAIL "XYZ" is the organization's name, and "COM" From: signifies the organization is a commercial venture. 2500K»> RCPT Company XYZ may then assign and locally admin­ To: ister the name hosta.xyz.com for one of its hosts. 2500K»> DATA Currently, the NIC has specified six top-level 354 Input »>. domain names. They are the following: 2500K»> QUIT • COM-Commercial Organizations 221 HOSTA.XYZ.COM Simple Mail Transfer server terminated. % • EDU-EducationalOrganizations • GOY-Government Agencies

JUN~1992 , @ 1992 McGraw-HIli, Incorporated. Reproduction Prohibited. Datepro Information Services Group. Delran NJ 08075 USA Data Networking Internet Suite 7 Application Protocol. 2775 Standards

If Figure 4. .. ~ X Window System

Client Client Application B

An X user can connect to several X clients simultaneously. The X client can be local to the X terminal or execute remotely over a network. • MIL-MILNET Hosts relationship may appear reversed from the tradi­ • NET-Networking Organizations tional interpretation. The X server typically runs on the local workstation, and the X client runs on • ORG-Not for Profit Organizations the remote host. The X client is responsible for ap­ plication management tasks, and the X server is DNS terms the client portion of the protocol im­ responsible for providing display services on the plementation the resolver, and the server is called graphics terminal. the name server. The resolver queries the name X Servers and X clients can communicate server to translate domain names to IP addresses. over a network or through an interprocess control Resolvers typically cache the results of previous (IPC) connection. Because it can operate on a net­ name queries, reducing network traffic and name work, X is considered a network-based windowing server interaction. system. The X protocol supports requests and re­ sponses between X clients and X servers. It ex­ Advanced Internet Suite Services changes information necessary to operate the The Advanced Internet suite services include the X graphical windowing system over a network con­ Window System (X) and the Network File System nection. (NFS). These application protocols are typically implemented on high-performance workstations X Protocol Internals and used in a LAN environment. Efficiency is an important attribute of the X proto­ col. It is a necessary requirement when running an X Window System application such as a distributed windowing sys­ The X Window System, typically called simply tem over a network. Efficiencies have been at­ "X," is a platform-independent, bit-mapped graph­ tained in two primary ways. First, not all X client ical user interface (GUI) that runs over TCP. X requests require a corresponding reply from the X can run over any reliable network, including OSI, server; second, the X Protocol Data Units (PDUs) but TCP is the most popular implementation. each have a length that is multiples of four octets. ( An X application runs in a client/server envi­ The latter allows the X PDUs to be quickly pro­ ronment (see Figure 4). In X, the client and server cessed on host processors based on 16- or 32-bit architectures because no alignment is necessary.

CIlI1992 McGraw-Hili, Incorporated. Reproduction Prohibited. JUNE 1$9:/· Detepro Information Services Group. Delran NJ 08075 USA Intemet Suite Data Networking 277. Application Protocols • Standards

Figure 5. Network File System

The client Network File Sys­ tem (NFS) provides access to the remote file system over a network connection. The remote file access is trans­ parent to the application process. NFS

XDR Local File Local File System System RPC RPC

UDP UDP

IP IP

Data Link Control nata Link Control

Physical Physical

ClientNFS ServerNFS The X protocol specifies four POU types: re­ has completed. An X event POU's length must be quests, replies, events, and errors. An X client a multiple of four bytes and be a minimum of 32 sends requests to the X server. The X server sends octets. replies, events, and errors to the X client. X Error PDU X Request PDU An X error POU is very similar to an X event An X request POU instructs an X server to per­ POU, with the exception of how the X client han­ form a specific action and mayor may not require dles the POU. Upon receipt, the X client transfers a reply on behalf ofthe X server. An X client may, the error to a special error-handling routine. This for example, request the X server to create a win­ facilitates a quick response to error conditions. An dow, allocate a color, draw a graphic, etc. An X X error POU's length must be a multiple of four request POU length must be a multiple of four oc­ bytes and be a minimum of 32 octets. tets. X appears to have a great future in network computing. Users are demanding windows-based X Reply PDU applications because of their ease of use and short As mentioned, not all X requests require replies. learning curves. Software developers find the plat­ When the X client requests information, the X form independence of X very appealing. MIS man­ server will generate an X reply POU. An X reply agers realize they can preserve their investment in POU would be sent in response to the "allocate hardware, such as mainframes, by migrating many color" request, for example. An X reply POU's applications to the X environment. Each of these length must be a mUltiple of four bytes and be a forces is forming the foundation for a very large minimum of 32 octets. market for X applications.

X Event PDU Network File System (NFS) An X event POU contains information about ei­ NFS provides the services of what is typically ther a device action or a side effect of a prior re­ called a "network operating system." NFS is a quest. X clients receive most of their information protocol allowing multiple hosts to access each through X event POUs. An X server sends an X other's file systems as though they were local (see event expose POU when a window display action Figure 5). NFS insulates users and applications from the fact that information is being accessed

JUNE 1992 ." @ 1992 McGraw-Hili, Incorporated. Reproduction Prohibited. Datepro Information Services Group. Dalran NJ 08075 USA Data Networking Internet Suite 2775 9 Application Protocols Standards

Figure 6. SNMP Management Station

Instrumentation

SNMP t Protocol ..... Engine EJ Network Management PDUs MIB 5NMP Network Management Station Network Node with 5NMP Agent An SNMP Management Station obtains management information from an SNMP agent. The SNMP agent ob- tains management information through its instrumentation. The MIB is a logical database ofmanagement in- formation. on another system over a network connection. Us­ for many years without protocols and tools to ade­ ing NFS, a PC can store information on a UNIX quately manage these networks. In response to net­ host, for example, as easily as storing information work administrators' demands, a working group to a local hard drive. Additionally, the PC can ac­ was formed to develop a network management pro­ tually run a program from software stored on the tocol for managing TCP/IP-based internets. UNIX host. The SNMP follows a manager/agent model, NFS is host processor and operating system similar to the client/server model (see Figure 6). independent. A Remote Procedure Call (RPC) fa­ An agent operates on a network device, such as a cility accomplishes this. An application can exe­ router, bridge, terminal server, or even host proces­ cute RPC functions and receive the results to a sor. The agent responds to queries directed to it local data structure just as if a local procedure from an SNMP manager. SNMP agent software is had been called. The application is unaware that responsible for providing the instrumentation re­ it is processing in a distributed environment. RPC quired to gather management data. The manage­ uses eXternal Data Representation (XDR) as a ment data is then stored into a logical database presentation layer service. XDR is responsible for called the Management Information Base (MIB). placing information exchanged between systems The SNMP manager software runs on a net­ in a machine-independent form so that any type work manager station and can perform three oper­ of CPU can run NFS. ations concerning agent interaction. The SNMP The demand for NFS is accelerating as net­ manager can get, get-next, or set specific variables work administrators discover the benefits of pro­ in the agent's MIB. Correspondingly, an agent will viding users with a standards-based approach to provide a response to the manager requests. Addi­ network operating system capabilities. Client NFS tionally, an agent can, on certain events, issue an has been implemented on PCs and Macintoshes, unsolicited trap message to the SNMP manager. which should spur the demand for this protocol. SNMP's authors designed the protocol with three specific goals. Briefly, SNMP was to be de­ Internet Suite Network Management veloped such that an agent could be deployed Managing a TCPIIP-based internet can be a com­ with minimal code, have highly extensible moni­ plex undertaking. A TCPIIP network typically con­ toring capabilities, and not depend on the under­ tains multivendor equipment implemented over lying transport protocol. Each of these goals was multiple network media in a network computing met: many SNMP agents are under 10KB, the environment. The Internet communities struggled MIB provides private enterprise space for user ex­ ( tensions, and SNMP implementations exist over many transport mechanisms, including raw Ethernet.

@) 1992 McGraw·HiII, Incorporated. Reproduction Prohibited. Datapro Information Services Group. Delran NJ 08075 USA Internet Suite Data Networking to 2775 AppUcatlon Protocols Standards

The standard MIB is fairly small, about 100 Summary objects. Even at that, an agent need not support the The Internet suite of protocols is robust and rich entire MIB if it does not support a specific proto­ with application services. Most users view the In­ col. As an example, a host that does not support ternet protocols in terms of these application ser­ ICMP need not support the ICMP object group. vices. The demand for these services is fueling the The Internet community is in the midst of signifi­ demand for TCP/IP-based enterprise internets, cantly expanding the MIB to include many new which is likely to continue into the mid-1990s.• objects. Once the SNMP specification was complete, the standard was quickly embraced by vendors. Virtually every TCP/IP networking device by all manufacturers is sold with SNMP support.

L. Michael Sabo is a communications archi­ tect with SSDS, Inc., Littleton, CO, and is currently consulting on various networking projects. Previously, Mr. Sabo participated in porting TCP/IP to the emerging ANSI High­ Performance Parallel Interface (HIPPI) Giga­ bit/sec LAN standard. Mr. Sabo has been active in integrated network management. He participated in developing an object-orI­ ented and SNMP-based network manage­ ment architecture for Lockheed Integration Services. This effort included defining nu­ merous private enterprise management infor­ mation base (MIB) objects to support system management functions.

Mr. Sabo is a member of the SNMP working group and has been active in the Internet for six years. He is a member of the board of advisors for Datapro Network Management. He holds a master's degree in data process­ ing management from the University of Den­ ver and a bachelor's degree in Computer Science from Wright State University.

C) 1992 McGraw-Hili. Incorporated. ReproductlO!" proh~ .. Datapro Information Services GrouP. Delran N~ 08075