Software-Defined Networking (SDN) - Conceitos Básicos, Programação e Desafios
1. Software-Defined Networking (SDN)
Conceitos Básicos, Programação e Desafios
Felipe A. Lopes
Mestrando do Cin/UFPE e colaborador no projeto OpenDaylight
felipealencar.net
fal3@cin.ufpe.br
4. A Nova Rede
Redes Configuráveis
Aplicações para Redes
Interfaces de Rede
Redes Gerenciadas
Conecta Nós
Redes Orquestradas
Aplicações de Redes
Interfaces Programáticas
Redes Auto-Gerenciáveis
Conecta Pessoas (ou coisas)
24. SDN: Programação
- Controladores SDN são softwares semelhantes à SOs
tradicionais;
- Escritos em linguagem de propósito geral (GPL);
- Suportam as aplicações de rede (e.g., firewall, QoS)
25. SDN: Programação
Não existe, ainda, um processo padrão para o
desenvolvimento de aplicações de rede em SDN.
26. SDN: Programação
“SDN make it possible to
implement exciting new
network services, SDN
does not make it easy.” –
Nate Foster
31. SDN: Desenvolvimento de Aplicações
REST API:
Controladores fornecem uma API para o desenvolvedor criar suas
aplicações SDN utilizando GPL. Mas é difícil lidar diretamente com
as diversas regras possíveis numa rede.
32. SDN: Desenvolvimento de Aplicações
SDN Programming Languages:
FatTire, FML e Procera são exemplos de Domain-Specific Languages
(DSL) para SDN.
33. SDN: Desenvolvimento de Aplicações
SDN Programming Languages:
Tentam facilitar o desenvolvimento de aplicações SDN, diminuindo
a complexidade, lidando com políticas conflitantes e evitando
aplicações que comprometam a rede.
34. SDN: Desenvolvimento de Aplicações
SDN Programming Languages:
Tentam facilitar o desenvolvimento de aplicações SDN, diminuindo
a complexidade, lidando com políticas conflitantes e evitando
aplicações que comprometam a rede.
35. SDN: Desenvolvimento de Aplicações
SDN Programming Languages:
Select(packets) *
GroupBy([srcmac]) *
SplitWhen([inport]) *
Limit(1)
Exemplo de sintaxe em Frenetic
46. SDN?
Nova arquitetura de rede
Redes Configuráveis
Aplicações para Redes
Interfaces de Rede
Redes Gerenciadas
Conecta Nós
Redes Orquestradas
Aplicações de Redes
Interfaces Programáticas
Redes Auto-Gerenciáveis
Conecta Pessoas (ou coisas)
47. SDN?
Permite a
Programação
da rede
SDN
x
OpenFlow
Associação
entre MDD
e SDN