I was looking around on this question, when I found this comment.
My home is 127.1.2.3, ha! In fact everything that starts with "127." resolves to the local host. – TToni Jan 27 '11 at 23:30
I tried this by going to http://127.1.2.3 and http://127.174.199.127 and other random URLs that all lead to http://localhost
Except for one of them: http://127.0.0.0
After waiting some time I get
This site can’t be reached
127.0.0.0 took too long to respond.
Error Code: ERR_CONNECTION_TIMED_OUT
What is special about http://127.0.0.0 that it can't be reached?
Another thing: something similar occurs with http://127.255.255.255
This site can’t be reached
The webpage at http://127.255.255.255/ might be temporarily down or it may have moved permanently to a new web address.
Error Code: ERR_ADDRESS_INVALID
Note: this happens immediately, meaning no waiting for about 10-15 seconds
As with a lot of things IP related, 127.0.0.0
is the "network" address, so no host should claim it.
The subnet is defined as 127.0.0.0/8
or 127.0.0.0
with a netmask of 255.0.0.0
which means the network address is 127.0.0.0
and the broadcast address is 127.255.255.255
, both of which are reserved.
For any given subnet, the first address is considered the network, the last the broadcast. The remainder is the host addresses.
For smaller subnets, like /24
(255.255.255.0
) the range is proportionately smaller, and for some like a /29
smaller still. Any smaller is just silly as you end up with nothing more than a network and broadcast address, it's not a usable subnet.
Note: /32
isn't a subnet, it's only used as a way of saying "host address" for things like firewall rules.
Many IP stacks respond to any valid 127.0.0.0/8
address, not just 127.0.0.1
, but they will not respond to the network address.
In other words, the valid IP range is 127.0.0.1
through 127.255.255.254
for host addresses.