Redes Ativas - Active Networking
Dilmari Seidel, Reggie Vivekananda
[email protected], [email protected] Curitiba, 24 de Maio de 2005
Conte´
udo
1. Introdu¸c˜ao 2. Conceitos 3. Princ´ıpio 4. Arquitetura 5. Conclus˜oes 1 Curitiba, 24 de Maio de 2005Redes Ativas
• O que s˜ao Redes Ativas
• Usos imediatos • Aplica¸c˜oes
– Multicasting Confi´avel – Controle de Congest˜ao Ativa
– Leil˜oes 2 Curitiba, 24 de Maio de 2005
Hist´
orico
• DARPA • OpenSig Curitiba, 24 de Maio de 2005Desafios de Implementa¸c˜
ao
• utiliz´avel • flex´ıvel • segura • alto desempenho 4 Curitiba, 24 de Maio de 2005Paradigmas de Redes Ativas
• servi¸cos padr˜ao nos n´os da rede
• switch program´avel
• modelo c´apsula
5
Curitiba, 24 de Maio de 2005
Redes Ativas e Interfaces de Programa¸c˜
ao
• poder de express˜ao da linguagem
• estados
• granularidade de controle
6
Curitiba, 24 de Maio de 2005
Arquitetura Geral para Redes Ativas
• ambiente de execu¸c˜ao
Curitiba, 24 de Maio de 2005
Exemplo de Fluxo de Dados em um Nodo Ativo
8
Curitiba, 24 de Maio de 2005
O Sistema Operacional de Nodo
9
Curitiba, 24 de Maio de 2005
O Sistema Operacional de Nodo
• thread pools • memory pools • channels • flows
Refor¸co de seguran¸ca por NodeOS
10 Curitiba, 24 de Maio de 2005
Exemplos de NodeOSes
• SCOUT – Universidade do Arizona – m´odulos – caminhos – escalonamento • ExoKernel – MIT – biblioteca AMP Curitiba, 24 de Maio de 2005Ambientes de Execu¸c˜
ao (1/2)
• SmartPackets– objetivo: gerenciamento de redes
– arquitetura: c´odigo distribu´ıdo em pacotes IP
• Liquid Software
– objetivo: mover e transformar dados eficientemente – arquitetura: java -> C
12
Curitiba, 24 de Maio de 2005
Ambientes de Execu¸c˜
ao (2/2)
• SwitchWare
– objetivo: seguran¸ca e flexibilidade para infraestrutura compar-tilhada
– arquitetura: API PLAN e Caml • Netscript
– objetivo: prover uma linguagem universal – arquitetura: interpretadores + java
13
Curitiba, 24 de Maio de 2005
ANTS
• objetivo: padronizar um modelo de comunica¸c˜ao
• arquitetura: java – c´apsulas – nodos ativos
– sistema de distribui¸c˜ao de c´odigo
• PAN - Pratical Active Network
14
Curitiba, 24 de Maio de 2005
Seguran¸ca em Redes Ativas
• Seguran¸ca em Redes Ativas
– Amea¸cas
– Refor¸cos atrav´es de autoriza¸c˜oes
• Arquiteturas de Seguran¸ca
– Modelo SwitchWare – Modelo ANTS – Modelo SANE
Curitiba, 24 de Maio de 2005
Detalhes do SANE
• objetivos
– reduzir n´umero e tamanho de componentes confi´aveis
– prover um mecanismo para contexto seguro • asser¸c˜oes
– seguran¸ca f´ısica
– infraestrutura de chaves p´ublicas
16
Curitiba, 24 de Maio de 2005
Arquitetura da Rede SANE
17
Curitiba, 24 de Maio de 2005
Pacotes Ativos e os Protocolos Correntes
• IP Ativo – ANEP – Formato do Pacote • Abordagem OpenSig 18 Curitiba, 24 de Maio de 2005
Dois Modelos de Redes Ativas
• Active Node Transport System - ANTS • SwitchWare
S˜ao os dois modelos mais utilizados por estarem dispon´ıveis
(c´odigo aberto) por isso s˜ao bastante flex´ıveis para modifica¸c˜oes e
experiˆencias.
Curitiba, 24 de Maio de 2005
ANTS - Sistema de Transporte de N´
os Ativos
• c´odigo m´ovel
• carga sobre demanda
• t´ecnicas de cache
20
Curitiba, 24 de Maio de 2005
ANTS - Descri¸c˜
ao da Arquitetura
• Pacotes IP tradicionais s˜ao trocados por c´apsulas que
personali-zam os servi¸cos de rede
• Roteadores cl´assicos s˜ao substitu´ıdos por n´os ativos que processam
as c´apsulas entrantes e mant´em dados armazenados por um per´ıodo de tempo
• Um mecanismo de distribui¸c˜ao de c´odigo ´e usado para empregar
dinamicamente e automaticamente as rotinas requeridas nos n´os
21
Curitiba, 24 de Maio de 2005
ANTS - Modelo da C´
apsula
• a c´apsula ´e um espec´ıfico pacote IP que encapsula dados do
usu´ario e referencia um rotina de transferˆencia
• a rotina de transferˆencia ´e executada por todos os n´os ativos onde
a c´apsula passa, e caso seja um n´o convencional, a rotina cl´assica
de transferˆencia IP ´e executada
• nos n´os ativos a rotina de tranferˆencia utiliza uma API do ANTS
para acessar o ambiente do n´o, manipular os dados da aplica¸c˜ao
e encaminhar a c´apsula para outros n´os
22
Curitiba, 24 de Maio de 2005
ANTS - Distribui¸c˜
ao do C´
odigo (1/2)
• por raz˜oes de desempenho o c´odigo de rotinas de transferˆencia ´e
enviado e armazenado nos n´os ativos
• as c´apulas s˜ao agrupadas por grupos de c´odigos dependentes para
serem transferidas juntas
• na recep¸c˜ao de uma c´apsula a rotina de tranferˆencia ´e verifica na
cache de c´odigo do n´o, se o c´odigo est´a presente ´e executado,
sen˜ao a c´apsula ´e suspensa e uma requisi¸c˜ao de c´odigo ´e enviada
Curitiba, 24 de Maio de 2005
ANTS - Distribui¸c˜
ao do C´
odigo (2/2)
• quando um n´o recebe uma requisi¸c˜ao de c´odigo e tem o c´odigo
correspondente, ele o envia imediatamente para o n´o requerente
• quando um n´o recebe um c´odigo requisitado ele coloca o c´odigo
na cache e executa a c´apula suspensa
24
Curitiba, 24 de Maio de 2005
ANTS - N´
o Ativo
• para garantir a seguran¸ca no modelo ANTS os n´os ativos exportam
um conjunto de primitivas para serem utilizadas pelas aplica¸c˜oes
e pelas c´apsulas
• os n´os provˆeem um modelo de execu¸c˜ao que suportam essas
pri-mitivas que viabilizam os objetivos de seguran¸ca e administra¸c˜ao de recursos
• os dois itens acima permitem que o c´odigo venha de qualquer
fonte e evitem erros acidentais e intencionais
25
Curitiba, 24 de Maio de 2005
ANTS - Primitivas dos N´
os
• acesso ao ambiente: acessar estado da comunica¸c˜ao e tabela de
roteamento
• manipula¸c˜ao da c´apsula: acesso aos campos de cabe¸calho e dados
• opera¸c˜oes de controle: envio, descarte, suspens˜ao e execu¸c˜ao de
c´apsulas
• cache: armazenar e acessar estados
• reuni˜ao: permitir que c´apsulas se encontrem com outras e
coor-denar suas a¸c˜oes
26 Curitiba, 24 de Maio de 2005
ANTS - Exemplo
if (n.getAddress() == getDst()) { ping = true; }else if (ping != true) {
return n.routeForNode(this, getDst()); }
Curitiba, 24 de Maio de 2005
SwitchWare
• arquitetura em camadas: flexibilidade X seguran¸ca
• Pacotes Ativos
• Extens˜oes Ativas
• Infraestrutura do Roteador Ativo
28
Curitiba, 24 de Maio de 2005
SwitchWare - Pacotes Ativos
• pacotes ativos transportam dados e c´odigos ao inv´es de dados e
cabe¸calho
• o c´odigo ´e habilitado a executar fun¸c˜oes no ambiente do roteador
• os dados dentro do pacote s˜ao personalizados e podem ser
mani-pulados facilmente pelo programa
• PLAN - Packet Language for Active Networks: linguagem de
programa¸c˜ao utilizada
29
Curitiba, 24 de Maio de 2005
SwitchWare - PLAN
• simples e leve
• fortemente tipada e verificada dinamicamente
• execu¸c˜ao com recursos limitados
• sem necessidade de autentica¸c˜ao
• utiliza rotinas de servi¸cos residentes no n´o para execu¸c˜oes mais
pesadas garantindo tamb´em a seguran¸ca da rede
30
Curitiba, 24 de Maio de 2005
SwitchWare - Switchlets ou Extens˜
oes Ativas
• c´odigos mais pesados
• podem ser partes dos componentes do roteador ou serem carre-gadas dinamicamente
• s˜ao permitidas composi¸c˜oes de extens˜oes ativas com a linguagem
PLAN
• Active Bridge: programada em caml (caml gera bytecode por isso ´e independente de m´aquina)
Curitiba, 24 de Maio de 2005
SwitchWare - Exemplo
Fun ping (src:host, dest: host) : unit = if (not thisHostIs(dest)) then
OnRemote(|ping|(src,dest), dest, getRB(), defaultRoute) else
OnRemote(|ack|(), src, getRB(), defaultRoute) Fun ack() : unit = print("Success");
32
Curitiba, 24 de Maio de 2005
Conclus˜
oes
• Foi visto o estado da arte de redes ativas
• As Redes Ativas envolvem a s´ıntese e a extens˜ao de linguagens
de programa¸c˜ao, sistemas operacionais e expertise de redes
• As aplica¸c˜oes podem utilizar componentes de protocolos ao inv´es
de pilhas de protocolos, que podem ser especializados para realizar alguma fun¸c˜ao espec´ıfica da aplica¸c˜ao
33
Curitiba, 24 de Maio de 2005
Trabalhos Futuros
• Defini¸c˜ao de mecanismos comuns para prote¸c˜ao de recursos
• Abordagens de instala¸c˜ao de estados no lugar certo na rede
34
Curitiba, 24 de Maio de 2005
Para saber mais...
• Janos - Java-oriented Active Network Operating System http://www.cs.utah.edu/flux/janos/ • ANTS http://www.cs.washington.edu/research/networking/ants/ • SwitchWare http://www.cis.upenn.edu/ switchware/ • MIT ExoKernel http://pdos.csail.mit.edu/exo/ Curitiba, 24 de Maio de 2005
Bibliografia
• Calvert, K.L. et al., Directions in Active Networks, IEEE Communications Magazine, Special Issue on Programmable Networks, October 1998
• Mishra, Mahim; Active Networks; 1998
• Huang, I-Hsuan; Active Networks - An Overview; 2002
• Teixeira Jr. Jos´e Helv´ecio; de Moraes, Luis Felipe M.; Teixeira,
Suzana Ramos; Uma proposta para o emprego de Teconolo-gias de Redes Ativas no Gerenciamento de Redes 2000
36
Curitiba, 24 de Maio de 2005
Bibliografia
• DARPA Active Network Prog., http://www.darpa.mil/ito/research/anets/projects.html • Open Signalling Working Group, http:/www.comet.columbia.edu/opensig/
• Achir, N. et al., Active Networking system evaluation: A
practical experience, 2000