Internet Protocol Explained

October 30, 2023 (1y ago)

What is a Internet Protocol (IP)?

An internet protocol is a set of rules and guidelines that determine the format of data sent over the Internet.

It defines an addressing system to identify each device on the network using network address translation (NAT).

It was an ad-hoc concept at the time there were no fully designed or engineered protocol stacks when the pioneers of computer networking came up with the idea of Internet Protocol. As a result, they started to use IP stack because it met their needs at that time.

tcp-ip

History

[arpanet.png] (ARPANET)

The origins of the Internet Protocol can be traced back to the early days of the ARPANET (The U.S. Advanced Research Projects Agency Network), a predecessor to the modern Internet. Its primary goal was to create a network that could survive any condition, even in the event of a nuclear attack.

Vint Cerf and Bob Kahn, known as the "fathers of the internet," played a significant role in the development of IP. The first major version of IP, IPv4, was defined in 1981 by RFC 791.

With the growth of the Internet, it became evident that more addresses would be required than IPv4 could offer. This led to the development of IPv6, which was standardized in 1998 and offers a vastly larger address space.

Datagrams

IP uses datagram format. First impressions on the term 'datagram' may be confusing because it is an abstract concept to define the format of data. Imagine a book that is divided into sections, detailing the title, publisher, author, copyright information, and the main content. Similarly, IP datagrams have sections:

[ip-datagram.png]

These sections include the header, which contains routing and operational information, and the payload, which carries the actual data being transmitted.

IP Addressing

IP Address (IPv4 vs. IPv6)

IPv4 is a 32-bit identifier for the devices that use the Internet Protocol in a computer network. This addressing system is capable of supporting approximately 4.29 billion unique device addresses.

[ipv4]

In the initial stages of computer networks, there were only a modest number of devices being deployed and interconnected, leading to the adoption of IPv4 (Internet Protocol version 4) for assigning IP addresses.

However, this system did not suffice for long as the number of computer networks and connected devices rapidly increased.

As a response to this growing demand, IPv6, a 128-bit addressing protocol, began to be implemented in the 2000s, with its deployment continually increasing ever since.

This transition has been crucial in ensuring that the internet can accommodate the ever-expanding network of devices worldwide.

[ipv6]

Classless InterDomain Routing (CIDR)

CIDR is adopted as a method for assigning IP addresses that significantly enhances data routing across the internet.

Unlike the previous classful networking method, which divided IP addresses into five classes (A, B, C, D, E), CIDR operates using blocks of addresses, eliminating the issue of IP address wastage prevalent in the older system.

CIDR allows routers to fetch the network (e.g., subnet) and host address, leading to the following benefits:

Subnets

A subnet, short for subnetwork, is a designated, logical subdivision of an IP network.

It allows devices within the same subnet to communicate with each other directly, without the need for an intermediary router, which enables efficient data transmission.

For example, this network has 3 subnets connected to a router:

[subnet.png]

The network is divided into the subnets for various purposes:

How do you get an IP?

There are two components that get IP addresses: Network and host. Hosts can be routers, virtual machines, VPN tunnels, load balancers, etc., in a network.

Short answer:

Dynamic Host Configuration Protocol (DHCP)

It is an Application Layer protocol used to dynamically allocate IP addresses and other network configuration parameters to devices on a network.

It basically works as follows:

What problems do Internet Protocols solve?

Finally we can deduce that computer networks were more localized before the invention of Internet Protocol due to limited capability to communicate with devices outside of their immediate network. Here's what IP brought to the table:

  1. Standardization and Interoperability: IP provided a standardized method for different networks to communicate, paving the way for the establishment of the global Internet.
  2. Scalability: IP was designed to be used on networks of all sizes, from small local networks to the vast global Internet.
  3. Resilience: IP's design ensures that if one path between two devices becomes unavailable, the data can be rerouted through another path.
  4. Addressing: IP introduced a robust addressing system, which made it possible to connect billions of devices to the Internet.

Examples

References