43

The standard I've seen so far is to use 192.168.*.* IP addresses for devices on the local network.

Why this combination? If it were me, I would have chosen something simpler, like 1.0.*.*. What's the historical reason?

Undo
  • 542
  • 1
  • 5
  • 11
  • 5
    10.0.0.0/8 is valid private address space... that's pretty simple – Mike Pennington Jan 13 '14 at 22:32
  • 5
    The `192` part almost certainly comes from the fact that this was the private use block associated with class C IP addresses (back in the early, classful days) and class C started at `192.0.0.0`. There's more information at [Why are home networks prefixed with 192.168?](http://superuser.com/questions/146194/why-are-home-networks-prefixed-with-192-168) (Super User) and [Why is 192.168.x.y used for local IPs?](http://stackoverflow.com/questions/7744020/why-192-168-x-y-for-local-ips) (Stack Overflow), but I can't find a rationale for the choice of `168` anywhere on the Internet. – Pops Jan 13 '14 at 23:03
  • 4
    @pops, the best I found was [this message from Steven Ehrbar](http://www.postel.org/pipermail/internet-history/2009-October/000931.html), who claimed that 192.168.*.* was used by a systems company in a manual; this resulted in a substantial number of people using this address space on their internal networks. This sounded familiar enough that Randy Bush [thought it was Sun (but it wasn')](http://www.postel.org/pipermail/internet-history/2009-October/000934.html) – Mike Pennington Jan 14 '14 at 09:18
  • Questions about historical trivia are explicitly off-topic here. – Ron Maupin Jan 23 '19 at 21:20
  • New link for [Steven Ehrbar message](https://lists.ding.net/othersite/isoc-internet-history/2009/oct/msg00000.html). – lapo Feb 04 '22 at 15:57

3 Answers3

39

Note: Unless we can get one of the original authors of RFC 1918/RFC 1597 or someone from InterNIC/RIPE NCC at that time (1994-1996) to comment, we may be left at taking guesses, and the answers to this question being mostly opinion based.*


Per RFC 1918, the following three ranges are reserved for use on private networks:

10.0.0.0        -   10.255.255.255  (10/8 prefix)
172.16.0.0      -   172.31.255.255  (172.16/12 prefix)
192.168.0.0     -   192.168.255.255 (192.168/16 prefix)

This is why you would see them utilized for devices on the local network.

The reasoning behind at least parts of each of these three "private" address ranges is fairly straightforward, but again outside of logic, these are guesses based upon my readings over the years.

First consider that the classful networks are as follows (source Wikipedia article on Classful Network):

Class A
  0.  0.  0.  0 = 00000000.00000000.00000000.00000000
127.255.255.255 = 01111111.11111111.11111111.11111111
                  0nnnnnnn.HHHHHHHH.HHHHHHHH.HHHHHHHH

Class B
128.  0.  0.  0 = 10000000.00000000.00000000.00000000
191.255.255.255 = 10111111.11111111.11111111.11111111
                  10nnnnnn.nnnnnnnn.HHHHHHHH.HHHHHHHH

Class C
192.  0.  0.  0 = 11000000.00000000.00000000.00000000
223.255.255.255 = 11011111.11111111.11111111.11111111
                  110nnnnn.nnnnnnnn.nnnnnnnn.HHHHHHHH

Class D
224.  0.  0.  0 = 11100000.00000000.00000000.00000000
239.255.255.255 = 11101111.11111111.11111111.11111111
                  1110XXXX.XXXXXXXX.XXXXXXXX.XXXXXXXX

Class E
240.  0.  0.  0 = 11110000.00000000.00000000.00000000
255.255.255.255 = 11111111.11111111.11111111.11111111
                  1111XXXX.XXXXXXXX.XXXXXXXX.XXXXXXXX

As you can see, each one of the three RFC1918 ranges cuts out a private block from one of the old "classful" network ranges. (Class A, Class B, and Class C in this case.)

To quote Dumbledore, "From this point forth, we shall be leaving the firm foundation of fact and journeying together through the murky marshes of memory into thickets of wildest guesswork."

The IANA had been assigning addresses for many years before the inception of RFC 1918 (February 1996). (Actually the private ranges were first put forth in RFC 1597 in March 1994.) For example, if you conduct a whois 8.0.0.0 lookup, you can see that Level 3 had this block assigned on 1992-12-01.

Therefore it can be assumed that the authors of RFC1918 had to work with the IANA/Jon Postel to find available ranges, giving us the private ranges listed above.

But again, unless someone directly involved with the process* speaks up, this may remain guesswork.

*Or just someone with better Google-foo than myself. I was unable to find a good primary source for this information.

Brett Lykins
  • 8,288
  • 5
  • 36
  • 66
  • Also, if you don't know who Jon Postel is... Educate yourself and read [RFC 2468](http://tools.ietf.org/html/rfc2468) – Brett Lykins Jan 14 '14 at 02:49
  • 1
    This is correct. At the time, glassful addressing was in use. To accommodate networks of different sizes, one class A, 32 class B and 256 class C networks were designated. Why 10, 172.16 and 192.168? Because it was an afterthought and those were available. – bahamat Jan 14 '14 at 17:41
  • And to follow up, why do most home routers use 192.168? Because there are rarely more than 255 devices so it saves memory on the router. – bahamat Jan 14 '14 at 17:44
  • 4
    @bahamat 192.168.1.0/24 and 10.1.1.0/24 are comparable. Both subnets fit in the same-sized C struct... no memory saved with 192.168 – Mike Pennington Jan 14 '14 at 21:51
  • Yes, but 192.168.x.0 is (was) a class C. 10.x.x.x is not. We inherited this mess because of class routing. Today we ceaselessly route things, but you know, **TRADITION! TRADITION!!** – bahamat Jan 14 '14 at 22:29
  • 2
    CIDR is about 20 years old, nobody had home routers 20 years ago – Mike Pennington Jan 14 '14 at 22:35
  • 2
    @bahamat, 9 times out of 10 home routers have zero need to run an IGP (classful or not) and the DHCP scopes on them are completely user configurable so I'm failing to see the validity of your assertion. – John Jensen Jan 14 '14 at 22:43
  • My assertion is that history has momentum. When networks were classed, a large network used 10.x.x.x, small size used 192.168. Home networks are small, thus 192.168, even though 10.1.1.0/24 is just as good. I'm not saying that decision was technically based. I'm saying it was tradition based. I'm also not saying tradition was justification. I'm just saying it happened. – bahamat Jan 14 '14 at 23:52
  • Your assertion is a guess at best and you have no grounds to state authoritatively that the consumer-grade router manufacturers decided to use 192.168/24 based on assumed "memory constraints" vs. any other address range, or based on classful addressing schemes. To use one manufacturer as an example, Linksys shipped their first 8-port home router in 2000, and the CIDR spec was already 7 years old at that point. – John Jensen Jan 15 '14 at 00:08
  • 2
    10/8 was the old ARPANET. After its space went back to ARIN, it was marked reserved and became the first /8 as far as I know to be available for private use. 172.16/12 had the largest, contiguous allocation unassigned. Not sure on 192.168/16 other than it was available in the old Class C range. – generalnetworkerror Jan 15 '14 at 07:56
  • I think Level 3 were probably allocated 8/8 earlier, but the 1992 date reflects the introduction of a registry to support CIDR. – eggyal May 19 '14 at 19:44
5

As others have pointed out, RFC1918 defines 3 private IP ranges. In 1996, there was still legacy equipment around that didn't support CIDR, so one range was created for each class. Class B addresses start at 128.0.0.0, and class C addresses start at 192.0.0.0; 168 was chosen just because it was unallocated.

But this raises another question — why was a class C range required? Since the only difference between classes A, B and C is the network size, why not just use 10.0.0.0/8? According to RFC1918:

If a suitable subnetting scheme can be designed and is supported by the equipment concerned, it is advisable to use the 24-bit block (class A network) of private address space and make an addressing plan with a good growth path. If subnetting is a problem, the 16-bit block (class C networks), or the 20-bit block (class B networks) of private address space can be used.

I'm not sure exactly what kind of "problems" with subnetting the authors were thinking of. Perhaps some pre-CIDR hardware didn't support Class A networks due to memory constraints (though you would think it's the number of hosts, not the number of potential hosts, that matters).

Also, class C networks are /24s, even though 192.168.x.x is a /16 — so in classful networking 192.168.x.x actually contains 256 subnets. This may have been useful for large organisations that wanted to run private subnets on pre-CIDR hardware.

sjy
  • 165
  • 7
  • um. a /24 may be a Class C Network if the first bits of the address are 110. But you also get a /24 from a Class A or B Network. Classful networking is dead for a long time. One should only use Class-A,-B,-C in an historical context. –  Oct 25 '14 at 19:29
-1

Please use 10.0.0.0 - 10.255.255.255, per RFC 6890, page 6.

I used to think that answering historical questions was a good idea, but I would like to avoid doing this on a regular basis, due to bad help vampire experiences. It doesn't seem necessary in this case. 10.0.0.0/8 is simple enough.

Mike Pennington
  • 29,876
  • 11
  • 78
  • 152
  • 1
    Quite frankly, you're not answering the question. I'm asking about the history of it, not for a simpler local range. If you don't think it's a good question, close it. – Undo Jan 13 '14 at 23:13
  • 1
    The premise behind your objection to 192.168.*.* is that you'd have "chosen something simpler". The point is that 10.0.0.0/8 is also RFC1918 space, and it's something simpler, but you can't randomly decide to pick any address space in the internet [without complications](http://networkengineering.stackexchange.com/questions/2283/how-to-check-for-a-valid-public-ip-address/2285#comment3206_2283). If the community wants to close that's fine... In summary, I think you're being overly pedantic WRT "Don't tell me about 10.0.0.0/8 because I asked about 192.168 space". – Mike Pennington Jan 13 '14 at 23:19
  • 2
    I completely respect you, and I don't want to sound otherwise. However, it does seem like answering a question with 'I'd rather not answer this as it is now, so here's an answer to a very related question' isn't quite right. I'm looking more for the motivation behind it, not necessarily history per se. Thanks for being open to discussion, though! – Undo Jan 13 '14 at 23:22
  • 1
    Also, http://meta.networkengineering.stackexchange.com/questions/310/historical-question-yes-or-no – Undo Jan 13 '14 at 23:28