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]
Internet protocol suite
editIn 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 RFC 1123) does rely on and recommend the robustness principle for application design.[6][7]
OSI model
editIn 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
editOriginally 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 the use of the functionality of a number of application service elements.[13] Some application service elements invoke different procedures based on the version of the session service available.[14]
CASE
editThe 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)[12]
- ROSE (Remote Operation Service Element)
- CCR (Commitment Concurrency and Recovery)
- RTSE (Reliable Transfer Service Element)
SASE
editThe 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)[15]
- MMS (Manufacturing Messaging Specification)
- RDA (Remote Database Access)
- DTP (Distributed Transaction Processing)
Protocols
editThe 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]
- Hypertext documents: Hypertext Transfer Protocol (HTTP)
- Remote login to hosts: Telnet, Secure Shell
- File transfer: File Transfer Protocol (FTP), Trivial File Transfer Protocol (TFTP)
- Electronic mail transport: Simple Mail Transfer Protocol (SMTP)
- Networking support: Domain Name System (DNS)
- Host initialization: BOOTP
- Remote host management: Simple Network Management Protocol (SNMP), Common Management Information Protocol over TCP (CMOT)
Examples
editAdditional notable application-layer protocols include the following:
- 9P, Plan 9 from Bell Labs distributed file system protocol
- AFP, Apple Filing Protocol
- APPC, Advanced Program-to-Program Communication
- AMQP, Advanced Message Queuing Protocol
- Atom Publishing Protocol
- BEEP, Block Extensible Exchange Protocol
- Bitcoin
- BitTorrent
- CFDP, Coherent File Distribution Protocol
- CoAP, Constrained Application Protocol
- DDS, Data Distribution Service
- DeviceNet
- DNS, Domain Name Services
- eDonkey
- ENRP, Endpoint Handlespace Redundancy Protocol
- FastTrack (KaZaa, Grokster, iMesh)
- Finger, User Information Protocol
- Freenet
- FTAM, File Transfer Access and Management
- FTP, File Transfer Protocol
- Gemini, Gemini protocol
- Gopher, Gopher protocol
- HL7, Health Level Seven
- HTTP, Hypertext Transfer Protocol
- Hypercore, formerly dat://
- H.323, Packet-Based Multimedia Communications System
- IMAP, Internet Message Access Protocol
- IRC, Internet Relay Chat
- IPFS, InterPlanetary File System
- Kademlia
- LDAP, Lightweight Directory Access Protocol
- LPD, Line Printer Daemon Protocol
- MIME (S-MIME), Multipurpose Internet Mail Extensions and Secure MIME
- Modbus
- MQTT Protocol
- Netconf
- NFS, Network File System
- NIS, Network Information Service
- NNTP, Network News Transfer Protocol
- NTCIP, National Transportation Communications for Intelligent Transportation System Protocol
- NTP, Network Time Protocol
- OSCAR, AOL Instant Messenger Protocol
- POP, Post Office Protocol
- PNRP, Peer Name Resolution Protocol
- RDP, Remote Desktop Protocol
- RELP, Reliable Event Logging Protocol
- RFB, Remote Framebuffer Protocol
- Rlogin, Remote Login in UNIX Systems
- RPC, Remote Procedure Call
- RTMP, Real Time Messaging Protocol
- RTP, Real-time Transport Protocol
- RTPS, Real Time Publish Subscribe
- RTSP, Real Time Streaming Protocol
- SAP, Session Announcement Protocol
- SDP, Session Description Protocol
- SIP, Session Initiation Protocol
- SLP, Service Location Protocol
- SMB, Server Message Block
- SMTP, Simple Mail Transfer Protocol
- SNTP, Simple Network Time Protocol
- SSH, Secure Shell
- SSMS, Secure SMS Messaging Protocol
- TCAP, Transaction Capabilities Application Part
- TDS, Tabular Data Stream
- Tor (anonymity network)
- Tox
- TSP, Time Stamp Protocol
- VTP, Virtual Terminal Protocol
- Whois (and RWhois), Remote Directory Access Protocol
- WebDAV
- WebRTC
- WebSocket
- X.400, Message Handling Service Protocol
- X.500, Directory Access Protocol (DAP)
- XMPP, Extensible Messaging and Presence Protocol
- Z39.50
References
edit- ^ "Application Layer | Layer 7". The OSI-Model. Retrieved November 5, 2019.
- ^ "Four Layers of TCP/IP model, Comparison and Difference between TCP/IP and OSI models". www.omnisecu.com. Retrieved November 5, 2019.
- ^ "What is the difference between TCP/IP and IP protocol?". SearchNetworking. Retrieved November 5, 2019.
- ^ "What is the difference between TCP/IP and IP protocol?". SearchNetworking. Retrieved November 5, 2019.
- ^ SEO, Bradley Mitchell An MIT graduate who brings years of technical experience to articles on; computers; Networking, Wireless. "What Is Transmission Control Protocol/Internet Protocol (TCP/IP)?". Lifewire. Retrieved November 5, 2019.
- ^ a b Robert Braden, ed. (October 1989). "RFC 1123: Requirements for Internet Hosts – Application and Support". Network Working Group of the IETF.
- ^ "What is the Application Layer?". www.tutorialspoint.com. Retrieved November 5, 2019.
- ^ "X.225 : Information technology – Open Systems Interconnection – Connection-oriented Session protocol: Protocol specification". Archived from the original on February 1, 2021. Retrieved March 10, 2023.
- ^ Shaw, Keith (October 22, 2018). "The OSI model explained: How to understand (and remember) the 7 layer network model". Network World. Retrieved November 5, 2019.
- ^ a b "What Is The OSI Model?". CloudFlare. 2019. Retrieved November 4, 2019.
- ^ "Application Layer (Layer 7 of the OSI Model)". September 2, 2019.
- ^ a b Hura, Gurdeep (2001). "Application Layer". Data and Computer Communications: Networking and Internetworking. CRC Press LLC. pp. 710–712. ISBN 9780849309281.
- ^ Warrier, U.S.; Besaw, L. (April 1989). Common Management Information Services and Protocol over TCP/IP (CMOT) (Report). doi:10.17487/RFC1095.
- ^ Rose, Marshall T. (December 1988). "ISO presentation services on top of TCP/IP based internets".
- ^ a former OSI standard[permanent dead link]
External links
edit- Media related to Application layer protocols at Wikimedia Commons
- Learning materials related to Application layer at Wikiversity