Looking online, the three private address blocks are:

  • /16
  • /8
  • And the weird 172.16-31.0.0 /12

So my question here is, why are we limited in this way? Is in the public domain and only private? Makes perfect sense as going into 11 etc would become public, and why the weird block range on

  • 1
    it is - ( prefix)
    – JFL
    Commented Dec 19, 2017 at 8:56
  • @JFL I just made the last two bytes blank (0.0) Commented Dec 19, 2017 at 9:00
  • 4
    I mean you shouldn't write it "172.16-31.0.0/12". This kind of notation is never used and only lead to confusion.
    – JFL
    Commented Dec 19, 2017 at 9:06
  • @JFL Edited with full range Commented Dec 19, 2017 at 9:13

3 Answers 3


The organization of these addresses is a bit of a holdover from the old classful addressing system used before 1993. In the classful system, the first few bits of the IP address defined the network size. Specifically:

  • An address that started with a 0 bit indicated a "class A" network with an 8-bit prefix (what we'd now call a "/8"), so 0.x.x.x - 127.x.x.x were the class A networks (although 0.x.x.x and 127.x.x.x were reserved).
  • An address that started "10" in binary indicated a "class B" network with a 16-bit prefix ("/16"), so 128.0.x.x - 191.255.x.x were the class B nets.
  • An address that started with "110" in binary indicated a "class C" network with a 24-bit prefix ("/24"), so 192.0.0.x - 223.255.255.x were the class C nets.

There were also class D (multicast) and E (reserved), but they're not important here.

When they picked address ranges for private use, they wanted some from each class (to give organizations some flexibility in setting up their internal networks). There weren't many class A nets, so the just allocated one: 10.x.x.x. Class B's were a bit more plentiful, so they allocated a block of 16: 172.16.x.x - 172.31.x.x. There were plenty of class C's, so they grabbed 256 of them: 192.168.0.x - 192.168.255.x.

10.x.x.x happened to be available because it was originally allocated to the ARPAnet backbone, and that had been shut down. I don't know why those specific ranges of class B and C nets were chosen.

The classful system was inflexible and inefficient, so it got replaced by the current classless system, where network prefixes can have any length. Under the new system, the private class A net stays the same (but gets written differently:, and the groups of private class B and C nets get coalesced into normal blocks of addresses: and And since we're classless now, you can break those blocks up any way you happen to find convenient.


There isn't really a whole lot to say to this topic. IANA reserved a large, medium and small block of addresses for private networks. Addresses just outside the range may be allocated to other organisations (or be in the increasingly small pool of unallocated addresses), and there are plenty of online lookup tools to check these. For example, is registered to T-Mobile.


Regarding "looking online", make sure you read the definitive IANA page, which is https://www.iana.org/assignments/iana-ipv4-special-registry/iana-ipv4-special-registry.xhtml

Unless you're looking there, you'll miss some of the obscure and infrequently-used special assignments; along with their defining RFCs.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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