What Are IP Address Classes? A Complete Guide to Class A, B, C, D, and E

IP address classes are an important part of understanding how IPv4 addresses were originally organized. The classful system divided IPv4 addresses into different categories based on network size, with each class having a specific address range and default subnet mask. If you're new to IPv4, see our complete guide to what an IP address is before continuing. Although this system has largely been replaced by CIDR, knowing how IP classes work helps explain many fundamental IPv4 networking concepts.


In this guide, we’ll cover all five traditional IPv4 classes: Class A, Class B, Class C, Class D, and Class E. You’ll learn the range, default subnet mask, purpose, and examples of each class, along with the private IP ranges used in IPv4. We’ll also explain the limitations of classful addressing and why modern networks use CIDR instead.











Author profile
Hamza Ansari Verified author
Cover Photo What Are IP Address Classes? A Complete Guide to Class A, B, C, D, and E

Cover Photo What Are IP Address Classes? A Complete Guide to Class A, B, C, D, and E

IP Address Classes Quick Overview

Class
First Octet
Address Range
Network Size
Primary Purpose
Class A1–1261.0.0.0–126.255.255.255255.0.0.0 (/8) · 24 host bits · 16,777,214 usable hostsVery large networks
Class B128–191128.0.0.0–191.255.255.255255.255.0.0 (/16) · 16 host bits · 65,534 usable hostMedium-sized networks
Class C192–223192.0.0.0–223.255.255.255255.255.255.0 (/24) · 8 host bits · 254 usable hostsSmaller networks
Class D224–239224.0.0.0–239.255.255.255Not applicableMulticast
Class E240–255240.0.0.0–255.255.255.255Not applicableExperimental and reserved

What Are IP Address Classes?

IP address classes are categories used in the traditional classful IPv4 addressing system to divide IPv4 addresses into predefined network sizes. Each class has a specific address range, while Classes A, B, and C have different default boundaries between the network and host portions.


An IPv4 address is a 32-bit address divided into four 8-bit sections called octets. It is normally written in decimal notation, with each octet separated by a period. For example:

192.168.1.1


Each octet can contain a value from 0 to 255, giving every IPv4 address four octets.


The traditional IPv4 addressing system contains five classes:

  • Class A: Used for very large networks
  • Class B: Used for medium-sized networks
  • Class C: Used for smaller networks
  • Class D: Used for multicast communication
  • Class E: Reserved for experimental and special purposes


The class of an IPv4 address was determined by its leading bits. These bits established the address class and its corresponding range. For Classes A, B, and C, the class also determined the default boundary between the network portion and the host portion of the address.

Why Were IP Address Classes Created?

The original IPv4 system needed a practical way to organize and allocate its limited address space to networks of different sizes. Organizations did not all have the same number of devices, so assigning every network the same number of addresses would have been inefficient.


To address this, the classful addressing system divided IPv4 addresses into predefined classes based on network size. Class A was designed for very large networks, Class B for medium-sized networks, and Class C for smaller networks.


This structure gave network administrators a straightforward way to allocate IPv4 address space according to the size of their networks. Each class also defined a fixed boundary between the network portion and the host portion of an IPv4 address.

How Were IP Address Classes Determined?

In the traditional IPv4 addressing system, an address class was determined by the leading bits of the first octet. Each class had a unique binary pattern, which defined the range of values that could appear in the first octet.


For example, Class C addresses begin with the binary pattern 110. Because the first three bits are fixed as 110, the remaining five bits can vary from 00000 to 11111. This produces first-octet values from 192 through 223. Therefore, an address such as 192.168.1.10 belongs to the traditional Class C range.


The binary prefixes used to identify the five classes were:

  • Class A: 0
  • Class B: 10
  • Class C: 110
  • Class D: 1110
  • Class E: 1111


These prefixes divided the IPv4 address space into fixed address ranges. For Classes A, B, and C, the class also determined the default boundary between the network and host portions of an address. Classes D and E served different purposes and therefore did not use the same network-and-host structure.

Class A IP Addresses

Class A addresses were traditionally designed for very large networks that needed a large number of host addresses. In the classful IPv4 system, the first bit of a Class A address is always 0. This leaves 7 bits for the network portion and 24 bits for the host portion.


Class A Address Range


The traditional Class A range is based on first-octet values from 0 to 127. However, the 0.x.x.x and 127.x.x.x ranges have special purposes and aren't used as ordinary Class A networks.


The commonly recognized Class A range for normal unicast addressing is:

1.0.0.0 to 126.255.255.255


The 127.x.x.x range is excluded because the entire 127.0.0.0/8 block is reserved for loopback communication.


Default Class A Subnet Mask


The default Class A subnet mask is:

255.0.0.0

It is also commonly represented as:

/8

With this default classful mask, the first octet identifies the network, while the remaining three octets identify hosts within that network.

For example:

10.20.30.40


With the 255.0.0.0 mask:

Network portion: 10

Host portion: 20.30.40


This provides 24 bits for the host portion, allowing up to 16,777,214 usable host addresses in a traditional Class A network.


Private IPv4 Block in the Class A Range


The private IPv4 block within the traditional Class A address space is:

10.0.0.0 to 10.255.255.255

It is commonly written as:

10.0.0.0/8


These addresses are reserved for private networks, such as home, business, and organizational networks. They aren't directly routable across the public internet and can be reused in separate private networks. If you want to identify a device's private address, you can learn how to find an IP address on Windows.

Class B IP Addresses

Class B addresses were traditionally designed for medium-sized networks that needed more host addresses than Class C could provide. In the classful IPv4 system, the first two bits of a Class B address are always 10. This leaves 14 variable bits for the network number and 16 bits for the host portion.


Class B Address Range


The Class B range is based on first-octet values from:

128–191

This gives the commonly recognized Class B address range:

128.0.0.0 to 191.255.255.255


Default Class B Subnet Mask


The default Class B subnet mask is:

255.255.0.0

It is also commonly represented as:

/16


With this default classful mask, the first two octets represent the network portion, while the remaining two octets represent the host portion.

For example:

172.20.10.5


With the 255.255.0.0 mask:

Network portion: 172.20

Host portion: 10.5


The 16-bit host portion provides 65,536 possible address combinations. After excluding the network and broadcast addresses, 65,534 addresses can traditionally be assigned to hosts.d     


Private IPv4 Block in the Class B Range


A portion of the traditional Class B address space is reserved for private IPv4 networks.


The private block is:

172.16.0.0 to 172.31.255.255

It is commonly written as:

172.16.0.0/12


Not every 172.x.x.x address is private. Only addresses from 172.16.0.0 through 172.31.255.255 belong to the private IPv4 block. Other 172.x.x.x addresses can be publicly routable, depending on their allocation and use.  If you're using a Mac, you can also learn how to find an IP address on Mac.

Class C IP Addresses

Class C addresses were traditionally designed for smaller networks that needed fewer host addresses per network. The classful system provided a large number of Class C networks, with each network traditionally supporting up to 254 usable host addresses.


The first three bits of a Class C address are always 110. This leaves 21 variable bits for the network number and 8 bits for the host portion.


Class C Address Range


The traditional Class C first-octet range is:

192–223

This gives the commonly recognized Class C address range:

192.0.0.0 to 223.255.255.255


Default Class C Subnet Mask


The default Class C subnet mask is:

255.255.255.0

It can also be written in CIDR notation as:

/24


With this default classful mask, the first three octets represent the network portion, while the final octet represents the host portion.

For example:

192.168.1.25


With the default 255.255.255.0 mask, 192.168.1 represents the network portion, while 25 represents the host portion.


The 8-bit host portion provides 256 possible address combinations. After excluding the network and broadcast addresses, 254 addresses can traditionally be assigned to hosts.


Private IPv4 Block in the Class C Range


A portion of the traditional Class C address space is reserved for private IPv4 networks.

The private block is:

192.168.0.0 to 192.168.255.255

It is commonly written as:

192.168.0.0/16


Addresses within this block are widely used on home, office, and local networks. For example, a router may use a private address such as:

192.168.1.1

or:

192.168.0.1

These addresses are private and aren't directly routable across the public internet.


It's important to note that not every 192.x.x.x address is private. Only addresses within the 192.168.0.0/16 block are reserved for private IPv4 networking.

Class D IP Addresses

Class D addresses are reserved for IPv4 multicast communication rather than traditional network and host addressing. Multicast allows a sender to transmit data to multiple devices that have joined the same multicast group.


The first four bits of a Class D address are always 1110. Unlike Classes A, B, and C, Class D addresses aren't divided into a traditional network portion and host portion.


Class D Address Range


The Class D first-octet range is:

224–239


This gives the Class D address range:

224.0.0.0 to 239.255.255.255


Class D addresses don't have a traditional default subnet mask because they aren't used to assign network and host addresses in the classful system. Instead, they are used as multicast group addresses. Devices can join a multicast group and receive traffic sent to that group.


For example, a sender can transmit traffic to a multicast address such as:

239.1.1.1

Multiple devices that have joined that multicast group can receive the same traffic. The multicast address identifies the group, not an individual device.


What Is IP Multicast?


IP multicast allows a sender to transmit the same data to multiple receivers that have joined a specific multicast group. Instead of addressing each receiver individually, the sender sends the traffic to a multicast IP address representing the group.


Devices that want to receive the multicast traffic join the appropriate multicast group. Network devices can then forward the traffic toward the participating receivers, allowing one transmission to serve multiple recipients.


Multicast can be useful for applications such as:

  • Live and streaming media
  • Network discovery
  • Routing protocols
  • Real-time data distribution


Class D addresses are used to identify IPv4 multicast groups rather than individual devices. A multicast address therefore represents a group of receivers, and multiple devices can receive traffic sent to that group.

Class E IP Addresses

Class E addresses are reserved for experimental and special purposes. Unlike Classes A, B, and C, they aren't intended for normal network and host addressing, and they aren't used for multicast communication like Class D.

The first four bits of a Class E address are always 1111.


Class E Address Range


The Class E first-octet range is:

240–255

This gives the Class E address range:

240.0.0.0 to 255.255.255.255


Class E addresses aren't normally assigned to devices on standard public or private IPv4 networks. They are reserved rather than being part of the ordinary IPv4 address space available for host assignment.


Like Class D, Class E addresses don't have a traditional default subnet mask because they aren't used for conventional network and host addressing.

How Many Hosts Does Each IP Address Class Support?

The number of hosts a traditional IPv4 network could support depended on the number of bits available for the host portion. More host bits meant more possible addresses within each network, while fewer host bits meant a smaller network capacity.

IP Class
Host Bits
Total Addresses
Traditional Usable Hosts
Class A2416,777,21616,777,214
Class B1665,53665,534
Class C8256254

The total number of addresses is calculated using:

2ⁿ

where n is the number of host bits. Traditionally, two addresses aren't assigned to individual hosts: one identifies the network, and the other is used as the broadcast address.

For example, a Class C network has 8 host bits:

2⁸ = 256

After excluding the network and broadcast addresses:

256 − 2 = 254


This same calculation produces 65,534 usable hosts for Class B and 16,777,214 for Class A.


The large difference between these classes reflects their original design. Class A provided a small number of very large networks, while Class C provided a much larger number of smaller networks. This classful structure helped organize IPv4 allocation, but it could also leave significant portions of address space unused when a network didn't need the full capacity.

What Are Private IP Addresses?

Private IP addresses are used for communication within private networks, such as home, business, school, and organizational networks. They aren't globally routable on the public internet, allowing the same private addresses to be reused across separate networks without requiring every device to have a unique public IPv4 address.


IPv4 defines three private address blocks:

Private IPv4 Block
Address Range
Historical Class
10.0.0.0/810.0.0.0 to 10.255.255.255Class A
172.16.0.0/12172.16.0.0 to 172.31.255.255Class B
192.168.0.0/16192.168.0.0 to 192.168.255.255Class C

10.0.0.0/8


The 10.0.0.0/8 block falls within the historical Class A range and provides a large private address space:

10.0.0.0 to 10.255.255.255

It is commonly used by larger private networks that need a substantial number of internal addresses.


172.16.0.0/12


The 172.16.0.0/12 block falls within the historical Class B range and includes:

172.16.0.0 to 172.31.255.255


Not every 172.x.x.x address is private. Only addresses from 172.16.0.0 through 172.31.255.255 belong to this private block.


192.168.0.0/16


The 192.168.0.0/16 block falls within the historical Class C range and includes:

192.168.0.0 to 192.168.255.255


This block is widely used on home and small business networks. Common router addresses include 192.168.0.1 and 192.168.1.1.


Private addresses can be assigned to computers, phones, printers, servers, and other devices inside a local network. You can also learn how to find your

router IP address when managing your local network. When these devices access the public internet, a router commonly uses Network Address Translation (NAT) to translate their private addresses into one or more public IP addresses.If you want to scan your local network and see the IP addresses of connected devices, see our guide to Advanced IP Scanner.

Problems and Limitations of Classful IP Addressing

Classful addressing had a major limitation: networks could only receive predefined address sizes based on their assigned class. This made IPv4 address allocation difficult to match with the actual size of a network.


For example, an organization needing 1,000 host addresses couldn't use a traditional Class C network because it provided only 254 usable host addresses. The next available class, Class B, provided 65,534 usable host addresses, far exceeding the organization's requirements.


This large gap between Class C and Class B created substantial IPv4 address waste. Organizations often received much more address space than they needed because the classful system didn't provide smaller, flexible allocation options between these predefined network sizes.


As the number of networks and internet-connected devices increased, inefficient address allocation placed additional pressure on the limited IPv4 address space. These limitations contributed to the development and adoption of more flexible addressing methods, particularly Classless Inter-Domain Routing (CIDR).

Why Did CIDR Replace IP Classes?

CIDR stands for Classless Inter-Domain Routing. It was introduced to address the limitations of the traditional classful addressing system, which used fixed Class A, B, and C network sizes.


CIDR introduced flexible prefix lengths, allowing IPv4 networks to use address blocks that better matched their actual requirements. This reduced address-space waste and provided greater flexibility for network allocation and routing.


For example, instead of assigning a full Class B network to an organization that needed around 1,000 addresses, CIDR could provide a smaller address block closer to that requirement.

Are IP Address Classes Still Used Today?

IP address classes are largely considered legacy concepts in modern networking. IPv4 networks no longer rely on fixed Class A, B, or C boundaries for network allocation. Instead, modern networks use classless addressing and subnetting.


IP classes are still useful for:

  • Understanding the history of IPv4 addressing
  • Learning networking fundamentals
  • Recognizing traditional IPv4 address ranges
  • Understanding default classful subnet masks
  • Studying older networking documentation
  • Preparing for networking certifications


Terms such as “Class A address” and “Class C address range” are still used when discussing traditional IPv4 addressing. However, an IPv4 address's historical class doesn't determine its modern network size. The subnet mask or CIDR prefix determines which portion of the address represents the network and which portion represents the host.

Difference Between IP Address Classes and Private/Public IP Addresses

IP address classes and private/public designations describe different aspects of an IPv4 address. An IP class identifies how an address was categorized under the traditional classful addressing system. Private or public status describes how the address is designated for network use and routing.

For example:

192.168.1.10

This address falls within the traditional Class C range. It is also a private IPv4 address because it belongs to the 192.168.0.0/16 private address block.

Another example is:

8.8.8.8

This address falls within the traditional Class A range and is a publicly routable IPv4 address.


Therefore, an IPv4 address can have a historical class while also being identified as private or public. The IP class doesn't determine whether an address is private or public. Private status is determined by specific reserved IPv4 address blocks, while public addresses are generally routable on the internet.

FAQs

Can one IP address belong to more than one IP class?


No. Under the historical classful system, an IPv4 address belongs to one class based on its first octet. However, modern CIDR makes the historical class irrelevant when determining its actual network prefix.


What is the difference between an IP class and a subnet?


An IP class is a historical classification based on predefined address ranges and network sizes. A subnet is a smaller logical network created by dividing an IP address block using a subnet mask or CIDR prefix.


Can Class A addresses be used in small networks?


Yes. Modern networking does not require an address to use its historical classful size. A Class A range can be submitted into smaller networks using CIDR, making portions suitable for networks of various sizes.


Why are IP classes still taught?


IP classes provide useful historical context for understanding IPv4 addressing, subnet masks, network boundaries, and the development of CIDR. They also appear in networking courses, certification materials, and older technical documentation.


Are Class A, B, and C addresses physically different?


No. All IPv4 addresses use the same 32-bit format. The historical class only describes how the address was categorized based on its leading bits and first octet within the classful system.


Can an IPv4 address change its historical class?


No. An IPv4 address has a fixed value, so its historical class remains determined by its first octet. However, its network prefix can vary when the address is used with CIDR.


What happens if an IP address starts with 127?


Addresses beginning with 127 belong to the loopback range 127.0.0.0/8. They are used for communication within the same device rather than normal communication with other network devices.


Why does IPv4 have 32 bits?


IPv4 uses 32 bits to provide a finite address space of approximately 4.3 billion unique addresses. These addresses are divided into four 8-bit octets and normally written in dotted decimal notation.


Are IP address classes relevant to IPv6?


No. IPv6 does not use the historical IPv4 Class A, B, C, D, and E system. IPv6 uses prefix based addressing, allowing networks to be defined through prefix lengths instead.


What replaced the traditional classful addressing system?


CIDR replaced classful addressing as the primary method for allocating and routing IPv4 networks. It allows variable length prefixes, improving address allocation efficiency and reducing unnecessary consumption of IPv4 address space.

Conclusion

IP address classes played a foundational role in the original organization of IPv4 address space. The classful system divided IPv4 addresses into Class A, B, C, D, and E, with each class serving a distinct purpose. Classes A, B, and C defined different network and host capacities, while Class D was used for multicast and Class E was reserved for experimental purposes.


Although modern networks no longer use the rigid classful model for network allocation, IP classes remain an important part of understanding IPv4. They help explain traditional address ranges, default network boundaries, and the evolution of IPv4 addressing. Understanding these concepts also provides useful background for learning modern classless addressing and subnetting.