three_tier_topology(n_core, n_aggregation, n_edge, n_hosts)[source]

Return a three-tier data center topology.

This topology comprises switches organized in three tiers (core, aggregation and edge) and hosts connected to edge routers. Each core switch is connected to each aggregation, each edge switch is connected to one aggregation switch and finally each host is connected to exactly one edge switch.

Each node has two attributes:
  • type: can either be switch or host
  • tier: can either be core, aggregation, edge or leaf. Nodes in the leaf tier are only host, while all core, aggregation and edge nodes are switches.

Each edge has an attribute type as well which can either be core_edge if it connects a core and an aggregation switch, aggregation_edge, if it connects an aggregation and a core switch or edge_leaf if it connects an edge switch to a host.

The total number of hosts is n_{aggregation} * n_{edge} * n_{hosts}.

n_core : int

Total number of core switches

n_aggregation : int

Total number of aggregation switches

n_edge : int

Number of edge switches per each each aggregation switch

n_hosts : int

Number of hosts connected to each edge switch.

topology : DatacenterTopology