Network design involves the art and science of meeting requirements while dealing with economic, technological, physical, and political constraints. Scalability and extensibility are the hallmarks of a successful large-scale network design, and are encouraged through layering, modularization, and hierarchy. Randomization, soft state, dampening, separation of the control plane, regionalization, and optimizing the common case are also important considerations for routing protocols and the overall routing topology.
Although requirement analysis is an important aspect of design, it should be viewed as an ongoing task and should be ratified by the collection of traffic statistics that describe actual network usage.
By categorizing routers into the roles of backbone, distribution, and access, you will simplify the hardware/software combinations and configuration complexity required for any particular router. This consequently simplifies the operational support of the network.
Within the various tiers of the hierarchy, the topologies of ring, star, bus, and mesh may be employed. The choice depends on reliability, traffic, and delay requirements. In the case of WAN topologies, carrier service pricing also could be a determining factor.