Upload
internet
View
105
Download
0
Embed Size (px)
Citation preview
OpenFlow
Rodrigo de Souza CoutoRedes de Computadores II
Sucesso das Redes de Computadores◦ Infraestrutura crítica das instituições◦ Utilização em massa da Internet
Experimentos de novas propostas◦ Necessidade de ambientes de redes reais◦ Boa parte das propostas são apenas simuladas
Dificuldade de experimentos◦ Necessidade de um grande número de nós◦ Muitos necessitam de modificações nos nós da rede◦ Experimentos não devem influenciar tráfego de produção
Introdução
Redes Virtualizadas Programáveis◦ GENI (Global Environment for Network Innovations)◦ Experimentação de protocolos em larga escala
Criação de redes próximas da realidade◦ Implementação custosa e demorada
OpenFlow◦ Experimentação em redes reais
Separação do tráfego experimental do tráfego de produção◦ Menor Escala
Redes locais de universidades
Plataformas de Experimentação
Mecanismo de separação do tráfego◦ Utilizado nos comutadores da rede◦ Experimentos não influenciam no tráfego de produção◦ Possibilidade de reprogramar os comutadores
Adequação da rede para os experimentos Excução de novos protocolos
Requisitos◦ Baixo custo e alto desempenho
Desejável para a aceitação dos administradores da rede◦ Suporte a uma ampla gama de experimentos◦ Isolamento entre tráfego experimental e de produção◦ Fabricantes não necessitam expor seus projetos
OpenFlow
Funções de manipulação de tabelas de fluxo◦ Presente na maioria dos comutadores comerciais
Protocolo aberto de configuração das tabelas Cada fluxo é tratado de forma diferente
Funcionamento
Tabela de Fluxos◦ Uma ação para cada fluxo
Canal Seguro◦ Conexão entre Comutador
e Controlador Protocolo OpenFlow
◦ Configuração remota das Tabelas de Fluxos
Comutador Openflow
Verificação do cabeçalho dos pacotes Comutadores “tipo0”
◦ Primeira geração de comutadores
Outras gerações◦ Campos do cabeçalho escolhidos arbitrariamente◦ Maior flexibilidade
Novas formas de endereçamento
Definição de Fluxo
Encaminhar os pacotes do fluxo para uma (ou várias) porta(s) específicas◦ Comutação de pacotes
Encapsular os pacotes e encaminhá-los para o Controlador◦ Inicialização dos Fluxos
Descartar os pacotes◦ Aplicações de Segurança
Ações Básicas da Tabela de Fluxos
Comutador OpenFlow dedicado◦ Apenas executa as ações da Tabela de Fluxos◦ Não suporta encaminhamento Nível 2 e 3
Comutador com OpenFlow habilitado◦ Equipamentos que realizam encaminhamento Nível 2 e 3◦ Adição do OpenFlow como funcionalidade◦ Tráfego de produção encaminhado normalmente
Adição de uma nova ação: encaminhar os pacotes para o pipeline normal do comutador
Separação do tráfego por VLANs
Tipos de Comutadores
Sistema Operacional de Rede◦ Facilidade de gerenciamento da rede◦ Gerenciamento por interface de alto nível
Nomes ao invés de MAC e IP◦ Plataforma para aplicações de gerenciamento◦ Baseado em redes OpenFlow
Analogia com Sistema Operacional de Computadores◦ Interface de alto nível para programação
Genérica para diversas arquiteturas◦ Facilita o desenvolvimento e a portabilidade de
aplicações
NOX
Controlador◦ NOX◦ Aplicações
Visão da Rede◦ Localizaçao dos nós◦ Serviços
NOX - Componentes
NOX - Funcionamento
NOX - Funcionamento
Envio de Pacotes por um Cliente – Fluxo Desconhecido
A B
C
NOX - Funcionamento
Encapsulamento e envio para o Controlador
A B
C
NOX - Funcionamento
Controlador configura a Tabela de Fluxos do Comutador A
A B
C
NOX - Funcionamento
A B
C
Todos os pacotes do fluxo que chegam em A irão para B
NOX - Funcionamento
A B
C
Após definido o fluxo, o pacote irá para B
NOX - Funcionamento
A B
C
Pacote encapsulado para o Controlador
NOX - Funcionamento
A B
C
Controlador configura comutador B com o fluxo
NOX - Funcionamento
A B
C
Fluxo configurado no Comutador B
NOX - Funcionamento
A B
C
Após procedimento semelhante, C é configurado
NOX - Funcionamento
Pacotes do Fluxo são encaminhados sem a utilização do Controlador
Virtualização de rede OpenFlow◦ Divisão da rede OpenFlow em fatias◦ Cada fatia possui seu Controlador
Recursos Divididos◦ Banda Passante◦ Tráfego◦ CPU dos elementos da rede◦ Tabela de encaminhamento dos comutadores
FlowVisor
Proxy entre os Controladores e Comutadores◦ Interceptação de mensagens ◦ Transparência aos elementos da rede◦ Decisão a partir de políticas
FlowVisor - Implementação
FlowVisor - Funcionamento
FlowVisor - Funcionamento
FlowVisor - Funcionamento
FlowVisor - Funcionamento
FlowVisor - Funcionamento
FlowVisor - Funcionamento
FlowVisor - Funcionamento
OpenFlow◦ Possibilita a experimentação em redes reais◦ Melhora a validação de propostas
Muitas utilizam apenas simulação Outras funcionalidades para o OpenFlow
◦ NOX Sistema Operacional de redes Gerenciamento centralizado Parâmetros de alto nível
◦ FlowVisor Virtualização de redes OpenFlow Divisão dos recursos da rede
Conclusão
1)Por que é difícil realizar experimentos de novas propostas em redes de produção, como as existentes em empresas e universidades?
Perguntas
1)Por que é difícil realizar experimentos de novas propostas em redes de produção, como as existentes em empresas e universidades?
Muitos experimentos de novas propostas requerem a modificação de todos os equipamentos de uma rede. Assim, como as redes fazem parte da infraestrutura crítica de diversas instituições essas modificações podem ser inviáveis pois poderiam atrapalhar o tráfego de produção.
Perguntas
2)Qual o principal objetivo da proposta do OpenFlow?
Perguntas
2)Qual o principal objetivo da proposta do OpenFlow?
Possibilitar o uso de redes reais para a realização de experimentos de forma que o tráfego experimental não interfira no tráfego de produção.
Perguntas
3)Diga quais são os principais componentes de um Comutador OpenFlow, explicitando a função de cada um.
Tabela de Fluxos:Possui a definição de cada fluxo que passa pelo comutador, bem como as ações que devem ser tomadas para cada um.Canal Seguro: Conecta o Comutador ao Controlador da rede.Protocolo OpenFlow: Possibilita a configuração do Comutador pelo Controlador.
Perguntas
4)Qual a principal função do NOX?
Perguntas
4)Qual a principal função do NOX?
Fornecer uma interface de alto nível para o desenvolvimento de aplicações de gerenciamento de rede.
Perguntas
5)Qual a principal função do FlowVisor?
Perguntas
5)Qual a principal função do FlowVisor?
Dividir a rede OpenFlow em fatias de forma que sejam isoladas entre si. Assim, cada fatia poderá possuir seus controladores, e esses não irão interferir nos controladores de outras fatias.
Perguntas