Las direcciones IP se dividen en clases (A, B y C) según el tamaño de la red. Las subredes permiten dividir estas clases en segmentos más pequeños mediante el uso de máscaras de subred, las cuales indican qué bits corresponden a la red, subred y host. Esto ha evitado el agotamiento de direcciones IP al permitir una asignación más eficiente.