Non-routable address spaces..what are they

an interim solution to address exhaustion problem

What is a router?

A router is a device responsible for connecting different networks. Router is what makes it possible for devices of different networks to communicate with each other.

IP Addressing

Let us begin this article with a brief introduction to IPV4 addresses and how they help in routing.

Usually within a single network, the number of devices is not so huge, and thus the traffic-directing device i.e. a switch can direct traffic between devices based on the MAC address. A MAC address is a globally unique id given to a computing device. The switch stores the MAC address of every device on the network and directs traffic accordingly.

As you might've guessed already this is not a scalable implementation. As the number of networks grows, the devices connected to them become too huge to store in each internetworking device. So, there has to be a better and more scalable alternative to this.

This is where the concept of IPV4 address comes in. First defined in the year 1981, an IPv4 is a temporary runtime address assigned to devices on the network by a DHCP server. How DHCP works is beyond the scope of this article, but for now, just remember that it is a server responsible for assigning IP addresses whenever a new device enters a network.

An IPV4 address is a 32-bit address with 4 single-byte banks separated by a dot. Each of the banks is capable of representing numbers from 0 to 255. Thus the IPV4 scheme is technically capable of representing 255 ^ 4 i.e. 4,228,250,625 addresses, nearly 4.2 billion values.

192.186.72.90 a sample IP address in dotted decimal format

Through a technique called subnetting, each network is assigned a subnet IP which indicates that all devices in that network have an IP address falling in a certain range specified by the subnet ID. Thus, the IP address is a structured hierarchical address unlike MAC which doesn't follow any such structure making it easier to implement routing decisions.

This helps routers direct traffic, as each network is identified by a unique subnet, It does not have to know the MAC address of the destination client, but rather the IP address is enough. It can just forward traffic to the interface having the required subnet IP, and the switch of that network will take care of the rest.

Limitations of IPv4 addressing

Here comes the problem of having a unique subnet IP for each network. Recall that a subnet IP specifies a range of IP addresses the devices of a network can have, which means that no other device in the world can have an address that falls into that range. IPv4 can support only about 4.2 billion unique IP addresses, but the number of networked devices in the near future will be far higher than this number, making it impossible to address all of them. This is called the address exhaustion problem.

Also, as the number of connected networks increases, even this hierarchical structure fails to scale with millions of unique subnet IDs present not knowing where to forward to. So, there was a need to have an even better addressing scheme.

There came a new addressing scheme called IPv6 addressing that tackles this problem by using 128 bits for addressing, supporting over 3.4×10^38 possible addresses. But, by the time IPv6 was proposed most of the devices connected to the internet had already adopted IPv4 addressing and it would be a hassle to abruptly change the addressing scheme

An interim solution- nonroutable IP addressing

Now, let us see a simple scenario to understand how this problem is tackled. Consider a client device with an IPv4 address 'X'. It is the router of this network that is responsible for bringing in traffic and the switch directs it to the client device. So, it is just enough for traffic to reach the edge router of a network and the rest is handled internally independent of the outside world, or in other words what happens inside that Local network is isolated from the rest of the world. Meaning, any other client in a different network can bear the IPv4 address 'X' without causing any identity issue. The same applies to every other client in every other network across the globe. This makes it possible to have some addresses exclusively for LAN.

This is called non-routable IP addressing and first saw adoption in 1996. Non-routable addresses are exclusively for the client devices and are forbidden core network devices(routers). They are not globally unique and thus cannot be used for routing across the internet.

P.S :- IP addresses within a network must still be unique.

We have three non-routable address spaces:-

  • 10.0. 0.0 – 10.255. 255.255 (10.0. 0.0/8)

  • 172.16. 0.0 – 172.31. 255.255 (172.16. 0.0/12)

  • 192.168. 0.0 – 192.168. 255.255 (192.168. 0.0/16)

Whichever computer or mobile phone you see on the internet, its IPv4 address falls into one of these IP ranges only. This reusability helps overcome the limited number of IP addresses supported by the IPv4 scheme. Network Address Translation (NAT) scheme is responsible for translating non-routable addresses into routable addresses to enable communication.

This is similar to how roll numbers are given in a typical school. Instead of identifying each student with a unique roll number, we have a range of numbers in each classroom say 1 to 50, which can be reused in any other classroom of any other standard without any identification problem. As long as one knows the standard and the section we can reuse the numbers as many times as needed. This is analogous to our routing scenario.

Summary

Non-routable address scheme has simplified addressing mechanisms and helped lay out an even better hierarchy of addresses making it even easier for traffic routing. It elegantly tackles the address space limitation by reusing certain ranges of addresses exclusively for client devices.

It will be a while for IPv6 addressing to be adopted worldwide, and up until then IPv4 and IPv6 must co-exist with non-routable addressing serving as a short-term remedy.

I hope you have learned something interesting today. Consider giving this a like if you feel so.