Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

SDN e OpenFlow, Notas de estudo de Análise de Sistemas de Engenharia

PORQUE UTILIZAR REDES BASEADAS EM SOFTWARE

Tipologia: Notas de estudo

2014

Compartilhado em 04/12/2014

lucas-tonon-4
lucas-tonon-4 🇧🇷

5

(1)

1 documento

1 / 106

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
CENTRO UNIVERSITÁRIO CARIOCA
JOSÉ VITOR DE ARAÚJO JUNIOR
LUCAS DA SILVA TONON
LETÍCIA FERREIRA DA SILVA SANTOS
VINÍCIUS GONZAGA DA SILVA
PORQUE UTILIZAR REDES BASEADAS EM SOFTWARE
(SDN OPENFLOW)
RIO DE JANEIRO
2013
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Pré-visualização parcial do texto

Baixe SDN e OpenFlow e outras Notas de estudo em PDF para Análise de Sistemas de Engenharia, somente na Docsity!

CENTRO UNIVERSITÁRIO CARIOCA

JOSÉ VITOR DE ARAÚJO JUNIOR

LUCAS DA SILVA TONON

LETÍCIA FERREIRA DA SILVA SANTOS

VINÍCIUS GONZAGA DA SILVA

PORQUE UTILIZAR REDES BASEADAS EM SOFTWARE

(SDN – OPENFLOW)

RIO DE JANEIRO

JOSÉ VITOR DE ARAÚJO JUNIOR

LUCAS DA SILVA TONON

LETÍCIA FERREIRA DA SILVA SANTOS

VINÍCIUS GONZAGA DA SILVA

PORQUE UTILIZAR REDES BASEADAS EM SOFTWARE

(SDN – OPENFLOW)

Orientador: Prof.º Gustavo Dias.

Rio de Janeiro 2013

Trabalho de conclusão de Curso Apresentado ao Centro Universitário Carioca, como requisito para conclusão dos cursos de Análise e Desenvolvimento de Sistemas e Ciência da Computação.

JOSÉ VITOR DE ARAÚJO JUNIOR

LUCAS DA SILVA TONON

LETÍCIA FERREIRA DA SILVA SANTOS

VINÍCIUS GONZAGA DA SILVA

PORQUE UTILIZAR REDES BASEADAS EM SOFTWARE

(SDN – OPENFLOW)

Aprovado em 2013

Banca Examinadora

Prof.º Gustavo Dias – Orientador Centro Universitário Carioca

Prof.ª Sueni Arouca– Coordenadora Centro Universitário Carioca

Prof.º Centro Universitário Carioca

Trabalho de conclusão de Curso Apresentado ao Centro Universitário Carioca, como requisito para conclusão dos cursos de Análise e Desenvolvimento de Sistemas e Ciência da Computação.

Dedicamos este trabalho ao nosso orientador Prof.º Gustavo Dias, cujo apoio, incentivo e dedicação tornou real a conclusão do mesmo.

Resumo Atualmente, as redes de computadores fazem parte da rotina frequente de bilhões de pessoas, devido à internet. Embora, todo o sucesso fez com que as redes de computadores se tornem a cada dia, mais inflexíveis e incapazes de atender as necessidades de novas tecnologias. Este problema trouxe um desafio para os pesquisadores da área, pois novas experiências não podem ser feitas em ambientes de redes reais, devido ao crescimento exponencial das redes, o que levaram aos pesquisadores realizarem testes em ambientes simulados, que assim levou a criação de um novo paradigma, as redes definidas por software (Software Defined Networks – SDN). As redes definidas por software e a arquitetura Openflow oferecem uma implementação de uma rede programável que pode ser desenvolvida de forma sucessiva, oferecendo assim a realização de testes sem interferir no funcionamento da rede. Este trabalho descreve os problemas existentes na arquitetura de redes atual e apresenta o paradigma do SDN, através da arquitetura Openflow que permite a criação de aplicações para redes SDN. Também apresenta de maneira prática a montagem do Mininet (ambiente virtual de redes SDN) e o desenvolvimento de componentes baseados no POX (controlador Openflow).

Palavras – chave: Internet, Redes Definidas por Software (SDN), Openflow, Mininet, POX.

Abstract Today, computer networks are part of the common routine of billions of people, due to the internet. Although, every success has made computer networks become increasingly more inflexible and unable to meet the needs of new technologies. This problem has brought a challenge for researchers because new experiences can not be made in real network environments due to the exponential growth of networks, which led the researchers to conduct tests in simulated environments, which thus led to the creation of a new paradigm, software defined networks (software Defined networks - SDN). The software-defined networking and Openflow architecture provide an implementation of a programmable network that can be developed successively, thus offering the tests without interfering with the operation of the network. This paper describes the problems in current network architecture and the paradigm of SDN, Openflow through architecture that allows the creation of applications for SDN networks. It also presents a practical way to mount Mininet (virtual environment network SDN) and the development of components based on POX (Openflow controller).

Keyword: Internet, Software-Defined Networking (SDN), Openflow Mininet, POX.

e OFP+ICMP Figura 29 - Mensagens no controlador POX no primeiro cenário Figura 30 - Comando pingall no CLI Mininet Com primeiro cenário Figura 31 - Mensagens capturadas pelo Wireshark ao comando pingall no primeiro cenário Figura 32 - Mensagens capturas pelo Wireshark ao comando iperf no primeiro cenário Figura 33 - Comando iperf no CLI Mininet no primeiro cenário Figura 34 - Parando a captura de pacotes no Wireshark Figura 35 - Iniciando a captura de pacotes no WireShark Figura 36 - Inicializando o Segundo cenário Mininet Figura 37 - Inicialização do Componente Switch no POX Figura 38 - Conexão dos Comutadores ao controlador Figura 39 - Janelas dos terminais X Figura 40 - Tabela de fluxo do Switch s3 no Xterm Figura 41 - Informações da tabela de fluxo no switch s Figura 42 - Mensagens de Log do segundo cenário no componente Switch Figura 43 - Captura de pacotes no Wireshark no segundo cenário

SUMÁRIO

14

Capítulo 1

Introdução

Há algum tempo observa-se o surgimento da necessidade de maior abertura e flexibilidade dos equipamentos de rede, especialmente com o propósito de pesquisa e inovação. Os roteadores atuais implementam uma arquitetura composta por uma camada de software fechada, que é executada em um hardware proprietário. Esse modelo resulta em soluções de alto custo, dificultando a inserção de novas funcionalidades e inviabilizando a experimentação de novas ideias. Com isso, diversos pesquisadores afirmam que a arquitetura de redes de computadores em geral e a rede mundial (a Internet) atingiram um nível de amadurecimento que as tornaram pouco flexíveis. Para tentar contornar esse problema, a comunidade de pesquisa em redes de computadores tem investido em iniciativas que levem à implantação de redes com maiores recursos de programação, de forma que novas tecnologias possam ser inseridas na rede de forma gradual. A iniciativa mais bem sucedida nesse sentido foi à definição da interface e do protocolo Openflow [McKeown et al. 2008], que consiste em um protocolo no qual permite controlar os fluxos, estabelecer rotas e definir qual o processamento que o pacote deve receber. Isto é possível, pois o Openflow controla remotamente as tabelas de encaminhamento dos switches de rede. Ele se difere dos roteadores e switches, ao invés de concentrar em um único dispositivo o encaminhamento e as rotas a serem definidas, ele divide estas duas tarefas. As funções de encaminhamento ficam no switch, enquanto as decisões de roteamento estão no controlador e ambas se comunicam através do protocolo Openflow. Essa estrutura permite que a rede seja controlada de forma extensível através de aplicações, expressas em software. A esse novo paradigma, deu-se o nome de Software Defined Networks (SDN) ou Redes Definidas por Software. Do ponto de vista histórico, SDNs têm sua origem na definição da arquitetura de redes Ethernet, que definia uma forma de se implementar políticas de controle de acesso de forma distribuída, a partir de um mecanismo de supervisão centralizado. Esse modelo foi posteriormente formalizado por alguns dos autores na forma da arquitetura Openflow.

15

1.1 Justificativa

As redes de computadores juntamente com seu crescimento gigantesco, ajudaram a mostrar o trabalho dos pesquisadores da área. Mas a chance de se tornar um sucesso total cada vez ficou mais distante devido às dificuldades encontradas com as limitações da arquitetura atual das redes. E uma possível mudança, não bem planejada, poderia ocasionar um grande problema, visto que, a dependência das conexões se tornou indispensável. O grande propósito do surgimento das redes definidas por software e o protocolo Openflow, surgiu para viabilizar os testes concorrentes de novas tecnologias de redes sem impactar as estruturas atuais. Resolvendo problemas de inflexibilidade, dando suporte a futuras aplicações e novas tecnologias que dependem muito da escalabilidade, gerenciamento, mobilidade e segurança através de uma estrutura de rede totalmente programável.

1.2 Objetivos do Trabalho

Sobre os objetivos gerais que serão apresentados neste trabalho, está:  O paradigma SDN, suas características, capacidades e arquitetura;  O protocolo de comunicação e controle Openflow, suas características, seu funcionamento dentro de um comutador e em um controlador;  O controlador SDN POX baseado em Openflow, detalhes de sua estrutura, funcionamentos e flexibilidade para novas implementações;  O Mininet, ambiente virtual de teste para redes SDN, suas características e grande parte de suas funcionalidades. Sobre os objetivos específicos, está:  Apresentar as possibilidades que uma arquitetura de rede SDN com Openflow dispõe;  Apresentar o controlador de rede SDN, o POX especificamente, evidenciando a flexibilidade de novas implementações e soluções para a área de redes com a possibilidade de ser testado em um ambiente virtualizado de rede, como o Mininet.  Testar e desenvolver componentes baseado na estrutura do POX para exemplificar o uso da arquitetura e do conceito de SDN com Openflow.

17

percussores das memórias que hoje usamos nos computadores. A imagem abaixo mostra o código do programa COBOL em cartão perfurado.

Figura 1: Cartão Perfurado

Este tipo de transporte de informações era algo totalmente ineficiente, visto que estes cartões nada mais eram do que bits escritos em papel cartolina, e como a quantidade escrita neles era muito pequena (algo em torno de 80 caracteres por cartão) transportar uma grande quantidade de informações era algo muito difícil e demorado. No período entre 1969 a 1972 foi criada a ARPANET, pela agencia americana ARPA. Sua sigla significa Agencia de Pesquisas em Projetos Avançados. Seu principal objetivo era interligar as bases militares aos departamentos de pesquisa do governo americano. Inicialmente, foi possível interligar 4 nós que encontravam-se no Stanford Research Institute, na Universidade da Califórnia, na Universidade de Santa Barbara e na Universidade de Utah, nos EUA, a uma incrível velocidade de 50 kbps para aquela época. Foi criada então a primeira rede de computadores, mesmo que com o propósito de testes, com ela não era mais necessário os cartões perfurados, sendo possível a transmissão e troca de informações sem toda a limitação que era anteriormente imposta. A rede cresceu de forma tão rápida que em 1973 já haviam 30 instituições interligadas, dentre elas universidades, empresas e instituições militares. Neste modelo, cada nó era interligado a pelo menos dois outros nós, fazendo com que a rede fosse muito confiável, pois enquanto houvesse ao menos um caminho, os pacotes conseguiam chegar ao seu destino. A seguir, temos o diagrama da ARPANET em 1973.

18

Figura 2: Diagrama da ARPANET em 1973

Com o surgimento do protocolo TCP/IP em 1974, foi possível o trafego livre de informações e a possibilidade de ser desenvolvido o e-mail, o Telnet e o FTP (Protocolo de Transferência de Arquivos), o que tornou possível diversos usuários trocarem informações e poderem realizar acesso remoto e compartilhar arquivos. A imagem abaixo demonstra a distribuição da rede ARPANET em 1977.

Figura 3: Distribuição da Rede ARPANET em 1977

Em 1980, com o grande crescimento da rede, passou a ser utilizado nomes para os domínios na rede, surge então o conceito de DNS (Domain Name System), com ele foi possível manter e distribuir listas de todos os hosts conectados.

20

crescimento da Internet são as causas do seu engessamento e restrição do seu crescimento. Nesse sentido a estrutura das redes de computadores vem se modificando aos poucos para atender seus requisitos inicialmente propostos. O serviço de nome de domínios (DNS) é uma dessas modificações. O DNS é um sistema de gerenciamento de nomes hierárquico e distribuído operando para resolver nomes de domínios em endereços de rede IP. Outra dessas modificações foi a introdução do CIDR (Classless Inter-Domain Routing) que permite as organizações obterem uma faixa identificadora de rede de tamanho variável. Além dessas modificações podemos destacar a criação de sub-redes, de sistemas autônomos e modificações no protocolo TCP (Transmission Control Protocol). O protocolo IP também sofreu modificações, entre elas podemos destacar o IP multicasting, que permite que um host envie pacotes de dados para um grupo de hosts; o IPv6, que aumenta o número de endereços disponíveis, simplifica o cabeçalho antigo, permitir a identificação de fluxos entre outras coisas; O NAT (Networking Address Translation), que faz com que um conjunto de hosts passe a ser endereçado por um único endereço de IP; e muitas outras modificações. Todas essas modificações foram necessárias para atender as demandas que vinham crescendo para as redes de computadores. As “adaptações” na arquitetura atual da Internet demonstram que seu projeto inicial não atende mais aos requisitos atuais, e também não podemos ajustá-los para as necessidades futuras. Nesse sentido a arquitetura atual das redes de computadores apresenta inúmeros problemas ainda não solucionados tais como: o problema de endereçamento IP, a mobilidade da rede, a segurança, o gerenciamento, a escalabilidade, além da disponibilidade de serviço e sua qualidade.

2.3 Protocolos de Redes

Para facilitar a explicação e o entendimento do que são os Protocolos de Rede, podemos usar um exemplo clássico: pensemos num francês que não fala português e um brasileiro que não fala francês. Ambos podem se comunicar usando uma língua em comum, digamos o inglês, que seria algo como um protocolo. Mesmo que ambos não falassem nenhuma língua em comum poderiam usar gestos universais.

21

Nas redes de computadores, os protocolos são justamente estes sinais e línguas universais que permitem os dispositivos (Computadores, notebooks, etc.) se comunicarem através da rede, ou seja, é uma convenção que controla e possibilita uma conexão, comunicação e transferência de dados entre dois sistemas operacionais. Os protocolos podem ser implementados pelo hardware, software ou por uma combinação dos dois. Os protocolos são classificados mediante as camadas do Modelo OSI. Abaixo, segue uma Figura explicando a cada camada.

Figura 5: Camadas do Modelo OSI

2.4 Comutadores de Redes

Comutador ou Switch é um dispositivo utilizado em redes de computadores para reencaminhar quadros (frames) entre os diversos nós. Possuem portas, assim como os concentradores (hubs) a principal diferença é, o comutador segmenta a rede internamente, sendo que a cada porta corresponde um domínio de colisão diferente, isto é, não haverá colisões entre pacotes de segmentos diferentes. Outra importante diferença está ligada à gestão da rede, com um switch gerenciável podemos criar VLANS, deste modo a rede gerida será dividida em menores segmentos,