Document details

Load balancing in real software defined networks

Author(s): Semedo, Gonçalo Miguel Alves

Date: 2014

Persistent ID: http://hdl.handle.net/10451/16052

Origin: Repositório da Universidade de Lisboa

Subject(s): Software-Defined Networking; Balanceamento de carga; OpenFlow; GENI; Floodlight; Teses de mestrado - 2014


Description

Tese de mestrado, Engenharia Informática (Arquitectura, Sistemas e Redes de Computadores), Universidade de Lisboa, Faculdade de Ciências, 2014

Actualmente, configurar uma rede pode ser um processo demorado e penoso, principalmente quando estamos a falar de redes constituídas por centenas de routers e switches.É necessário configurar cada um destes equipamentos individualmente, normalmente usando a linha de comandos, num processo muito susceptível a erros. As redes definidas por Software ou Software Defined Networking (SDN) [19, 27] são um novo paradigma que surgiu recentemente e que visa resolver estes problemas de configuração e de gestão de redes. A ideia principal de uma SDN consiste na centralização da lógica do controlo da rede num controlador SDN (ou num grupo de controladores), que controla e monitoriza todo o comportamento da rede. Assim, há uma separação entre o plano de controlo que tem por função preencher as tabelas de encaminhamento dos switches com base nas decisões do operador da rede (ou das aplicações que tomam as decisões), e o plano de dados, isto é, o encaminhamento dos pacotes. Esta separação é possível através da definição de uma API entre os switches e o controlador, como por exemplo o OpenFlow [30]. Uma rede SDN possibilita que as redes sejam programáveis permitindo a definição do comportamento da rede a partir do controlador, facilitando a definição e implementação de aplicações complexas tais como balanceamento de carga, encaminhamento ou segurança. O objectivo deste trabalho consiste na construção de um balanceador de carga usando este novo paradigma. As principais diferenças em relação aos distribuidores de carga convencionais, que são baseados em hardware especializado e caro, é que o que propomos é baseado em software sendo uma aplicação que corre em cima de um controlador. Além disso faz balanceamento de carga considerando não só o servidor para onde devemos enviar os dados, mas também o melhor caminho para chegar até ao servidor escolhido. Para a construção do nosso projecto usámos o controlador Floodligth [8], feito em Java. Usando este controlador avaliámos várias combinações de algoritmos de escolha de servidor e de algoritmos de escolha de caminho. Como acreditamos não existir um algoritmo que seja o mais indicado para todas as aplicações, desenvolvemos uma nova aplicação de balanceamento de carga para redes SDN: MALOB (Multi-Algorithm Load Balancer), uma aplicação que selecciona o algoritmo de acordo com o tipo de pedido. Um dos pontos mais relevantes deste trabalho prende-se com a sua avaliação. Para a realização dos vários testes recorremos à GENI [13], uma rede experimental de larga escala. A GENI possibilita o desenvolvimento de uma grande variedade de experiencias, tais como, desenho e avaliação de novos protocolos, serviços distribuídos, gestão de conteúdos ou serviços de gestão de redes, usando uma rede física real. Uma das principais razões pela qual optámos pela GENI foi o facto de esta nos permitir explorar o potencial de novas tecnologias como as SDN. Com uma avaliação experimental feita numa rede real como a GENI conseguimos resultados que nos permitem tirar conclusões mais precisas relativamente ao impacto do nosso trabalho.

Nowadays, network management can be a painful and tedious process, especially when we consider large networks with hundreds of switches and routers. In traditional networks, it is necessary to configure each equipment, one by one, typically using a command line in an error-prone process. Software Defined Networking (SDN) [19, 27] is a new paradigm that aims to change this current undesirable state of affairs. The main idea of SDN consists in logically centralizing network control in a SDN controller (or a cluster of controllers), which controls and monitors the behavior of the network. The goal is to separate the control plane from the data plane. This separation is possible by means of an API between the switches and the controller such as OpenFlow [30]. Networks thus become programmable, allowing the definition of the behavior of the entire network from a vantage point, the controller, thus facilitating the creation of advanced network policies, such as load balancing, routing and security. The main goal of this project is to develop and evaluate a load balancer using this new paradigm. Conventional load balancers are expensive specialized hardware equipment whereas our proposal is based on a software application running on top of the SDN controller. Additionally, our solution enables load balancing to be performed not only based on server choice, but also on the best path to the chosen server. To achieve our goal we used the Floodlight controller [8] implemented in Java. Using this controller we evaluated several combinations of algorithms for server and path selection. As particular algorithms are suitable for particular applications, we propose a Multi- Algorithm Load Balancer (MALOB), a load balancing application for SDNs that has the capability to adapt to the different types of requests, selecting the most appropriated algorithm accordingly with the type of request. One of the most relevant contributions of this dissertation is its evaluation. We used GENI [13], a large-scale testbed that enables the possibility of performing a variety of experiments, such as, protocol design and evaluation, distributed service offerings, content management and in-network service deployment. GENI allows us to explore the potential of underlying technologies such as SDN. An experimental evaluation made with a real network such as GENI, enabled us to take more faithful conclusions about the impact of our work.

Document Type Master thesis
Language English
Advisor(s) Ramos, Fernando Manuel Valente; Neves, Nuno Fuentecilla Maia Ferreira, 1969-
Contributor(s) Repositório da Universidade de Lisboa
facebook logo  linkedin logo  twitter logo 
mendeley logo

Related documents

No related documents