An application layer is an abstraction layer that specifies the shared communication protocols and interface methods used by hosts in a communications network.[1] An application layer abstraction is specified in both the Internet Protocol Suite (TCP/IP) and the OSI model.[2] Although both models use the same term for their respective highest-level layer, the detailed definitions and purposes are different.[3]
The concept of the application layer emerged from early efforts to standardize network communication by defining distinct layers of protocol functionality. In the OSI model developed in the late 1970s and early 1980s, the application layer was explicitly separated from lower layers like session and presentation to modularize network services and applications for interoperability and clarity. Contrasting this, the TCP/IP model, whose origins date back to the 1970s and which became the foundation of the modern Internet, integrates these functions into a broader application layer that handles process-to-process communication. This design emphasizes simplicity and robustness by placing intelligence and complexity on the network’s edge rather than the core, enabling nearly any network to interconnect. As a result, the application layer serves as the interface for diverse networking protocols that drive everyday Internet-based services, reflecting decades of evolution aimed at flexible, interoperable communication across heterogeneous networks.
In the Internet protocol suite, the application layer contains the communications protocols and interface methods used in process-to-process communications across an Internet Protocol (IP) computer network.[4] The application layer only standardizes communication and depends upon the underlying transport layer protocols to establish host-to-host data transfer channels and manage the data exchange in a client–server or peer-to-peer networking model.[5] Though the TCP/IP application layer does not describe specific rules or data formats that applications must consider when communicating, the original specification (in RFC1123) does rely on and recommend the robustness principle for application design.[6][7]
In the OSI model, the definition of the application layer is narrower in scope.[9] The OSI model defines the application layer as only the interface responsible for communicating with host-based and user-facing applications.[10] OSI then explicitly distinguishes the functionality of two additional layers, the session layer and presentation layer, as separate levels below the application layer and above the transport layer. OSI specifies a strict modular separation of functionality at these layers and provides protocol implementations for each. In contrast, the Internet Protocol Suite compiles these functions into a single layer.[10]
Sublayers
Originally the OSI model consisted of two kinds of application layer services with their related protocols.[11] These two sublayers are the common application service element (CASE) and specific application service element (SASE).[12] Generally, an application layer protocol is realized by using the functionality of several application service elements.[13] Some application service elements invoke different procedures based on the version of the session service available.[14]
CASE
The common application service element sublayer provides services for the application layer and request services from the session layer. It provides support for common application services, such as:
The IETF definition document for the application layer in the Internet Protocol Suite is RFC 1123. It provided an initial set of protocols that covered the major aspects of the functionality of the early Internet:[6]
This page is based on this Wikipedia article Text is available under the CC BY-SA 4.0 license; additional terms may apply. Images, videos and audio are available under their respective licenses.