Tópicos Especiais em Redes de
Telecomunicações
Redes definidas por software e
Computação em Nuvem
PARTE 1
REDES DEFINIDAS POR
SOFTWARE (SDN)
Bibliografia
• Esta aula é baseada nos seguintes trabalhos:
– [1] Diego Kreutz, Fernando M. V. Ramos, Paulo Verissimo, Christian Esteve Rothenberg, Siamak Azodolmolky, Steve Uhlig.
Software-Defined Networking: A Comprehensive
Survey
. Proceedings of the IEEE, 2015.– [2] Rob Sherwood, Glen Gibby, Kok-Kiong Yapy, Guido
Appenzellery, Martin Casado, Nick McKeowny, Guru Parulkar.
FlowVisor: A Network Virtualization Layer.
OpenFlow Switch Consortium, Tech. Rep, 2009.– [3] Victor Torres da Costa. “Controle e Isolamento de Recursos em Ambientes de Redes Virtuais OpenFlow”. Projeto de Final de Curso. GTA/DEL/Poli/UFRJ. Fevereiro, 2014.
Bibliografia
• Esta aula é baseada nos seguintes trabalhos (cont.):
– [4] N. M. Mosharaf Kabir Chowdhury and Raouf Boutaba.
Network Virtualization: State of the Art and Research
Challenges.
IEEE Communications Magazine. 2009.Visão Geral da Arquitetura SDN
5
Visão Geral da Arquitetura SDN
6
Figura adaptada de [1]
Virtualização
• Tecnologia já consolidada para PCs
– Virtualização de máquina
– Máquina virtual utiliza o hardware como se estivesse sozinha na infraestrutura
• Pode ser aplicada em redes de computadores
– Virtualização de redes
– Rede virtual funciona na infraestrutura como se estivesse sozinha
Virtualização de Máquina
• Compartilhamento de um servidor físico por diferentes
máquinas virtuais (VMs – Virtual Machines)
– Usuário da VM tem ilusão de estar utilizando um servidor físico dedicado a ele
– Implementada por um hipervisor
Exemplo de Virtualização
de Máquina: Xen
9
Exemplo de Virtualização
de Máquina: Xen
10
Virtualização de Redes
11
• Diferentes redes operam sobre uma rede física de forma
paralela
Figura adaptada de [4]
Virtualização de Redes
12
• Redes virtuais podem executar planos de controle
específicos para cada uma
Figura adaptada de [4]
Virtualização de Redes
13
• Permite distinguir provedor de rede do provedor de
infraestrutura
Figura adaptada de [4]
Virtualização de Redes
14
• Requisito principal da virtualização de redes é o
isolamento
Figura adaptada de [4]
Algumas aplicações da
virtualização de redes
• Realização de experimentos científicos
– Diferentes redes podem ser criadas em um testbed para diferentes experimentos
– Tráfego de produção pode coexistir com tráfego experimental
• Migração de aplicações para a nuvem
– Aplicação rodando em uma rede local, com todas suas configurações de rede específicas
• Migração para uma nuvem com rede virtual
Virtualização de redes:
Contexto histórico
• VLAN (
Virtual Local Area Network
)
– Separação do comutador em diferentes redes virtuais de nível 2
– Comutador é visto por cada rede com um roteador virtual
16 1 8 9 16 10 2 7 … Rede 1 (VLAN ports 1-8) Rede 2 (VLAN ports 9-15) 15 …
Adaptado das notas de aula do livro Jim Kurose e Keith Ross, “Redes de Computadores e a Internet – Uma abordagem Top-Down", 6ª Edição, Editora Pearson, 2013
Virtualização de redes:
Contexto histórico
• VLAN (
Virtual Local Area Network
)
– Separação do comutador em diferentes redes virtuais de nível 2
– Comutador é visto por cada rede com um roteador virtual
17
Figura adaptada das notas de aula do livro Jim Kurose e Keith Ross, “Redes de Computadores e a Internet – Uma abordagem Top-Down", 6ª Edição, Editora Pearson, 2013
Electrical Engineering (VLAN ports 1-8) … 1 8 2 7 9 16 10 15 … Computer Science (VLAN ports 9-16)
Virtualização de redes:
Contexto histórico
• VLAN (
Virtual Local Area Network
)
– Aplicável a comutadores cascateados
18
Figura adaptada das notas de aula do livro Jim Kurose e Keith Ross, “Redes de Computadores e a Internet – Uma abordagem Top-Down", 6ª Edição, Editora Pearson, 2013
1 8 9 10 2 7 … Electrical Engineering (VLAN ports 1-8) Computer Science (VLAN ports 9-15) 15 … 2 7 3
Ports 2,3,5 belong to EE VLAN Ports 4,6,7,8 belong to CS VLAN
5 4 6 8
16
Virtualização de redes:
Contexto histórico
• VPN (
Virtual Private Network
)
– Criação de redes locais entre estações conectadas remotamente
– Podem ser implementadas através de túneis seguros
Virtualização de redes:
Contexto histórico
• Redes Sobrepostas
– Redes lógicas construídas sobre a rede física – Geralmente construídas a nível de aplicação – Exemplo: Rede P2P
• NAT (
Network Addres Translation
)
– Virtualização do espaço de endereço IP
– Todas as máquinas na rede local aparecem com o mesmo IP público na Internet
Virtualização de redes:
Contexto histórico
• Redes Sobrepostas
– Redes lógicas construídas sobre a rede física – Geralmente construídas a nível de aplicação – Exemplo: Rede P2P
• NAT (
Network Addres Translation
)
– Virtualização do espaço de endereço IP
– Todas as máquinas na rede local aparecem com o mesmo IP público na Internet
Hipervisor de Rede
• Camada de software entre as redes virtuais e a
infraestrutura física
• Divide a rede em “fatias” (
slices
)
– A cada rede virtual atribui-se uma fatia – Requisitos mínimos para cada fatia
• Topologia
• Espaço de endereçamento
– Topologia e espaço de endereçamento devem independentes para cada rede virtual
• P.ex.: Atribuição de um IP 192.168.0.1 a uma rede A não deve impedir a atribuição do mesmo endereço para a
rede V
• Virtualização de rede OpenFlow
– Divisão da rede OpenFlow em fatias
• Cada fatia é um conjunto de entradas nas tabelas de fluxo
– Cada fatia possui seu Controlador
• Recursos Divididos
– Banda Passante
• Volume de dados que a rede pode transmitiri em cada enlace
– Topologia
• Quais elementos de rede e quais portas (interfaces) serão usadas
• Cada rede virtual tem sua própria visão da rede
• Recursos Divididos (cont.)
– Espaço de endereçamento • Faixas de endereço IP • ID de VLAN • Entre outros – Carga de processamento• Quantidade de processamento utilizada nos comutadores – Tabela de encaminhamento dos comutadores
• Número de entradas permitido para cada rede
• Recursos Divididos (cont.)
– Espaço de endereçamento • Faixas de endereço IP • ID de VLAN • Entre outros – Carga de processamento• Quantidade de processamento utilizada nos comutadores – Tabela de encaminhamento dos comutadores
• Número de entradas permitido para cada rede
FlowVisor
Implementação padrão do OpenFlow virtualiza apenas topologia e espaço de endereçamento
• Proxy entre os Controladores e Comutadores
– Interceptação e reescrita de mensagens – Transparência aos elementos da rede – Decisão a partir de políticas
FlowVisor - Implementação
FlowVisor - Funcionamento
Controlador deseja adicionar um fluxo na rede. P.ex. Bob escreve uma aplicação que analisa todo tráfego HTTP da rede
FlowVisor - Funcionamento
FlowVisor - Funcionamento
Mensagem entra na etapa de Tradução para ser reescrita de acordo com a rede física
FlowVisor - Funcionamento
Flowvisor consulta as políticas de Bob. Dessa forma aplicação irá atuar apenas no fluxo HTTP das máquinas da rede do Bob.
FlowVisor - Funcionamento
Mensagem é reescrita de acordo com decisões do FlowVisor
FlowVisor - Funcionamento
Mensagem é enviada ao comutador como se não tivesse modificada
FlowVisor - Funcionamento
Flowvisor não necessita da modificação do Controlador!!!!
• Mensagem enviada pelo Controlado do Bob
– Enviar para o Controlador todos pacotes com a porta 80 como destino, com qualquer IP de origem
• Mensagem traduzida pelo FlowVisor e enviada para os
comutadores
– Enviar para o Controlador todos pacotes com a porta 80 como destino, com IPs de origem na rede 192.168.0.1/24
Visão geral da rede com FlowVisor
35
Atenção! Essa rede não é uma SDN com múltiplos controladores! São várias SDNs virtuais.
Hierarquia no FlowVisor
• Funcionamento transparente permite “virtualizar redes
virtuais”
Virtualização de máquinas e de
redes SDN
37