Monday 29 June 2015

D1 (v2): The Role of TCP/IP and how it links to the Application Layer


Introduction
This report will explain the application layer and how it links to various protocols such as; HTTP (Hypertext Transfer Protocol), HTTPS (HTTP Secure), SMTP (Simple Mail Transfer Protocol) and FTP (File Transfer Protocol). I will also describe each protocol and what they are used for, especially TCP/IP which will be one of the main focuses of this document.
The Internet Protocol Suite
The internet protocol suite or Transmission Control Protocol/Internet Protocol (TCP/IP) is used to provide end-to-end connectivity specifying how data should be packetized, addressed, transmitted, routed and received at the destination. Like a rule book of the internet, how every single packet gets created, sent and retrieved, the internet follows this protocol so that data is sent and retrieved effectively and securely.
The TCP/IP protocol stack consists of four layers, the application layer represented by HTTP (Hypertext Transfer protocol, the Transport Layer represented by TCP and the Data Link Layer. The image below is a graph that represents what data goes through when it gets sent to different targets, every single packet is filled with information that represents these various layers. So the application of which the packet is a part of is marked on the packet, the IP address is also marked upon it and the address of its intended target. TCP/IP allows two devices to communicate with each other and ensures data reaches its correct destination and makes sure that all of the data is received and depending on the protocols used within the layers can also be responsible for sending this data securely.
It is important to note that each layer does not care about the other, and do their own jobs once they receive data from the previous layer. So the application layer only does its job and sends data to the transport layer when it receives data from the client computer. So if the user opened up a browser and went to a website, the protocol HTTP would be used in the application layer based on the user’s input and where they’re trying to connect to.
The Application Layer
The application layer is the topmost layer of the TCP/IP protocol; it includes data for the type of application that is being used for the current process. The application information needs to be set before data goes through the protocol as the data packets need to know what they’re being used for and how. The application layer will use a variety of protocols depending on what software the packet is being sent or received from. It can use the HTTP, FTP, POP (Post Office Protocol) or IMAP protocols. What protocol gets used will depend on the port the client receives data from, for example, HTTP, when used has its packets sent through port 80. Packets have a label in their application layer, which is how it gets detected and brought through the correct port.
The Transport Layer
This layer is what is responsible for splitting data into multiple packets and then reconstructing those packets into the file that was being sent. It also contains the ability for making checks on each individual packet to make sure that when one is destroyed it can be replaced. The transport layer receives data from the application layer, which determines how big each packet is and how many there are, it all depends on the type and size of the file. The protocol used within the transport layer can be TCP or UDP, however TCP is a lot more reliable and secure than UDP and is therefore the most used. The transport layer is also responsible for creating a connection between hosts and moves the packet towards its destination. The transport layer sends the packets onto the network, so that they can be routed and sent correctly to their destination via the network layer.
The Network Layer
The network layer which mainly uses the IP protocol is the layer responsible for the organisation and movement of data on a network. It’s the layer that will deal by the routing of data over various networks, it’s also the layer that will give a packet its IP address for where it came from and the destination address for where it’s being sent to. It can also remove said addresses and then pass it to the transport layer for further unpacking of the packet being processed. Information that the network layer creates will be sent off to the data link layer for the process to finish and send a packet. This is so that the data link layer knows what network it’s going to and what Ethernet card address to put onto the packets. This layer is used for sending packets to their correct destination and also handles the movement of data on a network where hopping takes place.
Data Link Layer
The data link layer or just link layer, adds the hardware addresses to the packets it receives from the network layer and then dispatches the packets onto the local cable that leads to the internet. On a local area network these hardware addresses would be Ethernet card addresses or MAC addresses. It also insures that data has been sent and received successfully, as it’s the last layer of the TCP/IP protocol. It can also detect and in some cases correct errors that occur within the procedure, in the case of TCP/IP it can make sure each network host recognises how much data and what type of data it’s about to receive. The layer deals with the hardware of a server or computer system, and interacts with drivers within the Operating System (OS) and the network interface card attached or embedded within the system. This goes for both the client and the server.

Links to the Application Layer
TCP/IP makes use of the application layer so that each network host can understand what sort of scenario the packets are being sent under. The application layer will change to represent an email and if it were to represent an upload of a .zip file, it also allows for accurate determination of what sort of protocol should be used within itself. So if the application was sending a file, it would use the File Transfer Protocol (FTP) and if it was sending an email it would use the protocols; Internet Message Access Protocol (IMAP) or POP3. The application layer changes what it represents based on the port it goes through, so packets going through port 80 on the internet represent the HTTP protocol.
Without the application layer within the TCP/IP protocol the receiver would not understand what type of data they are receiving, and might ruin the rest of the procedure. If the data isn’t identified it cannot be manipulated accurately and won’t even be understood by both hosts, it would just fail to send all the packets to either host. The internet protocol suite is simply a well-known way of distributing data across the internet, and the layers can interchangeably use different protocols depending on the situation and type of application manipulating the data.
In terms of the application layer it has the most amount of protocols available to it including DNS, FTP, IMAP, POP3 and HTTP. HTTP is a good example as it is responsible for surfing the World Wide Web, when visiting a page, data has to be sent and received from the client and server. The client would most likely send information like where you’re located and inputs you would make on the website. The server would receive this information, and then send back the data that makes up the website.
The layer that determines if it’s a website in the first place is the application layer that also makes use of the HTTP protocol to make sure that website information is sent between the user and server. The application also has links to the HTTPS protocol which is just a more secure version of the HTTP protocol, and allows for safe transferring of data or packets across the internet. The application layer and the internet protocol suite have huge links in this aspect, as the World Wide Web is probably the most popular use of the internet. The application layer is responsible for managing that data and making sure that data is under the right type of software.
So for HTTP the packets are most likely being sent to a browser and being received by a web-server containing the information for the HTTP-based website. This logic applies to email as well, IMAP would refer to email servers used for sending small but understandable amounts of data from different IMAP servers and clients of those servers requesting to view messages.

Application Layer Protocols
The way the application layer functions will depend on the protocol it is running, which in turn depends on the port the user is requesting data from. For example, when data is being sent through port 80 it will use the HTTP protocol, however if the data is being sent through port 443 it will be using the HTTPS protocol, an extended, more secure version of the HTTP protocol. The application layer on its own, as mentioned beforehand, does not interact or care about any other layer activity, it just receives data from the client/server and sends it to the next layer. In the case of TCP/IP it will send the data to the transport layer.
HTTP and HTTPS
HTTP and HTTPS are two different protocols, but contain much of the same architecture and work in the same way. They use two different ports, port 80 for HTTP and port 443 for HTTPS. These two protocols are used in the World Wide Web, a sub-section of the Internet network. They are reserved for website data stored on web servers across the globe, it’s what allows a user to communicate and interact with different webpages.
HTTPS on the other hand is a protocol based on HTTP that provides better security and less risk of a user having their data eavesdropped on. HTTPS is actually a combination of TLS/SSL and HTTP protocols, it’s important to note that websites that have HTTP can also bump up their security using TLS/SSL afterwards and use HTTPS.
IMAP
IMAP is mainly used for email messaging and communicating over special email servers that handle email related data. IMAP uses port 143 while IMAPS (the variant that runs IMAP over SSL) uses port 993. This is mainly used for accounts across multiple devices being connected at once, as IMAP allows multiple clients to be connected at the same time across different devices. This is its primary advantage over POP3 as POP cannot support multiple devices, this is extremely useful in this day and age since people have laptops, tablets and smart phones to make use of the protocol.
IMAP is used to view your email rather than downloading it off of a server to keep it on your client, this saves memory and storage space. This is advantageous in this time since smart phones and tablets need all the data and storage they can get, which is why IMAP is primarily used on mobile devices.
POP3
POP3 is an old but reliable protocol used for Email and goes by default through port 110, POP3S goes through port 995. POP3 downloads Emails, so it’s very similar to protocols that transfer files from one another, except in this case it’s just Emails. POP3 creates a very basic service, if you were to view your email account from one place on POP3, and then tried the same thing on another device you would not see the same content. This is because POP3 downloads to one primary system and then keeps the emails there, which is not affected by servers like IMAP. This is advantageous because it provides security and less chance of someone eavesdropping on your emails, it also means organisations in general will have a harder time looking through your emails.

TLS/SSL and QUIC
Transport Layer Security (TLS) and Secure Socket Layer (SSL) are security protocols used to boost the security of other protocols. It’s constantly used to be attached to base protocols so that it can be made more secure, for example, when TLS or SSL is used on HTTP it becomes HTTPS, a more secure version of the same protocol. They are designed to run on the application layer which is why it only affects the top-layer protocols, it’s why you have things like POP3S and even IMAPS.
This protocol is based on certificates issued that confirm security and legality of the location the user is visiting, companies like Wikipedia and Facebook use TLS 1.2. It’s why HTTPS instead of HTTP appears in the address bar. Google uses its own form of encryption for its websites which is also based on a transport layer protocol, known as QUIC.
QUIC or Quick UDP (User Datagram Protocol) Internet Connections is an experimental encryption method and transport layer network protocol developed by Google themselves. It’s main goal is to improve performance perceived by the user of web applications currently using TCP (since QUIC is also a transport layer protocol, not only an application layer encryption method).
If you were to go on a Google-owned website and view the certificate, you’d see the image on the left.

Conclusion
In conclusion the application layer is one of the needed layers of the Internet Protocol Suite, its links are obvious as it is required to make sure TCP/IP is using the right application, whether that be email, file transfer or the World Wide Web. And in some special cases, can even use a protocol that is also used in the transport layer for security, and transferring of data. However it’s not the most important layer, (or the internet protocol suite wouldn’t also be referred to TCP/IP), but definitely a necessary layer to better organise the huge amounts of data that goes through the giant web of networks known as the Internet.

References


1 comment: