Small networks usually use Ethernet devices that apply solutions such as the Spanning Tree Protocol (STP) to forward packets through a single path with no loops. However, this prevents the use of idle links that may reduce congestion and augment the aggregate bandwidth of the network. This work proposes a load balancing mechanism between paths using Software Defined Networks (SDNs). The proposed mechanism, named MLB (Multipath Load Balance), computes multiple paths with disjoint links that have the smallest number of hops between source and destination. Moreover, MLB has a “switching control” function that verifies whether the current occupation of the path exceeds a percentage of its capacity and if the potential new path computed by MLB has an occupation at least a percentage value smaller than that of the current path. MLB is implemented in Python and evaluated in Mininet. The results show that it is possible to increase the aggregate bandwidth by 95% and decrease the packet loss by about 95.5% compared with the standard operating mode of the OpenDaylight SDN controller.
Read full abstract