Rodrigo de Souza Couto Redes 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 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 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 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 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 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 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 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 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 Controlador ◦ NOX ◦ Aplicações Visão da Rede ◦ Localizaçao dos nós ◦ Serviços Envio de Pacotes por um Cliente – Fluxo Desconhecido A B C Encapsulamento e envio para o Controlador A B C Controlador configura a Tabela de Fluxos do Comutador A A B C Todos os pacotes do fluxo que chegam em A irão para B A B C Após definido o fluxo, o pacote irá para B A B C Pacote encapsulado para o Controlador A B C Controlador configura comutador B com o fluxo A B C Fluxo configurado no Comutador B A B C Após procedimento semelhante, C é configurado A B C 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 Proxy entre os Controladores e Comutadores ◦ Interceptação de mensagens ◦ Transparência aos elementos da rede ◦ Decisão a partir de políticas 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 1)Por que é difícil realizar experimentos de novas propostas em redes de produção, como as existentes em empresas e universidades? 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. 2)Qual o principal objetivo da proposta do OpenFlow? 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. 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. 4)Qual a principal função do NOX? 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. 5)Qual a principal função do FlowVisor? 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.