3

By convention, each device on the LAN under IPv6 gets a /64 subnet, right? That's an obscene number of addresses per device! Why not make the addresses shorter, say, 72 bits, then each device would get 256 addresses in its subnet, which would save several bytes per packet during transmission (which is a Good Thing). Why the need for such insanely long addresses?

10

By convention, each device on the LAN under IPv6 gets a /64 subnet, right?

No. Each network is almost always a /64 network. Each host still gets one or more addresses on the network, but I don't know of any OS that will handle more than a few dozen addresses for an interface on a LAN.

Why the need for such insanely long addresses?

That is so that we don't get in the same position as we are with IPv4. IPv4 ran out of addresses a long time ago, but it was extended by breaking the IP end-to-end premise with kludges like NAT. IPv6 has enough addresses that we should not get into the same position for the foreseeable future, and it restores the IP foundation of end-to-end connectivity because each device can have a unique IP address.

  • On your second point. I understand the need to make addresses longer, but 2^128 is many orders of magnitude more than the number of particles in the universe! We could guarantee unique addresses for a trillion years with far fewer bytes. My question wasn't about the need to make addresses longer, it was asking who decided to make them astronomically long? There are actually physical arguments (see Feynmann's Lectures on Computation) that prove it's impossible to carry out more than 2^100 or so operations, period, on any computer, even one the size of the universe. – Elliot Gorokhovsky Dec 5 '16 at 21:32
  • Also, could you give me a link explaining the whole /64 convention? A comment on a previous question I asked said, "Technically, an ISP should give every site a /48 network block, giving everyone 65,536 /64 networks. RFC 6177, IPv6 Address Assignment to End Sites has relaxed that, but most ISPs give their business customers a /48. ISPs will not advertise any prefixes longer than /48." – Elliot Gorokhovsky Dec 5 '16 at 21:36
  • Break it down into parts. 64 bits for the network, and 64 bits for the host. The idea is that we never need to go back to the well for more addresses. Also, 128 bits is a nice round number for both 32- and 64-bit computers. Many things are starting to use 128-bit numbers, e.g. GUIDs. There were parties to the negotiation that wanted the 160-bit numbers. You also need to remember that we don't know what is coming. The IoT has the ability to suddenly use far more addresses than you can imagine for sensors and controls in homes, businesses, cars, public places, etc. – Ron Maupin Dec 5 '16 at 21:40
  • 2
    No. The network is /64 not the host. For example, with IPv4, you probably have a network like 192.168.1.0/24. The network is a /24, but each host is assigned only one address from that /24 network. IPv6 is the same thing, except IPv6 specifically allows you to assign multiple addresses to a host interface. That is much harder with IPv4 because that wasn't really envisioned when IPv4 was created. The network math (e.g. subnetting) is really the same for both IPv4 and IPv6. – Ron Maupin Dec 5 '16 at 21:58
  • 1
    That is showing you the network size for that address. You should get the same thing for IPv4 addresses, too, or it may be that IPv4 only gives you the mask. The /64 is just telling you how long the mask is (how many one bits in the mask). IPv6 notation doesn't actually use the IPv4-style mask, only the CIDR notation for mask length. – Ron Maupin Dec 5 '16 at 22:23
2

In addition to the other answer, I would direct people who don't understand how IPv6 addresses get assigned to homes/small businesses etc to read this: https://tools.ietf.org/html/rfc6177

I also thought of another benefit of having /64 site subnets: it makes port scanning impossible given just the network prefix. With IPv4, port scanning is a serious problem, as we saw with worms like Mirai etc (UPnP). With IPv6, your probability of guessing a private address (the 64 bit suffix) is 2^(-64), i.e. 0 (if they're using randomly generated addresses, which they would be if they care about this kind of security). Shorter addresses, like 64+48 (minimum to identify from MAC), would only give 48 bits of protection for random guessing, really 48-3*8 because there are only a few OSI values.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.