2.3 IP Address Issues and Solutions
2.3.2 Using addressing hierarchies
What is an addressing hierarchy, and why do you want to have it?

Perhaps the best known addressing hierarchy is the telephone network. The telephone network uses a hierarchical numbering scheme that includes country codes, area codes, and local exchange numbers, as shown in the main figure.

For example, if you are in San Jose, California, and call someone else in San Jose, then you dial the San Jose local exchange number, 528, and the person's telephone number, 7777. The central office, upon seeing the number 528, recognizes that the destination telephone is within its area so it looks for number 7777 and transfers the call.

To call Aunt Judy in Alexandria, Virginia, from San Jose, dial the area code, 703, the Alexandria prefix, 555, and then Aunt Judy's local number, 1212. The central office first looks up number 703 and determines that it is not in its local area. The central office immediately routes the call to a central office in Alexandria. The San Jose central office does not know where 555-1212 is, nor does it have to. It only needs to know the area codes, which summarize the local telephone numbers within an area.

If there were no hierarchical structure, every central office would need to have every telephone number, worldwide, in its locator table. With a simple hierarchical addressing scheme, the central office uses country codes and area codes to determine how to route a call to its destination. A summary number (address) represents a group of numbers. For example, an area code, such as 408, is a summary number for the San Jose area. That is, if you dial 408 from anywhere in the United States, and then a seven-digit telephone number, the central office will route the call to a San Jose central office. This is the kind of addressing strategy that the Internet engineers are trying to work toward, and that you as a network administrator should implement in your own internetwork.

The benefits of hierarchical addressing are twofold:

  • Efficient allocation of addresses --- Hierarchical addressing enables one to optimize the use of the available addresses. because you group them contiguously. With random address assignment, you may end up wasting groups of addresses because of addressing conflicts.
  • Reduced number of routing table entries --- Whether it is with your Internet routers, or your internal routers, you should try to keep your routing tables as small as possible by using route summarization. Route summarization is a way of having a single IP address represent a collection of IP addresses when you employ a hierarchical addressing plan. By summarizing routes, you can keep your routing table entries manageable, which means the following:
  • More efficient routing
  • Reduced number of CPU cycles when recalculating a routing table, or when sorting through the routing table entries to find a match
  • Reduced router memory requirements