Course : Bachelor Applied Physical Sciences (Computer Science)

Paper title : Computer Networks

Year IIIrd (Sem V)

Paper No. 17

Lecture No. 7

Title : Application Layer

Introduction

Hello viewers,

I welcome you to the lecture series on Computer Networks. Today we will understand and learn about application layer, application layer protocols and services. We will try to look into the basic concepts related to application layer like Internet, World Wide Web, HTTP, DNS and URL, protocols related to Application layer and various services provided by Application layer.

Now before we start our main topic let’s get familiar with internet and World Wide Web. As we all know that the Internet has become so ubiquitous, it's hard to imagine life without it. Internet in today’s life isan integral part of our daily routine. Moreover access to the Internet is now becoming a requirement these days. We experience the Internet through the World Wide Web in many ways like while emailing and chatting with friends,playing online games, doing online shopping for deals on web sites and streaming videos. Basically all these applications that we useprovide the human interface to the underlying network. They enable us access the data across network more efficiently and with relative ease. Typically we use these applications without even knowing how they actually work. Now being a formal internet user we really don’t have to care about all these things at all. Our task is to access the information from internet not how this information is accessed actually. However, for network professionals, it is important to know how an application is able to format, transmit and interpret messages that are sent and received across the network.

What is application layer?

Virtually all networks in use today are based in some fashion on the Open Systems Interconnection (OSI) standard. OSI was developed in 1984 by the International Organization for Standardization (ISO), a global federation of national standards organizations representing approximately 130 countries.

The core of this standard is the OSI Reference Model, a set of seven layers that define the different stages that data must go through to travel from one device to another over a network.

As we all know that the OSI (Open System Interconnection) reference Model is a set of seven layers which are as follows:

  1. Physical Layer
  2. Data Link Layer
  3. Network Layer
  4. Transport Layer
  5. Session Layer
  6. Presentation Layer
  7. Application Layer

And the TCP/IP reference Model consists of 4 layers as follows:

  1. Network Access Layer (Host to Network)
  2. Internet Layer
  3. Transport Layer
  4. Application Layer

As we can see the top most layer in both reference models is common i.e. application layer. And this is the core part of our topic.

Let’s understand now the definition of application layer first. What is it actually?

Application layer is a logical layer and the highest most layer in both OSI and TCP/IP layered model. All the layers in OSI (Open System Interconnection) reference Model are logical except first layer i.e. Physical layer. The application layer exists in both layered models. So it got a very important significance which is interacting with user and user applications. This layer is for those specific applications which are involved in communication system.

In other words, The OSI (Open System Interconnection) reference Model defines the application layer as being the user interface.

So it is clear from the definition that application layer deals with interacting user and variety of user applications.

Next issue which comes to our mind is why we need this application layer? What is the major purpose of this layer?

Purpose of Application Layer

So let’s understand now what the purpose of application layer is exactly

When we talk about internet there are two things we need to concern about. How do we connect and how can we access or share the information. Like we earlier said if you are a formal user then you will not be interested in understanding how do we connect to the internet. But our main purpose is how to get, share and access information from internet.So accessing the information from internet is more important than connecting to the internet. If you are connected to internet by any mean and still not able to access it then there will be no use of this internet. That is where Application layer comes into play.

The application layer enables the user whether it’s human or software, to access the network. It provides user interfaces and support for services such as electronic mail, remote file access and transfer etc. So the major role of application layer is that

The application layer is responsible for providing services to the user

So far we understand now what is application layer and what is its purpose. Next part of our discussion is application layer protocols.

Now we will discuss the application layer protocols

What is a protocol?

In information technology a protocol is the special set of rules or agreements used between two or more end points.
We use protocol in your daily life! Example: Say you go to the Library, you ask for a specific book, the Librarian goes do you have any ID? You give him your ID, if it's OK then he gives you required book. This is a protocol! ID. This is the protocol for issuing books - you both understand each other about what needs to be done. Same with computers!

Computers have protocols for

a)the web: HTTP

b)transferring files: FTP

c)the internet: IP (Internet Protocol)

We often use the terms Application, program and software. Don’t confuse application with programs or software’s. There’s an ambiguity in understanding Application Layer and its protocol. We cannot put every user application into Application Layer but only those applications which interact with the communication system. Like in the Internet layer we use IP addresses here we use Email’s and domain names as addresses.

Let’s take an example of any often used application like designing software or text-editor; we cannot consider them as application layer programs

On the other hand when we use a Web Browser, which is actually using HTTP (Hyper Text Transfer Protocol) to interact with the network, now we can say HTTP is Application Layer protocol which we take into consideration when we study layered models.

So it is not important what software we use; it’s the protocol which is considered at Application Layer used by that software.

Next we have the types of protocols in Application Layer

The application layer supports various protocols as given below

  • Remote login category
  • Telnet
  • File transfer category
  • FTP
  • Electronic mail category
  • SMTP
  • IMAP
  • POP
  • Support services category
  • DNS

Other Protocols examples are HTTP (Hyper Text Transfer Protocol), DHCP (Dynamic Host Configuration Protocol), ARP (Address Resolution Protocol) etc.

As we mentioned above there are variety of protocols used at application layer but at this moment we will discuss about HTTP (Hyper Text Transfer Protocol) and DNS (Domain Name System).

HTTP , DNS & WWW

Let’s start with HTTP first as we are using this name very frequently.Hypertext Transfer Protocol(abbreviated as HTTP)is a set of standards which is mainly used to access data on the World Wide Web or that allow users of the World Wide Web to exchange information found on web pages. Let’s understand it this way, whenever we want to access any web page we always enter in front of the web address, which tells the browser to communicate over HTTP.

For example, the full URL (Uniform Resource Locator) is written as It is not important that you need to write the full URL every time you access internet. In the address bar you can simply write say google then press Ctrl + Enter and you are on as simple as that. Moreover today's modern browsers no longer require even HTTP in front of the URL since it is the default method of communication. But, it is still used in browsers because of the need to access other protocols such as FTP through the browser. Below are a few of the major facts on HTTP.

  • The term HTTP was coined by Ted Nelson.
  • HTTP/0.9 was the first version of the HTTP and was introduced in 1991.
  • HTTP/1.0 is specified in RFC (Request for Comments) 1945 and introduced in 1996.
  • HTTP/1.1 is specified in RFC (Request for Comments) 2616 and officially released in January 1997.

Beside these fact’s we must remember that

HTTP transfers files and uses the services of TCP on well known port 80.

As we are talking about HTTP now these days we also use the term HTTPS

I will not be going into detail but let’s know what is it

Hypertext Transfer Protocol over Secure(abbreviated as HTTPS) is a secure method of accessing or sending information across a web page. All data sent over HTTPS is encrypted before it is sent, this prevents anyone from understanding that information if intercepted. Because data is encrypted over HTTPS, it is slower than HTTP, which is why HTTPS is only used when requiring login information or with pages that contain sensitive information. For example while doing online transaction on a bank web page, using debit or credit card while doing online shopping etc.

This is all about HTTP and HTTPS.

Next Protocol which falls under the Support services category is DNS (Domain Name System)

Let’s get familiar with the domain name first.

Domain is basically the part of a network address that identifies it as belonging to a particular domain. For example, the domain name microsoft.com represents about a dozen IP addresses. Domain names are used in URLs to identify particular Web pages. For example, in the URL the domain name is microsoft.com

Every domain name has a suffix that indicates which top level domain (TLD) it belongs to. There are only a limited number of such domains. For example:

a)gov - Government agencies

b)edu - Educational institutions

c)org - Organizations (nonprofit)

d)mil - Military

e)com - commercial business

f)net - Network organizations

So as now we are familiar with the Domain name.

Let’s get introduced with DNS (abbreviated as Domain name System).

If you've ever used the Internet, then you've used the Domain Name System, or DNS, even without realizing it. DNS is a protocol within the set of standards for how computers exchange data on the Internet.

We, humans can easily remember names and domain names are alphabets like yahoo.com, google.com, Wikipedia.org etc. But on the other hand Computers are good with numbers. Computer can easily understand numbers 0, 1.

So the basic job of DNS is to turn a user-friendly domain name like "Google.com" into an Internet Protocol (IP) address like 70.42.251.42 that computers use to identify each other on the network. It's just like your computer's GPS for the Internet.

Basically, if we are asked to find a computer on the network, it can be done in two ways. We are familiar with physical address [MAC address] and logical address [IP address]. So these are the two basic entities used for identifications of any computer on the network. If we are given with both physical and logical addresses it is easy to locate a particular computer on network. But problem arise if we either given with one address Physical address or logical address at a time.

In order to overcome this problem and in order to identify a computer on the network we have two protocols

  1. ARP (Address Resolution Protocol)
  2. RARP (Reverse Address Resolution Protocol)

As we all know that each Network interface cards (NICs) have a hardware address or MAC address associated with them. Applications understand TCP/IP addressing, but network hardware devices, such as NICs, do not. For example, when two Ethernet cards are communicating, they have no knowledge of the IP address being used. Instead, they use the MAC addresses assigned to each card to address data frames. So the Address Resolution Protocol (ARP) was designed to provide a mapping from the logical TCP/IP addresses to the physical MAC addresses.

In other words we can say that it defines a method that is used to ask, and answer, the question "which IP address corresponds to a given MAC address?

On the other hand the job of RARP is reverse of ARP that’s why it is called Reverse ARP protocol. RARP is used when the MAC address is known, but the IP address has not been identified.

In other words we can say that it defines a method that is used to ask, and answer, the question "which MAC corresponds to a given IP address?

So we can summarize it in one line that ARP translates IP addresses into MAC addresses. The Reverse Address Resolution Protocol or RARP is used to find a TCP/IP address from a MAC address.

Next thing that we need to understand is WWW (World Wide Web)

Now we often Use terms Internet and WWW every day. Here we need to realize that Internet is a Hardware thing and WWW is a software thing. Internet is a collection of nodes. We can actually see the nodes connected with each other. On the other hand WWW World Wide Web is softwareor system which is used to use to access the information from internet.

We will start with the definition of World Wide Web first

World Wide Web (abbreviated as WWW or W3) is a system of interlinked hypertext documents which can be accessed via the Internet. The Web isn't the only system out there, but it's the most popular and widely used. There are several applications that make it easy to access the World Wide Web. There are many web browsers around which can be used to access internet. The most popular web browsers are Mozilla Firefox, Google Chrome and Internet Explorer. With the help of theseweb browsers we can view web pages that may contain information or data like text, images, videos, and other multimedia. We can alsonavigate between them from one page to another via hyperlinks.

This is little detail about World Wide Web.

So till this topic we learned Internet, Application Layer, the purpose of application layer, the protocols associated with application layer and the full URL (Uniform Resource Locator)

Now we are left with Application Layer Services

So far we have understood that the application layer provide variety of support and services as we have mentioned above. There is wide range of applications services which are used at application layer but we don’t need to discuss all of them.

Very Specific services provided by the application layer are as follows

  1. File transfer, access and management. This application allows a user to access files in a remote host (to make changes or read data), to retrieve files from a remote computer for use in the local computer.
  2. Mail services. This application provides the basis for email forwarding and storage.
  3. Directory services. This application provides distributed database sources and access for global information about various objects and services.

Conclusion

To conclude, in this lecture we learnt about the application layer, application layer protocols and services. We will try to look into the basic concepts related to application layer like Internet, World Wide Web, HTTP, DNS and URL, protocols related to Application layer and various services provided by Application layer.

Thank you for watching the programme.

QUIZ Application layer

Q. 1 Which of the following is an application layer service?

a)Remote log-in

b)File transfer and access

c)Mail service

d)All the above

Q. 2 A computer user mostly interacts with

  1. the application layer
  2. the physical layer
  3. the network layer
  4. all of the above

Q.3 The protocol data unit (PDU) for the application layer in the Internet stack is

  1. Segment
  2. Datagram
  3. Message
  4. Frame

Q.4 Application layer is a

  1. Physical layer
  2. Logical layer
  3. Physical and logical
  4. All of the above

Q.5 The protocols not suppoted by application layer are

  1. Telnet
  1. FTP
  1. SMTP and IMAP
  1. TCP and UDP

Q.6 HTTP uses the sevices of TCP on well known port

  1. 70
  1. 60
  1. 85
  1. 80

Q.7 .com is a

  1. Web address
  1. Link address
  1. Web page address
  1. Uniform resource locator

Q.8 Each network interface card has a

  1. IP address
  1. Logical address
  1. Mac address
  1. All of above

Q.9 The OSI Reference Model layers, in order from top to bottom, are

a)Application, Physical, Session, Transport, Network, Data Link, Presentation

b)Application, Presentation, Network, Session, Transport, Data Link, Physical