Share this page on
Article provided by Wikipedia
=> Application layer
[pageid] => 172179
|This article needs additional citations for "verification. (August 2015)
An application layer is an "abstraction layer that specifies the shared "protocols and "interface methods used by "hosts in a communications network. The application layer abstraction is used in both of the standard models of "computer networking: the "Internet Protocol Suite (TCP/IP) and the Open Systems Interconnection model ("OSI model).
Although both models use the same term for their respective highest level layer, the detailed definitions and purposes are different.
In TCP/IP, the application layer contains the "communications protocols and "interface methods used in process-to-process communications across an "Internet Protocol (IP) "computer network. 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. 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.
In the "OSI model, the definition of the application layer is narrower in scope. The OSI model defines the application layer as the user interface responsible for displaying received information to the user. In contrast, the Internet Protocol model does not concern itself with such detail. OSI also explicitly distinguishes additional functionality below the application layer, but above the transport layer at two additional levels: the "session layer, and the "presentation layer. OSI specifies a strict modular separation of functionality at these layers and provides "protocol implementations for each layer.
Application layer protocols
(Session Layer under OSI model) 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 functionality of the early "Internet.
Design Patterns for Application layer protocols
Developers implement daily new communication protocols for the Application Layer. As a consequence, this development has become a recursive task, and a series of patterns has emerged: A Pattern Language for Application-level Communication Protocols, Service Design Patterns, Patterns of Enterprise Application Architecture, Pattern-Oriented Software Architecture Volume 4: A Pattern Language for Distributed Computing. In general, these pattern languages intend to provide developers with a tool that allows them to find common solutions according to their requirements of reliability, scalability and Synchronization. Some of the most used patterns are the Request Reply (also known as request-response) and the Request Reply Acknowledge patterns.
Other protocol examples
- "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
- CFDP, "Coherent File Distribution Protocol
- CoAP, "Constrained Application Protocol
- DDS, "Data Distribution Service
- ENRP, "Endpoint Handlespace Redundancy Protocol
- "FastTrack (KaZaa, Grokster, iMesh)
- "Finger, User Information Protocol
- "FTAM, File Transfer Access and Management
- Gopher, "Gopher protocol
- HL7, "Health Level Seven
- HTTP, "HyperText Transfer Protocol
- "H.323, Packet-Based Multimedia Communications System
- IRCP, "Internet Relay Chat Protocol
- KAP, Anonymous File Transfer over UDP/IP (KickAss Protocol)
- LDAP, "Lightweight Directory Access Protocol
- LPD, "Line Printer Daemon Protocol
- MIME (S-MIME), "Multipurpose Internet Mail Extensions and Secure MIME
- "MQTT Protocol
- 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
- RIP, "Routing Information 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)
- TSP, "Time Stamp Protocol
- VTP, Virtual Terminal Protocol
- "Whois (and RWhois), Remote Directory Access Protocol
- "X.400, Message Handling Service Protocol
- "X.500, Directory Access Protocol (DAP)
- XMPP, "Extensible Messaging and Presence Protocol
- ^ a b Robert Braden, ed. (October 1989). "RFC 1123: Requirements for Internet Hosts – Application and Support". Network Working Group of the IETF.
- ^ Jorge Edison Lascano, Stephen Clyde, and Ali Raza. “Communication-protocol Design Patterns (CommDP) - COMMDP.” [Online]. Available: http://commdp.serv.usu.edu/wiki/ . [Accessed: 17-Mar-2017].
- ^ J. E. Lascano and S. Clyde, “A Pattern Language for Application-level Communication Protocols,” presented at the ICSEA 2016, The Eleventh International Conference on Software Engineering Advances, 2016, pp. 22–30.
- ^ R. Daigneau, Service Design Patterns: Fundamental Design Solutions for SOAP/WSDL and RESTful Web Services, 1 edition. Upper Saddle River, NJ: Addison-Wesley Professional, 2011.
- ^ M. Fowler, Patterns of Enterprise Application Architecture, 1 edition. Boston: Addison-Wesley Professional, 2002.
- ^ F. Buschmann, K. Henney, and D. C. Schmidt, Pattern-Oriented Software Architecture Volume 4: A Pattern Language for Distributed Computing, Volume 4 edition. Chichester England; New York: Wiley, 2007.