redes de computadoresrodrigo/coe728dir/aula06.pdf · • esta aula é baseada no seguinte trabalho:...
TRANSCRIPT
![Page 1: Redes de Computadoresrodrigo/coe728dir/aula06.pdf · • Esta aula é baseada no seguinte trabalho: –[1] Diego Kreutz, Fernando M. V. Ramos, Paulo Verissimo, Christian Esteve Rothenberg,](https://reader036.vdocuments.site/reader036/viewer/2022070807/5f0626f37e708231d4168d8b/html5/thumbnails/1.jpg)
Redes de Computadores
Introdução às Redes Definidas por Software (SDN)
Prof. Rodrigo de Souza Couto
![Page 2: Redes de Computadoresrodrigo/coe728dir/aula06.pdf · • Esta aula é baseada no seguinte trabalho: –[1] Diego Kreutz, Fernando M. V. Ramos, Paulo Verissimo, Christian Esteve Rothenberg,](https://reader036.vdocuments.site/reader036/viewer/2022070807/5f0626f37e708231d4168d8b/html5/thumbnails/2.jpg)
Bibliografia
• Esta aula é baseada no seguinte trabalho:– [1] Diego Kreutz, Fernando M. V. Ramos, Paulo
Verissimo, Christian Esteve Rothenberg, SiamakAzodolmolky, Steve Uhlig. Software-DefinedNetworking: A Comprehensive Survey. Proceedings ofthe IEEE, 2015.
2
![Page 3: Redes de Computadoresrodrigo/coe728dir/aula06.pdf · • Esta aula é baseada no seguinte trabalho: –[1] Diego Kreutz, Fernando M. V. Ramos, Paulo Verissimo, Christian Esteve Rothenberg,](https://reader036.vdocuments.site/reader036/viewer/2022070807/5f0626f37e708231d4168d8b/html5/thumbnails/3.jpg)
Planos de Funcionalidades emRedes de Computadores
3
Figura adaptada de [1]
![Page 4: Redes de Computadoresrodrigo/coe728dir/aula06.pdf · • Esta aula é baseada no seguinte trabalho: –[1] Diego Kreutz, Fernando M. V. Ramos, Paulo Verissimo, Christian Esteve Rothenberg,](https://reader036.vdocuments.site/reader036/viewer/2022070807/5f0626f37e708231d4168d8b/html5/thumbnails/4.jpg)
Planos de Funcionalidades emRedes de Computadores
4
Figura adaptada de [1]
![Page 5: Redes de Computadoresrodrigo/coe728dir/aula06.pdf · • Esta aula é baseada no seguinte trabalho: –[1] Diego Kreutz, Fernando M. V. Ramos, Paulo Verissimo, Christian Esteve Rothenberg,](https://reader036.vdocuments.site/reader036/viewer/2022070807/5f0626f37e708231d4168d8b/html5/thumbnails/5.jpg)
Plano de Dados
• Encaminha dados entre as interfaces do equipamento de rede– Verifica tabelas que indicam interface de destino dos
dados
5
Quais são as funções básicas dos
planos de dados de roteadores e
comutadores convencionais?
![Page 6: Redes de Computadoresrodrigo/coe728dir/aula06.pdf · • Esta aula é baseada no seguinte trabalho: –[1] Diego Kreutz, Fernando M. V. Ramos, Paulo Verissimo, Christian Esteve Rothenberg,](https://reader036.vdocuments.site/reader036/viewer/2022070807/5f0626f37e708231d4168d8b/html5/thumbnails/6.jpg)
Plano de Dados
• Encaminha dados entre as interfaces do equipamento de rede– Verifica tabelas que indicam interface de destino dos
dados
• Exemplos
– Plano de dados de roteadores• Verifica, através do IP de destino e da tabela de
roteamento, em qual interface o pacote será encaminhado
– Plano de dados de comutadores• Verifica, através do MAC de destino e da tabela de
comutação, em qual interface o quadro será encaminhado
6
![Page 7: Redes de Computadoresrodrigo/coe728dir/aula06.pdf · • Esta aula é baseada no seguinte trabalho: –[1] Diego Kreutz, Fernando M. V. Ramos, Paulo Verissimo, Christian Esteve Rothenberg,](https://reader036.vdocuments.site/reader036/viewer/2022070807/5f0626f37e708231d4168d8b/html5/thumbnails/7.jpg)
Planos de Funcionalidades emRedes de Computadores
7
Figura adaptada de [1]
![Page 8: Redes de Computadoresrodrigo/coe728dir/aula06.pdf · • Esta aula é baseada no seguinte trabalho: –[1] Diego Kreutz, Fernando M. V. Ramos, Paulo Verissimo, Christian Esteve Rothenberg,](https://reader036.vdocuments.site/reader036/viewer/2022070807/5f0626f37e708231d4168d8b/html5/thumbnails/8.jpg)
Plano de Controle
• Protocolos utilizados para preencher as tabelas de encaminhamento dos elementos no plano de dados
• Planos de controle de diferentes dispositivos de redepodem se comunicar para definir os conteúdos das tabelas de encaminhamento
8
O que representa os planos de
controle de roteadores e comutadores
convencionais?
![Page 9: Redes de Computadoresrodrigo/coe728dir/aula06.pdf · • Esta aula é baseada no seguinte trabalho: –[1] Diego Kreutz, Fernando M. V. Ramos, Paulo Verissimo, Christian Esteve Rothenberg,](https://reader036.vdocuments.site/reader036/viewer/2022070807/5f0626f37e708231d4168d8b/html5/thumbnails/9.jpg)
Plano de Controle
• Exemplos– Plano de controle em roteadores
• Protocolos de Roteamento– Construção da tabela de roteamento
– Trocam mensagens de controle entre roteadores para definir rotas na rede
– RIP, OSPF, BGP, IS-IS, etc.
– Plano de controle em comutadores• Mecanismo de autoaprendizagem
– Construção da tabela de comutação
– Baseado no MAC de origem de um quadro
• Protocolo Spanning tree– Eliminação de laços (loops) na rede
9
![Page 10: Redes de Computadoresrodrigo/coe728dir/aula06.pdf · • Esta aula é baseada no seguinte trabalho: –[1] Diego Kreutz, Fernando M. V. Ramos, Paulo Verissimo, Christian Esteve Rothenberg,](https://reader036.vdocuments.site/reader036/viewer/2022070807/5f0626f37e708231d4168d8b/html5/thumbnails/10.jpg)
Planos de Funcionalidades emRedes de Computadores
10
Figura adaptada de [1]
![Page 11: Redes de Computadoresrodrigo/coe728dir/aula06.pdf · • Esta aula é baseada no seguinte trabalho: –[1] Diego Kreutz, Fernando M. V. Ramos, Paulo Verissimo, Christian Esteve Rothenberg,](https://reader036.vdocuments.site/reader036/viewer/2022070807/5f0626f37e708231d4168d8b/html5/thumbnails/11.jpg)
Plano de Gerenciamento
• Utilizado no monitoramento remoto da rede e na configuração do plano de controle
• Define as políticas de rede– Qual tipo de tráfego será negado
– Qual o nível de QoS garantido
– Entre outras
• Exemplos– Configurações manuais do gerente de rede
– Protocolo SNMP (Simple Network Management Protocol)
– NETCONF (Network Configuration Protocol)
11
![Page 12: Redes de Computadoresrodrigo/coe728dir/aula06.pdf · • Esta aula é baseada no seguinte trabalho: –[1] Diego Kreutz, Fernando M. V. Ramos, Paulo Verissimo, Christian Esteve Rothenberg,](https://reader036.vdocuments.site/reader036/viewer/2022070807/5f0626f37e708231d4168d8b/html5/thumbnails/12.jpg)
Redes Tradicionais
• Cada dispositivo de encaminhamento executa um plano de dados e um plano de controle– Plano de controle deve atuar com algoritmos
distribuídos
12
![Page 13: Redes de Computadoresrodrigo/coe728dir/aula06.pdf · • Esta aula é baseada no seguinte trabalho: –[1] Diego Kreutz, Fernando M. V. Ramos, Paulo Verissimo, Christian Esteve Rothenberg,](https://reader036.vdocuments.site/reader036/viewer/2022070807/5f0626f37e708231d4168d8b/html5/thumbnails/13.jpg)
Redes tradicionais são complexas e difíceis de
gerenciar
13
• Operadores precisam configurar separadamente cada dispositivo de rede– A configuração de políticas de rede complexas torna-se
muito difícil e suscetível a erros
• Comandos de configurações são de baixo nível e específicos para cada fabricante
– P.ex. não é possível configurar da mesma forma um dispositivo Cisco e um Juniper
![Page 14: Redes de Computadoresrodrigo/coe728dir/aula06.pdf · • Esta aula é baseada no seguinte trabalho: –[1] Diego Kreutz, Fernando M. V. Ramos, Paulo Verissimo, Christian Esteve Rothenberg,](https://reader036.vdocuments.site/reader036/viewer/2022070807/5f0626f37e708231d4168d8b/html5/thumbnails/14.jpg)
Redes tradicionais são complexas e difíceis de
gerenciar• Configurações realizadas não se adaptam de acordo
com as condições da rede– Redes tradicionais não se adaptam facilmente a
mudanças de carga e falhas• Dificuldade de realizar engenharia de tráfego
• Mudanças no plano de controle são difíceis de implementar
– Redes são integradas verticalmente
– É necessário mudar o software de cada dispositivo de rede
• P.ex. incluir um protocolo de roteamento diferente
14
![Page 15: Redes de Computadoresrodrigo/coe728dir/aula06.pdf · • Esta aula é baseada no seguinte trabalho: –[1] Diego Kreutz, Fernando M. V. Ramos, Paulo Verissimo, Christian Esteve Rothenberg,](https://reader036.vdocuments.site/reader036/viewer/2022070807/5f0626f37e708231d4168d8b/html5/thumbnails/15.jpg)
Redes Definidas porSoftware (SDN)
• Um controlador executa o plano de controle– Atenção: Isso não implica que o controlador seja
fisicamente centralizado
15
![Page 16: Redes de Computadoresrodrigo/coe728dir/aula06.pdf · • Esta aula é baseada no seguinte trabalho: –[1] Diego Kreutz, Fernando M. V. Ramos, Paulo Verissimo, Christian Esteve Rothenberg,](https://reader036.vdocuments.site/reader036/viewer/2022070807/5f0626f37e708231d4168d8b/html5/thumbnails/16.jpg)
Ideias básicas do SDN
• Quebra da integração vertical– Separação do plano de dados e de controle
– Diferentes equipamentos de diferentes fabricantes podem operar sob um mesmo controle
16
O que é necessário para isso ser
realidade?
Figura adaptada de [1]
Fabricante A
Fabricante B
Fabricante C
Plataforma de Controlador
![Page 17: Redes de Computadoresrodrigo/coe728dir/aula06.pdf · • Esta aula é baseada no seguinte trabalho: –[1] Diego Kreutz, Fernando M. V. Ramos, Paulo Verissimo, Christian Esteve Rothenberg,](https://reader036.vdocuments.site/reader036/viewer/2022070807/5f0626f37e708231d4168d8b/html5/thumbnails/17.jpg)
Ideias básicas do SDN
• Quebra da integração vertical– Separação do plano de dados e de controle
– Diferentes equipamentos de diferentes fabricantes podem operar sob um mesmo controle
17
Uma API (Applications Programming
Interface) para o controlador se
comunicar com os comutadores
Ela deve ser aberta, para pode ser
implementada por diferentes
fabricantes
Figura adaptada de [1]
Fabricante A
Fabricante B
Fabricante C
Plataforma de Controlador
Southbound API
Aberta
![Page 18: Redes de Computadoresrodrigo/coe728dir/aula06.pdf · • Esta aula é baseada no seguinte trabalho: –[1] Diego Kreutz, Fernando M. V. Ramos, Paulo Verissimo, Christian Esteve Rothenberg,](https://reader036.vdocuments.site/reader036/viewer/2022070807/5f0626f37e708231d4168d8b/html5/thumbnails/18.jpg)
Ideias básicas do SDN
• Quebra da integração vertical– Separação do plano de dados e de controle
– Diferentes equipamentos de diferentes fabricantes podem operar sob um mesmo controle
18
A Southbound API mais comum é o
OpenFlow, visto mais adiante no curso
Figura adaptada de [1]
Fabricante A
Fabricante B
Fabricante C
Plataforma de Controlador
Southbound API
Aberta
![Page 19: Redes de Computadoresrodrigo/coe728dir/aula06.pdf · • Esta aula é baseada no seguinte trabalho: –[1] Diego Kreutz, Fernando M. V. Ramos, Paulo Verissimo, Christian Esteve Rothenberg,](https://reader036.vdocuments.site/reader036/viewer/2022070807/5f0626f37e708231d4168d8b/html5/thumbnails/19.jpg)
Ideias básicas do SDN
• Aplicações de rede programam a rede através de chamadas ao Controlador– Utilização de
Northbound APIs
• Funções de controle da rede podem ser alteradas simplesmente escrevendo novas aplicações de rede
19
Plataforma de Controlador
Southbound API
Aberta
Aplicações de rede
Northbound API
Aberta
![Page 20: Redes de Computadoresrodrigo/coe728dir/aula06.pdf · • Esta aula é baseada no seguinte trabalho: –[1] Diego Kreutz, Fernando M. V. Ramos, Paulo Verissimo, Christian Esteve Rothenberg,](https://reader036.vdocuments.site/reader036/viewer/2022070807/5f0626f37e708231d4168d8b/html5/thumbnails/20.jpg)
Ideias básicas do SDN
• Software do controlador é também chamado de “Sistema Operacional de rede”– Network Operating
System (NOS)
20
Plataforma de Controlador
Southbound API
Aberta
Aplicações de rede
Northbound API
Aberta
![Page 21: Redes de Computadoresrodrigo/coe728dir/aula06.pdf · • Esta aula é baseada no seguinte trabalho: –[1] Diego Kreutz, Fernando M. V. Ramos, Paulo Verissimo, Christian Esteve Rothenberg,](https://reader036.vdocuments.site/reader036/viewer/2022070807/5f0626f37e708231d4168d8b/html5/thumbnails/21.jpg)
Redes TradicionaisMuitos tipos de dispositivo
• Diferentes dispositivos coexistem
• Novos serviços são adicionados por meio de middleboxes
21
Figura adaptada de [1]
![Page 22: Redes de Computadoresrodrigo/coe728dir/aula06.pdf · • Esta aula é baseada no seguinte trabalho: –[1] Diego Kreutz, Fernando M. V. Ramos, Paulo Verissimo, Christian Esteve Rothenberg,](https://reader036.vdocuments.site/reader036/viewer/2022070807/5f0626f37e708231d4168d8b/html5/thumbnails/22.jpg)
Redes SDN:Unificação de dispositivos
• Dispositivos podem ser idênticos, mas com comportamentos definidos pela aplicação
• Uma nova aplicação na rede não necessita de mudança do dispositivo ou da adição de middleboxes
22
Figura adaptada de [1]
![Page 23: Redes de Computadoresrodrigo/coe728dir/aula06.pdf · • Esta aula é baseada no seguinte trabalho: –[1] Diego Kreutz, Fernando M. V. Ramos, Paulo Verissimo, Christian Esteve Rothenberg,](https://reader036.vdocuments.site/reader036/viewer/2022070807/5f0626f37e708231d4168d8b/html5/thumbnails/23.jpg)
Redes SDN:Unificação de dispositivos
• Com base nas aplicações, Controlador instala regras de fluxo nos dispositivos de encaminhamento
23
Figura adaptada de [1]
![Page 24: Redes de Computadoresrodrigo/coe728dir/aula06.pdf · • Esta aula é baseada no seguinte trabalho: –[1] Diego Kreutz, Fernando M. V. Ramos, Paulo Verissimo, Christian Esteve Rothenberg,](https://reader036.vdocuments.site/reader036/viewer/2022070807/5f0626f37e708231d4168d8b/html5/thumbnails/24.jpg)
Vantagens do SDN
• Facilidade de configuração da rede– Plano de controle central pode ser configurado de
acordo com uma determinada condição da rede• P.ex. Configuração se adapta com a carga da rede
– Linguagem de mais alto nível para configuração
– Configuração menos suscetível a erros
– Todas as aplicações pode utilizar a mesma informação provida pelo plano de controle
– Integração de diferentes aplicações pode ser mais fácil• P.ex. balanceamento de carga com roteamento
24
![Page 25: Redes de Computadoresrodrigo/coe728dir/aula06.pdf · • Esta aula é baseada no seguinte trabalho: –[1] Diego Kreutz, Fernando M. V. Ramos, Paulo Verissimo, Christian Esteve Rothenberg,](https://reader036.vdocuments.site/reader036/viewer/2022070807/5f0626f37e708231d4168d8b/html5/thumbnails/25.jpg)
Vantagens do SDN
• Incentivo à inovação– Facilidade de reprogramar o plano de controle
– Controlador possui uma visão global da rede• Facilita o desenvolvimento de aplicações
• P.ex. a aplicação conhece toda a topologia da rede e a manipula com interfaces de alto nível
25
![Page 26: Redes de Computadoresrodrigo/coe728dir/aula06.pdf · • Esta aula é baseada no seguinte trabalho: –[1] Diego Kreutz, Fernando M. V. Ramos, Paulo Verissimo, Christian Esteve Rothenberg,](https://reader036.vdocuments.site/reader036/viewer/2022070807/5f0626f37e708231d4168d8b/html5/thumbnails/26.jpg)
Definição de SDNem quatro pilares [1]
1) O plano de controle e o plano de dados são separados– Dispositivos de rede se tornam meros encaminhadores
de pacotes
2) Decisões de encaminhamento são baseadas em fluxos, ao invés de simplesmente destino do pacote
– Fluxo é definido com um conjunto de campos de um pacote, que atuam como critério de classificação, e um conjunto de ações associadas
• P.ex. Encaminhar todos os pacotes parar porta 80, com IP 152.67.89.4 pela interface 1
– Permite unificar diferentes dispositivos de rede• Roteadores, comutadores, firewalls, middleboxes, etc.
26
![Page 27: Redes de Computadoresrodrigo/coe728dir/aula06.pdf · • Esta aula é baseada no seguinte trabalho: –[1] Diego Kreutz, Fernando M. V. Ramos, Paulo Verissimo, Christian Esteve Rothenberg,](https://reader036.vdocuments.site/reader036/viewer/2022070807/5f0626f37e708231d4168d8b/html5/thumbnails/27.jpg)
Definição de SDNem quatro pilares [1]
3) A lógica de controle é movida do dispositivo de rede para uma entidade externa– Denominada “Controlador SDN” ou “Sistema
Operacional de Rede (NOS – Network OperatingSystem)”
– Plataforma de software que executa em servidores comuns e fornece abstrações e recursos para programa a rede
• Semelhante a um sistema operacional de computadores
4) A rede é programável por meio de softwares que executam sobre um NOS
– NOS interage com o plano de dados pela SouthBoundAPI
– Principal motivador do SDN
27
![Page 28: Redes de Computadoresrodrigo/coe728dir/aula06.pdf · • Esta aula é baseada no seguinte trabalho: –[1] Diego Kreutz, Fernando M. V. Ramos, Paulo Verissimo, Christian Esteve Rothenberg,](https://reader036.vdocuments.site/reader036/viewer/2022070807/5f0626f37e708231d4168d8b/html5/thumbnails/28.jpg)
Visão Geral da ArquiteturaSDN
• Cada plano é dividido em camadas, que serão detalhadas ao longo dessa parte do curso
28
Figura adaptada de [1]
![Page 29: Redes de Computadoresrodrigo/coe728dir/aula06.pdf · • Esta aula é baseada no seguinte trabalho: –[1] Diego Kreutz, Fernando M. V. Ramos, Paulo Verissimo, Christian Esteve Rothenberg,](https://reader036.vdocuments.site/reader036/viewer/2022070807/5f0626f37e708231d4168d8b/html5/thumbnails/29.jpg)
Visão Geral da ArquiteturaSDN
• Algumas camadas podem não existir em alguns casos– P.ex. Hipervisor e Virtualização Baseada em Linguagens
29
Figura adaptada de [1]
![Page 30: Redes de Computadoresrodrigo/coe728dir/aula06.pdf · • Esta aula é baseada no seguinte trabalho: –[1] Diego Kreutz, Fernando M. V. Ramos, Paulo Verissimo, Christian Esteve Rothenberg,](https://reader036.vdocuments.site/reader036/viewer/2022070807/5f0626f37e708231d4168d8b/html5/thumbnails/30.jpg)
Plano de Dados:Infraestrutura de Rede
• Conjunto de equipamentos de rede– Simples elementos de encaminhamento
• Não tomam decisões autônomas
• São programados pelo controlador
– Em comutadores com OpenFlow habilitado, a programação do Controlador é feita por tabelas de fluxo
30
![Page 31: Redes de Computadoresrodrigo/coe728dir/aula06.pdf · • Esta aula é baseada no seguinte trabalho: –[1] Diego Kreutz, Fernando M. V. Ramos, Paulo Verissimo, Christian Esteve Rothenberg,](https://reader036.vdocuments.site/reader036/viewer/2022070807/5f0626f37e708231d4168d8b/html5/thumbnails/31.jpg)
Infraestrutura de Rede :Esquema básico
31
• Tabelas de fluxo especificam o comportamento para cada fluxo. Definição de fluxo depende dos campos do pacote!
Figura adaptada de [1]
![Page 32: Redes de Computadoresrodrigo/coe728dir/aula06.pdf · • Esta aula é baseada no seguinte trabalho: –[1] Diego Kreutz, Fernando M. V. Ramos, Paulo Verissimo, Christian Esteve Rothenberg,](https://reader036.vdocuments.site/reader036/viewer/2022070807/5f0626f37e708231d4168d8b/html5/thumbnails/32.jpg)
Infraestrutura de Rede :Tabelas de Fluxo
32
• Dentro de um dispositivo, uma sequencia de tabelas de fluxo definem como o pacote será tratado
Figura adaptada de [1]
![Page 33: Redes de Computadoresrodrigo/coe728dir/aula06.pdf · • Esta aula é baseada no seguinte trabalho: –[1] Diego Kreutz, Fernando M. V. Ramos, Paulo Verissimo, Christian Esteve Rothenberg,](https://reader036.vdocuments.site/reader036/viewer/2022070807/5f0626f37e708231d4168d8b/html5/thumbnails/33.jpg)
Infraestrutura de Rede :Tabelas de Fluxo
33
• Note que, neste exemplo, o fluxo pode ser definido com informação de diferentes camadas
Figura adaptada de [1]
![Page 34: Redes de Computadoresrodrigo/coe728dir/aula06.pdf · • Esta aula é baseada no seguinte trabalho: –[1] Diego Kreutz, Fernando M. V. Ramos, Paulo Verissimo, Christian Esteve Rothenberg,](https://reader036.vdocuments.site/reader036/viewer/2022070807/5f0626f37e708231d4168d8b/html5/thumbnails/34.jpg)
Infraestrutura de Rede :Tabelas de Fluxo
34
• Mais detalhes na aula sobre OpenFlow!
Figura adaptada de [1]