# IP address limits

**URL:** <https://boards.straightdope.com/t/ip-address-limits/197699>\
**Category:** Factual Questions\
**Created:** [August 26, 2003, 6:39am UTC](https://boards.straightdope.com/t/ip-address-limits/197699 "2003-08-26T06:39:42Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![ccwaterback](https://avatars.discourse-cdn.com/v4/letter/c/df705f/32.png) [@ccwaterback](https://boards.straightdope.com/u/ccwaterback)\
**Post date:** [August 26, 2003, 6:39am UTC](https://boards.straightdope.com/t/ip-address-limits/197699/1 "2003-08-26T06:39:42Z")

</div>

Given that IP addresses are of the form x.x.x.x where 0 \<= x \< 256, doesn’t this limit the number of IP addresses on the internet to 255_255_255\*255 = 4,228,250,625? What’s going to happen when all the addresses are used up?

---

<div class="post-metadata">

**Author:** ![friedo](https://avatars.discourse-cdn.com/v4/letter/f/8edcca/32.png) [@friedo](https://boards.straightdope.com/u/friedo)\
**Post date:** [August 26, 2003, 6:51am UTC](https://boards.straightdope.com/t/ip-address-limits/197699/2 "2003-08-26T06:51:25Z")

</div>

Actually, even fewer than that. There are certain address ranges that can’t be used on the Internet, such as broadcast addresses (all ones on a given subnet) and private network ranges (10.0.0.0 - 10.255.255.255, 172.31.0.0 - 172.16.255.255 and 192.168.0.0 - 192.168.255.255).

Hopefully, we will have moved everything to [IPv6](http://www.ipv6.org/) by then. IPv6 provides truly ridiculous amounts of address space.

---

<div class="post-metadata">

**Author:** ![Joey\_P](https://avatars.discourse-cdn.com/v4/letter/j/919ad9/32.png) [@Joey\_P](https://boards.straightdope.com/u/Joey_P)\
**Post date:** [August 26, 2003, 6:53am UTC](https://boards.straightdope.com/t/ip-address-limits/197699/3 "2003-08-26T06:53:05Z")

</div>

As I’m sure someone else will chime in soon to furhter explain. They are starting to change it over to x.x.x.x.x.x I believe. It’s called. Search (on SD or just google it) IPv6. If you go to windows update one of the updates is for IPv6.

---

<div class="post-metadata">

**Author:** ![friedo](https://avatars.discourse-cdn.com/v4/letter/f/8edcca/32.png) [@friedo](https://boards.straightdope.com/u/friedo)\
**Post date:** [August 26, 2003, 6:58am UTC](https://boards.straightdope.com/t/ip-address-limits/197699/4 "2003-08-26T06:58:04Z")

</div>

The official format for IPv6 addresses will be bytes written in hex seperated by colons (no reason you can’t do that with IPv4, but decimal bytes seperated by dots is convention.)

An IPv6 address is 128 bits long (IPv4 is a mere 32 bits). So an IPv6 address might look like 21DA:00D3:0000:2F3B:02AA:00FF:FE28:9C5A.

According to the latest standard, leading zeroes are not required, thus, you can write: 21DA:D3:0:2F3B:2AA:FF:FE28:9C5A. But I always thought that looked a bit clunky. The stuff doesn’t line up right. 🙂

---

<div class="post-metadata">

**Author:** ![friedo](https://avatars.discourse-cdn.com/v4/letter/f/8edcca/32.png) [@friedo](https://boards.straightdope.com/u/friedo)\
**Post date:** [August 26, 2003, 6:59am UTC](https://boards.straightdope.com/t/ip-address-limits/197699/5 "2003-08-26T06:59:15Z")

</div>

And 😃 is not actually a valid hexadecimal digit.

---

<div class="post-metadata">

**Author:** ![Joey\_P](https://avatars.discourse-cdn.com/v4/letter/j/919ad9/32.png) [@Joey\_P](https://boards.straightdope.com/u/Joey_P)\
**Post date:** [August 26, 2003, 7:04am UTC](https://boards.straightdope.com/t/ip-address-limits/197699/6 "2003-08-26T07:04:51Z")

</div>

Smiley’s would be a much more fun addition to the IP addressing system then a couple extra bits, we could call it IPv:D.

---

<div class="post-metadata">

**Author:** ![Bill\_H](https://avatars.discourse-cdn.com/v4/letter/b/a5b964/32.png) [@Bill\_H](https://boards.straightdope.com/u/Bill_H)\
**Post date:** [August 26, 2003, 8:04am UTC](https://boards.straightdope.com/t/ip-address-limits/197699/7 "2003-08-26T08:04:17Z")

</div>

10 years ago, when everyone was going crazy about IPv4 space disappearing, and clamoring to switch to v6, I said there was no way that would happen in the near future, and I say the same thing now.

IPv6 is not “enhanced” IPv4. It’s a whole different protocol, and completely incompatible. In order for it to work, every client, every server, and every router, every firewall, every network device out there will need to be changed to IPv6. No small feat.

Meanwhile, NAT, CIDR, and charging for IP addresses has enormously expanded the actual need. NAT in particular has made a huge difference, since 99%+ of all connected devices don’t actually need static, publicly accessible addresses.

Most importantly, there’s no financial driver to change. As addresses become more scarce, the price will go up, like any other sparce commodity. The market will make those that really need public static addresses pay for them, and those that don’t need them sell them. Ultimately, people will begin to switch for financial reasons, and that’s a good ten years away at the earliest.

---

<div class="post-metadata">

**Author:** ![Bill\_H](https://avatars.discourse-cdn.com/v4/letter/b/a5b964/32.png) [@Bill\_H](https://boards.straightdope.com/u/Bill_H)\
**Post date:** [August 26, 2003, 8:07am UTC](https://boards.straightdope.com/t/ip-address-limits/197699/8 "2003-08-26T08:07:09Z")

</div>

errr… “Meanwhile, NAT, CIDR, and charging for IP addresses has enormously **reduced** the actual need.”

---

<div class="post-metadata">

**Author:** ![ccwaterback](https://avatars.discourse-cdn.com/v4/letter/c/df705f/32.png) [@ccwaterback](https://boards.straightdope.com/u/ccwaterback)\
**Post date:** [August 26, 2003, 10:11am UTC](https://boards.straightdope.com/t/ip-address-limits/197699/9 "2003-08-26T10:11:27Z")

</div>

> [@](#):
>
> \*Originally posted by Bill H. \*  
> \*\*  
> IPv6 is not “enhanced” IPv4. It’s a whole different protocol, and completely incompatible. In order for it to work, every client, every server, and every router, every firewall, every network device out there will need to be changed to IPv6. No small feat.  
> \*\*

Wouldn’t they be able to tunnel IPv4 on IPv6 like they tunnel IP on just about every other known network technology today?

Also, a quick overview of NAT and CIDR? (I’m sure a knowledgeable person translating these concepts to layman’s terms will be much better than a google search.)

Thanks everyone for your responses.

---

<div class="post-metadata">

**Author:** ![Zcrysis](https://avatars.discourse-cdn.com/v4/letter/z/c0e974/32.png) [@Zcrysis](https://boards.straightdope.com/u/Zcrysis)\
**Post date:** [August 26, 2003, 10:11am UTC](https://boards.straightdope.com/t/ip-address-limits/197699/10 "2003-08-26T10:11:50Z")

</div>

But in the mean time Stanford [yes the university] will still own more IP addresses then India or China.

I think the switch to IPv6 will happen much sooner, and will be driven by 3rd world countries who want to get their infrastructure online. It may be 10 or so years before the developed countries will contemplate making that switch though.

---

<div class="post-metadata">

**Author:** ![Ximenean](https://avatars.discourse-cdn.com/v4/letter/x/aca169/32.png) [@Ximenean](https://boards.straightdope.com/u/Ximenean)\
**Post date:** [August 26, 2003, 11:22am UTC](https://boards.straightdope.com/t/ip-address-limits/197699/11 "2003-08-26T11:22:35Z")

</div>

CIDR - originally, IP addresses were allocated in blocks that were either Class A (in which the network prefix, the first 8 bits of the 32-bit IP address, was the same for every address in the block), Class B (16 bit prefix) or Class C (24 bit prefix). So a Class A network would have 16,777,214 contiguous addresses, Class B 65,534 addresses, and class C 254 addresses. If you needed, say, 4,000 addresses Class B was too big while Class C was too small.  
Classless Inter-Domain Routing gets round this innefficiency by doing away with the limitation of network prefixes of multiples of 8 bits. So you could have a block of addresses in which the network prefix was the first 20 bits of the addresss, falling between Class B and Class C. This block would have 4,096 contiguous addresses. It all makes for more efficient allocation of public IP addresses.
