por uma nova disciplina de redes - dca.fee.unicamp.br filepor uma nova disciplina de redes ......
TRANSCRIPT
Por uma Nova Disciplina de Redes
Grandes Desafios de Pesquisa em Redes de Computadores e Sistemas Distribuídos
2013 – 2023
Marcos Rogério Salvador
Christian Esteve Rothenberg
Maio de 2013
Livros mais usados
• Arquitetura de Redes:
• Camadas
• SDUs
• Protocolos
• PDUs
• Abordagem Sistêmica
• Foco em Funções
• Abordagem Top-down
• Foco em Aplicações e nas camadas, funções e protocolos necessários para implementá-la
Camadas e Protocolos
Falta de Abstração
• Addition of a new function to the network
• Highly complex distributed system problem
• Networks too difficult to program and to reason about
• no good abstractions and interfaces
Sopa de Protocolos
Campos e Bits de Cabeçalhos
7
Acoplamento forte com protocolos!
Milhões de linhas de código(6000 RFCs)
Bilhões de portas lógicasAlto consumo
• Acoplamento forte entre planos de controle e de encaminhamento• Complexo, desorganizado, custoso
Implementação
Roteamento, gerência, controle de acesso, VPNs, …
Sistema OperacionalSistema Operacional
AppApp Ap
pApp
AppApp
HW Especializado de Encaminhamento de
Pacotes
HW Especializado de Encaminhamento de
Pacotes
5
Complexidade x Robustez
Vai piorar
• Teoria de redes foi definida quando uma rede consistia de um conjunto de elementos comunicantes
• Uma rede hoje é MUITO mais complexa que isto!– M2M, IoT
– Convergência de recursos
– Físico x virtual
– ...
Windows
(OS)
Windows
(OS)
LinuxMac
OS
x86
(Computer)
Windows
(OS)
AppApp
LinuxLinux
Mac
OS
Mac
OS
Virtualization layer
App
Controller 1
AppApp
Controller
2
Virtualization or “Slicing”
App
OpenFlow
Controller 1NOX
(Network OS)
Controller
2Network OS
Copiando a Computação
Computer Industry Network Industry
“Mainframe”
Visão atual de SDN: Programabilidade e Virtualização
Visão Global da Rede
Virtualização da RedeVirtualização da Rede
Comutação de Pacotes
Comutação de Pacotes
Comutação de Pacotes
Comutação de Pacotes
Comutaçãode PacotesComutaçãode Pacotes
Comutaçãode PacotesComutaçãode Pacotes
Comutaçãode PacotesComutaçãode Pacotes
SO de RedeSO de Rede
Visão Abstrata da Rede
Programa de Controle
f View( )Programa
de Controle
f View( )Programa
de Controle
f View( )
Exemplo: Roteamento Traditional x SDN
OSPF = DijkstraOSPF = Dijkstra IS-ISIS-IS
SO de RedeSO de Rede
HardwareHardware
HardwareHardware
HardwareHardware
HardwareHardware
Sistema DistribuídoSistema Distribuído
HardwareHardware
SOSO
OSPFOSPF IS-ISIS-IS
Sistema Distribuído
Sistema Distribuído
Sistema Distribuído
Sistema Distribuído
RFC do OSPF contém 244 páginas, das quais somente 4 tratam do algoritmo de roteamento (Dijkstra)
Mudança de Paradigma: entendimento
• Pensar em Redes como uma coleção de protocolos é insustentável!
• Temos que pensar em Redes como um sistema complexo
– Definir requisitos e princípios de projeto
– Definir arquitetura, abstrações e interfaces do sistema como um todo e não só das suas comunicações entre camadas
Desafios no Ensino de Redes
• Ensinar os alunos a pensar em redes sob esta perspectiva e não mais sob a dos protocolos– Professores estão viciados nos protocolos
• Definir uma disciplina de redes correspondente que seja capaz de capturar o interesse dos alunos e de ser absorvida por eles.
• Esta disciplina deve ensinar princípios, abstrações e modelos de forma teórica e prática, formando alunos capazes de pensar e de produzir a inovação e de criar uma indústria pujante de redes de que o país tanto precisa.
Sistema Operacional
Especializado
Sistema Operacional
Especializado
Hardware Especializado
Hardware Especializado
AppAppAppAppAppAppAppAppAppAppAppAppAppAppAppAppAppAppAppAppAppApp
Aplicações Especializadas
Aplicações Especializadas
HorizontalInterfaces abertas
Inovação aceleradaIndustria enorme
MicroprocessadorMicroprocessador
Interface Aberta
LinuxLinuxMacOSMacOS
Windows(OS)
Windows(OS)
ou ou
Interface Aberta
A Solução da Industria da Computação
Verticalmente integradoFechado, proprietário
Inovação lentaIndustria pequena
6
HardwareHardware
HardwareHardware
HardwareHardware
HardwareHardware
HardwareHardware
SOSO
SOSO
SOSO
SOSO
SOSO
Sistema Operacional de RedeSistema Operacional de Rede
AppApp AppApp
Rede Definida por Software (SDN)
App App
App App
App App
App App
App App
7
AppApp
HW simples de encaminhamentoHW simples de
encaminhamento
HW simples de encaminhamentoHW simples de
encaminhamento
HW simples de encaminhamentoHW simples de
encaminhamento
AppApp AppApp
HW simples de encaminhamento
HW simples de encaminhamento
HW simples de encaminhamentoHW simples de
encaminhamento
Sistema Operacional de Rede – ex: NOXSistema Operacional de Rede – ex: NOX
Interface aberta do HW (Southbound API) – ex: OpenFlow
Interface aberta do SO de Rede (Northbound API)SDN
2
HardwareHardware
HardwareHardware
HardwareHardware
HardwareHardware
HardwareHardware
SOSO
SOSO
SOSO
SOSO
SOSO
Sistema Operacional de RedeSistema Operacional de Rede
AppApp AppApp
App App
App App
App App
App App
App App
7
Rede Tradicional de PactotesRede Definida por Software
(SDN)
AppApp
HW simples de encaminhamentoHW simples de
encaminhamento
HW simples de encaminhamentoHW simples de
encaminhamento
HW simples de encaminhamentoHW simples de
encaminhamento
AppApp AppApp
HW simples de encaminhamento
HW simples de encaminhamento
HW simples de encaminhamentoHW simples de
encaminhamento
Sistema Operacional de Rede Sistema Operacional de Rede
Interface aberta do HW (Southbound API) – ex: OpenFlow
Interface aberta do SO de Rede (Northbound API)Arquitetura SDN
2
OpenFlow
Controlador
PC
Hardware
Software
Tabela de Fluxos
MACsrc
MACdst
IPSrc
IPDst
TCPsport
TCPdport
Ação
Firmware OpenFlow
**5.6.7.8*** port 1
porta 4porta 3porta 2porta 1
1.2.3.45.6.7.8
OpenFlow: Interface de Programção do Hardware
Software Defined Network (SDN)
Global Network View
Network VirtualizationNetwork Virtualization
PacketForwarding
PacketForwarding
PacketForwarding
PacketForwarding
PacketForwarding
PacketForwarding
PacketForwarding
PacketForwarding
Abstract Network View
ControlPrograms
f View( )Control
Programs
f View( )Control
Programs
f View( )firewall.c
…
if( pkt->tcp->dport == 22)dropPacket(pkt);
…
PacketForwarding
PacketForwarding
Network OSNetwork OS1. <Match, Action>2. <Match, Action>3. <Match, Action>4. <Match, Action>5. <Match, Action>6. …7. …
1. <Match, Action>2. <Match, Action>3. <Match, Action>4. <Match, Action>5. <Match, Action>6. …7. …
1. <Match, Action>2. <Match, Action>3. <Match, Action>4. <Match, Action>5. <Match, Action>6. …7. …
1. <Match, Action>2. <Match, Action>3. <Match, Action>4. <Match, Action>5. <Match, Action>6. …7. …
1. <Match, Action>2. <Match, Action>3. <Match, Action>4. <Match, Action>5. <Match, Action>6. …7. …
1. <Match, Action>2. <Match, Action>3. <Match, Action>4. <Match, Action>5. <Match, Action>6. …7. …
1. <Match, Action>2. <Match, Action>3. <Match, Action>4. <Match, Action>5. <Match, Action>6. …7. …
1. <Match, Action>2. <Match, Action>3. <Match, Action>4. <Match, Action>5. <Match, Action>6. …7. …1. <Match, Action>
2. <Match, Action>3. <Match, Action>4. <Match, Action>5. <Match, Action>6. …7. …
1. <Match, Action>2. <Match, Action>3. <Match, Action>4. <Match, Action>5. <Match, Action>6. …7. …
Repensando a Internet...
Evolução ou Revolução?
4
SoftwareControl
Router
HardwareDatapath
HELLO
OSPF-TE
RSVP-TE
HELLOHELLO
Firewall
IPSec
Many complex functions baked into the infrastructureOSPF, BGP, multicast, differentiated services,Traffic Engineering, NAT, firewalls, MPLS, redundant layers, …
An industry with a “mainframe-mentality”