y the application layer protocol is required in the machine. That is, an FTP client should be running on the machine to transfer files from the FTP server and an SNMP agent should be running on the network element to source data to a network manager using the SNMP protocol. The user application can operate without an application layer using protocol modules that initialize communication with other application, set up the presenta- tion context, and transfer messages. In this mode of operation the application will interact directly with the presentation layer. In the same manner the application can implement modules that perform the application services offered by the appli- cation layer. These modules are called application specific elements. Application layer protocols are classified into: Common application specific elements (CASE) Specific application specific elements (SASE) As the name signifies, CASE elements are the integrated set of functions that are commonly used by an application while SASE elements are written on a need basis for a specific functionality. Some of the CASE related functions include ini- tialization and termination of connection with other processes, transfer of message with other processes, or underlying protocol and recovering from a failure while a task is under execution. It should be understood that not all applications use the application layer for communication and applications are not the only users of the application layer. The operating system (OS) itself can use the services directly from the application layer. 10.9 TCP/IP Model and OSI Model The OSI model is the not the only network model available for implementing pro- tocol stacks for communication between network elements. The four layer TCP/ IP model was developed before the OSI model and is also one of the most popular models for implementing protocol stack (see Figure 10.3). The functions performed by the four layers in the TCP/IP model can be mapped to the functions performed by the seven layers of an OSI model. The l