OpenFlow Rodrigo de Souza Couto Redes de Computadores II
41 Slides951.63 KB
OpenFlow Rodrigo de Souza Couto Redes de Computadores II
Introdução 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
Plataformas de Experimentaçã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
OpenFlow 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
Funcionamento 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
Comutador Openflow 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
Definição de Fluxo 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
Ações Básicas da Tabela de Fluxos 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
Tipos de Comutadores 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
NOX 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 - Componentes Controlador NOX Aplicações Visão da Rede Localizaçao dos nós Serviços
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 Todos os pacotes do fluxo que chegam em A irão para B A B C
NOX - Funcionamento Após definido o fluxo, o pacote irá para B A B C
NOX - Funcionamento Pacote encapsulado para o Controlador A B C
NOX - Funcionamento Controlador configura comutador B com o fluxo A B C
NOX - Funcionamento Fluxo configurado no Comutador B A B C
NOX - Funcionamento Após procedimento semelhante, C é configurado A B C
NOX - Funcionamento Pacotes do Fluxo são encaminhados sem a utilização do Controlador
FlowVisor 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 - Implementação Proxy entre os Controladores e Comutadores Interceptação de mensagens Transparência aos elementos da rede Decisão a partir de políticas
FlowVisor - Funcionamento
FlowVisor - Funcionamento
FlowVisor - Funcionamento
FlowVisor - Funcionamento
FlowVisor - Funcionamento
FlowVisor - Funcionamento
FlowVisor - Funcionamento
Conclusão 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
Perguntas 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.