IP Address Classes: Complete Guide to IPv4 Classification
IP address classes were the original method of organizing IPv4 addresses into different categories based on network size. While largely replaced by CIDR notation, understanding IP address classes remains important for networking fundamentals and legacy systems. This comprehensive guide explains all five IP address classes and their modern relevance.
What Are IP Address Classes?
IP address classes are a classification system that divides the IPv4 address space into five categories (A, B, C, D, and E) based on the first few bits of the address. This system, called "classful networking," was used from 1981 until the introduction of CIDR in 1993.
Why Classes Were Created
Original purpose: - Simplify address allocation - Accommodate different network sizes - Enable routing without subnet masks - Organize the internet hierarchically
The problem: - Inflexible allocation - Massive address waste - Inefficient use of address space - Led to IPv4 exhaustion
The Five IP Address Classes
Class A: Large Networks
Address range: 0.0.0.0 to 127.255.255.255
First octet: 0-127
First bit: Always 0
Binary pattern: 0xxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx
Default subnet mask: 255.0.0.0 (/8)
Network/Host split: - Network bits: 8 - Host bits: 24 - Networks: 128 (0-127) - Hosts per network: 16,777,214
Purpose: Very large organizations
Examples:
10.0.0.0 - 10.255.255.255 (Private)
12.0.0.0 - 12.255.255.255 (AT&T)
15.0.0.0 - 15.255.255.255 (HP)
18.0.0.0 - 18.255.255.255 (MIT)
Characteristics: - Enormous networks - Very few networks (128 total) - Millions of hosts per network - Mostly allocated to large corporations and governments - Highly wasteful for most organizations
Class B: Medium Networks
Address range: 128.0.0.0 to 191.255.255.255
First octet: 128-191
First two bits: Always 10
Binary pattern: 10xxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx
Default subnet mask: 255.255.0.0 (/16)
Network/Host split: - Network bits: 16 - Host bits: 16 - Networks: 16,384 - Hosts per network: 65,534
Purpose: Medium to large organizations
Examples:
128.0.0.0 - 128.255.255.255
172.16.0.0 - 172.31.255.255 (Private)
150.0.0.0 - 150.255.255.255
191.0.0.0 - 191.255.255.255
Characteristics: - Balanced network/host split - Suitable for universities, large companies - Still wasteful for many organizations - Popular for corporate networks
Class C: Small Networks
Address range: 192.0.0.0 to 223.255.255.255
First octet: 192-223
First three bits: Always 110
Binary pattern: 110xxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx
Default subnet mask: 255.255.255.0 (/24)
Network/Host split: - Network bits: 24 - Host bits: 8 - Networks: 2,097,152 - Hosts per network: 254
Purpose: Small organizations
Examples:
192.0.0.0 - 192.255.255.255
192.168.0.0 - 192.168.255.255 (Private)
200.0.0.0 - 200.255.255.255
223.0.0.0 - 223.255.255.255
Characteristics: - Many networks available - Few hosts per network - Ideal for small businesses - Most common for home/office use
Class D: Multicast
Address range: 224.0.0.0 to 239.255.255.255
First octet: 224-239
First four bits: Always 1110
Binary pattern: 1110xxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx
Purpose: Multicast groups (one-to-many communication)
No subnet mask: Not used for host addressing
Examples:
224.0.0.0 - 224.0.0.255 (Local network control)
224.0.1.0 - 224.0.1.255 (Internetwork control)
232.0.0.0 - 232.255.255.255 (Source-specific multicast)
239.0.0.0 - 239.255.255.255 (Administratively scoped)
Common multicast addresses:
224.0.0.1 - All hosts on local network
224.0.0.2 - All routers on local network
224.0.0.5 - OSPF routers
224.0.0.9 - RIPv2 routers
224.0.0.13 - PIM routers
Use cases: - Video streaming - IPTV - Stock market data - Routing protocols - Network discovery
Class E: Reserved/Experimental
Address range: 240.0.0.0 to 255.255.255.255
First octet: 240-255
First four bits: Always 1111
Binary pattern: 1111xxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx
Purpose: Reserved for future use and research
Status: Not available for general use
Special addresses:
255.255.255.255 - Limited broadcast address
Characteristics: - Never allocated for public use - Used in research and experimentation - Some proposals to reclaim for general use - Unlikely to be released due to compatibility issues
Identifying IP Address Class
By First Octet
Quick reference:
0-127: Class A
128-191: Class B
192-223: Class C
224-239: Class D (Multicast)
240-255: Class E (Reserved)
By Binary Pattern
Look at first bits:
0xxxxxxx = Class A
10xxxxxx = Class B
110xxxxx = Class C
1110xxxx = Class D
1111xxxx = Class E
Examples
Identify these addresses:
``` 10.0.0.1 First octet: 10 (0-127) Class: A
172.16.0.1 First octet: 172 (128-191) Class: B
192.168.1.1 First octet: 192 (192-223) Class: C
224.0.0.1 First octet: 224 (224-239) Class: D (Multicast)
255.255.255.255 First octet: 255 (240-255) Class: E (Reserved/Broadcast) ```
Private IP Address Ranges
Within Classes A, B, and C, certain ranges are reserved for private use (RFC 1918).
Class A Private Range
Range: 10.0.0.0 to 10.255.255.255
CIDR: 10.0.0.0/8
Subnet mask: 255.0.0.0
Hosts: 16,777,216
Common use: Large private networks, VPNs
Class B Private Range
Range: 172.16.0.0 to 172.31.255.255
CIDR: 172.16.0.0/12
Subnet mask: 255.240.0.0
Networks: 16 Class B networks
Hosts: 1,048,576
Common use: Medium enterprise networks
Class C Private Range
Range: 192.168.0.0 to 192.168.255.255
CIDR: 192.168.0.0/16
Subnet mask: 255.255.0.0
Networks: 256 Class C networks
Hosts: 65,536
Common use: Home networks, small offices
Special IP Addresses
Loopback (Class A)
Range: 127.0.0.0 to 127.255.255.255
Most common: 127.0.0.1
Purpose: Local loopback, testing
Usage: localhost, self-referencing
Link-Local (Class B)
Range: 169.254.0.0 to 169.254.255.255
CIDR: 169.254.0.0/16
Purpose: Automatic private IP addressing (APIPA)
Usage: When DHCP fails, Windows auto-assigns
Documentation (Class C)
Ranges:
192.0.2.0/24 (TEST-NET-1)
198.51.100.0/24 (TEST-NET-2)
203.0.113.0/24 (TEST-NET-3)
Purpose: Documentation and examples
Usage: Safe to use in documentation without conflicts
Problems with Classful Addressing
Address Waste
Example 1: Small company needs 500 hosts
Class C: 254 hosts (too small)
Class B: 65,534 hosts (allocated)
Waste: 65,034 addresses (99.2%)
Example 2: Medium company needs 1,000 hosts
Class C: 254 hosts (too small)
Class B: 65,534 hosts (allocated)
Waste: 64,534 addresses (98.5%)
Inflexibility
Fixed sizes: - Class A: 16.7 million hosts - Class B: 65,534 hosts - Class C: 254 hosts
No middle ground: - Can't get 500 hosts efficiently - Can't get 5,000 hosts efficiently - Must choose too small or too large
Routing Table Growth
Problem: - Each network needs routing entry - Class C explosion - Millions of routes - Router memory exhaustion
Exhaustion
Class B depletion: - Most desirable size - Quickly exhausted - Organizations hoarded addresses - Accelerated IPv4 exhaustion
CIDR: The Modern Solution
What is CIDR?
Classless Inter-Domain Routing: - Introduced in 1993 - Replaces classful addressing - Variable-length subnet masks - Efficient address allocation
How CIDR Fixes Problems
Flexible sizing: ``` Need 500 hosts? Use /23 (510 hosts)
Need 1,000 hosts? Use /22 (1,022 hosts)
Need 5,000 hosts? Use /19 (8,190 hosts) ```
Route aggregation: ``` Instead of: 192.168.0.0/24 192.168.1.0/24 192.168.2.0/24 192.168.3.0/24
Aggregate to: 192.168.0.0/22 ```
Efficient allocation: - No wasted addresses - Right-sized networks - Better routing - Slower exhaustion
Classful vs Classless
Classful Networking (Legacy)
Characteristics: - Fixed network sizes - Determined by first octet - Wasteful allocation - Simple but inflexible
Example:
Network: 172.16.0.0
Class: B (automatically /16)
Hosts: 65,534
Classless Networking (Modern)
Characteristics: - Variable network sizes - Specified by prefix length - Efficient allocation - Complex but flexible
Example:
Network: 172.16.0.0/20
Prefix: /20 (specified)
Hosts: 4,094
Modern Relevance
Why Learn Classes?
Still relevant for: 1. Understanding fundamentals - Foundation of IP addressing 2. Legacy systems - Some old equipment uses classful routing 3. Certification exams - CCNA, Network+, etc. 4. Private IP ranges - Based on class structure 5. Quick identification - Recognize address types quickly
Where Classes Don't Matter
Modern networking: - CIDR everywhere - Subnet masks always specified - No automatic class assumptions - Flexible subnetting
Example:
Old thinking: 192.168.1.0 is Class C, so /24
Modern: 192.168.1.0 could be /24, /25, /23, etc.
Practical Examples
Example 1: Home Network
Address: 192.168.1.0/24
Class: C (but doesn't matter with CIDR)
Configuration:
Network: 192.168.1.0
Subnet: 255.255.255.0 (/24)
Gateway: 192.168.1.1
Range: 192.168.1.1 - 192.168.1.254
Broadcast: 192.168.1.255
Example 2: Corporate Network
Address: 10.0.0.0/8
Class: A (private range)
Subnetting:
Main network: 10.0.0.0/8
Sales: 10.1.0.0/16
Engineering: 10.2.0.0/16
HR: 10.3.0.0/24
IT: 10.4.0.0/24
Example 3: ISP Allocation
Old way (Classful):
ISP gets: 200.0.0.0 (Class C)
Can allocate: 256 Class C networks
Each customer: 254 hosts (wasteful)
New way (CIDR):
ISP gets: 200.0.0.0/16
Can allocate: Flexible sizes
Customer 1: 200.0.0.0/24 (254 hosts)
Customer 2: 200.0.1.0/25 (126 hosts)
Customer 3: 200.0.1.128/26 (62 hosts)
Summary Table
| Class | Range | First Bits | Default Mask | Networks | Hosts/Net | Use | |-------|-------|------------|--------------|----------|-----------|-----| | A | 0.0.0.0 - 127.255.255.255 | 0 | /8 | 128 | 16,777,214 | Very large | | B | 128.0.0.0 - 191.255.255.255 | 10 | /16 | 16,384 | 65,534 | Large | | C | 192.0.0.0 - 223.255.255.255 | 110 | /24 | 2,097,152 | 254 | Small | | D | 224.0.0.0 - 239.255.255.255 | 1110 | N/A | N/A | N/A | Multicast | | E | 240.0.0.0 - 255.255.255.255 | 1111 | N/A | N/A | N/A | Reserved |
Best Practices
For Learning
- Understand the history - Know why classes existed
- Learn CIDR - Focus on modern methods
- Recognize patterns - Quickly identify address types
- Practice calculations - Both classful and classless
- Study private ranges - Based on class structure
For Modern Networks
- Use CIDR notation - Always specify prefix length
- Don't assume classes - Subnet masks vary
- Plan efficiently - Right-size networks
- Document everything - Note CIDR blocks
- Think classless - Flexible subnetting
For Troubleshooting
- Check subnet mask - Don't assume based on class
- Verify configuration - Explicit is better
- Use CIDR tools - Calculators help
- Test connectivity - Confirm assumptions
- Document findings - Note actual configuration
Conclusion
IP address classes were an important part of internet history, providing the original structure for IPv4 addressing. While classful networking is obsolete, replaced by the more efficient CIDR system, understanding classes remains valuable for networking fundamentals, legacy system support, and recognizing private IP ranges.
Related Articles
Modern IPv4 Addressing
- IPv4 CIDR Notation - Classless addressing that replaced classes
- IPv4 Subnetting - Modern network division
- Subnet Mask - Understanding network masks
- IPv4 Private Ranges - RFC 1918 addresses
IPv4 Fundamentals
- What is an IPv4 Address? - IPv4 basics
- IPv4 Reserved Addresses - Special-purpose addresses
- Broadcast Address - Network broadcasting
- IP Address - General IP addressing
Network Design
- IPv4 Exhaustion - Why classes failed
- NAT - Address conservation solution
- Routing - IP routing fundamentals
- BGP - Border Gateway Protocol
Explore More
- IPv4 Guide - Complete IPv4 resource hub
- Networking Basics - Essential networking concepts
Key takeaways: - Five classes: A (large), B (medium), C (small), D (multicast), E (reserved) - Identified by first octet or binary pattern - Classful addressing was wasteful and inflexible - CIDR replaced classes in 1993 - Private IP ranges based on class structure - Modern networks use CIDR, not classes - Understanding classes helps with fundamentals - Always specify subnet mask explicitly
While you should think in CIDR terms for modern networking, knowing IP address classes provides important context for understanding how IP addressing evolved and why current systems work the way they do.