The Application Layer, also known as Layer 7 of the OSI Reference Model, is the top layer of the model and provides the user interface to a variety of network-related information services. Together with the Presentation Layer, it provides the interoperability element of the internetwork. Where the Presentation Layer is about syntax, the Application Layer is about semantics. It defines generalized services that applications need. Note that this layer is not typically where the applications themselves reside. The applications you use every day sit above the OSI Reference Model and draw services from the interface to the software that implements the model in your computer system.
Applications services include:
- File Transfer, Access, and Management (FTAM) services
- General document and message interchange services, such as email.
The Application Layer also provides other services.
- Identification of communication partner by name or address (directory services)
- Selection of dialogue discipline and agreement of Presentation Layer services
- Support for network standard virtual terminals
- Printing services
The Application Layer Explained
There are many different types of Application Layer services. Each service may invoke other Application Layer services. This is a unique feature of the Application Layer. For instance, before a file can be sent, there must be an association between the two Application Layers. The term “association” is used to describe a connection between two Application Layer entities. This terminology differs from lower layers where the term “connection” is used. The meaning, however, is the same. Both file transfer (FTAM) and association establishment are Application Layer services and both services are required for successful transfer of information.
The services provided by the Application Layer break into two groups: common and specific. Common services are those that are generally useful to many different types of applications. An example is association establishment and termination. Specific services are typically associated with a single or small group of applications. An example is a message handling service.
A digression comparing Application and Presentation Layer protocols is in order. A common distinction between Levels 6 and 7 is based on the generality of services provided; Presentation Layer protocols are general in nature and Application Layer protocols are typically specific in nature. The common services (common application service elements) are an exception to this rule. This distinction is still made in this text because the well-known and commonly implemented Application Layer protocols (e.g., FTAM and X.400) follow this rule.
Given this architecture, different application programs can call these services via a published interface. This obviates the need for a programmer to write a message handling system, for example. It also means these services can interoperate between different applications.
Application Layer Example
Consider a practical example. Suppose Ford Motor Company and General Tire agree to implement an electronic data interchange (EDI) system to share purchasing information between their corporate computer systems. What issues arise connecting two different application programs?
Neither program can be rewritten to use the same notation as the other. Each company has devoted an enormous amount of effort to writing these programs, and each processes orders using its own notation. Modifying either program would lead to the real possibility that the code would fail, wasting valuable time trying to debug the problem.
So we are stuck with local notation. However, there is absolutely no reason why both companies cannot agree on a common or canonical form to be used in reporting orders to the other end. Both companies will have to write converters from local form to canonical form. Each program will continue to use and process its own notation; the canonical form of the order description will only exist on the communication link.
This protocol deals with exactly one application and is an Application Layer protocol. The American National Standards Institute has developed a set of protocols for dealing with EDI. The ANSI standards are listed below:
- X12.1 - Purchase Order Transmission Set
- X12.2 - Invoice Transaction Set
- X12.4 - Remittance/Payment Advice Transmission Set
Providing a canonical form for EDI is not the only service provided by the Application Layer. Similar incompatibilities exist for other applications that require canonical forms as well (e.g., sending electronic mail messages, transferring files between computers, etc.).
Examples of Application Layer Services
Some of the Application Layer services defined in the TCP/IP protocol suite include:
- File Transfer Protocol (FTP)
- HyperText Transfer Protocol (HTTP)
- Domain Name System (DNS)
- Simple Network Management Protocol (SNMP)
- Simple Mail Transfer Protocol (SMTP)
- Network File System (NFS)
- Post Office Protocol (POP)
- Session Initiation Protocol (SIP)
|| Application Layer|
|| OSI Reference Model|