The servers in a data center are also organized into racks. Servers in a single rack are all connected to a Top of Rack (ToR) switch. The ToR switches in an area are connected to the same aggregation switch, and aggregation switches are all connected to core switches which link to the network outside the data center. To depict such a tree topology, we can refer to the image below:
However, as we can see from the image, the higher level links need to have more bandwidth just cost more. Besides, failure of single link may results in break down of whole data center. To solve these two situations, we can deploy fat-tree topology, as shown below:
In fat-tree topology, we can use multiple cheap link to balance network load and act as back-up link when link failure happens. In the figure, we show a simple situation. If we have all switches with 48 ports, we can support 48 ^ 3 / 4 = 27,648 servers. Besides, we can also support wildcard routing in this kind of topology, which helps reduce entries in switches:
In the following articles, I’ll introduce using mininet, a network simulation tool and ryu, an openflow controller to implement forwarding of simple switch and dumb switch in data center designed from aspect of software defined network.