Home CCNA IPv4 Address Classes Explained: A, B, C, D, and E
CCNA

IPv4 Address Classes Explained: A, B, C, D, and E

Five Stacked Bands Representing Ipv4 Address Classes A Through E By Relative Size

An IPv4 address identifies a device on a network, similar to how a street address identifies a physical location. Every device on an IP-based network, including the internet, needs one to communicate. This guide covers the five IPv4 address classes, how to identify each one from its first octet, and the specific network and host math behind each class.

IPv4 Addressing Basics

IPv4, defined in IETF RFC 791, is a connectionless protocol providing a unique logical identifier for every device on a network. IPv4 addresses can be assigned manually or automatically, depending on the network, and every IPv4 address is 32 bits long.

Since humans don’t work comfortably with 32-character strings of 1s and 0s, IPv4 addresses are expressed in dotted-decimal notation: the 32 bits are split into four groups of eight bits each, called octets, and each octet is converted to its decimal equivalent (a range of 0 to 255) and separated by periods. An address like 192.168.0.254, for example, represents the binary value 11000000.10101000.00000000.11111110, just written in a far more human-readable form.

Network and Host Portions

Every IPv4 address splits into two parts: a network portion, identifying which network a device belongs to, and a host portion, identifying the specific device within that network. Routers use the network portion specifically to make forwarding decisions between different networks, which is why understanding this split matters well beyond just memorizing address ranges.

IPv4 Address Classes

IPv4 addresses were originally divided into five classes, A through E, determined by the value of the first few bits in the first octet, known as the high-order bits (HOB). Classes A, B, and C are used for host addressing; Class D is reserved for multicast; Class E is reserved for experimental and future use. Modern networks largely operate on a classless addressing scheme using CIDR rather than strict class boundaries, but understanding the original class structure remains genuinely useful, both for CCNA material and for recognizing address ranges by sight.

Class A

High-order bit: 0 First octet range: 1 to 126 (0 and 127 are reserved) Default subnet mask: 255.0.0.0 Private range: 10.0.0.0 to 10.255.255.255

Class A dedicates just the first octet to the network portion, leaving the remaining three octets, 24 bits, for host addressing. This gives each Class A network up to 16,777,214 (2²⁴ − 2) usable host addresses, a genuinely enormous number reflecting how Class A was intended for extremely large organizations.

The two reserved values matter for a specific reason: 0.0.0.0 is reserved for the default route, and the entire 127.0.0.0/8 range is reserved for loopback addressing (127.0.0.1 being the most familiar example). That’s exactly why the usable Class A range starts at 1, not 0, and Class B begins at 128 rather than immediately after 127.

There are 126 usable Class A networks total, and because each one is so large, Class A collectively accounts for roughly 50% of the entire IPv4 address space, despite representing only a small fraction of the total number of individual networks available across all classes.

Within a Class A network, an address with all zeros in the host portion identifies the network itself and can’t be assigned to a device; for the 10.0.0.0 network, that’s 10.0.0.0. An address with all ones in the host portion is the broadcast address for that network; for the same network, that’s 10.255.255.255.

A network this large is rarely used as a single flat broadcast domain in practice. Subnetting, dividing a large address block into smaller logical groupings using a custom subnet mask, is how organizations actually make a Class A allocation practical for real-world use, controlling broadcast scope and applying different policies to different subnetworks.

Class B

High-order bits: 10 First octet range: 128 to 191 Default subnet mask: 255.255.0.0 Private range: 172.16.0.0 to 172.31.255.255

Class B splits the address more evenly: the first two octets form the network portion, and the last two form the host portion. This gives 16,384 (2¹⁴) possible networks, each supporting up to 65,534 (2¹⁶ − 2) hosts, a scale intended for medium-sized organizations, sitting between Class A’s massive networks and Class C’s much smaller ones.

Class C

High-order bits: 110 First octet range: 192 to 223 Default subnet mask: 255.255.255.0 Private range: 192.168.0.0 to 192.168.255.255

Class C dedicates the first three octets to the network portion, leaving just the last octet, 8 bits, for hosts. This produces 2,097,152 (2²¹) possible networks, but each one supports only 254 (2⁸ − 2) usable host addresses, reflecting Class C’s original design for small networks. This is also, not coincidentally, why the 192.168.x.x private range is so recognizable: it’s the default private addressing scheme built into most home routers.

Class D

High-order bits: 1110 First octet range: 224 to 239

Class D addresses aren’t assigned to individual hosts at all; they’re reserved for multicast, identifying a group of interested receivers rather than a single device. This is a genuinely different delivery model from unicast addressing: a message sent to a Class D address reaches every device that’s specifically joined that multicast group, while a broadcast, by contrast, reaches every device on a segment regardless of whether it actually wants the traffic.

Class E

High-order bits: 1111 First octet range: 240 to 255

Class E is reserved for experimental and future use, and it’s not used for standard host addressing or public communication on the internet.

Address Classes at a Glance

ClassFirst Octet RangeDefault MaskNetworksHosts per NetworkPrivate Range
A1–126255.0.0.012616,777,21410.0.0.0–10.255.255.255
B128–191255.255.0.016,38465,534172.16.0.0–172.31.255.255
C192–223255.255.255.02,097,152254192.168.0.0–192.168.255.255
D224–239N/A (multicast)N/AN/AN/A
E240–255N/A (reserved)N/AN/AN/A
Diagram Comparing Network And Host Octet Division Across Ipv4 Classes A Through E
Class A Gives Up One Octet To Network; Class C Gives Up Three

Why Classful Addressing Matters Less Today

Modern networks predominantly use CIDR (Classless Inter-Domain Routing) rather than strict classful boundaries, since fixed class sizes wasted enormous amounts of address space, a mid-sized organization needing 500 addresses, for example, would either be stuck with a wastefully large Class B allocation or several inefficient Class C blocks under the old system. CIDR allows subnet boundaries at essentially any bit position, giving organizations address blocks that actually match their real needs rather than forcing a choice between three fixed sizes. That said, class-based thinking remains genuinely useful: recognizing a 10.x.x.x address as originating from Class A’s private range, or a 192.168.x.x address as Class C’s, is a fast, practical skill that doesn’t disappear just because classful routing itself has been superseded.

Comparison Of Wasted Address Space Under Classful Addressing Versus Efficient Cidr Allocation
Fixed-Size Classes Wasted Space; Cidr Sizes The Block To Fit

A Worked Example: Identifying a Class From an Address

Say you’re handed the address 172.20.5.10 and need to identify its class quickly. Check the first octet: 172 falls within the 128–191 range, so this is a Class B address. That tells you immediately that the first two octets, 172.20, form the network portion, and the last two, 5.10, form the host portion, using the default Class B mask of 255.255.0.0. Since 172.20 also falls within the 172.16.0.0–172.31.255.255 range, this is additionally a private address, meaning it’s meant for use within an internal network rather than being routable on the public internet.

Compare that to 203.0.113.45. The first octet, 203, falls within 192–223, making this a Class C address, with 203.0.113 as the network portion and 45 as the host portion under the default 255.255.255.0 mask. Since 203 doesn’t fall within any of the three private ranges, this is a public address.

Being able to work through this identification quickly, first octet, class range, network/host split, private or public, is a genuinely practical skill that comes up constantly in real troubleshooting, not just on a certification exam.

Decision Tree For Identifying An Ipv4 Address Class From Its First Octet Value
One Number, Five Possible Answers

Frequently Asked Questions

What are IPv4 address classes and why do they matter?

IPv4 address classes divide the IPv4 address space into five categories, A through E, based on the value of the first octet, historically used to determine network and host portions for addressing. While classless addressing (CIDR) has largely replaced strict classful routing, understanding the classes remains useful for quickly recognizing address ranges and their default characteristics.

What is the range of Class A addresses?

Class A addresses range from 1.0.0.0 to 126.255.255.255 in terms of usable network addresses, with the first octet identifying the network and the remaining three octets identifying the host. The values 0 and 127 in the first octet are reserved, for the default route and loopback addressing respectively, which is why the usable range starts at 1.

How is a Class B address structured?

Class B addresses use the first two octets for the network portion and the last two for the host portion, with a first-octet range of 128 to 191. This structure gives 16,384 possible networks, each supporting up to 65,534 hosts, a scale designed for medium-sized organizations.

What is the default subnet mask for Class C addresses?

The default subnet mask for Class C is 255.255.255.0, reflecting that the first three octets form the network portion and only the last octet is available for host addressing, giving each Class C network 254 usable host addresses.

Why are Class D addresses used for multicast instead of regular hosts?

Class D addresses identify a multicast group rather than a single device, letting a sender transmit once and have it reach every device that’s specifically joined that group. This is meaningfully different from broadcast, which reaches every device on a segment regardless of interest, making multicast considerably more bandwidth-efficient for one-to-many delivery to a genuinely interested subset of devices.

What is the significance of Class E addresses?

Class E addresses, covering 240.0.0.0 to 255.255.255.255, are reserved for experimental and future use and aren’t used for standard public host addressing. They’re one of the rarer address ranges you’ll encounter, since they’re not part of normal internet routing.

How can I quickly identify an IP address’s class from its first octet?

Check the first octet’s value against the class ranges: 1–126 is Class A, 128–191 is Class B, 192–223 is Class C, 224–239 is Class D, and 240–255 is Class E. The value 127 is a special case reserved for loopback addressing and doesn’t fall cleanly under normal Class A host usage despite technically sitting in that range.

Which classes include the private IP address ranges?

Private, non-routable address ranges exist within Class A (10.0.0.0–10.255.255.255), Class B (172.16.0.0–172.31.255.255), and Class C (192.168.0.0–192.168.255.255). These ranges are set aside specifically for use within local networks and are never routed on the public internet.

Can a single network mix addresses from different classes?

No, a given network segment is configured with one consistent addressing scheme and subnet mask, not a mix of classes. Mixing classes on the same segment would create inconsistent network and host boundary calculations, breaking routing and addressing logic entirely.

What’s the difference between public and private IP addresses?

Public IP addresses are globally unique and routable directly on the internet, while private IP addresses are only meaningful within a local network and require NAT to communicate with the public internet. Private ranges exist specifically within Class A, B, and C to give organizations internal addressing space without consuming scarce public IPv4 addresses.

About This Content

Author Expertise: 10 years of experience in Enterprise network architecture, routing and switching, IPv4/IPv6 management, network automation, and security fundamentals.. Certified in: CCNP, CCNA
Avatar Of Asad Ijaz
Asad Ijaz

Editor & Founder

Lead Networking Architect and Editor at NetworkUstad. CCNP and CCNA certified, with 10+ years of experience in enterprise network design, implementation, and troubleshooting. Writes practical tutorials on routing, IPv4 management, network automation, and security fundamentals.

Related Articles