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?
Network Engineering Stack Exchange is a question and answer site for network engineers. It only takes a minute to sign up.
Sign up to join this communityNote: 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.
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.
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.
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 at192.0.0.0
. There's more information at Why are home networks prefixed with 192.168? (Super User) and Why is 192.168.x.y used for local IPs? (Stack Overflow), but I can't find a rationale for the choice of168
anywhere on the Internet.