An Investigation of Using Traffic Load In SDN Based Load Balancing


The number of devices connected to networks and the internet such as the Internet of Things, machine to machine, social media or speech traffic, etc., are rapidly increased that results in a huge amount of traffic. This leads to congestion that increases packet loss and reduces system performance. Therefore, a single server cannot handle this traffic and need to use some approaches to optimize network performance. The use of a load balancer to distribute network traffic among multiple servers could minimize the load on a single server, provide availability, scalability, and enhance network performance. A load balancer in a traditional network is a dedicated hardware device that is expensive, close vender, and non-programmable. A load balancer contains few algorithms that network engineers cannot change or create a new one. In contrast, Software Defined Network (SDN) that utilizes load balancer is programmable (hardware independent) and more agilely.The objective of this investigation is to implement the Least packet load algorithm, which is used in the traditional load balancer, using an SDN-controller Python Network Operating system (POX) in order to distribute load among servers. Moreover, it discusses some research opportunities that this work introduces to improve load balancing in SDN. This work is validated through extensive simulations and emulations that compare the proposed algorithm with four of the most widely cited schemes. The results indicate that the proposed algorithm improved network performance and achieve up to 21% increase to system throughput compared to other benchmark approaches.