Modularity is one of the common design principles. In networks, the general architecture can be divided into multiple modules, with each module serving a specific function in the network. The individual modules may serve different functions, such as enterprise LAN, WAN, or data centre, or they can replicate the same function, such as LANs in multiple buildings.
Modularity facilitate network scalability by allowing individual functions to be replicated, redesigned, or expanded easily and individually. Modularity also helps isolate network failures or security breaches so they do not propagate to other parts of the network. Modularity is essential in large networks, where the design should be split along functionally lines to optimize the overall network manageability.
Modules are created by limiting the propagation of control information from one module to others. Boundaries between modules provide the locations at which information can be hidden from the outside by means of filtering or aggregation. Examples of information hiding in networks include: stopping Layer 2 broadcasts by routers, using route summarization and default routes in route advertising, network address translation (NAT), and other techniques. Information hiding allows the network to scale by limiting the amount for information that needs to be shared across the network.
Inter-module traffic have to cross the boundaries between modules. These choke points provide a convenient place to implement security policies, Quality of Service (QoS) marking, performance monitoring and other management functions.
- White, Russ, and Ethan Banks. Computer Networking Problems and Solutions, Pearson Technology Group, 2017.
- White, Russ, and Denise Donohue. The Art of Network Architecture, Pearson Technology Group, 2014.
Read about other Network Design Principles.