Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Computer processors moved from 32bit to 64bit. Why have IPs moved from 32bit to 128bit (skipping 64bit) ?


I did not intend to make a direct comparison. Just curious why IPs skipped 64bit.

share|improve this question
I don't get why they would be related, other than it being a big fat coincidence. – Ignacio Vazquez-Abrams Oct 18 '10 at 16:13
When IPv4 was originally devised we all believed it was sufficiently large enough. Few, if any, envisioned what happened 20+ years later. Having learned a lesson it seemed prudent not to make the same mistake again. It would be possible using IPv6 to assign every individual on the planet their own IPv4 sized (32 bit) network with room left over. – dbasnett Oct 19 '10 at 12:18
Everyone who says they're unrelated - are you sure about that? A lot of software and hardware treats IPv4 addresses as unsigned 32-bit integers. Adding IPv6 support to your application isn't as simple as "s/uint32_t/uint128_t/". – Gerald Combs Oct 19 '10 at 21:54
@Gerald; Yes, we're sure. IPv4 chose 32 bit because it was the biggest register found in any common processors at the time. It was an arbitrary choice that seemed good enough at the time. We're smarter than picking arbitrary numbers based on CPU registers these days. 128 bit was chosen because it provides enough IPs that we can waste a lot of them on things like IPv4 compatibility mechanisms, convenience, etc; and ensure that we don't need crap like NAT, restoring end-to-end routability to the Internet. – Chris S Apr 9 '11 at 0:27
@ChrisS And yet even 128 bit isn't enough for some of the IPv4 compatibility mechanisms. Look at 6to4 and Teredo. The shortcoming of 6to4 that is addressed with Teredo is running through NAT44. But then why did Teredo have to eliminate one of the features, which 6to4 has? With 6to4 you can run an entire network, with Teredo you only get to run a single host. The reason you can't have both is that the IPv6 address is only 128 bits, doing both would have required 192 bits. 6rd is another example of a transition mechanism, that could have benefited from a few more bits in the IPv6 address. – kasperd Sep 15 '14 at 10:01
up vote 17 down vote accepted

The two are unrelated. The decisions around how to structure IPV6 are myriad. There's a lot of info at the IPv6 Wikipedia article.

Basically, the 128-bit address space of IPv6 gives us such a massive address space that we are unlikely to ever use all of it (2^128 addresses, or 3.4*10^38).

The larger address space also allows for a better hierarchical model of addressing, because CIDR and similar "hacks" are no longer necessary for routing. The address space allows a separation of a 64 bit host address and 64 bit network address, and host address can be self-configured.

With more space, we have more addresses, and it's easier to organize them efficiently. IPv4 is kind of like a cluttered 1-bedroom apartment, and IPv6 is a giant warehouse in which we can set up everything in a much more organized fashion.

share|improve this answer
MAC Adresses are also unique and with 48bits only less than 5% has been used. Using 64bits address it would be 2^64/2^48=65536 times more addresses, which leds to less than 0.00007% usage if we assign a ipv6 to each device with a mac registered (unlikely) – NeDark Feb 2 '15 at 23:20

they sort of did move to 64 Bit, because in most IPv6 deployment models you are assigned a /64 prefix, meaning your "public" IP address is 64 bit fixed and the rest is assignable by you in your private network (also a whopping 64 Bit).

share|improve this answer
Only ISPs issue /64s, and from what I've seen, that doesn't actually happen very often. My personal opinion is that the 64+64 thing was a stupid idea and we should stick with something closer to CIDR. – Chris S Apr 9 '11 at 0:30
@chris s: You are completely wrong. – bahamat Aug 28 '11 at 20:57
@bahamat, care to expand on that unsupported opinion? – Chris S Aug 29 '11 at 0:48
@chris s: It's not opinion. ISP's generally issue /48's. Subnets are (almost) always /64, and seldom smaller. The RFC says that individuals as well as organizations should be given a /48. You only think 64/64 is a bad idea because you don't understand how vast 64-bits of prefix really is (it's 12 subnets per cm^2 of land area on the surface of the earth). You obviously know a little about IPv6, which is good, but you're bringing obsolete v4 mindset into v6. Stop that. I respect you because of your reputation, but in this case you're wrong. – bahamat Aug 29 '11 at 4:13
@Bahamat, perhaps when dealing with large enterprises ISPs would issue a full /48; but my experience is with small and medium businesses, where there's very few ISPs support IPv6 at all and seem rather inconvenienced you requested a /64. 64-bits might be 12 subnets per cm^2, but reserved and special purpose prefixes take a large bite out of that. I may be overly fixated on the problems of IPv4; but 30 years ago 32-bits was sure to be "enough" too. Seems like history repeating itself. – Chris S Aug 29 '11 at 12:42

Because designers of IPv6 overcompensated for the previous blunder of IPv4. 32-bit is indeed too little, but 64-bit would be every bit as effective as 128-bit (divided into 40+24 instead of 64+64). But it is too late to change now.

share|improve this answer

With 64-bits, IP addresses would still be scarce. For example, every Ethernet card has a 48-bit unique identifier. If you allowed cards to use their 48-bit unique identifiers as their host address, 64-bits would leave only 16-bits for the network portion, which is not enough.

With 128-bits, IP addresses aren't scarce. And that allows you to do all kinds of neat things.

share|improve this answer
The 48 bit space is not completely used as today. Why would we consider scarce a 64bit space (which is 65536 times the 48bit space) when we did not even occupy more than 10% of the 48bit space? – Luis Masuelli Dec 29 '15 at 18:08

Its an apples to oranges comparison. CPUs are processing data. IPv6 is simply storing data. It was very easy to simply make addresses 128bits long, which gives us a LOT of IP Addresses to use going forward.

share|improve this answer
IP for storing data? that must be some fast moving data you have... – Javier Oct 18 '10 at 19:07
What I mean, is that IPv6 simply uses 128 bits to store an address... So jumping from 32 to 128 is different than CPUs going 16, 32, 64... – Nate Oct 18 '10 at 19:32

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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