UMA INTERFACE DE GERENCIAMENTO DE REDES DEFINIDAS POR SOFTWARE

Documentos relacionados
Nuvem e Virtualização Redes Programáveis

Sistema colaborativo para monitoramento de focos de Aedes aegypti

Requisitos do sistema para o Qlik Sense. Qlik Sense 3.2 Copyright QlikTech International AB. Todos os direitos reservados.

Considerações Iniciais

MANUAL DE INSTALAÇÃO SISTEMA DE GERÊNCIA CONSCIUS

Sistemas Operacionais de Redes Windows. Ricardo Kléber

Requisitos do sistema para o Qlik Sense. Qlik Sense September 2017 Copyright QlikTech International AB. Todos os direitos reservados.

Copyright Smar

Requisitos do sistema para o Qlik Sense. Qlik Sense June 2017 Copyright QlikTech International AB. Todos os direitos reservados.

De Olho na Pista. Documento de Arquitetura. De Olho na Pista Documento de Arquitetura Data: 23/03/2013. AJA Software

Requisitos do sistema para o Qlik Sense. Qlik Sense 3.1 Copyright QlikTech International AB. Todos os direitos reservados.

Sistema Operacionais II. Aula: Virtualização

Exploração de Vulnerabilidades em Controladores SDN

CARACTERÍSTICAS Interface intuitiva. Em pouco tempo você está ambientado com o software;

VIRTUALIZAÇÃO CORPORATIVA

FACULDADE DE TECNOLOGIA SENAC GOIÁS VALDIR MARTINS DA SILVA JUNIOR JONAS PIRES DE CAMPOS NETO SERVIDOR DE

AUTOMAÇÃO DE REDES UTILIZANDO PYTHON

Documento de Arquitetura de Software- SGE

Introdução ao Desenvolvimento de

Estruturas de Sistemas Operacionais

Software Para Geração de Consultas e Relatórios

Manual de Compilação/Execução da Aplicação SmartHome

Fundamentos de Sistemas Operacionais de Arquitetura Aberta. CST em Redes de Computadores

Como Instalar Nagios 4 E Monitorar Seus Servidores no Ubuntu 14 Introdução

Roteador UAP-AC-M. Conteúdo do pacote.

Virtualizando Sistema Operacional

Introdução ao Windows Server 2008

Introdução a Computação em Nuvem

TUTORIAL DE UTILIZAÇÃO DO OWL-S COMPOSER W. Trabalho de Conclusão de Curso Aluno: Adriano Novais Queiroz Orientadora: Prof.ª Daniela Barreiro Claro

Leia-me do Veritas System Recovery 16 Management Solution

Sistemas Operacionais II. Prof. Gleison Batista de Sousa Aula 01

Mineração de Dados em Biologia Molecular

Engenharia de Software.

TUTORIAL DE INSTALAÇÃO DO AMBIENTE DE DESENVOLVIMENTO ANDROID NO UBUNTU

5 Arquitetura de implementação

Sistema de Monitoramento de Dispositivos utilizando o Pandora FMS

SISTEMA DE INFORMAÇÃO GEOGRÁFICA APLICADO AO GERENCIAMENTO DE INFORMAÇÃO DE TRANSPORTE URBANO

Introdução à Computação: Máquinas Multiníveis

Guia de instalação do REIS

GT-ATER: Aceleração do Transporte de Dados com o Emprego de Redes de Circuitos Dinâmicos. RA1 - Relatório de acompanhamento trimestral

Sistemas Operacionais II. Prof. Gleison Batista de Sousa Aula 01

Informática Sistemas Operacionais Aula 5. Cleverton Hentz

Instalando Apache Solr no Mac OSX

Validação Inter-domínio de Plano de Dados em SDN

Redundância de com cliente Zimbra em CentOS

FRAMEWORK PARA GERENCIAMENTO E DISPONIBILIZAÇÃO DE INFORMAÇÕES MULTIMÍDIA GEOLOCALIZADAS NA PLATAFORMA ANDROID

UNIVERSIDADE ESTADUAL DE PONTA GROSSA SETOR DE CIÊNCIAS AGRÁRIAS E DE TECNOLOGIA DEPARTAMENTO DE INFORMÁTICA

Introdução ao Python. Programa Computacional

Introdução. A quem se destina este livro. Sobre o que este livro é (e não é)

AppArmor. Bruno Vieira de Sousa Érika Demachki Thiago Vieira de Sousa

Gerando um programa executável a partir de um módulo Python

Portfólio. de Serviços

ROTEIRO: DUAL BOOT. Conhecer as funcionalidades do software VMware Player implantando dois sistemas operacionais em uma mesma máquina virtual.

Soluções de Acessibilidade. VLibras - Desktop. Manual de Instalação da Ferramenta. Microsoft Windows R. Núcleo de Pesquisa e Extensão / LAViD

GT Sensemaking Editor de Streaming de Vídeo Fase 1. Maria Amelia Eliseo. Nome do instituição Universidade Mackenzie

Sistemas Operacionais. Domesticos e Cororativos

Projeto GoHome. Tutorial de Instalação Android Studio e SDK

Arquitetura e Organização de Computadores

Manual de Instalação do TelEduc 4.4

Sumário REGISTRADOR ELETRÔNICO DE PONTO - REP-1000 REGISTRADOR ELETRÔNICO DE PONTO - REP-1000

Por Bruno T Aquino, Roberto Luiz e Ricardo Vinicius Fabri, Abril 14, 2009.

INFRAESTRUTURA NECESSÁRIA...

Solicitação e utilização da VPN (Utilizando Token físico ou Token no celular corporativo)

Configurar o proxy WebRTC com o CMS sobre a via expressa com domínio duplo

Desenvolvimento de um aplicativo na plataforma Android para realização de fichamento bibliográfico em dispositivos móveis: resultados iniciais

Prof. Natalia Castro Fernandes Mestrado em Telecomunicações UFF 2º semestre/2012

Solicitação e utilização da VPN (Utilizando Token físico ou Token no celular corporativo)

Globo Photo Documentation

Principais Funcionalidades

O QUE É? O Microsoft Windows Server é um sistema operacional destinado para servidores.

TUTORIAL GIT Victor Breder Comp-19 Março de 2017

Tópicos Especiais em Redes de Telecomunicações

O Linux Possui varias características que diferenciam dos outros sistemas operacionais e que aproximam do UNIX, sendo um dos motivos da sua escolha

Servidores. Um Servidor, em redes de computadores, nada mais é que um host da rede capaz de oferecer um determinado serviço a outros hosts da redes.

Este é o segundo modulo, nele abordaremos os métodos de gerenciamento do Windows Server 2008.

Um ambiente unificado onde você pode desenvolver para todos os dispositivos Android

BAUR Software para a gestão de dados de medição ITS Lite

Kemio - Requisitos Técnicos

UnoTech Soluções em Histórico da Revisão Data Versão Descrição Autor 27/05/ 1.0 Construção do Documento Carlos GG Flor Página 2

Sankhya Web Connection. Versão: 02 Criado em: 28/03/2017

Instalação do Windows Server 2008

Responsáveis: Bruno Silva, André Coelho, Wellington Silva, Marcelo Hirano. Atualizado em: 08/09/2017 CONFIGURAÇÃO DE BACKUP DE ORIGEM LINUX

Redes de Computadores - 3º Período. Projeto Integrador

Unidade III. Unidade III. Existe uma tendência dos sistemas de informação a funcionarem cada vez mais em Intranets e na Internet.

[Livros e-pub e Software Calibre] Tutorial

Projeto Integrador. <Projeto Integrador> Documento Visão. Versão <1.0>

Manual SIGOSMS Aplicação de Gerenciamento e Envio SMS

Gerenciamento de Redes. Alan Santos

Linguagem de Programação II Programação Orientada a Objetos. Ambientes de Programação

A instalação e configuração do módulo ampère com AnyConnect 4.x e ampère Habilitador

LINUX. Uma visão geral

Arquitetura da Internet TCP/IP

Usando VNC para instalar o CallManager da Cisco em um servidor remoto

Plataforma de desenvolvimento JAVA para terminal POS

DESENVOLVIMENTO DE UM SISTEMA DE CONTROLE DOS PARÂMETROS DE UMIDADE E TEMPERATURA PARA ESTUFAS AGRÍCOLAS

Um Mecanismo de Auto Elasticidade com base no Tempo de Resposta para Ambientes de Computação em Nuvem baseados em Containers

Transcrição:

UMA INTERFACE DE GERENCIAMENTO DE REDES DEFINIDAS POR SOFTWARE Fagner Jefferson de Araújo Silva; Whasley Sousa Cardoso; Marcelo Portela Sousa. Instituto Federal de Educação, Ciência e Tecnologia da Paraíba IFPB Campina Grande. 1 - INTRODUÇÃO O conceito de Redes Definidas por Software (SDN) é um assunto muito estudado e com diversos tipos de abordagens. É uma tecnologia de grande interesse acadêmico e comercial, pois ainda emergente. Por ser uma tecnologia ainda muito recente, na maioria das vezes exige do pesquisador ou desenvolvedor um esforço relativamente grande para montar um ambiente que propicie um bom desempenho no aprendizado da tecnologia, desenvolvimento dos recursos da rede, na configuração de regras de comunicação e análise de resultados. Este artigo tem como objetivo apresentar uma ferramenta de código aberto capaz de ajudar no estudo e gerenciamento de redes definidas por software. O foco principal é abstrair o controlador da rede com uma aplicação que oferece uma interface de linha de comando. A comunicação com o controlador é realizada através de requisições web usando arquitetura Rest que é comum na maioria dos controladores SDN. Os controladores SDN apesar de terem o mesmo propósito possuem muitas diferenças em termos de configuração, linguagem de desenvolvimento e usabilidade. A proposta para resolver essas dificuldades é uma interface genérica, que permita o gerenciamento de controladores compatíveis com Openflow, permitindo ao desenvolvedor ou pesquisador de redes definidas por software ter uma maior flexibilidade no desenvolvimento de novos comandos para a ferramenta abstraindo configurações mais específicas de ambiente ou controladores. 2 - METODOLOGIA Para o início do desenvolvimento foi montado um ambiente da maneira mais simples, que permitisse simular virtualmente uma topologia de rede gerenciada por um controlador de redes definidas por software. Uma máquina virtual foi utilizada neste experimento configurada com 1GB de memória, 8GB de armazenamento e um processador Pentium dual-core de 2GHz. O sistema operacional instalado foi o Ubuntu Server 16.04

Para criar uma rede virtualizada foi utilizado o Mininet (Mininet, 2017). Mininet é um simulador de redes que possibilita a criação gerenciamento de topologias no contexto de SDN. O Floodlight (Floodlight, 2017) foi utilizado como o controlador SDN. A linguagem de programação escolhida para o desenvolvimento foi Python 2.7 (Python, 2010), de fácil aprendizagem e presente na maioria dos cursos introdutórios de programação, além disso, possui um bom desempenho sendo usada para diversas finalidades. Foi necessário instalar também algumas bibliotecas do Python para desenvolver algumas funcionalidades. Click: segundo (Click, 2017) o Click é um pacote Python para o desenvolvimento de Interface em linha de comando usando Python; SQLite3: usado para fazer a persistência dos dados da configuração iniciais da aplicação; Requests: biblioteca usada para fazer requisições web com Python. Feito o desenvolvimento das primeiras funcionalidades, a ferramenta está disponível no repositório do github para controle de versão com o nome de sdncommand no link https://github.com/fagnerfjas/sdncommands. Para conferir a usabilidade do sdncommand os serviços do controlador Floodlight foram iniciados executando o comando sudo java jar floodlight/target/floodlight.jar. Em outro terminal, foi gerada uma topologia de teste no mininet, o comando utilizado foi: sudo mn controller=remote, port=6653 topo=tree,2 no servidor Ubuntu. A Figura 1 representa a topologia criada com o Mininet. Figura 1 Topologia gerada no Mininet e exibida na interface web do Floodlight.

3 - RESULTADO O cenário está pronto e a interface de gerenciamento de redes definidas por software pode ser usada para o gerenciamento da rede. O primeiro passo ao usar o sdncommand é verificar as opções disponíveis digitando a comando padrão sdn ou o comando padrão mais algum subcomando seguido da opção --help, por exemplo sdn acl help. Figura 2 Documentação de ajuda do sdncommand. É preciso fazer uma configuração inicial, antes de executar comandos para gerenciar o controlador, usando os comandos sdn show_conf e sdn conf, respectivamente é possível ver a configuração atual e inserir uma nova configuração cujos parâmetros são IP do servidor onde foi instalado o controlador, a porta usada para as requisições Rest e um nome de identificação como ilustrado na Figura 3. Figura 3 Comandos de configuração. Na versão inicial estão disponíveis os seguintes comandos: sdn acl, possui vários parâmetros para criar listas de controles de acesso. Este é um recurso disponível na Restful API do Floodlight que foi adaptado para linha de comando; sdn device, exibe as informações dos dispositivos conectados na rede;

sdn switches, exibe uma lista com informações dos switchs da rede; sdn flow, dependendo do parâmetro usado pode exibir a lista de fluxos instalados no controlador, ou inserir um novo fluxo escrito no formato json e em um arquivo txt; sdn file, abre um editor para edição de um arquivo com informações do fluxo. Com essas configurações é possível fazer uso do sdncommand pelo prompt de comandos da máquina onde está instalado. A Figura 4 mostra um exemplo da listagem dos switches na rede. Figura 4 Lista de switches na topologia. Uma das principais funcionalidades da ferramenta de comandos SDN é a administração de fluxos programados no controlador. Através da programação desses fluxos o controlador da rede pode orientar o comportamento dos equipamentos de comutação da rede. Atualmente através da ferramenta de comandos SDN a forma de inserir o fluxo é com arquivos texto. As informações deverão ser escritas no arquivo seguindo o formato JSON para os fluxos Openflow como mostra a Figura 5 e em seguida a Figura 6 mostra o comando de inserção de fluxo.

Figura 5 Arquivo com informações de um fluxo no formato JSON. Figura 6 Comando para inserir fluxo no controlador. O parâmetro -f indica a entrada de um arquivo de fluxo para ser adicionado. O parâmetro -l serve para listar os fluxos. 4 - CONCLUSÃO A usabilidade da linha de comando pode não ser tão agradável para iniciantes em estudos relacionados à computação. Porém é uma forma muito intuitiva e prática de se trabalhar, no formato que foi implementada torna-se mais fácil o seu desenvolvimento. A ferramenta de comandos SDN está no início do seu desenvolvimento e já deu uma boa noção das poderosas possibilidades de implementação. A partir dos resultados obtidos pode-se destacar um ganho na flexibilidade de gerenciamento de fluxos em uma abordagem SDN. A ferramenta apresentada está disponibilizada de maneira gratuita para que outros pesquisadores possam fazer uso e contribuir para a melhoria de suas funcionalidades. Nas as próximas etapas de desenvolvimentos será melhorar a visualização das informações, ao imprimir na tela as informações no formato de tabelas ao invés do formato JSON, também a adaptação de novos controladores como OpenDayLight e o Ryu Controller.

REFERÊNCIAS BIBLIOGRÁFICAS: FloodLight, Get Started Getting Started, Disponível em: <https://floodlight.atlassian.net/wiki/spaces/floodlightcontroller/pages/1343542/getting+sta rted>. Último acesso em 11 de Setembro de 2017. Mininet An Instant Virtual Network on Yuor Laptop, Disponível em: <http://mininet.org/ > Último acesso em 11 de Setembro de 2017. Click An Command Line Library For Python, Disponível em: <http://click.pocoo.org/5/> Último acesso em 11 de Setembro de 2017. Luiz E. BorgesPython 2010. Python para Desenvolvedores ed 2. Rio de Janeiro, Edição do Autor, 2010 ISBN 978-85-909451-1-6 Costa, L. R. OpenFlow e o Paradigma de Redes Definidas Por Software. (Monografia apresentada como requisito parcial para conclusão do Curso de Computação Licenciatura) Universidade de Brasília UNB. Brasília 2013.