AbstractsComputer Science

Load balancing in real software defined networks

by Gonçalo Miguel Semedo




Institution: Universidade de Lisboa
Department:
Year: 2014
Keywords: Software-Defined Networking; Balanceamento de carga; OpenFlow; GENI; Floodlight; Teses de mestrado - 2014
Record ID: 1323736
Full text PDF: http://rcaap.pt/detail.jsp?id=oai:repositorio.ul.pt:10451/16052


Abstract

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…