This is (10th Article) in continuation of our last one article, a new series of networking articles. In this segment, we are going to discuss the Protocol Stack and overview of HTTPS, DNS, and SSL.
The Internet is one of the greatest technological wonders of modern time which enabled simple communication over the globe, opening up better approaches for trade and supporting a wide assortment of different accommodations. It is made out of a plenty of Hardware and Software arrangements. Various governments, networks and partnerships have, exclusively and cooperatively, made huge investments to build the infrastructure and applications of the Internet.
Protocol Stack Meaning
The network system foundation (proxies, firewalls and so forth.) and system applications (Web browsers or Web servers) have one thing common i.e. the Protocol Stack. A protocol is required when segments are developed independently – either by various groups, associations, nations to interoperate and convey the same experience as though they were developed together. For instance, a web browser allows one to get to an online reference book, a Web mail customer allows one to communicate with different people, etc. In these cases, the web browser and the online reference book are not created by a similar association but clients getting to a similar reference book from various web browsers must see the similar content and get a similar look-and-feel. In addition, clients may get to the reference book from various systems like work or home or vehicle or various devices like desktop or laptop or mobile. In every one of these cases, the client should have the option to get to the content flawlessly, yet in addition have a reliable experience. Protocols have a major impact in getting this going.
The other word in the term ‘Protocol Stack‘ will be ‘Stack‘. The early creators of network system protocols predicted the complexities of system communication and proposed a layered way to deal with these complexities. In this methodology, each layer tends to a lot of necessities for communication and distributes those as services to the following higher layer. Thus, a ‘Stack’ of layers gives the full arrangement of functionalists.
More In Detail
This section shows the various steps in communication.
1. A client enters a URL in the web browser or may be clicked on a link; For example, the destination URL is https://etechwall.com/. For this situation, the string www.etechwall.com is alluded to as the hostname (or FQDN or Fully Qualified Domain Name). Web Browser needs to interface with the Web server for the given URL, get the content, and deliver it.
2. To interface with the Web server, the web browser requires a network address (like IP – 192.168.1.1) for the given hostname (for this situation, www.etechwall.com). This is accomplished by playing out a DNS query, which itself includes other sub-steps, which at long last lead to finding a DNS server that provides the necessary network address. Such a server is known as the name server for the FQDN.
3. When the network address is acquired, the web browser interfaces with the Web server and starts a HTTP request. In the event that the server returns information related with the request, the web browser finds the content type and delivers it likewise.
These steps above include the ‘Protocol Stack’. But, the client only interacts with Web Browser. Let’s try to understand.
The underlying usage of the Web Protocol stack was established on four key protocols and they are DNS, IP, TCP, and HTTP. While the other three conventions have remained to a great extent like what they were then HTTP has followed a somewhat unique way. HTTP 1.0 had the disadvantage of allowing just a single request-response pair on a TCP connection, which was implemented in HTTP 1.1.
As the Internet developed, it turned into a stage appropriate for business exercises, principally on the grounds that it united numerous parties. Applying the Web for business normally prompted worries of message integrity, confidentiality and authenticity. HTTP was only a plain text based protocol, offering none of these. In this manner, here comes Secure Socket Layer or SSL, SSLv3 was adequate security for that time. This adds another layer to the Web stack.
Overview Of The Key Protocols
The purpose here is to talk about the key attributes of the protocol. The key Web Protocols are :
1. TCP/P : The Internet Protocol (IP) is the network address arrangement of the Internet and has the main function of conveying packets of data from a source device to a destination device. IP is the essential manner by which network connections are made and it builds up the base of the Internet. IP doesn’t deal with packet requesting or error checking. Such usefulness requires another protocol, commonly TCP. We have already talked about this in a detailed article. Link
2. HTTP : The Hypertext Transfer Protocol (HTTP) is the establishment of the World Wide Web, and is used to load web pages using hypertext links. HTTP is an application layer protocol intended to move data between organized devices and runs on different layers of the system protocol stack. A normal stream of data over HTTP includes a client machine making a request to a server, which at that point sends a response message.
HTTP follows the client-server architecture. The HTTP client starts a request which would be having some content. Each request has a technique that shows the type of service required by the client. The most well known is the GET method, which is a request for data. The server answers with a HTTP response that either gives the data or returns an error code. It is ideal to simply take a look at the HTTP request response pair to get some idea of the protocol. A HTTP message consists of a header and a body.
3. DNS : DNS, the Domain Name System, is given by the aggregate exertion of the following elements:
A. DNS Client
- DNS resolver in OS i.e. Stub Resolver
B. DNS Servers
- Recursive Resolvers – the elements that get the DNS requests from stub resolvers.
- Authoritative DNS servers – which have the different DNS attributes for Host names.
The client starts a DNS request, which contains at least one inquiry. The key properties of each inquiry are Hostname (or fully qualified domain name) and DNS property type.
Different DNS property types are:
- A (request for IPv4 address of the hostname)
- AAAA (request for IPv6 address)
- MX (request for mail server addresses)
- TXT and so on.
The DNS servers parse the requests and either forward it to root level DNS or response. The DNS response contains answers that either contain an error code or the data requested for by the client. It likewise contains metadata, as TTL or the time span for which the response is substantial.
4. SSL : The information transported on DNS and HTTP protocols is in plain text. This suggests if the information can be caught by a hacker or attacker, it is promptly accessible for survey and understanding. Second, not only is the information accessible to the hacker, it is feasible for this hacker to try and alter in-flight information for its own advantage (called Man-In-The_Middle attack). In this way, these protocols don’t have the properties of :
- Confidentiality : stopping information seeing by an uninvolved outsider.
- Integrity : stopping information altered by an outsider.
- Authenticity : an entity owns the data with the help of SSL certificate.
SSL protocol was improved and normalized by IETF as TLS. The SSL protocol has two stages: the Handshake stage and the Record stage. During the Handshake, the client and server arrange a session key, which is used to encrypt the genuine information that is moved during the Record stage of the protocol. Additionally, SSL consolidates information marks with the end goal that any change to the information can be recognized by the other party. In this way, when HTTP is transported over SSL i.e. HTTPS, it is sensibly protected from outsider hackers.
If you have any suggestions or thoughts, just comment down below.