Application Layer

An user of a system occupies a seat in front of it and interact with it using the i/o subsystem and thus provide services to the host through some protocols. An “application layer” is used in both the OSI model and TCP/IP, it is the 7th layer in OSI model and 5th in TCP/IP. This layer is anabstraction layerthatspecifies the sharedprotocolsandinterfacemethods used byhostsin a communications network. There are some differences in application when referred to OSI or when referred in TCP/IP models.

Sl / TCP/IP Model / OSI Model
1 / In TCP/IP, the application layer contains thecommunications protocolsandinterfacemethods used in process-to-process communications across anInternet Protocol(IP)computer network. / In theOSI 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
2 / The application layer only standardizes communication and depends upon the underlyingtransport layerprotocols to establish host-to-host data transfer channels and manage the data exchange in aclient-serverorpeer-to-peernetworking model. / OSI also explicitly distinguishes additional functionality below the application layer, but above the transport layer at two additional levels: thesession layer, and thepresentation layer.
3 / Though the TCP/IP application layer does not describe specific rules or data formats that applications must consider when communicating, the original specification (inRFC 1123) does rely on and recommend therobustness principlefor application design. / OSI specifies a strict modular separation of functionality at these layers and providesprotocol implementationsfor each layer.

Application layer Protocols

The IETF definition document for the application layer in the Internet Protocol Suite isRFC 1123. It provided an initial set of protocols that covered the major aspects of functionality of the earlyInternet.

  • Remote login to hosts:Telnet
  • 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 Protocolover TCP (CMOT)

Client Server Model

A common way of organizing software to run on distributed systems is to separate functions into two parts:

  1. Clients : Aclientis a program that uses services that other programs provide
  2. Servers : The programs that provide the services are calledservers.

How do the client server model works:

  1. The client makes a request for a service, and a server performs that service.
  2. The client is isolated from the need to know anything about the actual resource manager. Server functions often require some resource management, in which a server synchronizes and manages access to the resource, and responds to client requests with either data or status information.
  3. Client programs typically handle user interactions and often request data or initiate some data modification on behalf of a user.

For example, a client can provide a form onto which a user (a person working at a data entry terminal, for example) can enter orders for a product. The client sends this order information to the server, which checks the product database and performs tasks that are needed for billing and shipping. Typically, multiple clients use a single server. For example, dozens or hundreds of clients can interact with a few servers that control database access.

Some servers are part of an application and are referred to asapplication servers. Other servers are not part of a specific application. Instead, any application can use them. For example, the CICS® Structured File Server (SFS) provides record-oriented file access for applications.

Domain Name System:

As discussed above the applications actually run on a remote system called server, the user access them on their machine called the client. The applications programs can be referred form webpages, mailboxes and other resources used by using the network (IP) addresses of the severs.

  1. It is hard to remember the IP addresses
  2. If the company moves to different location (i.e. on another server) and acquires a different IP address, then every user of that application need to be told of the change.
  3. Consequently high level, readable names were provided for these IP numbers. Instead of remembering IP numeric addresses, domain names like or would be much easier to remember and then wherever the web page is hosted, it would be known by these domain names.

DNS (Domain name Service) was invented in 1983. The main essence is its hierarchical. domain-based naming scheme and a distributed database system for implementing this naming scheme. It is primarily used for mapping host names to IP addresses.

How does DNS work:

  1. To map a name onto an IP address, an application program calls a library procedure called the resolver, passing it the name as a parameter.
  2. The resolver sends a query containing the name to a local DNS server, which looks up the name and returns a response containing the IP address to the resolver, which then returns it to the caller.
  3. The query and response messages are sent as UDP packets. Armed with the IP address, the program can then establish a TCP connection with the host or send it UDP packets.
  1. Your browser sends aquery over the internet to find website for say
  2. The first server your querry interacts with is the recrussive resolver which can be operated by your ISP
  3. The recursive resolver knows which other server it needs to ask to answer your query
  4. The first type of server the resolver talks to is Root Server. Root server runs throughout the world and each know the DNS information about top level domains such as .com.
  5. DNS ensure that the query will be sent to a server that isn’t too far away.
  6. The top level domain (TLD) server answers with the IP address of DNS, which will provide the next piece of information.
  7. The recursive resolver sends the querry to DNS server which knows the IP address for the fiull domain you wanted to know, and answer is returned to the recursive resolver.