Application Layer
The application layer is a layer in the Open Systems Interconnection (OSI) seven-layer
model in the TCP/IP protocol suite. It consists of protocols that focus on process-to-process
communication across an IP network and provides a firm communication interface and end-
user services.
        The application layer is the seventh layer of the OSI model and the only one that
directly interacts with the end user. The application layer provides many services, including:
   ●   File transfer
   ●   Web surfing
   ●   Web chat
   ●   Network data sharing
   ●   Virtual terminals
   ●   Various file and data operations
       The application layer provides full end-user access to a variety of shared network
services for efficient OSI model data flow. This layer has many responsibilities, including error
handling and recovery, data flow over a network and full network flow. It is also used to
develop network-based applications. The functions of the application layer are:
   ●   Facilitate the user to use the services of the network
   ●   Develop network-based applications
   ●   Provide user services like user login, naming network devices, formatting messages,
       and e-mails, transfer of files etc.
   ●   Error handling and recovery of the message as a whole.
Application Layer Protocols
       This layer uses a number of protocols, the main among which are as follows:
           ● Hypertext Transfer Protocol (HTTP)
                  ➔ The underlying protocol for world wide web; it defines how hypermedia
                    messages are formatted and transmitted
           ● File Transfer Protocol (FTP)
                  ➔ A client-server based protocol for transfer of files between client and
                    server over the network
           ● Simple Mail Transfer Protocol (SMTP)
                  ➔ Lays down the rules and semantics for sending and receiving electronic
                    mails (e-mails)
           ● Domain Name Service (DNS)
                  ➔ A naming system for devices in networks; it provides services for
                    translating domain names to IP addresses
           ● Telecommunications Network (TELNET)
                  ➔ Provides bi-directional text-oriented services for remote login to the
                    hosts over the network
          ● Simple Network Management Protocol (SNMP)
                 ➔ Used for managing, monitoring the network and for organizing
                   information about the networked devices
Well-Known Application Layer Protocols and Services
       The application layer is present at the top of the OSI model. It is the layer through
which users interact. It provides services to the user.
   1. Telecommunications Network (TELNET)
          ❏ Used for managing files on the internet and initial set up of devices such as
            switches; allows Telnet client to access the resources of the Telnet server
       Command :
            telnet [\\RemoteServer]
            \\RemoteServer   : Specifies the name of the server to which
       you want to connect
   2. File Transfer Protocol (FTP)
          ❏ A program that promotes sharing of files via remote computers with reliable
            and efficient data transfer
       Command :
              ftp machinename
   3. Trivial File Transfer Protocol (TFTP)
          ❏ An internet software utility for transferring files that is simpler to use than the
            File Transfer Protocol (FTP) but less capable; it is used where user
            authentication and directory visibility are not required
       Command :
              tftp [ options... ] [host [port]] [-c command]
   4. Network File System (NFS)
          ❏ Allows remote hosts to mount file systems over a network and interact with
            those file systems as though they are mounted locally; enables system
            administrators to consolidate resources onto centralized servers on the network
       Command :
              service nfs start
   5. Simple Mail Transfer Protocol (SMTP)
        ❏ Works closely with something called the Mail Transfer Agent (MTA) to send your
          communication to the right computer and email inbox; using a process called
          “store and forward,” SMTP moves your email on and across networks
     Command :
           MAIL FROM:<mail@abc.com?
  6. Line Printer Daemon (LPD)
        ❏ A network printing protocol for submitting print jobs to a remote printer
     Command :
           lpd [ -d ] [ -l ] [ -D DebugOutputFile]
  7. X Window
        ❏ It defines a protocol for the writing of graphical user interface–based
          client/server applications; primarily used in networks of interconnected
          mainframes
     Command :
           Run xdm in runlevel 5
  8. Simple Network Management Protocol (SNMP)
        ❏ Gathers data by polling the devices on the network from a management station
          at fixed or random intervals, requiring them to disclose certain information; a
          way that servers can share information about their current state, and also a
          channel through which an administrate can modify predefined values
     Command :
           snmpget -mALL -v1 -cpublic snmp_agent_Ip_address sysName.0
  9. Domain Name Service (DNS)
        ❏ Translates domain names into IP Addresses, which computers can understand;
          provides a list of mail servers which accept Emails for each domain name
     Command :
           ipconfig /flushdns
  10.      Dynamic Host Configuration Protocol (DHCP)
        ❏ Enables a server to automatically assign an IP address to a computer from a
          defined range of numbers configured for a given network
     Command :
           clear ip dhcp binding {address | * }
Sources:
https://www.techopedia.com/definition/6006/application-layer
https://www.tutorialspoint.com/The-Application-Layer-in-TCP-IP-Model
https://www.geeksforgeeks.org/protocols-application-layer/