An application layer is an
abstraction layer
In computing, an abstraction layer or abstraction level is a way of hiding the working details of a subsystem. Examples of software models that use layers of abstraction include the OSI model for network protocols, OpenGL, and other graphics libra ...
that specifies the shared
communication protocol
A communication protocol is a system of rules that allows two or more entities of a communications system to transmit information via any variation of a physical quantity. The protocol defines the rules, syntax, semantics (computer science), sem ...
s and
interface methods used by
hosts in a communications network. An ''application layer'' abstraction is specified in both the
Internet Protocol Suite
The Internet protocol suite, commonly known as TCP/IP, is a framework for organizing the communication protocols used in the Internet and similar computer networks according to functional criteria. The foundational protocols in the suite are ...
(TCP/IP) and the
OSI model
The Open Systems Interconnection (OSI) model is a reference model developed by the International Organization for Standardization (ISO) that "provides a common basis for the coordination of standards development for the purpose of systems inter ...
. Although both models use the same term for their respective highest-level layer, the detailed definitions and purposes are different.
Internet protocol suite
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
The Internet Protocol (IP) is the network layer communications protocol in the Internet protocol suite for relaying datagrams across network boundaries. Its routing function enables internetworking, and essentially establishes the Internet.
IP ...
(IP) computer network. The application layer only standardizes communication and depends upon the underlying
transport layer
In computer networking, the transport layer is a conceptual division of methods in the layered architecture of protocols in the network stack in the Internet protocol suite and the OSI model. The protocols of this layer provide end-to-end c ...
protocols to establish host-to-host data transfer channels and manage the data exchange in a
client–server or
peer-to-peer
Peer-to-peer (P2P) computing or networking is a distributed application architecture that partitions tasks or workloads between peers. Peers are equally privileged, equipotent participants in the network, forming a peer-to-peer network of Node ...
networking model. Though the TCP/IP application layer does not describe specific rules or data formats that applications must consider when communicating, the original specification (in ) does rely on and recommend the
robustness principle
In computing, the robustness principle is a design guideline for software that states: "be conservative in what you do, be liberal in what you accept from others". It is often reworded as: "be conservative in what you send, be liberal in what you a ...
for application design.
OSI model
In the
OSI model
The Open Systems Interconnection (OSI) model is a reference model developed by the International Organization for Standardization (ISO) that "provides a common basis for the coordination of standards development for the purpose of systems inter ...
, the definition of the application layer is narrower in scope. The OSI model defines the application layer as only the interface responsible for communicating with host-based and user-facing applications.
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.
Sublayers
Originally the OSI model consisted of two kinds of application layer services with their related protocols. These two sublayers are the common application service element (CASE) and specific application service element (SASE).
Generally, an application layer protocol is realized by using the functionality of several application service elements. Some application service elements invoke different procedures based on the version of the session service available.
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:
* ACSE (
Association Control Service Element)
* ROSE (Remote Operation Service Element)
* CCR (Commitment Concurrency and Recovery)
* RTSE (Reliable Transfer Service Element)
SASE
The specific application service element sublayer provides application-specific services (protocols), such as:
*
FTAM (File Transfer, Access and Manager)
*
VT (Virtual Terminal)
* MOTIS (Message Oriented Text Interchange Standard)
* CMIP (Common Management Information Protocol)
* JTM (Job Transfer and Manipulation)
a former OSI standard
/ref>
* MMS (Manufacturing Messaging Specification)
* RDA (Remote Database Access)
* DTP (Distributed Transaction Processing)
Protocols
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
The Internet (or internet) is the Global network, global system of interconnected computer networks that uses the Internet protocol suite (TCP/IP) to communicate between networks and devices. It is a internetworking, network of networks ...
:
* Hypertext documents: Hypertext Transfer Protocol
HTTP (Hypertext Transfer Protocol) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, wher ...
(HTTP)
* Remote login to hosts: Telnet
Telnet (sometimes stylized TELNET) is a client-server application protocol that provides access to virtual terminals of remote systems on local area networks or the Internet. It is a protocol for bidirectional 8-bit communications. Its main ...
, Secure Shell
The Secure Shell Protocol (SSH Protocol) is a cryptographic network protocol for operating network services securely over an unsecured network. Its most notable applications are remote login and command-line execution.
SSH was designed for ...
* File transfer: File Transfer Protocol
The File Transfer Protocol (FTP) is a standard communication protocol used for the transfer of computer files from a server to a client on a computer network. FTP is built on a client–server model architecture using separate control and d ...
(FTP), Trivial File Transfer Protocol
The Trivial File Transfer Protocol (TFTP) is a simple Lockstep (computing), lockstep communication protocol for transmitting or receiving files in a client-server application. A primary use of TFTP is in the early stages of nodes booting on a l ...
(TFTP)
* Electronic mail transport: Simple Mail Transfer Protocol
The Simple Mail Transfer Protocol (SMTP) is an Internet standard communication protocol for electronic mail transmission. Mail servers and other message transfer agents use SMTP to send and receive mail messages. User-level email clients typ ...
(SMTP)
* Networking support: Domain Name System
The Domain Name System (DNS) is a hierarchical and distributed name service that provides a naming system for computers, services, and other resources on the Internet or other Internet Protocol (IP) networks. It associates various information ...
(DNS)
* Host initialization: BOOTP
* Remote host management: Simple Network Management Protocol
Simple Network Management Protocol (SNMP) is an Internet Standard protocol for collecting and organizing information about managed devices on IP networks and for modifying that information to change device behavior. Devices that typically su ...
(SNMP), Common Management Information Protocol over TCP (CMOT)
Examples
Additional notable application-layer protocols include the following:
* 9P, Plan 9 from Bell Labs
Plan 9 from Bell Labs is a distributed operating system which originated from the Computing Science Research Center (CSRC) at Bell Labs in the mid-1980s and built on UNIX concepts first developed there in the late 1960s. Since 2000, Plan 9 has ...
distributed file system protocol
*AFP, Apple Filing Protocol
The Apple Filing Protocol (AFP), formerly AppleTalk Filing Protocol, is a proprietary protocol, proprietary Communications protocol, network protocol, and part of the Apple File Service (AFS), that offers file services for macOS, classic Mac OS, ...
*APPC, Advanced Program-to-Program Communication
In computing, Advanced Program to Program Communication or APPC is a Protocol (computing), protocol which computer programs can use to communicate over a computer network, network. APPC is at the application layer in the OSI model, it enables com ...
*AMQP, Advanced Message Queuing Protocol
The Advanced Message Queuing Protocol (AMQP) is an open standard application layer protocol for message-oriented middleware. The defining features of AMQP are message orientation, queuing, routing (including point-to-point and publish-and-subs ...
* Atom Publishing Protocol
* BEEP, Block Extensible Exchange Protocol
*Bitcoin
Bitcoin (abbreviation: BTC; Currency symbol, sign: ₿) is the first Decentralized application, decentralized cryptocurrency. Based on a free-market ideology, bitcoin was invented in 2008 when an unknown entity published a white paper under ...
*BitTorrent
BitTorrent is a Protocol (computing), communication protocol for peer-to-peer file sharing (P2P), which enables users to distribute data and electronic files over the Internet in a Decentralised system, decentralized manner. The protocol is d ...
*CFDP, Coherent File Distribution Protocol
*CoAP, Constrained Application Protocol
*DDS, Data Distribution Service
*DeviceNet
DeviceNet is a network protocol used in the automation industry to interconnect control devices for data exchange. It utilizes the Common Industrial Protocol over a Controller Area Network media layer and defines an application layer to cover a ra ...
* DNS, Domain Name Services
* eDonkey
*ENRP, Endpoint Handlespace Redundancy Protocol
*FastTrack
FastTrack is a peer-to-peer (P2P) protocol that was used by the Kazaa, Grokster, iMesh and Morpheus file sharing programs. FastTrack was the most popular file sharing network in 2003, and used mainly for the exchange of music MP3 files. The ne ...
(KaZaa, Grokster, iMesh)
*Finger
A finger is a prominent digit (anatomy), digit on the forelimbs of most tetrapod vertebrate animals, especially those with prehensile extremities (i.e. hands) such as humans and other primates. Most tetrapods have five digits (dactyly, pentadact ...
, User Information Protocol
*Freenet
Hyphanet (until mid-2023: Freenet) is a peer-to-peer platform for censorship-resistant, Anonymity application, anonymous communication. It uses a decentralized distributed data store to keep and deliver information, and has a suite of free soft ...
* FTAM, File Transfer Access and Management
*FTP, File Transfer Protocol
The File Transfer Protocol (FTP) is a standard communication protocol used for the transfer of computer files from a server to a client on a computer network. FTP is built on a client–server model architecture using separate control and d ...
*Gemini, Gemini protocol
*Gopher, Gopher protocol
The Gopher protocol () is a communication protocol designed for distributing, searching, and retrieving documents in Internet Protocol networks. The design of the Gopher protocol and user interface is menu-driven, and presented an alternative t ...
*HL7, Health Level Seven
*HTTP, Hypertext Transfer Protocol
HTTP (Hypertext Transfer Protocol) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, wher ...
*Hypercore, formerly dat://
* H.323, Packet-Based Multimedia Communications System
*IMAP
In computing, the Internet Message Access Protocol (IMAP) is an Internet standard protocol used by email clients to retrieve email messages from a mail server over a TCP/IP connection. IMAP is defined by .
IMAP was designed with the goal of per ...
, Internet Message Access Protocol
*IRC, Internet Relay Chat
IRC (Internet Relay Chat) is a text-based chat system for instant messaging. IRC is designed for Many-to-many, group communication in discussion forums, called ''#Channels, channels'', but also allows one-on-one communication via instant mess ...
*IPFS, InterPlanetary File System
*Kademlia
Kademlia is a distributed hash table for decentralized peer-to-peer computer networks designed by Petar Maymounkov and David Mazières in 2002. It specifies the structure of the network and the exchange of information through node (networking), no ...
*LDAP, Lightweight Directory Access Protocol
The Lightweight Directory Access Protocol (LDAP ) is an open, vendor-neutral, industry standard application protocol for accessing and maintaining distributed directory information services over an Internet Protocol (IP) network. Directory serv ...
*LPD, Line Printer Daemon Protocol
*MIME (S-MIME), Multipurpose Internet Mail Extensions and Secure MIME
*Modbus
Modbus (or MODBUS) is a client/server data communications protocol in the application layer. It was originally designed for use with programmable logic controllers (PLCs), but has become a ''de facto'' standardization, standard communication pr ...
* MQTT Protocol
* Netconf
*NFS, Network File System
Network File System (NFS) is a distributed file system protocol originally developed by Sun Microsystems (Sun) in 1984, allowing a user on a client computer to access files over a computer network much like local storage is accessed. NFS, like ...
*NIS, Network Information Service
The Network Information Service, or NIS (originally called Yellow Pages or YP), is a client–server directory service protocol (computing), protocol for Distributed computing, distributing system configuration data such as User (computing), user ...
*NNTP, Network News Transfer Protocol
The Network News Transfer Protocol (NNTP) is an application Protocol (computing), protocol used for transporting Usenet news articles (''netnews'') between news servers, and for reading/posting articles by the end user client applications. Brian ...
*NTCIP, National Transportation Communications for Intelligent Transportation System Protocol
*NTP, Network Time Protocol
The Network Time Protocol (NTP) is a networking protocol for clock synchronization between computer systems over packet-switched, variable-Network latency, latency data networks. In operation since before 1985, NTP is one of the oldest Intern ...
*OSCAR
Oscar, OSCAR, or The Oscar may refer to:
People and fictional and mythical characters
* Oscar (given name), including lists of people and fictional characters named Oscar, Óscar or Oskar
* Oscar (footballer, born 1954), Brazilian footballer ...
, AOL Instant Messenger Protocol
*POP, Post Office Protocol
In computing, the Post Office Protocol (POP) is an application-layer Internet standard protocol used by e-mail clients to retrieve e-mail from a mail server. Today, POP version 3 (POP3) is the most commonly used version. Together with IMAP, ...
*PNRP, Peer Name Resolution Protocol
*RDP, Remote Desktop Protocol
Remote Desktop Protocol (RDP) is a proprietary protocol developed by Microsoft Corporation which provides a user with a graphical interface to connect to another computer over a network connection. The user employs RDP client software for this pu ...
*RELP, Reliable Event Logging Protocol
*RFB, Remote Framebuffer Protocol
*Rlogin
The Berkeley r-commands are a suite of computer programs designed to enable users of one Unix system to log in or issue commands to another Unix computer via TCP/IP computer network. The r-commands were developed in 1982 by the Computer System ...
, Remote Login in UNIX Systems
*RPC, Remote Procedure Call
In distributed computing, a remote procedure call (RPC) is when a computer program causes a procedure (subroutine) to execute in a different address space (commonly on another computer on a shared computer network), which is written as if it were a ...
*RTMP, Real Time Messaging Protocol
Real-Time Messaging Protocol (RTMP) is a communication protocol for streaming media, streaming audio, video, and data over the Internet. Originally developed as a proprietary protocol by Macromedia for streaming between Flash Player and the Flash ...
*RTP, Real-time Transport Protocol
The Real-time Transport Protocol (RTP) is a network protocol for delivering audio and video over IP networks. RTP is used in communication and entertainment systems that involve streaming media, such as telephony, video teleconference applic ...
* RTPS, Real Time Publish Subscribe
*RTSP, Real Time Streaming Protocol
The Real-Time Streaming Protocol (RTSP) is an application-level network protocol designed for multiplexing and packetizing multimedia transport streams (such as interactive media, video and audio) over a suitable transport protocol. RTSP ...
*SAP, Session Announcement Protocol
*SDP, Session Description Protocol
The Session Description Protocol (SDP) is a format for describing multimedia communication sessions for the purposes of announcement and invitation. Its predominant use is in support of streaming media applications, such as voice over IP (VoIP) ...
*SIP, Session Initiation Protocol
The Session Initiation Protocol (SIP) is a signaling protocol used for initiating, maintaining, and terminating communication sessions that include voice, video and messaging applications. SIP is used in Internet telephony, in private IP telepho ...
*SLP, Service Location Protocol
*SMB, Server Message Block
Server Message Block (SMB) is a communication protocol used to share files, printers, serial ports, and miscellaneous communications between nodes on a network. On Microsoft Windows, the SMB implementation consists of two vaguely named Windows ...
*SMTP, Simple Mail Transfer Protocol
The Simple Mail Transfer Protocol (SMTP) is an Internet standard communication protocol for electronic mail transmission. Mail servers and other message transfer agents use SMTP to send and receive mail messages. User-level email clients typ ...
*SNTP, Simple Network Time Protocol
*SSH, Secure Shell
The Secure Shell Protocol (SSH Protocol) is a cryptographic network protocol for operating network services securely over an unsecured network. Its most notable applications are remote login and command-line execution.
SSH was designed for ...
*SSMS, Secure SMS Messaging Protocol
*TCAP, Transaction Capabilities Application Part
*TDS, Tabular Data Stream
*Tor (anonymity network)
Tor is a free overlay network for enabling anonymous communication. It is built on free and open-source software run by over seven thousand volunteer-operated relays worldwide, as well as by millions of users who route their Internet traf ...
* Tox
*TSP, Time Stamp Protocol
*VTP, Virtual Terminal Protocol
*Whois
WHOIS (pronounced as the phrase "who is") is a query and response protocol that is used for querying databases that store an Internet resource's registered users or assignees. These resources include domain names, IP address blocks and autonomo ...
(and RWhois), Remote Directory Access Protocol
*WebDAV
WebDAV (Web Distributed Authoring and Versioning) is a set of extensions to the Hypertext Transfer Protocol (HTTP), which allows user agents to collaboratively author contents ''directly'' in an HTTP web server by providing facilities for conc ...
*WebRTC
WebRTC (Web Real-Time Communication) is a free and open-source project providing web browsers and mobile applications with real-time communication (RTC) via application programming interfaces (APIs). It allows audio and video communication and ...
*WebSocket
WebSocket is a computer communications protocol, providing a full-duplex, simultaneous two-way communication channel over a single Transmission Control Protocol (TCP) connection. The WebSocket protocol was standardized by the Internet Engineering ...
* X.400, Message Handling Service Protocol
* X.500, Directory Access Protocol (DAP)
*XMPP, Extensible Messaging and Presence Protocol
Extensible Messaging and Presence Protocol (abbreviation XMPP, originally named Jabber) is an open communication protocol designed for instant messaging (IM), presence information, and contact list maintenance. Based on XML (Extensible Marku ...
* Z39.50
References
External links
*
*{{Wikiversity-inline, Application layer
OSI model