As the growth of public networks, we are facing shortage of the 32-bit IPv4 addresses. The Class A and Class B address category were nearly depleted at the time. Although there are still numerous Class C network addresses, Class C addresses are limited to 254 hosts, which is too few for large organizations.
To address the IP address shortage issue, solutions have been developed in the past 20 years. One of them is IPv6, which is a 128-bit binary number and provides far more addresses than IPv4. Another solution is CIDR, which is a classless address scheme and allows for more efficient allocation of IP addresses.
The advantage of CIDR allows route aggregation, also known as supernetting. That is, CIDR can aggregate multiple smaller classful networks into a single larger network. In the above example, suppose we need to assign IP address to a network which have 700 hosts. A Class C address can only provide 254 hosts, not meet our requirement. On the other hand, if we assign a Class B address to the network, it is too wasteful. A Class B address can support 65,534 hosts, but we only use 700 hosts. In stead of using classful address scheme, we use CIDR address 192.168.16.0/22 instead. By doing so, we aggregated 4 class C networks into a single /22 address (the fourth one is 192.168.19.0/24), which can have 1022 hosts in it. Our requirement is met without using a Class B address.
As the above picture shows, the router can aggregates networks 192.168.16.0/24, 192.168.17.0/24, 192.168.18.0/24 into one larger network 192.168.16.0/22. Where /22 means the first 22 bits are the network part of the address, and the remaining 10 bits are the host part of the address.
The new network diagram looks like:
In suppernetting, CIDR borrow bits from network side, so that we aggregate smaller network blocks; on the other hand, sometimes we want to divide a large network into smaller sub network blocks. In later case, we use CIDR to borrow bits from host side, the process is called subnetting.
Maybe, your ISP is using CIDR right now. Your ISP might own a large address block such as 18.104.22.168/16, which consists of many Class C networks. The ISP assigns a small chunck of 22.214.171.124/16 network to you, say 126.96.36.199/23 network. The 188.8.131.52/23 network allows you to have 510 hosts. (You can subdivide your 184.108.40.206/23 network into even smaller chuncks such as 220.127.116.11/24, 18.104.22.168/25, and assign them to your own subnetworks.) In this example, your ISP takes the responsibility of managing the IP addresses within network 22.214.171.124/16, so that internet routers only need to keep this single summary route (126.96.36.199/16 ), or supernet route, in order to route packets to your ISP's network. After packets get into your ISP's intranet 188.8.131.52/16, it is your ISP's intranet routers, that then keep the routes that are more specific to its customers' networks.
ICND1 and ICND2 break down