Skip to main content

Command Palette

Search for a command to run...

Networking Protocols 101

Computers' way of interacting

Updated
8 min read
Networking Protocols 101
P

Tech. Support guy who is writing blogs on Computer Science. Would be happy to join an organization as a Technical Content Creator.

Hey Everyone!

For being in shape and getting identified, a system of computer networks follows a standard set of rules governed by protocols that define its endpoints along with its data communication between those endpoints. Hardware, software or the combo decides the complexity of the protocols. The protocols interact with each other accordingly. The protocol plays within a protocol stack popularly known as a layer in any communication Networking Architectural reference model (say OSI). Regardless of the structural difference of the computers, the protocol allows a preset rate of data transfer (data packets) and deals with the format of the data along with its problem during transmission.

The soul of any networking protocol, which I see as nothing less than a digital language that helps the computing devices communicate over the network, lies in its timing, semantics and syntax.

1)Timing - It refers to two aspects as follows: (i) what should the data sending and receiving speeds be (ii) when should the data be sent.

A simple example is Teacher & Student. If the teacher teaches and finishes the entire syllabus in a day, a student is bound to forget/lose multiple points. So, the data sending rate must be synchronized with the data receiving rate to avoid data loss.

2) Semantics - It refers to the comprehension of the bits. Each section of the bit has a meaning depending upon the place in the network where it is present. It has an action associated with it that needs to be taken. A section of bits might mean the start entities too.

3) Syntax - It is about the structure/format/order of the data being packaged and sent by the sender and received and opened by target entities. Suppose the first section of bits represents the address or configuration of the sender and target entities, then the next section of bits is for the header and so on.

Classification of Protocols ~ The business needs determine which protocols are suitable. The three major types are Network Management Protocols, Network Protection Protocols (Security Protocols) and Network Communication Protocols.

Let's see some foundational protocols.

  1. HyperText Transfer Protocol (HTTP): HyperText is a text that links to other text. HTTP simply tells how the data is transmitted all over the internet eg. World Wide Web (WWW). This protocol loads the internet pages. HTTP is a Pull Protocol which means client pulls information from the server instead of server pushing the information to the client. A HTTP request is not aware of the state of another HTTP request, this makes HTTP a stateless protocol. As soon as the server(Computer in the cloud) has returned with a response to the Client(web browser) request, the connection is dropped immediately. This makes it a connection-less protocol. For accessing the materials like images, audio files or even the application logs from the web, HTTP makes requests to the Web Application Programming Interfaces (APIs). For this HTTP has Request methods also known as HTTP verbs and these are GET, PUT, DELETE, POST, PATCH, OPTIONS, HEAD corresponding to the Create, Read, Update and Destroy i.e CRUD operations over that material/data.

  2. Secure Socket Layer / Transport Security Layer (SSL/TSL): For establishing secured data communication over a computer network i.e client & server using authentication and encryption, SSLs were deployed till 1999. Transport Security Layer took the charge after that. For confirming the identities of the communicating computers SSL has Handshake Protocol which consists of exchanging the cipher suite(set of SSL instructions for securing the network while communicating), protocol version, and session keys exchange post the client/server authentication then comes the finalization of a handshake.

  3. HyperText Transfer Protocol Secure (HTTPS): HTTP over SSL/TSL is a secure version of data communication on the internet between a web browser and a server. Some URL do look like "https://", this means that the data being communicated between the web browser and the server is encrypted. The part where login credentials or sensitive data is involved, this protocol could secure the data transmission with the security protocol which in turn deploys the Asymmetric Public Key Cryptography (PKC) Infrastructure. Cyptographic key is a piece of information that tells how a plaintext is locked(encrypted). There are two such keys, Publish(public) Key and Private Key. The term Asymmetric determines that the key for encryption is different than the decryption key. The public key encrypts the plaintext and the private decrypts the cipher text. The public key cryptographic algorithms like Elliptical Curve Digital Signature Algorithm (ECDSA) or Rivest-Shamir-Aleman(RSA) are used with TSL.

  4. Internet Protocol (IP): A set of rules that governs the traversing of data packets over the internet. Every device in the network is assigned an IP Address for defining its position and thus the destination of data packets in the network. This process that involves the traversing of the data packets i.e datagrams and defining certain locations(domains or devices) for the data communication over the internet is known as routing and addressing. IP determines the format of the IP packets. These data packets have the sender's IP address and the receiver's host IP address. IP is in 3rd layer of Open System Interconnection (OSI) Model. IP has two versions, i.e IPv4 and IPv6. IPv4 uses 32-bit (4-bytes) for addressing and IPv6 using 128-bits or 16 bytes (8*4*4bits) for uniquely addressing the devices on the network. IPv4 addresses are represented by groups of numbers(octets) separated by dots eg. '172.217.27.196' or 10101100.11011001.00011011.11000100. Every octet ranges between 0-255. IPv6 address consists of eight hexadecimal alpha-numeric groups separated by a colon. It looks like 2003:a67e:0009:0000:d884:170b:5c03:ebc0, also written as 2003:a67e:9::d884:170b:5c03:ebc0.

  5. Transmission Control Protocol (TCP): TCP is also known as the connection oriented protocol. Once the IP defines the source and destination of IP Packets, TCP handles the proper transmission of those packets. It simply ensures the end-to-end delivery of the messages between the communicating devices. TCP/IP is used in combination because the correct delivery of the data packets is as important as its defined source and destination. During the transmission and routing along different tracks/paths, small bunches of the data are made then re-assembled back to the original message. The reason for this is simple, retaining the efficiency and not getting hindered by a jammed route. The facets of the TCP are as follows :

    1. Crash recovery through Sequence Number: Allotting the sequence numbers to segments and the byte numbers to the data bytes

    2. Timer management(Flow Control): The Sliding Window Mechanism lets the sender hint the receiver how much data or the data flow rate can be handled by it. TCP uses various kinds of timers (e.g Keep-alive Timer) for this.

    3. Error Detection and Control: It’s a byte-oriented feature that checks for lost, out-of-order and other similar segments.

    4. Congestion Management: In simple words, crowding/clogging that is caused by the packets in the network. Techniques like TCP Tahoe and TCP CUBIC are deployed for Congestion management.

    5. Connection Management: It deals with connection initialization(Three-Way Handshake) and connection termination.

  6. User Datagram Protocol (UDP): In case when there is no need of establishing the connection before any data transmissions, like Video calls, game streaming or finding the IP Address of the domain name(DNS Lookups) UDP comes into picture. This connection-less protocol helps in retaining the latency(i.e data speed) and the bandwidth(i.e data size) while rapidly transferring the data packets. UDP permits packets being dropped. UDP is a Transport Layer Protocol.

  7. Simple Network Management Protocol (SNMP): It’s a set of rules and operations that govern the monitoring and management including the detection of the network fault and further configuration of the components across the network remotely from one console. SNMP uses UDP Port 161 and Port 162. SNMP consists of three different components, namely Management Information Base(MIB), SNMP Manager and SNMP Agent(a software module installed on Server).

  8. Internet Control Message Protocol (ICMP): In case, if the network is down or the message is not reaching the destination IP can't send the control message. So the ICMP comes into picture. It’s a network level protocol in OSI. Its function is to check the flow rate, error reporting and perform network communication diagnostics. ICMP is used by the router. The datagram header of ICMP is of 8-byte. There is a tool known as Packet Internet Groper (PING), a program that helps to check the existence of a particular IP address and the data connectivity/relay speed. Some of the messages sent and received by ICMP are destination unreachable, time exceeded, source quench referring to the bottleneck situation in the rate of datagram transfer, echo request/reply and so on. The basic ICMP Messages consist of message type, code field and checksum field for ICMP message validation. Some of the ICMP Attacks are C2 Attack technique (ICMP Tunneling), Distributed Denial of Service (DDoS), Trace Route and Teardrop.

There are many more that can be studied based on the OSI Layers.

One interesting protocol I would like to highlight is Big Packet Protocol (BPP)*, a data plane technology that deals with the phenomenon of attaching the meta-information (what, where, when and whom of the network communication) to the packets so that the BPP aware network routers could take corresponding actions on that BPP meta-information. This technology overcomes the limitations of the current network architectures. In case of 5G, the GTP tunnels in General Packet Radio Service (GPRS) Tunnelling Protocol can be removed and the user traffic can directly be carried in BPP.*

Hope this article helps You understand the computers' focal rules for interacting. Happy Reading !