In network design, it is important to consider every aspect of the design process, whether it involves creating a new network from scratch, adding new technology, making changes to existing elements, merging or diverging networks, replacing technology, or adding new applications.

In this post, we will explore the various types of constraints and requirements that you may encounter in order to help us make informed decisions about your design. Keep in mind that you don’t have to implement all of these constraints, and some may seem redundant.

However, this list may serve as a helpful reminder that you may have overlooked :

  • Complexity: This refers to the level of difficulty in understanding and implementing the network.
  • Security:
    • Security: Measures taken to protect the network and its data from unauthorized access.
    • Data privacy and protection: Measures taken to protect sensitive data on the network from unauthorized access or disclosure.
  • Resiliency:
    • Resiliency: The ability of the network to recover from failures or disruptions.
    • Fault tolerance: The ability of the network to continue functioning in the event of a component failure.
    • Disaster recovery: The ability of the network to recover from disasters or other significant disruptions.
    • Backup and recovery: The ability of the network to recover from data loss or other failures.
  • Availability: The amount of time the network is available for use.
  • High availability : ensure that users can access the network and its resources consistently and without interruption
  • Convergence : how well, or how fast, a network adapt and adjust to changes in the network topology or availability of routes. This can involve the exchange of routing information between devices, the selection of alternative routes in the event of a failure or congestion, and the updating of routing tables to reflect the current state of the network
  • Cost:
    • Cost: The financial resources required to design and maintain the network.
    • Budget: The amount of money that is available to design and implement the network.
      • CapEx
      • OpeEx
  • Time: The amount of time required to design and implement the network.
  • Staff:
    • Personnel: The staff available to design, implement, and maintain the network, including their expertise and number.
    • User training and support: The availability of training and support resources for users of the network.
  • Legality/Regulatory: Any legal or regulatory requirements that must be taken into consideration when designing the network.
  • Requirement: The specific needs of the network and its users.
  • Adaptability: The ability of the network to adapt to changing needs or conditions.
  • Reliability: The dependability of the network.
  • Modularity: The ability to add or remove components from the network.
  • Flexibility: The ability of the network to be modified or adapted for different purposes.
  • Manageability: The ease of managing and maintaining the network.
  • Ease of use: The ease of using the network, including how easy it is to configure and troubleshoot.
  • Scalability: The ability of the network to handle increases in demand.
  • Performance: The speed and efficiency of the network.
  • Interoperability: The ability of the network to work with other systems or networks.
  • Compatibility: The ability of the network to work with existing hardware and software.
  • Latency: The amount of time it takes for data to be transmitted across the network.
  • Capacity:
    • Throughput: The amount of data that can be transmitted across the network in a given period of time.
    • Congestion: The amount of traffic on the network and how well it can handle high levels of traffic.
    • Quality of service (QoS): The level of service that the network provides to different types of traffic.
  • Energy efficiency: The amount of energy that the network consumes and how efficiently it uses that energy.
  • Environmental impact: The effect that the network has on the environment.
  • Accessibility: The ability of users to access the network from different locations or devices.
  • Location: The physical location of the network and how it may affect the design.
  • User experience: The overall experience of using the network, including ease of use and functionality.
  • Ease of deployment: The difficulty of deploying the network and getting it up and running.
  • Customer specific needs: constraints or specific requirements that the customer has placed on the project or service being provided. They are limitations or rules that must be followed in order to meet the customer’s needs and expectations like No Fragmentation, All traffic should be encrypted…

Some of those requirements/constrains can be viewed from different plane angles, such as:

  • Control plane: Responsible for routing traffic and managing the flow of data through the networ.
  • Data plane: Responsible for forwarding traffic through the network
  • Management plane: Responsible for configuring and managing the network and its components
  • Automation plane: Responsible for automating tasks and processes within the network
  • Orchestration plane: Responsible for coordinating and orchestrating the different components and processes within the network

Did we miss any that you are aware of? Please leave a comment below.

/Mehdi SFAR (CCDE #20210003 | CCIE #51583)