Can you have a class C IP address with a subnet mask of 255.255.0.0?
What happens when you have a setting like this?
Super User is a question and answer site for computer enthusiasts and power users. It only takes a minute to sign up.Sign up to join this community
IP Classes A,B and C have been obsoleted a long time ago (1993) by CIDR. Class D is still in use for multicasting. You are now free to use whatever mask you want as long as you own the affected IP addresses ranges. However, as you are unlikely to own 256 contiguous "class C" blocks, if you use such a mask internally but want to interconnect with the Internet, you will have serious routing troubles.
Today's Class C with a subnet mask of 255.255.0.0 equals Class B. This is because the subnet is the only remnant of the old Class system, a concept that only exists today in routing tables for quantifying the number of IP addresses in an IP address segment.
If one goes back historically to RFC 791 in 1981, subnet masks were not relevant to the question. The class was determined by the first few bits of the address, and it was these bits that determined the subnet. Thus Class A had leading bit of 0, B had 10, C had 110 and D had 1110 (multicast), Class E (reserved) had 1111.
This scheme was very wasteful of IP addresses, and did not provide enough Class B addresses. So Classful networking was replaced by Classless Inter-Domain Routing (CIDR), starting in 1993 with the specification of RFC 1518 and RFC 1519, to attempt to solve this problem.
CIDR notation is a syntax of specifying IP addresses and their associated routing prefix. It appends to the address a slash character and the decimal number of leading non-zero bits of the routing prefix, e.g., 192.168.0.0/16 for IPv4, and 2001:db8::/32 for IPv6. (Remember subnet mask.)
For routing purposes, CIDR provides routing prefix aggregation, also known as supernetting or route summarization. For example, sixteen contiguous /24 networks can be aggregated and advertised to a larger network as a single /20 route, if the first 20 bits of their network addresses match. Two aligned contiguous /20s may then be aggregated to a /19, and so forth. This allows a significant reduction in the number of routes that have to be advertised.
Funny enough, it is here that classes have resurfaced as a measure of the number of nodes possible in a segment. See the above article for the definitions of classes such as "1/64 C" and "16 B".
Because we have two concepts called Class, the historical and the modern, confusion does occur, as both concepts are related to subnet masks (the modern one perhaps more so).
I have not found an RFC that proclaims the use of the word "Class" followed by a letter from A-E obsolete. What RFC 4632 says is:
The solution that the community created was to deprecate the Class A/B/C network address assignment system in favor of using "classless", hierarchical blocks of IP addresses (referred to as prefixes).
Careful reading of that passage is not to outlaw references to Class but to point to the real issue which was assignment.
I do agree that the preferred nomenclature is clearly spelled out in RFC 4632:
...the change from Class A/B/C network numbers to classless prefixes is to make explicit which bits in a 32-bit IPv4 address are interpreted as the network number (or prefix)...
Having been around networks for some time I don't see an issue with someone talking about "Class A / B / C / D / E", and I know more than a few CCIE's that have let slip the blasphemy of talking Class... Fortunately no one had to correct anyone because we all knew that /8 = Class A, /16 = Class B, and /24 = Class C.
So the correct answer to the OP is:
Yes. The IP Addresses from 192.x.x.x to 223.x.x.x can have a /16 prefix (255.255.0.0). Further comments, and / or best practices can only be given when you provide specifics about the IP address and environment it will be used in.
As i understand it, not really.
A class C network uses 24 bits for the network and 8 for the host, so 0.0 breaks that as it leaves 16 for the network. But its possible to have a private addressing scheme using 255.255.0.0 using class A.
In short, you can subnet the default B mask for A, or the default C mask for A and B, but you cant go the other way (C to B or A)... If that makes sense.