network design

Modularization Virtualization

 

network design

 

Modularization Virtualization

Modularization virtualization has emerged as a game-changing technology in the field of computing. This innovative approach allows organizations to streamline operations, improve efficiency, and enhance scalability. In this blog post, we will explore the concept of modularization virtualization, understand its benefits, and discover how it is revolutionizing various industries.

Modularization virtualization refers to breaking down complex systems or applications into smaller, independent modules that can be managed and operated individually. These modules are then virtualized, enabling them to run on virtual machines or containers separate from the underlying hardware infrastructure. This approach offers numerous advantages over traditional monolithic systems.

 

  • Reducing state and control plane

Why don’t we rebuild the Internet into one flat-switched domain – the flat earth model? The problem with designing one significant flat architecture is that you would find no way to reduce individual devices’ state and control plane. To forward packets efficiently, every device would have to know how to reach every other device; each device would also have to be interrupted every time there was a state change on any router in the entire domain. This is in contrast to modularization virtualization, also called virtualization modularization.

  • Performing modularization

With modularization virtualization, systems are deemed modular when they can be decomposed into several components that may be mixed and matched in various configurations. So with virtualization modularization, we don’t have one flat network; we have different modules with virtualization as the base technology performing the modularization. Some of these virtualization technologies include MPLS.

 

Before you proceed, you may find the following posts helpful:

  1. What is VXLAN
  2. Container Based Virtualization
  3. What is Segment Routing
  4. WAN Virtualization
  5. WAN SDN
  6. IPSec Fault Tolerance

 

Virtualization Modularization

Key Modularization Virtualization Discussion Points:


  • Introduction to modularization virtualization and what is involved.

  • Highlighting the details of failure domains.

  • Technical details on the rate of the state of change and how this can effect you.

  • Scenario: Positive feedback loops.

  • A final note on virtualization techniques to perform modularization.

 

 

Back to basics with network modularity and hierarchical network design

Hierarchical network design reaches beyond hub-and-spoke topologies at the module level and provides rules, or general design methods, that give the best overall network design. 

The first rule is to assign each module a single function. It will help if you reduce the number of functions or roles assigned to any particular module. Also, it will streamline the configuration of devices within the module and along the module’s edge. 

The second general rule in the hierarchical method is to design the network modules. Hence, every module at a given layer or distance from the network core has a roughly parallel function.

Modularization Virtualization
Why perform modularization? One big failure domain.

 

The amount of state and the rate at which it changes is impossible to maintain, and what you would witness would be a case of information overload at the machine level. Machine overload can be diagnosed into three independent problems below. The general idea behind machine overload is that too much information is insufficient for network efficiency. Some methods can reduce these defects, but no matter how much you try to optimize your design, you will never get away from the fact that fewer routes in a small domain are better than many routes in a large domain.

virtualization modularization
The need for virtualization modularization with machine overload.

 

CPU and memory utilization

On most Catalyst platforms, routing information is stored in special high-speed memory called TCAM. Unfortunately, TCAM is not infinite and is generally expensive. Large routing tables require more CPU cycles and more physical memory and TCAM.

 

Rate of state of change

Every time there is a change in the network topology, the control plane must change and adapt to the new topology. The bigger the domain, the more routers will have to recalculate the best path and propagate changes to its neighbors, increasing the rate of state change. Because MAC addresses are not hierarchical, a Layer 2 network has a much higher rate of state change than a Layer 3 network.

 

Positive feedback loops

Positive feedback loops add the concept of rate of change with the rate of information flow.

Virtualization Modularization
Positive feedback loops

 

  • Router A sends Router B a large database update which causes Router B's control plane to fail.

  • Router B's control plane failure is propagated to Router D and causes Router D’s control plane to fail.

  • Router D's control plane failure is propagated to Router C and causes Router C’s control plane to fail.

  • Router C's control plane failure is propagated to Router B and causes Router B’s control plane to fail.

Positive feedback loops

 

How can we address these challenges? The answer is network design with modularization and information hiding with the technique of virtualization modularization.

 

Modularization, virtualization, and information hiding

Information hiding reduces routing table sizes and state change rates by combining multiple destinations into one summary prefix, aggregation, or separating destinations into sub-topologies, aka virtualization. Information hiding can also be carried out by configuring route filters at specific network points.

In the diagram below, Router B summarizes network 192.168.0.0/16. and sends the aggregate route to Router C. The aggregation process hides more specific routes behind Router A. Router C never receives any specifics or state changes for those specifics. So it doesn’t have to do any recalculations if the reachability of those networks changes. Link flaps and topology changes on Router A will not be known to Router C and vice versa.

 

Positive feedback loops

Positive feedback loops add the concept of rate of change with the rate of information flow.

Virtualization Modularization

Routers A and B are also in separate failure domains from router C. Routers C’s view of the network differs from Routers A and B. A failure domain is the set of devices that must recalculate their control plane information in the case of a topology change.

When a link or node fails in one fault domain, it does not affect the other. There is an actual split in the network. You could argue that aggregation does not split the network into “true” fault domains, as you can still have backup paths ( specific routes ) with different metrics reachable in the other domain.

If we split the network into fault domains, devices within each fault domain only compute paths within their fault domain. This drags the network closer to the MTTR/MTBF balance point – another reason you should divide complexity from complexity.

 

Virtualization Modularization

The essence of network design and fault domain isolation is based on the modularization principle. Modularization breaks up the control plane, giving you different information in different network sections. It would help if you engineered the network so it can manage organic growth and change with fixed limits. You can move to the next module when the network gets too big. The concept of repeatable configurations creates a more manageable network. Each topology should be designed and configured using the same tools where possible.

 

Why Modularize?

The prime reason to introduce modularity and a design with modular building blocks is to reduce the amount of data any particular network device must handle when it describes and calculates paths to a particular destination. The less information the routing process has to process, the faster the network will converge in conjunction with tight modulation limits.

The essence of modularization can be traced back to why the OSI and TCP/IP models were introduced. So why do we have these models? First, they allow network engineers to break big problems into little pieces so we can focus on specific elements and not get clouded by the complexity of the entire problem all at once. With the practice of modulation, specific areas of the network are assigned specific tasks.

The core focuses solely on fast packet forwarding, while the edge carries out a variety of functions such as policing, packet filtering, QoS classification, etc. Modulization is done by assigning specific functions to different points in the network.

 

Virtualization techniques to perform modularization

Virtualization techniques such as MPLS and 802.1Q are also ways to perform modularization. It’s just that they are vertical as opposed to horizontal. You can think of virtualization as hiding information and vertical layers within a network. So why don’t we perform modularization on every router and put each router into a single domain? The answer is network stretch.

MPLS provides modularization by providing abstraction with labels. MPLS leverages the concept of predetermined “labels” to route traffic instead of relying solely on the ultimate source and destination addresses. This is done by appending a short bit sequence to the packet, known as forwarding equivalence class (FEC) or class of service (CoS).

 

  • Enhanced Scalability and Flexibility:

One of the primary benefits of modularization virtualization is its ability to enhance scalability and flexibility. Organizations can quickly scale their infrastructure up or down by virtualizing individual modules based on demand. This flexibility allows businesses to adapt quickly to changing market conditions and optimize resource allocation.

  • Improved Fault Isolation and Resilience:

Modularization virtualization also improves fault isolation and resilience. Since each module operates independently, a failure or issue in one module does not impact the entire system. This isolation ensures that critical functions remain unaffected, enhancing the overall reliability and uptime of the system.

  • Simplified Development and Maintenance:

With modularization, virtualization, development, and maintenance become more manageable and efficient. Each module can be developed and tested independently, enabling faster deployment and reducing the risk of errors. Additionally, updates or changes to a specific module can be implemented without disrupting the entire system, minimizing downtime and reducing maintenance efforts.

 

 

network design