| Lesson 3 || The application layer of the TCP-IP Protocol |
| Objective || What is the application layer of the TCP-IP Protocol? |
Application Layer of the TCP-IP Protocol
An application-layer protocol is a language network clients and servers use to communicate with each other.
The familiar Internet services are examples of application-layer protocols.
File Transfer Protocol (FTP), Hypertext Transfer Protocol (HTTP), and telnet are examples of application-layer protocols.
On UNIX machines, the
- network, and
- transport layers
are handled by the kernel.
Application-layer protocols are handled by client and server processes. For example, the server side of the FTP protocol is handled by an FTP daemon process; the HTTP, or World Wide Web protocol,
is handled by an HTTP client process (usually a Web browser), on the server side by an HTTP daemon server process.
The application layer
includes the protocols used by most applications for 1) providing user services or
2) exchanging application data over the network connections established by the lower level protocols,
but this may include some basic network support services:
- routing protocols and
- host configuration protocols
Examples of application layer protocols include the
- Hypertext Transfer Protocol (HTTP),
- the File Transfer Protocol (FTP),
- the Simple Mail Transfer Protocol (SMTP), and
- the Dynamic Host Configuration Protocol (DHCP).
Data coded according to application layer protocols are encapsulated into transport layer protocol units (such as TCP or UDP messages),
which in turn use lower layer protocols to effect actual data transfer.
The IP model does not consider the specifics of formatting and presenting data, and does not define additional layers between the application and
transport layers as in the OSI model (presentation and session layers). Such functions are the realm of libraries and application programming interfaces.
Application layer protocols generally treat the transport layer (and lower) protocols as black boxes which provide a stable network connection across
which to communicate, although the applications are usually aware of key qualities of the transport layer connection such as the end point IP addresses and port numbers.
Application layer protocols are often associated with particular client-server applications, and common services have well-known port numbers reserved by the Internet Assigned Numbers Authority (IANA). For example, the HyperText Transfer Protocol uses server port 80 and Telnet uses server port 23.
Clients connecting to a service usually use ephemeral ports, i.e., port numbers assigned only for the duration of the transaction at random or from a specific range configured in the application.
The transport layer and lower-level layers are unconcerned with the specifics of application layer protocols. Routers and switches do not typically examine the encapsulated traffic, rather they just provide a conduit for it. However, some firewall and bandwidth throttling applications must interpret application data.
An example is the Resource Reservation Protocol (RSVP). It is also sometimes necessary for network address translator (NAT) traversal to consider the application payload.
The application layer in the TCP/IP model is often compared as equivalent to a combination of the fifth (Session), sixth (Presentation),
and the seventh (Application) layers of the Open Systems Interconnection (OSI) model.
TCP-IP Layers Application - Quiz