Thursday 23 May 2013

What’s the Difference Between 127.0.0.0 and 127.0.0.1?



Sometimes the most elementary of questions yield teachable moments; read on as we delve into how a single digit change between 127.0.0.0 to 127.0.0.1 offers a chance to look at network topology.
The Question
What’s the Difference Between 127.0.0.0 and 127.0.0.1?
I know that both are loopback IPs, but they have another ip mask.
What’s the difference between them? Can they be used interchangeably?
===========================================================================

IPv4 routes
===========================================================================
Active routes:
Destination               Mask          Gateway        Interface Metric
      0.0.0.0          0.0.0.0      192.168.1.1      192.168.1.6     26
[...]
    127.0.0.0        255.0.0.0         On-link         127.0.0.1    306
    127.0.0.1  255.255.255.255         On-link         127.0.0.1    306
What kind of information can we tease out from this table?

The Answer

No. You cannot use them both. And they are not both loopback adresses.
127.0.0.1 is a loopback address 127.0.0.2 is a loopback address 127.0.0.3 is a loopback address and so on
127.0.0.0 is a network address. Together with mask 255.0.0.0 it gives you a hint that whole class A of addresses starting with 127.*.*.* will contain loopback addresses.
Then, YLearn offers a broader overview of naming conventions in general and how to think about them:
What is shown in the screenshot is a routing table from a computer. The routing table is just a “roadmap” that tells a computer/router where to go to get to other devices on the network.
In some ways this is similar to how we navigate in real life.
The first column provides the list of known destinations (where can I go) and the second column indicates how specific the destination (I can go to USA or I can go to Uncle Lobo’s house in USA). Without getting into great detail, the “higher” the mask value, the more specific the destination. So a value of 0.0.0.0 covers going to any device and a value of 255.255.255.255 specifies an individual device.
The third column specifies where traffic should go next to get to the destination (if you are going to USA, you need to start by getting on Main Street) and the fourth column indicates which path out of the device should be used to get to the destination (from home you may only have your driveway but from the Mall parking lot you may have several “exits” to choose from).
Finally, the metric gives the computer a way to choose the best path if there are multiple routes to the destination (you can go out either the north or east exit from the parking lot to get to USA, but the east one is a faster).
So to answer the original question, no you can’t use 127.0.0.0 and 127.0.0.1 interchangeably. The difference shown here is that there exists two routes – a general route to any device using 127.x.y.z and a very specific route to host 127.0.0.1 (which is in 127.0.0.0), both of which use the 127.0.0.1 interface.

Have something to add to the explanation? Sound off in the the comments.


No comments:

Post a Comment