Fundamentals

IPv4 Address Classes Explained (A, B, C, D, E)

What the original classful addressing system was, how Class A/B/C/D/E networks differ, and why CIDR replaced it.

The five IPv4 address classes

Class Leading Bits Range Prefix Networks Hosts/Network Purpose
A 0xxxxxxx 1.0.0.0 – 126.255.255.255 /8 128 16,777,214 Very large orgs, ISPs
B 10xxxxxx 128.0.0.0 – 191.255.255.255 /16 16,384 65,534 Large enterprises
C 110xxxxx 192.0.0.0 – 223.255.255.255 /24 2,097,152 254 Small networks
D 1110xxxx 224.0.0.0 – 239.255.255.255 Multicast
E 1111xxxx 240.0.0.0 – 255.255.255.255 Reserved (experimental)

Why classes are obsolete

Classful addressing was wasteful. A company needing 300 hosts had to request a Class B (/16, 65,534 hosts), wasting over 65,000 addresses. In 1993, CIDR replaced classful addressing, allowing networks to be sized exactly as needed using any prefix length from /0 to /32.

Today, the concept of IP classes survives only in the RFC 1918 private range naming ("Class A private: 10/8", "Class B private: 172.16/12", "Class C private: 192.168/16") and in the ip_class field returned by routers and tools for diagnostic purposes.

Frequently Asked Questions

What are the IPv4 address classes?

IPv4 originally had five classes. Class A (/8, ~16.7M hosts) for very large networks; Class B (/16, 65,534 hosts) for large enterprises; Class C (/24, 254 hosts) for small networks; Class D (224–239.x.x.x) for multicast; Class E (240–255.x.x.x) reserved. Classful addressing was replaced by CIDR in 1993.

Are IP address classes still used today?

Not for routing — CIDR replaced classful addressing in 1993. But the class names survive in RFC 1918 private range labels ("Class A private: 10/8", "Class C private: 192.168/16") and in some legacy tools. Modern networking uses CIDR prefix lengths exclusively.

What is a Class A IP address?

A Class A address has a first octet of 1–126, uses a /8 prefix, and supports up to 16,777,214 hosts per network. The private Class A range is 10.0.0.0/8 (RFC 1918). Note: 127.x.x.x is technically Class A but is entirely reserved for loopback and not usable as a network address.

Note on 127.x.x.x

127.0.0.0/8 falls in the Class A range but is reserved for loopback. It is not assigned as a Class A network. 127.0.0.1 (localhost) is the canonical loopback address.