2. Introdução às SDN
A necessidade da criação das SDN..
● Mudanças de hábitos dos utilizadores
○ Aumento do consumo em equipamentos móveis
■ Rede não desenha para o efeito
○ Necessidade de garantias e não apenas de velocidade
■ Menor delay possível, evitar perdas de pacotes, baixar o jitter...
● Aumento da complexidade das redes
● Dependências de fabricantes
3. Introdução às SDN
A necessidade da criação das SDN..
● Mudanças de hábitos dos utilizadores
● Aumento da complexidade das redes
○ Crescente número de protocolos
■ Difícil configuração dos equipamentos
■ Requer equipamentos mais poderosos ($$$)
● Dependências de fabricantes
4. Introdução às SDN
A necessidade da criação das SDN..
● Mudanças de hábitos dos utilizadores
● Aumento da complexidade das redes
● Dependências de fabricantes
○ Protocolos exclusivos de certos fabricantes
○ Configurações dependentes dos equipamentos
■ Mais grave em redes de grandes dimensões
5. Introdução às SDN
Para combater as dificuldades...
● Produção de equipamentos mais poderosos
○ Equipamentos mais caros para lidar com a maior necessidade do processamento
● Estagnação do desenvolvimento das redes
○ Complexidade torna a inovação difícil
● Diminuição da privacidade dos utilizadores para dar garantias
○ Analisando o tráfego do utilizador para saber a prioridade a dar
■ São as operadoras que escolhem as prioridades (Traffic shapping)
6. Introdução às SDN - Breve história
● Começou a ser falada no final dos anos 90
○ Primeiro impulso por engenheiros da AT&T (Geoplex)
● Fundação da WebSprocket
● Primeiro teste SDN em 2001 pela Ericsson e WebSprocket
● Perdeu força no final 2001 com a crise
○ Mas continuou a ser trabalhado em universidades...
● Ganhou notoriedade em 2011 com a criação da Open Networking
Foundation
○ Fundada por grandes empresas na área das telecomunicações (Google, Verizon,
Microsoft...)
7. Introdução às SDN
O SDN é uma arquitetura de rede onde a camada de controlo é separada da
camada de dados e é diretamente programável.
8. Introdução às SDN
O “cérebro” da rede passa a estar no controlador programável.
Comunicação controlador/switch através de uma nova interface
● OpenFlow
9. OpenFlow
● Standard de comunicação entre o controlador e o dispositivo de rede
(switch/router) definindo:
○ Conjunto de mensagens que pode ser trocada entre estes
○ Características dos switches
● Abstrai-se do modelo das redes tradicionais TCP/IP baseados em
camadas para criar um modelo onde as camadas de transporte e internet
são agrupadas criando o conceito de layerless.
10. OpenFlow - Conceitos básicos
Novos conceitos:
● Flow - Sequência de pacotes de uma origem para um destino
○ Identificação mais comum: 5-tuple (IP dest/orig, porta dest/orig e protocolo de transporte)
Flow entry
Flow table
Match
12. OpenFlow - Mensagens básicas
Recebe todas as mensagens enviadas pelo switch
● Iniciar sessão switch/controlador (Hello)
● Novo pacote (Packet-in)
● Remoção de flow-entry (Flow-removed)
Envia mensagens para o switch
● Enviar pacote e nova flow-entry (Packet-out)
● Modificar o estado de um flow (Modify-state)
● Ver estado atual (Read-state)
13. OpenFlow - Controlador
Qualquer dispositivo com uma porta compatível com o OpenFlow (ex.: RJ-45) e
com um software SDN compatível instalado.
Exemplo de controlador
15. Exemplo de aplicação - Controlo e admissão de tráfego
Construir uma lógica de controlador SDN com o objetivo de:
● Diminuir a complexidade da rede
○ Reduzir o número de protocolos
○ Simplificar o processamento
● Atribuição de garantias sem deep packet inspection (DPI)
○ Evitar problemas de privacidade
● Eficiente na gestão de recursos
○ Reduzir o custo dos equipamentos
16. Gestão de recursos
○ Distribuição irregular de largura de
banda
■ Elevado número de flows no
núcleo
■ Baixo número de flows na
periferia
Construção de duas
lógicas de controlo
17. Gestão de recursos
Lógica de ingresso
Baixo número de flows -> Baixo processamento
Lógica central
Elevado número de flows -> Elevado processamento
18. Gestão de recursos - Criação de 2 lógicas
Lógica de ingresso
Baixo número de flows -> Baixo processamento
Lógica central
Elevado número de flows -> Elevado processamento
Simplificar processamento
19. Gestão de recursos - Criação de 2 lógicas
Lógica de ingresso
Processamento e análise dos flows
● Recolher informação do estado da rede
● Encaminhamento do tráfego conforme o
estado da rede
○ Controlo de flows
● Rotular o tráfego
○ Verificação do tipo de tráfego
○ Adicionar cabeçalho identificador
Lógica central
Encaminhamento dos flows
● Informar o seu estado aos controladores de
ingresso quando requisitado
● Encaminhar o tráfego rotulado
● Não se preocupa com os outros switches na
zona central
20. Gestão de recursos - Criação de 2 lógicas
Comunicação entre controladores:
● Criadas diferentes tipos de mensagens:
○ Informação de estado
■ Informa qual o estado atual do switch (total de largura de banda ocupada)
○ Nova reserva
■ Pede uma nova reserva de largura de banda
21. Gestão de recursos - Características do tráfego
● Comportamento on-off
○ Variação da largura de banda utilizada
22. Gestão de recursos - Características do tráfego
● Overprovisioning
Overprovisioning
23. Gestão de recursos - Conhecimento do tráfego
● Tráfego de curto duração
○ 70% dos flows são extintos passados 5 segundos
■ Ineficiência de mecanismos de reserva
24. Diminuição da complexidade
● Classificar apenas flows de longa duração
○ Diminui o processamento necessário e tráfego gerado/
● Utilização do OpenFlow
○ Um único protocolo existente na rede
○ Independente do switch (qualquer modelo/marca que suporte OpenFlow)
○ Facilmente adaptável e reconfigurável
● Metodologia first-come, first served
○ Não requer técnicas de identificação de tráfego avançadas
○ Não é existe discriminação de tráfego
○ Diminui o processamento necessário
25. Qualidade de serviço
● Metodologia first-come, first served
○ Não requer técnicas de identificação de tráfego avançadas
○ Não existe diferenciação de tráfego*
● Definição de diferentes classes com diferentes garantias
○ Classe 1 - Qualidade de serviço garantida para tráfego VoIP e tráfego core
○ Classe 2 - Qualidade de serviço garantida após análise dos requisitos
○ Classe 3 - Classe best-effort
○ Classe 4 - Classe de sondagem (probing)
26. Qualidade de serviço
● Definição de diferentes classes com diferentes garantias
○ Classe 1 - Qualidade de serviço garantida para tráfego VoIP e tráfego core
■ Garante baixa latência
■ Garante delay
Único tráfego diferenciado devido a maiores necessidades a nível de delay
e latência, no entanto requer largura de banda muito baixa.
27. Qualidade de serviço
● Definição de diferentes classes com diferentes garantias
○ Classe 1 - Qualidade de serviço garantida para tráfego VoIP e tráfego core
○ Classe 2 - Qualidade de serviço após análise de requisitos
○ Classe 3 - Classe best-effort
○ Classe 4 - Classe de sondagem (probing)
■ Classe transitória onde são analisadas as características do flow
28. Qualidade de serviço
● Definição de diferentes classes com diferentes garantias
○ Classe 1 - Qualidade de serviço garantida para tráfego VoIP e tráfego core
○ Classe 2 - Qualidade de serviço após análise de requisitos
■ Atribuída largura de banda necessária durante a sua existência
■ Acesso limitado à capacidade da ligação
29. Qualidade de serviço
● Definição de diferentes classes com diferentes garantias
○ Classe 1 - Qualidade de serviço garantida para tráfego VoIP e tráfego core
○ Classe 2 - Qualidade de serviço após análise de requisitos
○ Classe 3 - Classe best-effort
■ Tráfego sem garantias
30. Qualidade de serviço
● Identificação das classes
○ Através de um cabeçalho adicionado ao pacote
■ Adicionado na zona de ingresso
32. Recolher dados
● Recolhidos dados através dos controladores
○ Coletivos (por classe/porta)
■ Número de bits transmitidos por porta
■ Número de bits transmitidos por classe
■ Número de flows ativos
■ Instante de medição
○ Individuais (por flow)
■ Jitter e delay
■ Número de pacotes perdidos
■ Número de bits transmitidos
33. Cenário de simulação
● Tráfego simulado
○ Utilizado o iperf
○ Tempos de inicio e duração aleatórios através de distribuições aleatórias
exponenciais e aleatórias tendo em conta os pesos reais
34. Cenário de simulação
● Dois momentos distintos
○ Rede com pouca carga
○ Rede em sobrecarga
● Capacidade da rede
○ Garantias - 50mb
○ Ligação - 80mb
35. Resultados - Carga no troço
● Valores acima da capacidade
○ Limitação por software com
limitações na precisão em picos
○ Intervalo de leitura
36. Resultados - Chamada de voz
● Jitter
○ Valores abaixo do máximo recomendado - 2 milissegundos
37. Resultados - Chamada de voz
● Delay
○ Valores abaixo do máximo recomendado - 150 milissegundos
38. Resultados - Outras classes
● Jitter
○ Valores bastante superiores sem
garantias
● Pacotes perdidos
○ Valores mais elevados sem
garantias
39. Resultados - Eficiência
Taxa de ocupação de banda
largura com garantias
58,14% vs 44,15%
Overprovisioning On Overprovisioning
Off
40. Resultados - Eficiência
● Tempo de classificação máximo
○ Com overprovisioning
■ 14 segundos
○ Sem overprovisioning
■ 6 segundos
41. Resultados - Eficiência
● Overhead gerado (tráfego de controlo gerado na rede)
○ Cerca de 3% do tráfego total da rede
○ Pouca variação com o aumento do tráfego na rede
○ Picos em alturas de criação de flows
42. Resultados - Modificação do probing
● Número de flows
○ Variar a largura de banda da
classe de probing
Condição inicial:
❏ Link - 80mb
❏ Classe 2 - 50mb
❏ Restantes - ilimitadas
43. Resultados - Modificação do probing
● Largura de banda dos flows
○ Variar a largura de banda da
classe de probing
Condição inicial:
❏ Link - 80mb
❏ Classe 2 - 50mb
❏ Restantes - ilimitadas
44. Conclusão
● Sistema escalável
○ Utilização da rede mantem-se estável mesmo durante picos de utilização
● Qualidade de serviço garantida a certos flows
○ Mesmo durante picos de utilização, flows com garantias não viram a sua ligação
piorar e mantiveram-se dentro dos níveis estipulados
● Diminuição da complexidade
○ Simplificação do núcleo da rede através de identificação dos pacotes
○ Redução do número de protocolos em utilização
45. Conclusão SDN
● Controlo centralizado da infraestrutura
● Compatibilidade entre equipamentos de diferentes fabricantes
● Aumento da capacidade de inovação
● Aumento da robustez das redes
○ Processamento centralizado diminui a probabilidade de ocorrerem problemas
○ Caso ocorram, mais fácil resolver
● Diminuição da complexidade da rede