# The Internet Protocol

## Introduction

Everyday, billions of devices—like computers, smartphones, and smart TVs—talk to each other over the internet. But how do they know where to send and receive data? The answer is **Internet Protocol (IP).**

Think of the internet like a huge postal system. Just as houses have unique addresses, every device connected to the internet has a unique IP address. When you send data (like a message or a video), it’s like mailing a letter. The internet uses IP to figure out where the letter needs to go and how to deliver it.

In this article, we’ll explore how the internet works, how IP addresses help devices communicate, and why this system is so important.

## **Understanding Networks and the Internet**

### What is a Network?

A network is a group of computers that are connected and can share information with each other. It’s similar to a group of friends who stay in touch, share news, and work together on different activities.

Computers within a network can communicate with each other, and since networks are also connected to one another, a computer in one part of the world can send information to another computer far away.

Now that we know what a network is, let’s see how all these networks come together to form the **internet**.

### What is the Internet?

The Internet is a huge **network** made up of millions of smaller networks that are all connected. It connects computers, smartphones, tablets, and other devices all over the world.

In fact, the word “Internet” comes from the idea of **interconnected networks**.

Computers connect to each other and to the Internet using **wires, cables, radio waves, and other types of network technology**. When data is sent over the Internet, it is converted into tiny signals of light or electricity, called **bits**. The receiving computer then reads and understands these bits.

The speed of the Internet depends on how many bits can pass through the wires, cables, or radio waves at the same time. The more bits that can travel at once, the faster the Internet works.

To make communication possible, the internet relies on a set of rules known as **protocols**.

## Protocols

In networking, a **protocol** is a set of rules that computers follow to communicate with each other. These rules make sure that information is sent and received correctly.

Even if two devices are different—like a Windows laptop and an iPhone—they can still communicate because they follow the same **protocols**.

**Examples of Protocols:**

* **IP (Internet Protocol)** – Helps send data to the right place on a network.
    
* **TCP (Transmission Control Protocol)** – Makes sure data is delivered fully and in the correct order.
    
* **UDP (User Datagram Protocol)** – Sends data fast but doesn’t check if it was received.
    
* **DNS (Domain Name System)** – Changes website names into IP addresses so computers can find them.
    

One of the most important protocols that keeps everything running smoothly is the Internet Protocol (IP).

## Understanding IP (Internet Protocol)

### What is an IP?

The **Internet Protocol (IP)** is the system that allows computers and devices to send and receive data across networks.

When you send something over the internet—like an email or a website request—your data is broken into small pieces called **packets**. Each packet carries instructions (IP information) on where to go and how to get there.

### Why do we need an IP?

Every device connected to the internet needs a **unique IP address** so that data knows where to go. Without IP addresses, sending information over the internet would be like mailing a letter **without an address**—it wouldn’t reach the right place!

When data is sent over the internet, the sender and receiver might be in different places, using networks with different speeds. To handle this, **protocols** manage the flow of data and decide which device can use the connection at a given time.

Since IP is the backbone of communication, let’s see how it works through IP addresses.

## IP Addresses

An **IP address** is a unique number assigned to every device or website connected to the Internet. It looks like a series of numbers, such as **192.168.1.1**.

It is a **Layer** **3** property, meaning it helps devices communicate on a network.

**Types of IP Addresses:**

1. **Dynamic IP Address** – Assigned **automatically** by something called **DHCP (Dynamic Host Configuration Protocol)**. These addresses can change over time.
    
2. **Static IP Address** – Manually assigned and does not change.
    

Every IP address has **two** **parts**:

1. **Network Portion** - Identifies the network the device belongs to.
    
2. **Host Portion** – Identifies the specific device within that network.
    

Since these numbers are hard to remember, the **DNS (Domain Name System)** converts website names into IP addresses, as explained in one of my previous article on [**DNS**](https://blog.devwithjay.com/dns-demystified).

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1738575761535/d347c8d8-3e85-479d-9eec-ead1918d00ab.png align="center")

To better manage networks, IP addresses are structured with subnet masks.

## Subnet Mask and Its Importance

### **What is a Subnet?**

A subnet is a way to divide a big network into smaller, more manageable parts.

### **What is a Subnet Mask?**

A subnet mask determines which part of an IP address belongs to the network and which part belongs to the host.

For example: 1**92.168.1.1/24**

* **/24** means the first **24 bits** represent the **network portion**.
    
* The remaining **8 bits** are used for the **host portion**, allowing multiple devices within that network.
    

### **Why is this Important?**

The subnet mask helps devices determine whether another IP address belongs to the **same network** or if it needs to communicate through a **router**.

If the destination IP is **in the same subnet**, data is sent **directly** using **MAC addresses**. If it is **outside the subnet**, the packet is sent to the **default gateway**.

## Default Gateway

### What is It?

The **default gateway** is the router that connects a subnet to other networks. Each network has a **router** (gateway) that knows how to forward packets to the correct destination.

A router has **multiple interfaces**, each belonging to a different subnet.

### **How It Works?**

If a computer wants to communicate with another device in the same subnet, it sends the data directly.

If a computer needs to communicate with a device outside its subnet, the data is sent to the default gateway, which then forwards it to the correct destination.

## IP Packets

### What is It?

When we think about an **IP packet**, we usually see it as **data with a source and destination IP address**. However, there’s much more to it!

An IP packet has **two main parts**:

1. **Header** – Contains important details for routing and network control.
    
2. **Data** – The actual information being sent.
    

Although we mostly focus on the **data** being sent, the **header** is just as important because it helps with **routing, troubleshooting, and error handling**.

The **header size** can range from **20 to 60 bytes**, depending on whether optional fields are included. While this adds extra data, it ensures that packets are delivered **smoothly and efficiently**.

The **data section** can hold up to **65,536 bytes**, but in most cases, it is limited to **around 1500 bytes** due to network restrictions like the **Maximum Transmission Unit (MTU)**.

If a packet is too large, it may be **broken into smaller pieces (fragments)**, but this is usually avoided because it can make data transfer **more complicated**.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1738677796347/e805a5af-c486-455f-a408-7d68028e2ceb.png align="center")

1. **Version** – Shows whether the packet is using **IPv4** or **IPv6**.
    
2. **Header Length** – Indicates the size of the header.
    
3. **Type of Service** – Helps decide how important the packet is compared to others. Some packets need to be sent quickly, like video calls, while others can wait.
    
4. **Total Length** – The complete size of the packet, including both the **header** and **data**.
    
5. **Identification** – A unique number given to a packet. If the packet is split into smaller parts, this number helps put them back together.
    
6. **Flags** – Controls whether a packet can be broken into smaller parts or must stay whole.
    
7. **Fragment Offset** – If a packet is split into smaller parts, this number helps place each part in the right order.
    
8. **Time to Live (TTL)** – Limits how many times a packet can be passed between networks before it is removed. This prevents packets from traveling forever if something goes wrong.
    
9. **Protocol** – Identifies what type of data is inside the packet. It could be **TCP** (for web pages and file transfers), **UDP** (for video calls and gaming), or **ICMP** (for network testing).
    
10. **Header Checksum** – A number used to check if the header was damaged while traveling.
    
11. **Source and Destination IP Addresses** – Show **where the packet came from** and **where it needs to go**.
    
12. **Explicit Congestion Notification (ECN)** – Helps reduce congestion in the network by signaling the sender to slow down instead of losing data.
    

### **Why Does This Matter?**

Understanding these details helps in **troubleshooting network issues**, **optimizing data transfer**, and making sure that packets reach their destination **efficiently and securely**.

The format of these packets depends on whether they use IPv4 or IPv6.

## **Understanding IPv4 and IPv6**

### IPv4

IPv4 (Internet Protocol version 4) was introduced in **1983** and is still widely used today. It follows a simple format with **four sets of numbers** separated by dots, like this:

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1738680105340/595ccaca-97c6-401b-9922-67d7ce761c8b.png align="center")

IPv4 is a **32-bit system**, meaning it can create about **4.3 billion unique IP addresses**. At first, this seemed like plenty. But over time, as more devices connected to the internet—smartphones, computers, smart TVs, and even smart refrigerators—the number of available addresses started running out.

### IPv6

To solve this, **IPv6** was introduced. It uses a **128-bit system**, meaning it can support an almost unimaginable number of addresses—**a 39-digit number**!

IPv6 looks different from IPv4. Instead of just numbers, it uses **both numbers and letters**, separated by colons. Here’s an example:

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1738681017764/759fcf91-a17c-4f25-8882-b956a0515cdf.png align="center")

### Why IPv6 is Better?

Besides providing more IP addresses, IPv6 also has other benefits:

* **Better security** – It keeps data safer with better encryption and authentication.
    
* **Better privacy** – It makes it harder for others to track users online.
    
* **More efficient communication** – It speeds up data transfer by making routing more efficient.
    

### IPv4 and IPv6 Work Together

Even though IPv6 is better, **many systems still use IPv4**. This means both versions need to work together. To make sure IPv4 and IPv6 devices can still communicate, **special techniques** were developed to allow smooth interaction between the two systems.

For now, both IPv4 and IPv6 are being used side by side, but in the future, IPv6 will likely become the standard for all devices.

## What happened to IPV5?

You might be wondering—if we have **IPv4 and IPv6**, why is there no **IPv5**?

IPv5 was actually **never officially released**. It was created as an **experimental protocol** mainly for streaming data, like **voice and video**. However, it still used **32-bit addressing**, just like IPv4. This meant it couldn’t solve the problem of **running out of IP addresses**.

Because IPv5 wasn’t a long-term solution, it was **abandoned**, and **IPv6** was developed instead. Unlike IPv5, **IPv6** provides:

* A nearly unlimited number of IP addresses
    
* Better security to protect online communication
    
* More efficient data transfer
    

That’s why the internet skipped IPv5 and moved straight to IPv6!

## Conclusion

The **Internet Protocol (IP)** is what allows devices worldwide to communicate smoothly. It gives each device a unique address and helps direct data to the right place. **IPv4 has worked well for years**, but with more devices connecting, **IPv6 is needed for the future**.

Understanding basics like **IP addresses, subnetting, and gateways** helps us see how data moves online. As technology improves, **networks will become faster, safer, and more efficient**. Whether you’re **fixing a connection or setting up a system**, knowing how IP works is a important skill in today’s digital world.

### Want More…?

I write articles on [blog.devwithjay.com](https://blog.devwithjay.com) and also post development-related content on the following platforms:

* [**Twitter/X**](https://x.com/devwithjay)
    
* [**LinkedIn**](https://www.linkedin.com/in/devwithjay)
