Faced with exhaustion of class B address space and the explosion of routing table growth triggered by a flood of new class Cs, IETF began implementing Classless Interdomain Routing (CIDR), in the early 1990s. CIDR is documented in RFC 1518 and RFC 1519. The primary requirement for CIDR is the use of routing protocols that support it, such as RIP Version 2, OSPF Version 2, and BGP Version 4.
CIDR can be thought of as "subnetting on steroids". The subnetting mask, previously a magic number set in a computer's boot sequence, becomes an integral part of routing tables and protocols. A route is no longer an IP address, broken down into network and host bits according to its class. A route is now a combination of address and mask. Not only can we break networks into "subnets", but we can combine networks into "supernets", so long as they have a common network prefix. CIDR defines address assignment and aggregation strategies designed to minimize the size of top-level Internet routing tables.