skip to content

An old network document calls an IPv4 subnet 'a class C network'; what did that originally mean, and why was classful addressing abandoned?

level: middleimportance: should knowfreq 46%

answer

  1. the first bits used to decide
  2. 254 too small, 65,534 too big
  3. one route per network number
  4. classless replacement from 1993

basics

~20 s

Originally a class C network had an address starting with bits 110 (first octet 192-223), a fixed 24-bit network and 254 hosts. Classes died from class B exhaustion and routing-table growth; CIDR replaced them in 1993.

solid answer

~40 s

Under RFC 791 the first bits of an address fixed its class and therefore its network size: class A `0` (8-bit network), class B `10` (16-bit), class C `110` (24-bit, 254 hosts). So "class C" meant a first octet of 192 to 223 and an unchangeable 254-host network. The scheme failed on two fronts RFC 4632 records: **class B exhaustion**, because C was too small and B far too big for mid-sized organisations, and **routing-table growth**, because every classful network was its own route. **CIDR** (RFC 1519 in 1993, now RFC 4632) made the boundary explicit with a prefix length and let blocks aggregate. Today "class C" is loose talk for a block with mask `255.255.255.0`, whatever its first octet.

go deeper

for a junior

Recall that a class C address began with 192 to 223 and gave 254 hosts, and that classless addressing replaced the classes in 1993.

for a middle

Explain how leading bits fixed the network size, why that caused class B exhaustion and routing-table growth, and what CIDR changed: an explicit prefix and aggregation.

for a senior

Show the operational habit: treat class names in legacy documents as hints, confirm the configured mask, and spot software that silently reapplies classful default masks.

for a principal

Discuss why CIDR was a stopgap that outlived its planned three to five years, and what that says about migrating addressing schemes on a live internet.

## The scenario An old network diagram labels an IPv4 subnet "a class C network". The phrase is still heard in interviews and design reviews, and it means something different today from what it meant when it was written. Answering well means knowing the original scheme, why it was abandoned, and what the words have shrunk to. ## What the classes were RFC 791 (1981) split every address into a network number and a "rest" field, and the **first bits of the address** decided where the split fell. There was no separate mask: the class was the mask. RFC 1112 (1989) later defined class D for multicast and left class E reserved. | Class | Leading bits | First octet | Network / host bits | Networks | Hosts per network | |---|---|---|---|---|---| | A | `0` | 0-127 | 8 / 24 | 128 | 16,777,214 | | B | `10` | 128-191 | 16 / 16 | 16,384 | 65,534 | | C | `110` | 192-223 | 24 / 8 | 2,097,152 | 254 | | D | `1110` | 224-239 | multicast group (28 bits) | n/a | n/a | | E | `1111` | 240-255 | reserved | n/a | n/a | Host counts subtract the all-zeros and all-ones host values. Two class A numbers, 0 and 127, were special from the start. So "a class C network" originally meant a network number whose address began with `110`, first octet 192 to 223, with a fixed 24-bit network number and an 8-bit host field: 254 usable hosts, no choice about it. ## Why the scheme died RFC 4632 records the three problems the IETF's Routing and Addressing group identified in January 1992: 1. **Class B exhaustion.** There was no size that fitted a mid-sized organisation. Class C, at 254 hosts, was too small; class B, at 65,534, was far too big but the only workable fit, so organisations took class B networks they could never fill and the 16,384 of them ran short. 2. **Routing-table growth.** Every classful network was its own route. As class B ran short, organisations were given several class C networks instead, each a separate route in every backbone router, and tables grew faster than software, hardware and people could manage. 3. **Eventual exhaustion of the whole 32-bit space.** The first two were expected to become critical between 1993 and 1995. ## What replaced it: classless addressing **Classless Inter-Domain Routing (CIDR)** arrived in RFC 1519 in September 1993; RFC 4632 (2006) obsoletes it and is the current specification. Its changes: - the network boundary is stated **explicitly** by a prefix length or mask, not inferred from the first bits; - a block can be any power-of-two size, from a single address to the whole space, so an organisation gets roughly what it needs; - blocks are assigned along provider topology, so many customer prefixes **aggregate** into one route. CIDR deliberately did not solve the third problem; RFC 4632 says it only bought time for a longer-term answer. It never claimed to end address exhaustion. RFC 1812 sums up the result: the distinction between classes A, B and C "is no longer important"; they are generalised unicast prefixes of "only historical interest". Classes D and E survive only as assignment policy: multicast and reserved space. ## What "class C" means today In current speech, "a class C" is loose talk for a block with a 24-bit network part, mask `255.255.255.0`, 256 addresses and 254 usable hosts, **whatever its first octet**. A `10.40.12.0` network with mask `255.255.255.0` gets called "a class C" even though `10` was class A space. When you meet the phrase in a legacy document: - read it as "mask `255.255.255.0`", then confirm the real mask in configuration; - do not assume a `10.x` address must use `255.0.0.0` or a `172.x` address `255.255.0.0`; - watch for software that still infers a default mask from the first octet when none is configured; it brings classful assumptions back silently. ## Common wrong answers - "Class C means a private network": private space comes from RFC 1918 and cuts across the old classes. - "NAT replaced classes": CIDR replaced classes; translation is a separate mechanism. - "CIDR solved IPv4 exhaustion": RFC 4632 says it did not try to.

  • If IPv4 classes are dead, why do the ranges starting at 224 and 240 still matter?
    Classes D and E survived as assignment policy, not as network sizes. Addresses whose first four bits are `1110` (224 to 239) remain multicast group addresses, and `1111` (240 to 255) remains reserved space, with `255.255.255.255` serving as limited broadcast. RFC 1812 notes that CIDR preserved both spaces.
  • What goes wrong when software still infers an IPv4 mask from the first octet?
    A host given `10.40.12.7` with no explicit mask gets `255.0.0.0` and believes every `10.x.x.x` address is on its own link. Traffic to other `10.x` networks is then sent directly on the link instead of to the router, and it never arrives unless some device answers on the remote hosts' behalf.

saying these in an interview costs you the question

  • A class C network means any private network.
  • A 10.x address must use mask 255.0.0.0 because it is class A.
  • CIDR solved IPv4 address exhaustion for good.
  • NAT is what replaced classful addressing.
  • A class C network holds 256 usable host addresses.