Areas

Even though modern routers have powerful CPUs and adequate memory, large networks are easier to engineer and understand if they can be built in a hierarchical manner. If we are a multi-national organisation, it would be useful if we could summarise the routes as economically as possible to any particular country. Do I really need to know which sub-net the Munich office is in? Could I just get an aggregated route for the German HQ and then let them route locally? In OSPF, this is the concept of an area; it allows us to keep routing tables small and understandable and to avoid, large, flat network topologies. Each network has an area 0, this is the backbone of the network. Each other area must connect to area 0 and all traffic from area to area will transit area 0.

This concept also applies to the datacenter. We can take an overall network design and break it up into usable areas. For example, we could assign area 16 and 172.16.0.0/16 to a row of cabinets and only advertise that route back to the core. However, we could have dozens of routers, hundreds of hosts and thousands of VMs encapsulated within that area. There are old guidelines that specify a maximum number of routers per area, but these were based on old, slow CPUs and limited memory. I am aware of no current guidelines on restricting OSPF area size.

Area IDs are 32-bit numbers and it is common practice to use dotted decimal notation to describe them. For example, area 0 would be 0.0.0.0 and area 16 would be 0.0.0.16. A router with an interface in area 0 and another area is an area border router or ABR. To keep the network above comprehensible, we could use the 10-address space and assign the second octet to be consistent with the area number.

Area
Subnet Assignment

0.0.0.0

10.0.0.0/16

0.0.0.1

10.1.0.0/16

0.0.0.2

10.2.0.0/16

0.0.0.3

10.3.0.0/16

0.0.0.4

10.4.0.0/16

This could be a network with thousands of nodes spread across five countries; yet our core routing tables will have only five routes.

Last updated