Route Aggregation and Supernetting
Consider the extremely large number of independent network addresses that exist on the Internet. Now imagine your router has to keep a record of every one of those addresses in it's routing table. Here we have a dilemma. If your router does not keep a record of all possible addresses, then your packets may be dropped due to destination unknown problems. If it does keep a record of all the addresses then it's routing table will be HUGE.
Aha, you might say, the obvious solution is to store addresses based on classes. Well, let's consider the problem from the point of view of an ISP. An ISP may have the responsibility for allocating a vast range of network addresses. Suppose our particular ISP is responsible for 3 different Class B addresses from 172.16.28.0 to 172.16.30.0. (Yes, this is a really small ISP)
Would an external Internet router need to store the 3 different network addresses in it's routing table? The diagram below shows this situation.
Rather than store each separate network addresses, a more efficient way would be to store one single supernet network address that represents the three Class B network addresses. An Internet router could just keep a single supernet entry in it's routing table and route any packets for the supernet to the ISP's router. The ISP's router could deal with the matter of getting the packet to the appropriate network in the supernet.
Is it possible combine the three routes into a single address? Well yes! Combining network addresses together is called route aggregation and the combined network is called a supernet. You can imagine supernets as the opposite of subnets.
Let's aggregate the routes in the example above to form one supernet address. The three separate network addresses of 172.28.0.0/16, and 172.29.0.0/16 and 172.30.0.0/16 can be aggregated into the single super network address of 172.28.0.0/14.
Let's see how I calculated the supernet address.
Step 1: Convert each address into binary
Step 1 |
172.28.0.0 |
10101100.00011100.00000000.00000000 |
172.29.0.0 |
10101100.00011101.00000000.00000000 |
172.30.0.0 |
10101100.00011110.00000000.00000000 |
Step 2: Determine which bits of the address are the same and which bits are variable.
Step 2 |
172.28.0.0 |
10101100.00011100.00000000.00000000 |
172.29.0.0 |
10101100.00011101.00000000.00000000 |
172.30.0.0 |
10101100.00011110.00000000.00000000 |
Step 3: Work out the network prefix.
Step 3 |
Count all the bits from the left that are the same
10101100.000111 = 14 bits the same
The supernet bit mask is:-
11111111.11111100.00000000.00000000
The supernet address using CIDR notation can be obtained by using the lowest network address and the new bit mask.
The supernet address is - 172.28.0.0/14
|
So now, any Internet router can store the single supernet address of 172.28.0.0/14 in it's routing table instead of the three separate network addresses, thus reducing the number of routing table entries required.
For route summarization and supernetting to work properly a router must be able to support CIDR and classless routing. Instead of relying on the class of an address to route packets, a router that supports CIDR can now use the /n prefix to route. This brings about tremendous flexibility, in that address allocations can be tailored to the actual needs of an organisation.
The power of CIDR and route aggregation becomes apparent when you realise that contiguous blocks of address space all over the Internet can be aggregated. It is possible for a single routing entry to represent many addresses lower down the hierarchy. A single routing entry may point to the supernet address of one ISP, another entry to the supernet address of another ISP and so on. In fact, without route aggregation, the growth in the routing tables would have eventually brought the Internet to a standstill.
~Now try the activity~
Activity B |
- Suppose an ISP maintains the following four Class B address blocks:
- 150.12.0.0/16
- 150.13.0.0/16
- 150.14.0.0/16
- 150.15.0.0/16
Aggregate these four address blocks into a single route.
You can check your answers here
|
|