Loading learning content...
If Class A was designed for Internet titans—governments, telecommunications monopolies, and defense departments—then Class B was conceived for the substantial middle: major universities, regional ISPs, multinational corporations, and large government agencies.
Class B addresses occupy the first-octet range from 128 to 191, offering a balanced compromise: more networks than Class A (16,384 vs. 128) but with fewer hosts per network (65,534 vs. 16 million). This middle ground made Class B the most sought-after allocation category during the Internet's commercial expansion.
Understanding Class B is essential not only for historical perspective but because the challenges it created—address exhaustion, inefficient allocation, routing table growth—directly motivated the CIDR revolution that still governs modern IP addressing.
By completing this page, you will understand: (1) The binary structure defining Class B addresses (leading bits '10'), (2) The 16/16 network/host division and its implications, (3) Why Class B became the most contested allocation category, (4) Notable Class B allocations and their evolution, and (5) How Class B's limitations drove the need for subnetting and CIDR.
Class B addresses are identified by their leading two bits being '10'. This binary signature creates a precisely defined range and establishes the network/host boundary:
Binary anatomy of a Class B address:
┌───────────────────────────────────────────────────────────────────────┐│ 32-bit IPv4 Address │├───────────────────────────────────────────────────────────────────────┤│ 1 │ 0 │ N │ N │ N │ N │ N │ N │ N │ N │ N │ N │ N │ N │ N │ N │ H ... │├───┴───┼───────────────────────────────────────────────────────────────┤│ Class │ Network ID (16 bits) │ Host ID (16 bits) ││ bits │ Octets 1-2 │ Octets 3-4 │└───────┴─────────────────────────────┴───────────────────────────────────┘ Binary Breakdown:┌───────────┬───────────┬───────────┬───────────┐│ Octet 1 │ Octet 2 │ Octet 3 │ Octet 4 ││ 10NNNNNN │ NNNNNNNN │ HHHHHHHH │ HHHHHHHH ││ Network Portion │ Host Portion │└───────────────────────┴───────────────────────┘ First two bits = 10 (mandatory for Class B)Remaining 14 network bits: 2^14 = 16,384 possible Class B networks16 host bits: 2^16 - 2 = 65,534 usable hosts per networkMathematical derivation of the range:
10000000 = 12810111111 = 191Therefore, any address with first octet between 128 and 191 is definitively Class B. The second octet further distinguishes individual networks within this range.
The default subnet mask: Class B addresses carry an implicit mask of 255.255.0.0 (or /16 in CIDR notation). This mask wasn't transmitted in classical routing—routers simply recognized addresses in the 128-191 range as Class B and applied the two-octet network mask.
To quickly identify a Class B address: Check if 128 ≤ first octet ≤ 191. In binary, this means the first two bits are '10'. Example: 172.16.5.1 → 172 = 10101100 → Starts with '10' → Class B.
Class B's address space spans from 128.0.0.0 to 191.255.255.255. Let's analyze the mathematical properties of this range:
| Property | Value | Derivation |
|---|---|---|
| First octet range | 128 – 191 | Binary 10000000 to 10111111 |
| Total networks | 16,384 | 2^14 (14 variable bits in network portion) |
| Total addresses per network | 65,536 | 2^16 (16 host bits) |
| Usable hosts per network | 65,534 | 2^16 - 2 (exclude network and broadcast) |
| Total Class B addresses | 1,073,741,824 | 16,384 × 65,536 = 2^30 addresses |
| Percentage of IPv4 space | 25% | (2^30) / (2^32) = 1/4 |
Network identification example:
Example Address: 172.16.45.200 Step 1: Identify the class First octet = 172 Binary: 10101100 First two bits = '10' → Class B Step 2: Apply Class B mask (255.255.0.0) Address: 172.16.45.200 Mask: 255.255.0.0 Step 3: Extract network ID Network ID = 172.16.0.0 (first 16 bits) Step 4: Extract host ID Host ID = 0.0.45.200 (last 16 bits) Result:┌─────────────────────┬───────────────────────┐│ Network: 172.16 │ Host: 45.200 ││ (2 octets) │ (2 octets) │└─────────────────────┴───────────────────────┘ Reserved addresses in network 172.16.0.0/16: - Network address: 172.16.0.0 - Broadcast address: 172.16.255.255 - Usable range: 172.16.0.1 – 172.16.255.254The symmetry of Class B:
Class B's 16/16 bit split creates an elegant symmetry: equal bits for network identification and host addressing. This made mental calculations straightforward—the third and fourth octets together represented the host, while the first two represented the network. However, this fixed boundary proved to be Class B's greatest limitation, as we'll explore.
During the Internet's explosive growth in the late 1980s and early 1990s, Class B became the most requested—and most problematic—address category. Understanding why requires examining the mismatch between allocation sizes and organizational needs.
| Class | Hosts Available | Typical Need | Efficiency |
|---|---|---|---|
| Class A | 16,777,214 | < 50,000 for most users | < 1% used |
| Class B | 65,534 | 500 – 10,000 typical | 5 – 15% used |
| Class C | 254 | Often too small | Often needed 2-20 blocks |
The allocation dilemma:
Consider a mid-sized corporation in 1992 needing 2,000 IP addresses:
Rationally, organizations chose Class B and lived with 97% waste over managing multiple Class C blocks. The result: Class B exhaustion.
Class B's popularity was its downfall. Despite 16,384 available networks, the combination of liberal allocation policies, organizational padding (requesting more than needed 'just in case'), and genuine growth led to near-exhaustion within a decade of commercial Internet adoption.
Class B blocks were distributed to universities, corporations, government agencies, and Internet service providers. Unlike Class A (dominated by U.S. military and giant corporations), Class B allocations spread across a more diverse set of organizations:
| Block | Organization | Notes |
|---|---|---|
128.0.0.0/16 | Reserved | Not allocated for public use |
128.32.0.0/16 | UC Berkeley | Historic ARPANET participant |
128.59.0.0/16 | Columbia University | Major research institution |
129.6.0.0/16 | NIST | National Institute of Standards |
130.207.0.0/16 | Georgia Tech | Large engineering school |
131.107.0.0/16 | Microsoft Research | Internal R&D allocation |
140.82.0.0/16 | GitHub | Modern tech company |
147.75.0.0/16 | Packet (Equinix Metal) | Cloud infrastructure |
172.16.0.0/12 | Private (RFC 1918) | 16 contiguous Class B blocks for private use |
191.255.0.0/16 | Reserved | End of Class B range |
Key observations:
University dominance: Higher education institutions, with early ARPANET connections and predictable long-term needs, secured substantial Class B allocations.
Growth-oriented tech companies: As the Internet commercialized, tech companies (Microsoft, GitHub, etc.) acquired Class B blocks for operational infrastructure.
Private range emergence: The RFC 1918 designation of 172.16.0.0/12 effectively withdrew 16 Class B equivalent blocks from public allocation, a significant decision made to address exhaustion.
ISP allocations: Regional and national ISPs received Class B blocks to serve their growing customer bases before CIDR enabled more efficient allocation.
A /16 block (65,534 addresses) trades for approximately $2.5-4 million in today's IPv4 market. Organizations holding Class B allocations from the 1990s possess valuable digital assets, often worth more than their entire original IT infrastructure investment.
RFC 1918 designated 172.16.0.0/12 for private networking—a block that spans 16 contiguous Class B-sized networks from 172.16.0.0 to 172.31.255.255. This allocation provides 1,048,576 private addresses (2^20 addresses), positioned between the massive 10.x.x.x space and the modest 192.168.x.x range.
172.16.0.0/12 Private Address Range Block boundaries (16 equivalent Class B networks):├── 172.16.0.0/16 (172.16.0.0 – 172.16.255.255)├── 172.17.0.0/16 (172.17.0.0 – 172.17.255.255)├── 172.18.0.0/16 (172.18.0.0 – 172.18.255.255)│ ... (172.19 through 172.30) ...└── 172.31.0.0/16 (172.31.0.0 – 172.31.255.255) Total: 16 × 65,536 = 1,048,576 addressesUsable hosts: 16 × 65,534 = 1,048,544 (excluding network/broadcast per /16) Binary analysis:172.16.0.0 = 10101100.00010000.00000000.00000000172.31.255.255 = 10101100.00011111.11111111.11111111 └──┘ These 4 bits: 0000–1111 (0–15) → 16 networksCommon uses for 172.16.0.0/12:
172.16.0.0/12 being a /12 (not /16) often confuses newcomers. Remember: /12 means 12 network bits are fixed (the first 12 bits of 172.16.0.0), leaving 20 bits variable. This creates the 172.16-31 range (4 bits = 16 values) combined with the full third and fourth octets (16 bits = 65,536 addresses per second-octet value).
Class B's generous host capacity (65,534 addresses) created an unexpected operational challenge: how do you efficiently manage 65,000 devices on a single network segment?
The answer was subnetting—borrowing bits from the host portion to create internal network subdivisions.
Why flat Class B networks failed in practice:
Subnetting solution:
RFC 950 (1985) introduced subnetting—the ability to borrow bits from the host portion to create smaller, manageable subnetworks:
Original Class B: 172.16.0.0/16 - 65,534 usable hosts - Single broadcast domain - Unmanageable at scale Subnet to /24 (borrowing 8 host bits): 255.255.255.0 subnet mask Result: 256 subnets, each with 254 usable hosts Subnet examples: 172.16.0.0/24 (172.16.0.1 – 172.16.0.254) → Engineering 172.16.1.0/24 (172.16.1.1 – 172.16.1.254) → Sales 172.16.2.0/24 (172.16.2.1 – 172.16.2.254) → Marketing 172.16.100.0/24 (172.16.100.1 – 172.16.100.254) → Data Center ... 172.16.255.0/24 (172.16.255.1 – 172.16.255.254) → Guest WiFi Benefits: ✓ 256 manageable broadcast domains ✓ Internal routing between departments ✓ Security segmentation via ACLs ✓ Scalable network growthSubnetting transformed how organizations architected networks. A university with a Class B could allocate /24s to each department, a corporation could segment by building or function, and service providers could create customer VLANs—all within a single external allocation.
While Class B provided more networks than Class A, the proliferation of Class B allocations created a different crisis: Internet backbone router memory exhaustion.
The routing table problem:
Every allocated Class B network required a routing table entry in every backbone router. In the classful era, routers couldn't aggregate nearby networks—each /16 was an independent entry.
| Year | BGP Routes | Router RAM Typical | Status |
|---|---|---|---|
| 1989 | ~5,000 | 2-4 MB | Comfortable |
| 1991 | ~15,000 | 4-8 MB | Growing concern |
| 1993 | ~25,000 | 8-16 MB | Crisis point |
| 1995 (CIDR) | ~40,000 | 16-32 MB | Aggregation helping |
| 2000 | ~100,000 | 64-256 MB | CIDR essential |
| Today | ~1,000,000 | GB+ TCAM | Highly aggregated |
How CIDR addressed Class B's contribution:
Before CIDR, if an ISP had customers at 140.10.0.0/16, 140.11.0.0/16, 140.12.0.0/16, and 140.13.0.0/16, they advertised four separate routes. With CIDR, these could aggregate to 140.10.0.0/14—a single route covering all four.
This aggregation was only possible because CIDR abandoned the classful boundary assumption. Routers now carry explicit prefix lengths, enabling hierarchical summarization that keeps the global routing table manageable.
Some organizations still announce their old Class B blocks as individual /16s, defeating aggregation. ISPs increasingly charge higher fees for disaggregated announcements to incentivize aggregation and reduce global routing table bloat.
Like Class A, the Class B designation is technically obsolete under CIDR. However, Class B concepts and terminology persist in several contexts:
The /16 as modern currency:
While 'Class B' is deprecated, the /16 prefix length (equivalent to a Class B network) remains a common allocation unit:
In practice, /16 and 'Class B' are often used interchangeably, though /16 is technically correct under CIDR.
When configuring devices that don't explicitly require a subnet mask, be aware they may apply classful defaults. Entering 172.20.5.1 might auto-apply 255.255.0.0 (Class B default) when you intended 255.255.255.0 (/24). Always verify mask configurations explicitly.
Class B represents the middle tier of the classful addressing hierarchy—and the category that most clearly demonstrated the need for CIDR. Let's consolidate the key concepts:
What's next:
With Classes A and B covered, we'll explore Class C addressing (192.x.x.x – 223.x.x.x)—the 'small network' tier that proved both too small for many organizations and crucial for the Internet's democratic expansion. You'll understand the 24/8 split, the challenges of managing multiple Class C blocks, and why Class C consumption drove the final push toward CIDR.
You now have expert-level understanding of Class B addressing: its binary structure, range boundaries, allocation history, private address ranges, and the operational challenges that necessitated subnetting and ultimately CIDR. This knowledge is essential for understanding modern network architecture and IPv4 address management.