14

IPv4 allocates a whole block of IPv4 loopback addresses, 127.0.0.0/8. IPv6, in contrast, only allocates a single loopback address, ::1.

This seems surprising that IPv6 would be so stingy in its allocation of loopback address(es), since overall it provides a huge increase in address space.

In IPv4 I've found it useful to be able to use multiple loopback addresses. E.g. for certain complex DNS set-ups, I can install two local DNS servers, one on 127.0.0.1:53, and another on 127.0.1.1:53. (It's a bit easier to refer to the different servers using different IP addresses, rather than using non-standard port numbers on a single IP address.) I can't use this strategy on IPv6 with only one loopback address.

What good rationales might there have been for only allocating a single loopback address for IPv6, unlike for IPv4?

4
  • 5
    Maybe the idea was to use fe80:: for it, I do not know, but we are not alone: tools.ietf.org/html/…
    – marcolz
    Oct 19, 2015 at 8:32
  • 1
    @marcolz: Thanks for that reference. Was it not approved, since it says it expired in August 2013? Oct 19, 2015 at 22:26
  • 3
    Related: serverfault.com/questions/193377/… Oct 20, 2015 at 0:58
  • 3
    indeed, it was not accepted. I cannot find the discussion about it, but apparently IANA did not find it necessary. Considering that that would mean existing devices supporting IPv6 would need to be updated to be able to advertise full IPv6 compatibility, I guess that changing this now is too big of a hurdle to take.
    – marcolz
    Oct 20, 2015 at 6:20

3 Answers 3

3

They are not needed. Simple like that.

You can always assign link local or private addresses as you need to a loopback adapter - in the rare case you really do that.

I would say that most people are not even aware you can use anything else than 127.0.0.1 an you are the first person I have met in around 20 years claiming to use more than that. Not joking.

Most multi server setups do not need it (HTTP host header is used instead - and yes, I know this is limited to http, but I would say most servers needing this are from web developers).

14
  • 4
    If you would like to test services on your loopback interface, it would be handy to have some addresses that are guaranteed not to conflict with any other addresses.
    – marcolz
    Oct 19, 2015 at 8:26
  • 3
    Yes, you can use link local. But in theory that may conflict with other link local ranges on your machine, so you in theory you cannot auto-assign one to your servers. Although in practice you probably can, with knowledge of your interfaces, but it would be better if there was a reserved range for it imo.
    – marcolz
    Oct 19, 2015 at 8:37
  • 1
    Yes. Then use private addresses. There are so many around you can make an internal subnet that is not used in your company EASILY.
    – TomTom
    Oct 19, 2015 at 8:48
  • 3
    Where in the original question does something high level as "web hosting" enter the picture? Your statement is out of the scope of what I believe is the question. This is about OSI layer 3. Your belittling comments probably say as much about you as your statement about not having met anyone in 20 years that does use anything other than 127.0.0.1. How do you suppose we should value that statement?
    – marcolz
    Oct 19, 2015 at 11:03
  • 1
    Hello @Matt and Tom. I an another user of many 127 addresses. I need to run many test servers. They have to be independent, so no proxy to sort the problem. I put the names in /etc/hosts and they behave as if on different machines. I am worried what will happen when ipv4 is turned off. May be someone can register a block, and those of us that want it can configure our machines for it. May 28, 2018 at 15:49
2

If you want more addresses available locally, you can just assign addresses from a ULA range of your choosing and assign them to the local machine (on the loopback interface, if you like). That'll give you all the addresses you want. You don't have to be granted a special block from which to assign addresses that your machine will respond to locally.

0

The IPv6 addressing architecture has lots of space. The /16 space for interface-local multicast would be well suited for local services.

AFAIK the socket API is the limit here, because multicast and unicast addresses cannot be used interchangeably.

3
  • That is not the point of the question.
    – marcolz
    Oct 19, 2015 at 9:05
  • IMHO that is one rationale for a single loopback address: a vast number of multicast addresses for various scopes.
    – mschuett
    Oct 19, 2015 at 9:11
  • I wasn't aware of interface-local multicast. But being multicast, then it's not really equivalent to 127.0.0.0/8 is it? Multicast gives quite different functionality in several ways. Oct 19, 2015 at 23:38

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .