It's also reserved for loopback, so no, it's not widely used for anything.
In practice, 127.0.0.1 is usually used as "the" loopback address, but the rest of the block should loopback as well, meaning it's just generally not used for anything. (Though, for example, larger Cisco switches will use 127.0.0.xx IPs to listen for attached cards and modules, so at least some of other addresses are in use.)
From RFC3330: Special-Use IPv4 addresses
127.0.0.0/8 - This block is assigned for use as the Internet host
loopback address. A datagram sent by a higher level protocol to an
address anywhere within this block should loop back inside the host.
This is ordinarily implemented using only 127.0.0.1/32 for loopback,
but no addresses within this block should ever appear on any network
anywhere [RFC1700, page 5].
In the Ubuntu /etc/hosts file. I don't remember the details but there was a conflict so they added another localhost-something entry with a different IP address in the 127.0.0.0/8 range. It's 127.0.1.1 and it's a bug workaround.
As already stated whole block is used as loopback so i'm only adding one example for regular desktop use.
Loopback other than 127.0.0.1 is required if you want to secure RDP, or some other restricted connection, with local proxy. For example, using RDP through SSH tunnel requires that you setup local side for port forwarder to listen on 127.0.1.2. This is because RDP client that comes with Windows refuses to connect to localhost or 127.0.0.1.
That's right, normally you would not connect RDP client to same computer that you are using (and not allowed to do so even if wanted to see nice mirror effects :).
There are use cases, for example in development and testing. Instead of creating dedicated networks or interfaces sometimes it can be simpler just to use some unused addresses in the 127.0.0.0/8 range.
You could spin up a development "server" listening on 127.11.11.11:1234 and develop a client that connects to 127.11.11.11:1234. This works out of the box and all these are separate addresses, so there could be another server process listening on 127.11.11.12:1234 and they would not interfere.
This works on linux, I am not sure about other operating systems.
It's also reserved for loopback, so no, it's not widely used for anything.
In practice, 127.0.0.1 is usually used as "the" loopback address, but the rest of the block should loopback as well, meaning it's just generally not used for anything. (Though, for example, larger Cisco switches will use 127.0.0.xx IPs to listen for attached cards and modules, so at least some of other addresses are in use.)
From RFC3330: Special-Use IPv4 addresses
In practice, I have seen other 127.0.0.0/8 addresses used in two places:
/etc/hosts
file. I don't remember the details but there was a conflict so they added anotherlocalhost-something
entry with a different IP address in the127.0.0.0/8
range. It's 127.0.1.1 and it's a bug workaround.As already stated whole block is used as loopback so i'm only adding one example for regular desktop use.
Loopback other than
127.0.0.1
is required if you want to secure RDP, or some other restricted connection, with local proxy. For example, using RDP through SSH tunnel requires that you setup local side for port forwarder to listen on127.0.1.2
. This is because RDP client that comes with Windows refuses to connect tolocalhost
or127.0.0.1
.That's right, normally you would not connect RDP client to same computer that you are using (and not allowed to do so even if wanted to see nice mirror effects :).
Adding to to the other answers:
There are use cases, for example in development and testing. Instead of creating dedicated networks or interfaces sometimes it can be simpler just to use some unused addresses in the 127.0.0.0/8 range.
You could spin up a development "server" listening on 127.11.11.11:1234 and develop a client that connects to 127.11.11.11:1234. This works out of the box and all these are separate addresses, so there could be another server process listening on 127.11.11.12:1234 and they would not interfere.
This works on linux, I am not sure about other operating systems.
As an example create a "server" process:
In another terminal on the same host:
For completeness, you could remove
fifo1
after stopping the server from the first terminal, using therm
command.